Vue2 全家桶仿 微信App 项目,支持多人在线聊天和机器人聊天

前言

这个项目是利用工作之余写的一个模仿微信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.git

cd 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] 登录
页面部分截图

单人聊天
![screenshot](https://yqfile.alicdn.com/a0b5627c59eb62f400c8b3fb878a1835608d7dbd.png)

群聊

![screenshot](https://yqfile.alicdn.com/59dffcaec3a068892e878c8f668d0f9c424fc3ea.png)

朋友圈
![screenshot](https://yqfile.alicdn.com/36d32bd03cac136e37cee640a4dee2382508c1de.png)
![screenshot](https://yqfile.alicdn.com/848364509c4b6ebc21c00784d008dcd9cb3d0e1c.png)

项目布局

├── 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.md

36 directories, 133 files`

文章转载自 开源中国社区[http://www.oschina.net]

时间: 2024-10-27 02:33:38

Vue2 全家桶仿 微信App 项目,支持多人在线聊天和机器人聊天的相关文章

电子商务-求同时支持2500人在线的服务器配置

问题描述 求同时支持2500人在线的服务器配置 求同时支持2500人在线的服务器配置,用于承载电子商务平台,请问大大们,要达到这样的要求,一般用几台服务器,分别做什么用,它们的配置分别是怎样的?

支持十人在线视频!能“租用”的网上会议室

随着企业业务的不断拓展,http://www.aliyun.com/zixun/aggregation/32384.html">网络会议开始变得逐渐流行起来.与传统的实体会议室相比,网络会议室不但对地点要求不严.而且,低廉的成本也是深受不少老总青睐的一个重要原因.但纵观当今的网络会议系统,功能同质化非常严重.而且,繁琐的客户端安装,也给实际应用,带来了很多麻烦. 不过,好的产品并非没有.正如笔者今天要给大家介绍的,这款南京腾商网络会议室.不但省却了传统产品,在软件购买.服务器配置.客户端安

联通首次推出3G无线猫上网卡套装 支持5人在线

为满足用户WiFi使用需要,中国联通宣布首次推出"3G WiFi随身行"无线猫上网卡套装,内含3G无线猫上网卡终端一个,1200元预存款.Uhttp://www.aliyun.com/zixun/aggregation/34000.html">SIM卡一个,另赠送2GMicroSD卡.所谓3G无线猫上网卡终端,实际上就是一种便携式宽带无线装置,集调制解调器.路由器和接入点三者功能于一身.内置调制解调器可接入一个无线信号,内部路由器可在多个用户和无线设备间共享这一连接.这

《移动App测试的22条军规》—App测试综合案例分析23.10节测试微信App对于多种格式图片的支持

23.10 测试微信App对于多种格式图片的支持微信App能支持直接显示JPG.PNG和BMP等多种格式的图片(如图23.25所示). 不过对于其他格式的文件,微信App都不能直接打开.显示或者播放,比如PDF文件(如图23.26所示).

《移动App测试的22条军规》——第23章,第7节测试微信App对于操作系统特性的支持程度

23.7 测试微信App对于操作系统特性的支持程度由于微信App不支持Android操作系统的Widget,所以没有办法对微信App的Widget进行测试. 不过由于Android 4.4.4支持选择ART运行环境,我们可以针对微信App在ART运行环境上的表现进行测试.具体来说,在"Developer options"(开发者选项)中选择使用ART运行环境(如图23.20所示),我们就可以对微信App的各项功能进行测试了.除此之外,我们还可以对微信App在ART运行环境下的安装进行测

《移动App测试的22条军规》—App测试综合案例分析23.7节测试微信App对于操作系统特性的支持程度

23.7 测试微信App对于操作系统特性的支持程度由于微信App不支持Android操作系统的Widget,所以没有办法对微信App的Widget进行测试. 不过由于Android 4.4.4支持选择ART运行环境,我们可以针对微信App在ART运行环境上的表现进行测试.具体来说,在"Developer options"(开发者选项)中选择使用ART运行环境(如图23.20所示),我们就可以对微信App的各项功能进行测试了.除此之外,我们还可以对微信App在ART运行环境下的安装进行测

《移动App测试的22条军规》——第23章,第10节测试微信App对于多种格式图片的支持

23.10 测试微信App对于多种格式图片的支持微信App能支持直接显示JPG.PNG和BMP等多种格式的图片(如图23.25所示).

《移动App测试的22条军规》——第23章,第18节测试微信App的依赖情况

23.18 测试微信App的依赖情况微信App集成了不少第三方的App和服务,例如腾讯地图.滴滴打车.京东.大众点评.财付通等,而且还支持微信公众号和推出了微信开放平台(如图23.44所示). 微信App上的招商银行公众号 另外,微信App不仅支持移动设备登录,也支持桌面端的登录和发送信息等功能.所以对于支持不同设备的功能以及对于第三方App和服务的依赖,我们在测试微信App的时候都需要进行API和集成测试,确保用户在使用这些微信App所依赖的组件时功能正常. 由于我们并不知道微信App使用的w

《移动App测试的22条军规》—App测试综合案例分析23.18节测试微信App的依赖情况

23.18 测试微信App的依赖情况微信App集成了不少第三方的App和服务,例如腾讯地图.滴滴打车.京东.大众点评.财付通等,而且还支持微信公众号和推出了微信开放平台(如图23.44所示). 另外,微信App不仅支持移动设备登录,也支持桌面端的登录和发送信息等功能.所以对于支持不同设备的功能以及对于第三方App和服务的依赖,我们在测试微信App的时候都需要进行API和集成测试,确保用户在使用这些微信App所依赖的组件时功能正常.由于我们并不知道微信App使用的webservice及其他服务和组