这是个人毕设项目,产品功能和页面参照qq,微信,TIM,不彻底同样,有些是本身的想法。先后端都本身写。 感受是一个挺不错的全栈入门项目,各类交互各类业务逻辑,不花哨,但实用。css
对node(koa)和vue学习会挺有帮助,如今开源出来,接下去将继续不断完善😄欢迎starhtml
更新:
electron-vue-chat:vue-chat的Electron桌面版本项目地址前端
正在写react版本的😄vue
前端vue,vue-router,vuex ,vue-cli和axios,scss,用rem作了移动端适配,没有用第三方组件。 后端用koa2,用gulp构建工具实现自动刷新后端代码运行。 数据库用mysql,基于Token的jwt鉴权机制,用socket.io作双向通讯;node
vue-chatmysql
点击线上查看react
欢迎你们注册登陆,加这个群聊天😄 搜群名称: 项目交流群webpack
也能够加我为好友,用户名: hxvinios
也能够注册两个帐号在两个不一样浏览器本身尬聊啦 😂git
2018.01.13 开始
2018.02.01
2018.02.10 吐槽一下,不得不佩服qq,微信的用户体验,功能细节挺多。。。。。
2018.02.11
2018.03.02
2018.03.20 收拾掉很多bug :-)
已开源:Electron桌面版本项目地址
2018.03.25
本次开发我用了三个git分支,分别是主分支master ,开发分支dev , 线上分支online,若是你要fork到你的本地跑,请fork master分支 。
(注意下到本地后若是要体验soket.io通讯互聊,用两个浏览器各打开一个帐号,不能用同一个浏览器,由于我用localstorage缓存帐户信息)
Fork 或者 下载本项目
而后进入本项目的文件夹,把vue-chat/server/init/sql 的 airchat.sql文件 拉到你的msyql客户端 run一下生成数据库(我使用的是mac下的 Sequel Pro
挺好用的,固然你用其余方式也可生成数据库也可)
npm i
复制代码
npm run dev
复制代码
cd server
复制代码
npm i
复制代码
接着下面两条命令执行一条就行,看着选;(若是想要修改后端代码即时保存刷新,用第一条;若是像想用chrome进行debug调试,用第二条)
npm run start
复制代码
npm run dev
复制代码
打包上线前须要对master分支的代码作一些修改。具体怎么修改以及后续如何打包上线,请看我单独写的一篇文章vue-chat 打包上线小记,但愿对你有帮助。
老习惯,代码注释比较详细,须要注释而没有注释的我也尽快补上; 后面也会写几篇博客来详细介绍本项目,但愿更好的帮助到入门的小伙伴(大神请略过,或者给些指导建议😄)
├── LICENSE
├── README.md
├── build
│ ├── build.js
│ ├── check-versions.js
│ ├── logo.png
│ ├── utils.js
│ ├── vue-loader.conf.js
│ ├── webpack.base.conf.js
│ ├── webpack.dev.conf.js
│ └── webpack.prod.conf.js
├── config
│ ├── dev.env.js
│ ├── index.js
│ └── prod.env.js
├── dist //打包后的静态资源
│ ├── index.html
│ └── static
├── index.html
├── package-lock.json
├── package.json
├── server // 后端代码
│ ├── config.js
│ ├── controllers
│ ├── gulpfile.js
│ ├── index.js
│ ├── init //数据库初始化(sql文件也在这)
│ ├── middlewares
│ ├── models
│ ├── package-lock.json
│ ├── package.json
│ ├── routes
│ └── utils
├── src //前端代码
│ ├── App.vue
│ ├── assets
│ ├── components
│ ├── main.js
│ ├── pages
│ ├── router
│ ├── store //vuex在这
│ └── utils
└── static
复制代码
文章都在个人博客上,欢迎star个人博客😄