APP皮肤功能后端功能设计

bigname 2019-06-17

有些APP会提供皮肤功能,为某些特定的用户(例如付费会员)提供增值服务。

不同的皮肤,功能性需求一般会包含:1. 背景设置;2. 字体设置; 3. 特定的banner设置;4. 皮肤分类(普通皮肤,会员专享皮肤,运营强推皮肤等)。

非功能性需求包含:1. 需要一个状态机,用来控制上下线操作;2. 多人可能并发下载,需要考虑性能问题;3. 需要一个后台管理系统供运营人员管理皮肤(CRUD);4. 皮肤包的MD5校验

1. 先看总体的架构设计

A. 先是运营人员管理皮肤信息,上传皮肤包,待CDN分发成功以后,操作上线

B. APP访问皮肤信息列表,选中相应的皮肤,并下载使用该皮肤包

C. 皮肤包里面需要有一份配置文件,配置各个资源如何使用,以及如何配置背景色、字体等信息;该配置文件需要在皮肤包上传的时候,解压并验证各个配置项(例如资源文件是否都存在,颜色配置值是否都合法等)

D. 皮肤包下载到客户端的时候,需要做MD5检验。如果失败,则投递信息到后端接口


APP皮肤功能后端功能设计
 

2. 其次是皮肤配置信息的状态机

A. 刚开始创建配置信息时,皮肤包需要先上传一个内网的网盘,然后再做CDN分发

B. 分发成功后可以操作上线,供前端使用

C. 后续可以根据需要修改皮肤配置信息,或者下线皮肤


APP皮肤功能后端功能设计
 3. 新增皮肤包的处理流程


APP皮肤功能后端功能设计
 

相关推荐