title: Hi 运动(教练端)小程序 date: 2017-12-28 tags:
请编辑过的人员留下你的姓名
目标:单纯的微信小程序,没有任何跨端的需求
原生的问题:
最终由于技术人员大家的技术都倾向于原生比较容易上手,框架需要再熟悉可能有碍于开发效率等,选择了原生
Gulp4.x + TypeScript(后来觉得 wx 的类型可能有点坑就放弃了) + Babel + Scss + 原生小程序内置 Api + jest(单元测试,node 版本要尽量高不然会报错) + Mobx
5/22注后来发现TypeScript也是可以做的,wx的类型直接引入微信的库就可以了,我们要做的只是用TypeScript转换成JS就可以了
- dist
- node_modules
- src
|- ...
|- __test__ --- jest单元测试
|- assets --- 静态资源文件(*png,*jpg)
|- components --- 公共组件(自定义)
|- custom-tab-bar --- 自定义tabbar(一定要放在最外层)
|- libs --- 用上了ES7的async的地方都得用这个库 (在头部得引入不然会报错)
|- miniprogram_npm --- 小程序的npm
|- pages --- 页面
|- ...
|- ...
|- router --- 封装的路由
|- services --- 业务层
|- lib --- 封装的ajax
|- styles --- 定义的全局scss
|- utils --- 工具类
|- index.d.ts --- 用来提示类型的(不是用TypeScript但是可以透过工具达到类型提示的效果)
|- ...
- gulpfile.js --- 构建打包的配置文件
小程序的背景图片不能直接引入本地的,可能是因为线上的缘故吧。要转成 base64 或者是引入线上服务器的地址才可以引入。
数据流最后是通过 mobx 进行传递。写了一些例子可能都不太好,没有那种修改了马上更新的操作,放在 globalData 就更加不行
使用 async 的地方都得引入 libs 里面的 runtime 库不然会报错(本地可能不报错,但是线上会报错)
商品管理的拖动还是存在bug,比如无法实时看到拖动的效果,只能在拖动完最后才能看到效果。(最主要还是安卓存在的性能问题,因为每次都会load图片,安卓load图片就会出现性能的问题,IOS不会有这个问题,实现的原理得自己看下里面的)
保存海报是通过canvas画出来的,所以要看一下对应的微信提供的Api
小程序自带的mobx在App.js无法使用,因为没有办法代理App.js里面的数据。page里面如果在onload,等生命周期使用。得下一轮循环才行(不知道是不是推到微任务里面去了)
tabPage是自定义,并且是重写了onShow方法,是在Page实例化前调用的,所以在tabPage的onShow里面没有找到当前tabPage的this。