APP皮肤功能后端功能设计 博客分类: APP 皮肤 后端
程序员文章站
2024-03-17 12:25:28
...
有些APP会提供皮肤功能,为某些特定的用户(例如付费会员)提供增值服务。
不同的皮肤,功能性需求一般会包含:1. 背景设置;2. 字体设置; 3. 特定的banner设置;4. 皮肤分类(普通皮肤,会员专享皮肤,运营强推皮肤等)。
非功能性需求包含:1. 需要一个状态机,用来控制上下线操作;2. 多人可能并发下载,需要考虑性能问题;3. 需要一个后台管理系统供运营人员管理皮肤(CRUD);4. 皮肤包的MD5校验
1. 先看总体的架构设计
A. 先是运营人员管理皮肤信息,上传皮肤包,待CDN分发成功以后,操作上线
B. APP访问皮肤信息列表,选中相应的皮肤,并下载使用该皮肤包
C. 皮肤包里面需要有一份配置文件,配置各个资源如何使用,以及如何配置背景色、字体等信息;该配置文件需要在皮肤包上传的时候,解压并验证各个配置项(例如资源文件是否都存在,颜色配置值是否都合法等)
D. 皮肤包下载到客户端的时候,需要做MD5检验。如果失败,则投递信息到后端接口
2. 其次是皮肤配置信息的状态机
A. 刚开始创建配置信息时,皮肤包需要先上传一个内网的网盘,然后再做CDN分发
B. 分发成功后可以操作上线,供前端使用
C. 后续可以根据需要修改皮肤配置信息,或者下线皮肤
3. 新增皮肤包的处理流程