一款高仿mac版微信的单页面应用(不断更新...)-程序员宅基地

概述

利用Vue2.0模仿微信app,努力做到以假乱真的效果。个人独立开发,本项目可以为初学者带来很好的入门经验,有兴趣的同学可以clone 下来自己完成。。项目目前进度==30%==,后期不断更新,直至整个项目完成。努力和mac微信能够达到 90%的相似度,让它更接近微信App的用户交互体验。

仿 mac 版 微信
复制代码

图片预览

项目步骤

npm install

npm run serve

npm run build

npm run lint

复制代码

项目地址

项目地址在这里

预览地址

预览地址在这里

项目进度

个人信息
  • 用户头像资料展示
聊天列表
  • 主体页面
  • 聊天列表
  • 聊天对话框
  • 聊天资料
  • 发送图片
  • 群聊天
  • 公众号对话框
  • 切换用户聊天
  • 表情选择
  • 列表右击操作
  • 删除添加操作
通讯录列表
  • 通讯列表
  • 通讯录跳转聊天列表
  • 列表详情
收藏列表
  • 收藏列表
  • 列表详情
文件列表
  • 文件列表
  • 列表详情

部分代码

<div 
  class="messageList"
  :class="classList[list.megType]"
  v-for="(list, index) in messageList" :key="index">
  <span v-if="list.megType === 2">{
    {list.megTime}}</span>
  <img :src="list.avator" alt="" v-if="list.megType === 1" class="userAvator" />
  <pre class="messageText" v-if="list.megType !== 2 && list.textType === 0">
    {
    {list.megText}}
    <img v-if="list.megType !== 2 && list.textType === 1" :src="list.megText" alt="">
  </pre>
  <img :src="list.avator" alt="" v-if="list.megType === 0" class="userAvator" />
</div>
复制代码
sendMes() {
  if(this.onInputValue !== '') {
    const onMesList = {
      avator: 'https://web.lieme.cn/stack/72.jpg',
      megType: 0, // 0 自己 1 对方 2 时间
      megText: this.onInputValue,
      megTime: dateUtil.formatDate(),
      textType: 0, // 0 文字 1 图片
    }
    this.messageList.push(onMesList)
  }
  this.onInputValue = ''
  this.scollDiv()
},
复制代码

前端公众号和交流群

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_17481731/article/details/104816500

智能推荐

809 协议相关_809协议-程序员宅基地

文章浏览阅读442次。809 协议。_809协议

RGBA与RGB和区别与转换_rgba和rgb-程序员宅基地

文章浏览阅读3.8w次,点赞5次,收藏25次。R:红色值。正整数 | 百分数G:绿色值。正整数 | 百分数B:蓝色值。正整数 | 百分数A:Alpha透明度。取值0~1之间。(颜色的透明度)此色彩模式与RGB相同,RGB定义了颜色的红绿蓝值,在RGB模式上新增了Alpha透明度.alpha通道一般用作不透明度参数。如果一个像素的alpha通道数值为0%,那它就是完全透明的(也就是看不见的),而数值为100%_rgba和rgb

安装Cloudera Manager出现的错误_differs from the canonical name-程序员宅基地

文章浏览阅读2k次。1、hostname localhost.localdomain differs from the canonical name localhost解决方法:CentOS7查看hostnameCentOS6查看vim /etc/sysconfig/network发现与/etc/hostname中的不一致运行命令hostnamectl set-hostname XXX2..._differs from the canonical name

制造大迷局:一边全球造假,一边卡世界脖子-程序员宅基地

文章浏览阅读94次。盘子刷七遍、马桶水可以喝、一辈子就为煮好一碗饭……篡改质检报告、专业造假几十年……究竟哪个才是日本制造业的真相?

关于Token_java生成token和解析-程序员宅基地

文章浏览阅读1.8k次。在使用Token机制时,当客户端向服务器端第1次提交请求时,或提交登录请求时,客户端不需要做特殊的处理,而服务器端会在识别此客户端身份后,会。在处理过程中,服务器端只需要具体检查Token、从Token中解析出客户端身份的相关数据即可,并不需要在服务器端保存各Token数据,所以,去,后续,客户端需要携带此Token提交各种请求,服务器端会根据Token中的数据来识别客户端的身份。,因为各服务器只需要具有相同的验证、解析Token的程序即可识别客户端的身份。,不会消耗服务器端存储资源!_java生成token和解析

