这可以算是第二次做小程序吧。
使用:uniapp 、uview
工具:HbuilderX
遇到的问题:
uniapp写小程序真的太多坑了。
- 数据更新和视图渲染问题
在子组件更新父组件深层数据时需要调用 $foreceUpdate() 方法进行强制更新渲染,还有调用页面栈时更改前一页面数据时也要调用进行强制更新渲染。
有时调用$forceUpdate()也会不生效,只能通过v-if进行这一部分的重新渲染 - 引入组件库问题
引入组件库代码没错,却一直使用不了还报错。然后重启一下项目就又可以了。(果然重启可以解决一半问题) - 一次性保存多张图片:
最开始我用的是for循环 调用微信的保存图片的接口,然后发现保存的都是最后一张图片。
然后我以为是作用域变量的问题,就用了闭包,然后发现还是保存的最后一张图片
最后通过递归调用的方法解决了。
收获
- 因为这次做的是小程序,更加强调用户体验,要告诉用户的点击是有反应的所以请求时都会有加载Loading动画。
- 还有这次小程序因为是票据方面的,所以会有许多的表单需要校验,自己整理了一个校验的工具库。
- 接口对接方面
知道在和后端沟通接口错误时,应该提供请求的接口地址,请求的参数,以及响应内容给后端判断接口情况 - 使用coding管理项目,并将发现的bug在上面整理成列表,然后一个个debug完后再测试。
- 文件分类和组件分类
文件分类,根据文件的不同功能进行分类,例如
service:接口封装
utils:工具函数
component:复用组件
pages:页面文件夹 再根据功能模块进行进一步分类
assets:静态资源:图片、全局css等 - 命名:英文直译、BEM命名规则
- put,delete请求方法的使用
- 函数功能注释,数据注释,关键代码注释
- 小程序审核和发布(其实百度一下就可以了)
总结
总的来说算是一次对uniapp的一次熟悉使用,踩踩坑。也学会了很多前端的代码规范和对接方面的经验。就这了!!!