微信小程序
- 开发流程
- 开发规范
- 兼容问题 & 解决方案
- 发布审核流程 & 经常遇到的问题 & 解决方案
- 常见的问题 & 解决方案
- 项目结构划分
- 组件
- 优化相关
优化相关
- 减少频繁调用setData
- 避免每次 setData 都传递大量新数据
- 不用于页面渲染的变量不要在data里面声明
- 事件绑定的时候,不要传一堆参数,只传id,其余通过js查询
- 控制保存在本地的图片资源
- 及时清理没有使用到的代码和资源
- 使用分包
- 调用微信支付(post请求)时要做防重复点击处理。不然会缺失订单
- 解决方案:
发布审核流程
- 发布体验版 -> 测试 ->提交审核 -> 待审核通过后发布
- 注意授权方式
- 一年内提审核可以加急三次
- 如果发布错误的话可以回退到上一个版本
兼容问题
- ios不支持2019-09-12这种格式
- 解决方案: 使用正则修改成2019/09/12
- 绝对定位(absolute)ios上拉下拉到底部可拉出空白
- 解决方案:使用fixed定位
- iPhoneX底下横条适配(仅针对于底部有固定按钮的场景)
- 底部多增加一些padding
常见问题以及注意点
- include不支持ios8
- 路由层级有最高限制问题
- 解决方案: 用back或者,或者reLaunch
- navigateTo传参,option中接收到的是String
- input 中拿到的值也是String(在处理Number时候记得要String转Number)
- 注意版本库
- textarea层级最高,一般设置z-index不可覆盖
- 使用cover-view包裹就可以比textarea层级高
- 弹出微信支付会出发onShow,关闭会出发onHide
- 使用wx:for循环,要写wx:key.否则会有警告
- 加减乘除精度缺失
- 登录封装处理处理统一封装的
- 切换tab和搜索时的问题 容易忘记复位第一页
- 表单验证注意问题
- 适配问题
- 数据分页处理问题
项目结构划分
- 组件
- 常量
- 所有的后台接口请求路径
- 全局配置(包含服务地址,图片域名。。。)
- 常量(包含正则,错误提示语。。。)
- 图片静态资源
- 页面(pages)
- 服务
- 全局通用工具
组件
- tabs
- 适配组件
- 日历
- 弹窗