9

vue-wechat

用vue.js开发微信app界面的demo

线上地址:vue-wechat.github.io
项目地址:useryangtao/vue-wechat
github.io 加载略慢, 建议clone本地调试预览。

安装

# install dependencies
cnpm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

技术栈

此demo在技术使用上以下技术的部分语法

  • vue

  • vuex

  • vue-cli

  • vue-router

  • vue-toutch

  • vue-animated-list

  • weui

  • zepto

  • fastclick

一些亮点

    新页面跳转的过渡动画 参照ios系统的页面切换风格,是通过router-view及transition特性结合实现的。

    消息列表页的item 左划操作处理,使用vuex(getters,actions)实现实时处理计算数据

(语音/文字)对话框 组件间 动画切换,还有通过事件注册tap 实现 按住说话效果;

还有一些交互行为细节及动画:

  • 如css3动画实现的扫一扫;

  • 删除消息列表item,通过vue-animated-list 实现动画移除;

  • 消息页右上角+的显出无动画,隐藏有动画;

  • 朋友圈下拉拖拽显示完整封面

listview部分也使用了weui的结构。

小图标全部使用iconfont方式,减少图片请求。

手机预览(QR)

vue-wechat-qr

如微信扫码浏览空白,请 点击右上角-> 浏览器 打开

基本操作

首页

首页chat页

页面切换,动画过渡

仿照ios系统切换风格:下一页打开时,当前页左偏移-30%;当前页关闭时,上一页左偏移从-30%过渡到0%

vue-wechat-animation

消息列表 (未读/已读)操作 及 删除

vue-wechat-handled

按下说话,松开结束 效果

say

发现-朋友圈

find

发现-扫一扫

图片描述

图标-iconfont

为了减少图片加载,图标使用的iconfont

iconfont

开发约定

所有组件.vue名 都统一 《短横线》 命名
css内下划线( _ )开始的为通用类
js中内下划线( _ )开头的为私有属性
所有events均使用短横线 命名
所有组件(.vue)里template标签包含的元素必须是component-xx 开头
所有state统一下划线 命名
所有 action统一下划线命名

参考

Vue-cnodejs

vue-zhihu-daily

vue-mobile-qq

vue-shopping

关于作者

微博:Water杨涛


user杨涛
103 声望9 粉丝