红旗 6.0 安装mysql_红旗Linux6.0+Apache+Mysql+PHP配置全过程-程序员宅基地

文章浏览阅读357次。红旗Linux6.0+Apache+Mysql+PHP配置全过程发布时间:2008-11-03 11:07:13来源:红联作者:wangel刚来论坛,想做点什么,不过我是菜鸟,只能写写自己的体会。这篇文章是从网上教程并根据自己遇到实际的情况做了些修改。好了闲话少说,我们现在开始需要软件:红旗Linux桌面版6.0 apache2.2.6 mysql5.0.45 PHP5.2.4 (具体版本可能...

随便推点

android中activity的四种加载模式_android activity加载-程序员宅基地

文章浏览阅读1.8w次,点赞2次,收藏26次。一、何为加载模式在android的多activity开发中,activity之间的跳转可能需要有多种方式,有时是普通的生成一个新实例,有时希望跳转到原来某个activity实例,而不是生成大量的重复的activity。加载模式便是决定以哪种方式启动一个跳转到原来某个Activity实例。二、加载模式有哪些以及如何配置1、在android里面,activity有四种加载模式:standard, singleTop, singleTask, singleInstance 。详细介绍在后面。2、配置方法直接修改A_android activity加载

Unity 2d 与NPC对话的实现_unity 2d 对话 确认-程序员宅基地

文章浏览阅读5.7k次,点赞5次,收藏96次。NPC的架构未触发前任务完成前任务完成后脚本需要在脚本属性指定按键提示、对话框、还有对话框的文本using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class NPCManager : MonoBehaviour{ public GameObject dialogImage; pub_unity 2d 对话 确认

React系列-初始化React脚手架_react初始化框架install-程序员宅基地

文章浏览阅读127次。xxx脚手架:用来帮助程序员快速创建一个基于xx库的模板项目包含了所有需要的配置(语法检查,jsx编译,devServer)下载好了所有相关的依赖项目的整体技术架构为:react+webpack+es6+eslint创建步骤:全局安装:npm install -g create-react-app切换到想创建项目的目录,使用命令:create-react-app hello-reactyarn start 启动服务yarn build 打包yarn test 测试_react初始化框架install

PHP 作业2.3 判断学生成绩等级_php判断学生成绩等级-程序员宅基地

文章浏览阅读4.8k次,点赞5次,收藏35次。利用ajax和php实现以下页面index.php<!DOCTYPE html><html> <head> <meta charset="UTF-8" /> <title>判断学生成绩等级</title> </head> <style type="text/css"> body { background-image: url(img/1.png); } .main {_php判断学生成绩等级

window上gnuplot的安装和使用【1】_windows gnuplot安装使用-程序员宅基地

文章浏览阅读4.5k次,点赞8次,收藏34次。gunplot的安装以及使用1.gnuplot的原理及用途2.gnuplot的下载及安装3.使用gcc编译c语言程序4.使用gnuplot调用c语言程序所产生的数据并且画出图像5.参考文章1.gnuplot的原理及用途\qquad它是一个小巧实用的数据处理工具,主要用来绘制2D/3D的数据或者函数图像,但是也包含数学计算、拟合等功能。虽然它的名字里边有个“gnu”,但是它和大名鼎鼎的GNU没有..._windows gnuplot安装使用

MATLAB 风力发电系统低电压穿越—串电阻策略-程序员宅基地

文章浏览阅读375次,点赞10次,收藏7次。然而,在电网故障情况下,电网的电压可能会降低,导致风力发电系统无法正常注入电网,从而影响电力供应的稳定性和可靠性。具体而言,当电网电压降低到一定程度时,串电阻将会起作用,通过改变风力机转子电枢电压,使得发电机输出电压保持在一定的范围内,从而实现低电压穿越,确保系统的稳定运行。通过MATLAB的仿真工具和实验验证,研究人员可以评估和优化串电阻策略的参数配置,提高风力发电系统的低电压穿越能力,从而实现可靠的电力供应。MATLAB作为一种强大的数学计算软件,在风力发电系统的低电压穿越策略研究中发挥了重要的作用。