logo资料库

摩拜单车小程序开发实践与框架分析.pdf

第1页 / 共155页
第2页 / 共155页
第3页 / 共155页
第4页 / 共155页
第5页 / 共155页
第6页 / 共155页
第7页 / 共155页
第8页 / 共155页
资料共155页,剩余部分请下载后查看
小程序开发基础与摩拜单车功能介绍
小程序开发基础
准备工作
开发语言
WXML
WXSS
JS
生命周期
App 生命周期
Page 生命周期
摩拜单车小程序功能简介
开锁用车
分享红包
支付功能
摩拜单车小程序技术演变
组件化
构建系统
跨页面通信
使用 getApp()
使用 getCurrentPages() 查找对应页面对象
broadcast.js
web-view
CDN
小结
小程序项目构建
开发选型
小程序代码体系
目录结构
包体积
设计方案
如何实现
开发目录结构
构建目录
gulp 编译处理
样式文件处理
JS 文件处理
CDN 文件处理
小结
小程序的组件化开发
template 方案
组件基础
组件定义
组件引用
父子通信
父组件向子组件传递信息
子组件向父组件传递信息
slot
组件示例
组件库
小结
小程序的跨端能力
载入 H5
web-view 组件
H5 调用小程序方法
1. 判断环境
2. 处理跳转
3. 向小程序发送消息
小程序之间跳转
小程序和 App 之间跳转
App 跳转到小程序
小程序跳回 App
小结
小程序开发环境优化
mock 数据
方式一 项目内构建
方式二 Mock 平台接入
新建接口
接口列表
代码中 Mock 配置
调试 vConsole
测试报告
摇一摇切换测试环境
小结
如何做好小程序数据埋点和监控
数据埋点
内部数据统计平台
小程序统计后台
监控
业务数据监控
程序错误监控
小结
实战案例解析 1:登录
手机号验证码登录
微信一键授权登录
getPhoneNumber按钮
获取 session_key
SSO自动登录
获取 openid
自动登录
多端登录
退出登录
常见问题汇总
小程序传 code 获取 session_key 和 openid 报上面的错
小结
实战案例解析 2:支付
微信支付
免密支付
小结
实战案例解析 3:地图
map 组件
组件属性
markers
controls
cover-view
polyline
bindregionchange
地图组件控制
getCenterLocation
moveToLocation
includePoints
优化
地图拖动
地图渲染更新
小结
实战案例解析 4:分享
分享到会话
获取群标识
模版消息
分享到朋友圈
小结
实战案例解析 5:运营活动
在地图上绘制 banner
多种事件类型
封装getActionType
触发banner点击事件
变换地图上的车标
获取每种单车类型的配置图片url
下载图片资源到本地,获取图片的临时路径
替换 markers 图标路径
绘制二维码
小结
实战案例解析 6:动画
CSS3 动画
官方提供 API
小技巧:
tip 1: 如何选择动画开始播放的时间点?
tip 2: 如何实现动画跳过功能?
tip 3: 背景音乐播放与静音功能
tip 4: 重新进入小程序动画重复播放
tip 5: 限定动画播放时间
小结
实战案例解析 7:长连接
WebSocket
MQTT
如何实现
小结
实战案例解析 8:蓝牙
蓝牙开锁步骤
开启蓝牙适配器
搜索指定蓝牙设备
连接设备
发送开锁指令
注意项
优先从已搜索到设备中寻找设备
注意添加异常回调
注意添加超时处理
小结
主流框架使用案例1:WePY
准备工作
如何使用
组件
加载外部 npm 包
支持 Promise
小结
主流框架使用案例2:mpvue
准备工作
App.vue
页面跳转
组件编写和引用
事件处理
小结
主流解决方案对比 - WePY 和 mpvue
体积
mpvue 部分:
WePY 部分:
能力
数据流管理
WePY 部分
在 src/app.wpy 文件中
在 src/pages/index.wpy 文件:
mpvue 部分
组件化
工程化
小结
扩展链接
高级篇1:WePY 设计细节
编译过程
wepy-cli
.wpy 文件拆解
运行原理
数据绑定
小程序细节优化
请求队列
事件优化,支持 Promise 写法
支持 npm 包
高级篇 - mpvue 设计细节
入口文件
mpvue-entry
Dev 环境
生成 wxss 文件,而不是 css 文件
不需要生成 html
需要生成根目录的配置文件
app.js
app.json
app.wxss
生成 wxml 文件
webpack-dev-middleware-hard-disk 插件
mpvue-loader
dist 目录文件生成原理解析
resolveTarget
cacheFileInfo 缓存
生成 入口 wxss
生成 入口 js
标签转换
a 链接转换
div 转换
class 替换原理
css 方面
px2rpx-loader
postcss-mpvue-wxss
style scoped
moduleId 生成原理
mpvue-webpack-target 插件
JsonpChunkTemplatePlugin.js 文件:
JsonpMainTemplate.runtime.js 文件:
JsonpMainTemplatePlugin.js 文件:
webpack-mpvue-asset-plugin
使用
源码解析
扩展链接:
利用腾讯云来管理静态资源
腾讯云
腾讯云注册
腾讯云配置
基础信息
配置对象存储
名称
区域
访问权限
CDN 加速
资源文件监控
配置域名
上传文件
cos-nodejs-sdk-v5
基于 fis
基于 gulp
优化
优化缓存文件的时间
更新日志
[0.3.1] - 2018-07-12
[0.3.0] - 2018-07-11
[0.2.0] - 2018-07-06
[0.1.0] - 2018-07-06
2017 1 9 4 1.7 58 2016 10 Web Mac project.config.json project.config.json WXML + WXSS + JS HTML + CSS + JS WXML WXSS JS WXML WXMLWeXin Markup Language HTML HTML div section header view p span b text picker map web-view WXML
{{message}} JS message Page({ data: { message: 'Hello MOBIKE!' } }) WXML WXML · WXSS WXSSWeXin Style Sheets CSS WXSS CSS rpxresponsive pixel 750rpx rpx 750px iPhone 6 html body page page{ background: #FFFFFF; } WXSS Web [attr] h1 + p WXML
WXSS WXSS · JS JS window document alert setTimeout encodeURIComponent JS “” wx wx.request wx.setStorage wx.getLocation wx API · App
onLaunch Function -- onLaunch onShow Function -- onShow onHide Function -- onHide App App() Page App Page
onLoad onReady onShow onHide onUnload Function Function Function Function Function -- -- -- -- -- Page() ·
“” banner banner
2017 3 “ 20 ”
分享到:
收藏