项目分为登录模块、资产模块、账户模块、理财模块、存款模块、积分权益模块、商城模块、活动模块等,对使用者而言具备微信/QQ登录、绑定银行卡、存取款、购买理财、积分商城换购、抽奖活动等。
我主要负责资产、理财、积分商城、营销活动页。App 端为了复用 web 端的部分代码资产,并提高开发效率,采用基于 React Native 实现。H5 端主要是活动页,使用 vue 全家桶实现,小程序端使用微信小程序原生开发。
技术上的难点主要是跨端开发、H5的兼容性问题、业务复杂性。针对跨端开发问题,通过三端共用 npm 仓库实现复用,最大程度复用 js 编写的业务逻辑以及部分 css 样式资产。针对 H5 兼容性问题,通过 babel/postcss 等工具向下兼容,无法兼容的通过测试发现 case 逐一处理。针对业务复杂性,通过合理的仓库划分、模块划分、架构设计、代码组织和抽象等工程化手段,保持业务复杂性的可控性,防止业务急剧迭代过程中代码腐化。