- 优化小程序的 API,将这些 API从回调形式改为 promise 形式
- 开启开发者工具的增强编译(开启后支持 async...await),配合上一步改造后的 promise 形式的微信 API ,使得开发体验跟现代前端开发保持一致
- 统一整理封装异步请求(类似 axios,interceptor,request)
- 统一接口请求的路径
- 统一添加和去除接口loading 提示
- 统一处理参数(增加/删除)
- 统一处理 header 的字段
- 统一整理接口的响应情况分支,对各类异常情况进行统一处理,对正确的情况进行数据分离
- 上拉加载时,进行增量更新的优化。默认情况下小程序的数据更新时全量更新,当列表数据越来越多时,全量更新的数据量太大,所以才用增量更新
// 全量更新
this.setData({
goods: []
})
// 增量更新
this.setData({
goods[0]: '',
goods[1]: '',
goods[2]: '',
goods[3]: '',
goods[4]: '',
goods[5]: '',
// ...
})
- 改造小程序 Page 构造函数。因为每个 tab 页都要写一 onShow 函数,所以咱们就改造一个 Page 函数,在改造的 Page 函数中添加上 ononShow 要执行的逻辑,然后每个页面再调 Page 函数(此时的 Page 是改造后函数),所以就不需要再次定义 onShow 里面的逻辑
const originalPage = Page
Page = function(options) {
const originalOnShow = options.onShow || function() {}
options.onShow = function () {
// 写要重复写的逻辑
// ...
originalOnShow.call(this)
}
originalPage.call(this, options)
}
Page({
data: {},
onLoad: function() {},
onShow() {
}
_delete() {}
})
参考:
网友评论