这是自己第一次参与原生微信小程序的开发,以下列出自己对项目的总结。
项目介绍
该系统为绵阳市安州市市政府开发,用于管理市场监督局案件办理,具有政策规范,企业认证,消息管理, 意见征集和积分兑换等功能。
技术栈
微信小程序(原生 + Vant)后台管理(React + Antd Pro)
小程序
- 用户登录时,信息获取和判断的逻辑处理
用户登录时序图如下所示:
- 完善列表分页部分加载状态判定
- 支持按照文章标签搜索,并将搜索结果实时渲染
- 征集调查和咨询建议模块的编写
- 后期项目部署与维护
后台
- 负责政策规范、消费警示和曝光管理模块业务逻辑编写,数据处理和布局
- 使用策略模式实现不同 API 对应同一页面
- 使用DvaJS的subscription实现路由控制不同页面数据获取和现实
- 使用Promise解决请求先后次序问题
- 完成项目线上部署和维护,解决页面刷新404错误
所遇问题
编写后台管理时,由于 政策规范、消费警示和曝光管理三个模块的数据格式和操作几乎一模一样,于是将它们写在同一个页面,需要做的就是根据不同的状态判断是哪个模块,并将对应数据显示出来,这时需要处理三个路由对应同一页面的状态切换和数据获取问题,详情可移步此篇博客。React使用策略模式实现不同API对应同一路由
个人收获
-
画图的重要性,遇到一个新的需求,第一件事不是敲代码而是画流程图,理清思路再动手,效果会好很多,不然直接捣鼓代码,可能会弄成一团乱麻。
-
需要及时对开发过程所遇的问题进行记录和总结
-
能复用的函数或模块尽量抽成一个组件,提高复用性和可移植性
-
开发过程会遇到各种问题,需要及时与后端人员或项目经理反馈,锻炼了自己与人沟通并及时有效解决问题的能力。
-
对React生命周期有了更清晰的认知
-
参与了从需求评审、开发联调、到测试修复的完整开发流程,培养了自己团队合作的意识,在团队交流中学习了产品思想和对技术选型的思考
-
需求开发中增强了自己讲业务落地为代码的能力,强化对代码细节的把控,在开发时注重边界条件和特殊情况的处理
-
增强代码规范意识和git协作能力