2020总结
公司年会要准备年终总结,还要做 PPT。不会写文章外加沉默寡言的我想想就头疼。
所以决定先在这里列一个大概的大纲,毕竟博客也荒废太久了。顺带测试一下 MWeb 这款app,因为它可以直接发布markdown 原文(实测选择“发布为markdown” typecho没渲染成html)到 typecho 博客(其实这才是发文章的主要原因)。
工作总结
主要是做了两个项目
- 智联互充小程序
- 办公系统
智联互充小程序
智联互充小程序的 uni-app 版本的重构。
- 微信端包体积过大,无法发布。其他端首次加载缓慢。
- 通过分包加载,将小程序页面分为主包、公共页面、用户页面、管理员页面。主包仅包含开屏图片以及公共依赖。
- 将活动页面做成独立分包,通过活动链接进入小程序只加载独立分包。
- 引入工程化插件,打包前将图片压缩。
- 实现路由拦截,统一处理页面跳转以及鉴权。
内部办公系统(ERP、CRM)
vue2 开发的部署在内网的一个公司内部办公自动化系统。
- 编写 CURD 组件,将繁琐的列表增删改查抽象成一个组件。通过后端下发配置文件来动态生成列表和编辑页面,实现筛选、分页、权限验证、查看新增编辑删除。
- 各种流程单页面不像列表页面大同小异,他们异化很大。但是仔细观察发现内部几乎都是类似的元素排列组合。所以我通过继承 CRUD 组件配合自定义配置导入不同组件的方式来实现流程单的编写。
- 请求缓存,很多页面都会需要类似的数据。比如物料分类、部门列表。如果单独定义缓存,工作量很大不说,内存管理、依赖管理、数据污染都不好做。思来想去决定缓存请求,在编写业务逻辑的时候不需要关心其他业务组件有没有依赖他们。目前算法很简单只是通过 url 和参数计算哈希来确定唯一性默认只缓存 get 请求并且写死两秒失效(可以在调用重新设置)。后续有精力可以加入淘汰算法和垃圾清理来提高缓存效率。
学习总结
- 完整学习了 uni-app 以及微信小程序、支付宝小程序的开发,包括支付对接、分包优化、路由拦截、第三方登录等。并且实战项目没出大问题。
- vue2、vuex、vue-router等 vue 全家桶算是都基本熟练了。计划明年强化学习 vue3 以及 React 系列。并且开始阅读源码。
- 在开发中不再是调包侠,遇到问题能在源码上思考问题。在问题的思考上能更有深度。
- 参与 GitHub 社区以及微信开发者社区的讨论。在几个小项目 pr 成功成为贡献者。