前言
这个项目是利用工作之余写的一个模仿微信app的单页面应用,整个项目包含27个页面,涉及实时群聊,机器人聊天,同学录,朋友圈等等,后续页面还是开发中。写这个项目主要目的是练习和熟悉vue和vuex的配合使用,利用socket.io实现实时聊天。
技术栈
vue2+vue-router+webpack+vuex+sass+svg构图+es6/7
源码地址
源码地址:https://github.com/bailichen/vue-weixin
项目运行
git clone https://github.com/bailichen/vue-weixin.gitcd vue-weixin npm install npm run dev (访问本地,运行后访问 http://localhost:8882)
效果演示
项目演示请点击这里 (请用chrome手机模式预览)
移动端扫描下方二维码
说明
本项目主要用于熟悉vue2+vuex的用法
如有问题请直接在Issues中提出,或加qq:812571880
如果觉得对您学习vue有点点帮助,请右上角star一下吧 ^_^
目标功能
[x] 微信
[x] 通讯录
[x] 发现
[x] 我
[x] 设置
[x] 新消息提醒
[x] 勿扰模式
[x] 聊天
[x] widows 微信已登录
[x] 搜索页
[x] 对话页
[x] 对话功能
[x] 单人机器人智能对话页
[x] 群聊
[x] 朋友圈
[x] 朋友圈点赞、评论
[x] 个人中心
[x] 详细资料
[x] 更多
[x] 个人相册
[x] 更多
[x] 收藏
[x] 我的钱包
[x] 购物
[x] 设置
[x] 登录
页面部分截图
单人聊天
群聊
朋友圈
项目布局
├── README.md // webpack配置文件├── build // 项目打包路径├── config // 上线项目文件,放在服务器即可正常访问│ └── index.js ├── favicon.ico ├── index.html ├── package.json ├── printscreen ├── src // 源码目录│ ├── App.vue // 页面入口文件│ ├── components // 公共组件│ │ ├── findandMe │ │ │ └── findandMe.vue // 发现和我共同的模块的列表│ │ ├── footer │ │ │ └── foot.vue // 底部微信导航│ │ └── header │ │ └── head.vue // 头部公共组件│ ├── config // 基本配置│ │ ├── env.js // 环境切换配置│ │ ├── fetch.js // 获取数据│ │ ├── iscroll.js │ │ ├── mUtils.js // 工具│ │ ├── rem.js // px转换rem│ │ ├── swiper.min.js // 轮播图控件│ │ └── uploadPreview.js // 上传图片控件│ ├── frames │ │ ├── addressbook │ │ │ ├── addressbook.vue // 通讯录│ │ │ └── details │ │ │ ├── details.vue // 详细资料│ │ │ └── more │ │ │ └── more.vue // 更多│ │ ├── computer │ │ │ └── computer.vue // pc端登录│ │ ├── conversation │ │ │ ├── chatmessage │ │ │ │ ├── chatmessage.vue // 单人聊天信息│ │ │ │ └── groupchatmessage.vue // 群聊聊天信息│ │ │ ├── groupchat.vue // 群聊│ │ │ └── singlechat.vue // 单人对话│ │ ├── dialogue │ │ │ └── dialogue.vue // 微信首页(对话列表页)│ │ ├── find│ │ │ ├── find.vue // 发现│ │ │ ├── friendcircle │ │ │ │ └── friendcircle.vue // 朋友圈│ │ │ └── miniapps │ │ │ └── miniapps.vue // 小程序子页面│ │ ├── me │ │ │ ├── cardbag │ │ │ │ └── cardbag.vue // 卡包│ │ │ ├── collect │ │ │ │ └── collect.vue // 我的收藏│ │ │ ├── me.vue │ │ │ ├── personaldetails │ │ │ │ └── personaldetails.vue // 个人信息│ │ │ ├── photoalbum │ │ │ │ └── photoalbum.vue // 我的相册│ │ │ ├── settings │ │ │ │ ├── detailset │ │ │ │ │ ├── aboutwc.vue // 关于微信│ │ │ │ │ ├── chat.vue // 聊天│ │ │ │ │ ├── currency.vue // 通用│ │ │ │ │ ├── disturbance.vue // 勿扰模式│ │ │ │ │ ├── help.vue // 帮助与反馈│ │ │ │ │ ├── login.vue // 登录│ │ │ │ │ ├── newmessage.vue // 新消息提醒│ │ │ │ │ └── privacy.vue // 隐私│ │ │ │ └── settings.vue // 设置│ │ │ └── wallet │ │ │ └── wallet.vue // 我的钱包│ │ ├── search │ │ │ └── search.vue // 搜索│ │ └── transfer │ │ └── transfer.vue │ ├── images │ ├── main.js // 程序入口文件,加载各种公共组件│ ├── router │ │ └── router.js // 所有页面路由控制中心│ ├── service │ │ ├── data │ │ │ ├── album.js // 个人相册│ │ │ ├── burse.js // 钱包数据│ │ │ ├── chatmore.js │ │ │ ├── collect.js // 我的收藏│ │ │ ├── contacts.js // 联系人列表数据│ │ │ ├── dialoglist.js // 对话列表│ │ │ ├── friendcircle.js // 朋友圈数据│ │ │ ├── groupchat.js // 群聊数据│ │ │ ├── login.js // 个人用户信息│ │ │ ├── search.js // 搜索的分类│ │ │ └── userword.js │ │ └── getData.js // 数据交互统一调配│ ├── style │ │ ├── public.scss // 公共样式│ │ └── swiper.min.css │ └── vuex // vuex的状态管理│ ├── action.js // 配置根actions│ ├── index.js // 引用vuex,创建store│ ├── mutation-types.js // 定义常量muations名│ └── mutation.js // 配置根mutations└── tree.md36 directories, 133 files
http://www.cnblogs.com/cangdu/p/7047749.html