• 请不要在回答技术问题时复制粘贴 AI 生成的内容
aos
V2EX  ›  程序员

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

  •  5
     
  •   aos · Jun 19, 2017 · 22887 views
    This topic created in 3429 days ago, the information mentioned may be changed or developed.

    前言

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

    页面部分截图

    单人聊天

    群聊

    朋友圈

    项目布局

    
    ├── 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
    
    
    56 replies  •  2019-04-09 23:59:16 +08:00
    whypool
    whypool
    Jun 19, 2017
    1
    6666
    vipwpcom
    vipwpcom
    Jun 19, 2017
    2
    66666
    wjm2038
    wjm2038
    Jun 19, 2017 via Android
    3
    66666
    xiahei
    xiahei
    Jun 19, 2017 via Android
    4
    666
    pzzrudlf
    pzzrudlf
    Jun 19, 2017
    5
    666,666
    lxrmido
    lxrmido
    Jun 19, 2017
    6
    666666
    wly19960911
    wly19960911
    Jun 19, 2017 via Android
    7
    提个建议,点击反馈
    shuangguanQuail
    shuangguanQuail
    Jun 19, 2017
    8
    收藏一波
    Zohar
    Zohar
    Jun 19, 2017 via Android
    9
    很棒棒哟!给你一朵小红花~
    wxcszh
    wxcszh
    Jun 19, 2017
    10
    666 溜溜溜
    feng1234
    feng1234
    Jun 19, 2017
    11
    6666666
    luanjia
    luanjia
    Jun 19, 2017 via Android
    12
    6666
    PythoneerDev6
    PythoneerDev6
    Jun 19, 2017
    13
    厉害了
    PythoneerDev6
    PythoneerDev6
    Jun 19, 2017
    14
    开源了吗?
    kiah
    kiah
    Jun 19, 2017
    15
    66666666
    crytis
    crytis
    Jun 19, 2017 via iPhone
    16
    6666666666
    mokeyjay
    mokeyjay
    Jun 19, 2017 via Android
    17
    666666
    aos
    aos
    OP
    Jun 19, 2017
    18
    @PythoneerDev6 源码地址在介绍里写了
    lwbjing
    lwbjing
    Jun 19, 2017
    19
    666666
    ZzFoo
    ZzFoo
    Jun 19, 2017
    20
    666666
    lhx2008
    lhx2008
    Jun 19, 2017
    21
    看到好多功能都没做,现在感觉微信还是挺复杂的
    aos
    aos
    OP
    Jun 19, 2017
    22
    @lhx2008 微信的确非常多的细节,目前只是初始版本,慢慢会支持更多功能
    XuweiatTuSDK
    XuweiatTuSDK
    Jun 19, 2017
    23
    666666666
    fuliti
    fuliti
    Jun 19, 2017
    24
    66666666
    badcode
    badcode
    Jun 19, 2017 via Android
    25
    呀呀呀呀呀呀呀
    onyourroad
    onyourroad
    Jun 19, 2017
    26
    6666666666
    lj61785636
    lj61785636
    Jun 19, 2017 via iPhone
    27
    6666
    SPACELAN
    SPACELAN
    Jun 19, 2017
    28
    666666
    ae86
    ae86
    Jun 19, 2017
    29
    666666
    lrh3321
    lrh3321
    Jun 19, 2017
    30
    厉害了
    fudanglp
    fudanglp
    Jun 19, 2017
    31
    666666
    mengyaoss77
    mengyaoss77
    Jun 19, 2017
    32
    厉害了 抱拳了老铁
    wenning
    wenning
    Jun 19, 2017
    33
    6666
    Betacoefficient
    Betacoefficient
    Jun 19, 2017
    34
    好棒啊,灰常的有用啊
    bozong
    bozong
    Jun 19, 2017 via iPhone
    35
    66666666666666666666
    Ultraman
    Ultraman
    Jun 19, 2017
    36
    demo 是被那个智障刷挂了吗?我打不开了
    tf141
    tf141
    Jun 19, 2017
    37
    强无敌
    zonghua
    zonghua
    Jun 19, 2017
    38
    有没有空把每个像素和动画的每一帧都高仿啊,这个好多地方多了空白线 b ( ̄▽ ̄) d
    nVic
    nVic
    Jun 19, 2017
    39
    现在的微信过于复杂了,应该被换代。。。
    aos
    aos
    OP
    Jun 19, 2017
    40
    @vcinex 已经加上限制了,可以正常访问了,那家伙太无聊
    wangzhi
    wangzhi
    Jun 19, 2017 via Android
    41
    66666
    aaronlam
    aaronlam
    Jun 19, 2017
    42
    6,最近也在学习 VUE,希望楼主可以继续完善,赞!
    ZddPub
    ZddPub
    Jun 19, 2017
    43
    强!双击一波 666666
    bw2
    bw2
    Jun 19, 2017
    44
    舅服你
    wending
    wending
    Jun 19, 2017
    45
    666 啊,这个页面的布局是你写的?我们公司最近的一个项目就需要这样仿写一个 APP 的前端界面
    outloudvi
    outloudvi
    Jun 19, 2017 via Android
    46
    赞!还原度超高!
    不过有点担心会不会有商标权争议什么的……
    gswxy
    gswxy
    Jun 20, 2017
    47
    666
    baixiaowen
    baixiaowen
    Jun 20, 2017
    48
    对 telegram 感兴趣吗? 我觉得抄一下 telegram 不错
    v2chou
    v2chou
    Jun 20, 2017
    49
    99999999
    aos
    aos
    OP
    Jun 20, 2017
    50
    @outloudvi 应该不会吧,只是模仿了 ui
    ivanyin
    ivanyin
    Jun 20, 2017
    51
    66666666666666666666
    menduo
    menduo
    Jun 20, 2017
    52
    试了,很漂亮。
    noNOno
    noNOno
    Jun 20, 2017
    53
    666666
    hsy123
    hsy123
    Jun 21, 2017
    54
    66666666666
    bailichen
    bailichen
    Jun 23, 2017
    55
    666666666
    xiaoyan2017
    xiaoyan2017
    Apr 9, 2019
    56
    666,太赞了,很有学习借鉴意义。
    https://blog.csdn.net/yanxinyun1990/article/details/89038427
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1558 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 119ms · UTC 12:14 · PVG 20:14 · LAX 04:14 · JFK 07:14
    ♥ Do have faith in what you're doing.