@wwanghee
2018-05-04T03:01:31.000000Z
字数 1637
阅读 659
目前个性化商城由于历史原因,在字段的使用上或多或少有些差异,给无论是前端,后端的维护都带来了较大的负担。故需要规范各大商城的通用字段,保持一致性,遵循一定的标准统一起来,方便管理和维护。
目前综合了后端PB协议的定义,管理端各商城常用字段的定义和产品未来的策略,综合得到的通用字段如下:
var settings = {baseInfo: {name: '名称', //名称tag: '关键词', //关键词status: '上架状态', //0-下架 1-上架validArea: '可下载区域', //非必填,1-中国大陆 2-大中华区(中国大陆+港澳台)3-全球feeType: '收费类型', //1-免费 2-收费 4-VIP 5-SVIP 6-活动 21-年费VIP 22-年费SVIPisLimit: '是否限时', //0-无限时 1-限时limitBeginTime: '限时类型开始时间', //输出为timestamplimitEndTime: '限时类型结束时间' //输出为timestamptagType: '角标类型', //1-免费 2-收费 4-VIP 5-SVIP 6-活动 16-限时免费 17-限时活动 18-绝版活动 21-年费VIP 22-年费SVIP 25-王者名片},operationInfo: {platformId: '平台ID', //0-终端全平台 1-PC平台 2-Android 3-IOSminVersion: '最小手Q版本',maxVersion: '最大手Q版本',isShow: '是否显示' //0-隐藏 1-显示,price: '价格', //不必选,只有按条支付需要}};
1、分为baseInfo, operationInfo。
2、目前规范中operationInfo里面只保留和平台、版本有关系的部分,比如是否显示。价格因为也分平台,所以必须放到operationInfo当中。
3、以前有些feeType和限免等信息都放在operationInfo中,实际上feeType和限免是不区分平台版本的,所以都迁移到baseInfo当中。
var appId = {1: '表情',2: '气泡',3: '主题',4: '挂件',5: '字体',8: '背景',9: '个签',15: '名片',16: '红包',17: '来电'}
这里分四步走:
1、前端业务侧获取到的数据结构标准化,在TSW的Node侧读CMEM,这里前端已经做了处理:
let itemList = yield dataBase('theme',env,[{itemId: 2000},{itemId: 2001}])
2、后端的CGI返回的字段符合字段规范,现在的CGI并不是特别规范,各种返回都有,现在需要返回规范起来,按照上述命名和结构。
3、修改管理端结构,与此同时dataBase做相应的修改,但不会影响前端业务代码。
4、修改CMEM,后台代码修改,但不会影响CGI输出。
目前第一步随着新商城改版,基本都可以统一;
第二步需要后端同学统一改造
第三步和第四步需要等前两部完成后,再统一处理。
[2016-11-16]
考虑到限免限时活动的特殊性,新商城的数据都是统一由Backend进行处理的。通过计算返回虚拟扩展的feeType类型,考虑到扩展性,从1-15为常规feeType保留字段。从16开始为feeType扩展字段。目前定义16为限免类型,17为限时类型。[2016-11-28]
1、增加扩展类型21-年费VIP,22—年费SVIP
2、增加了APPID的统一定义[2016-12-01]
1、将status字段放入baseInfo当中[2016-12-08]
1、修改validArea字段为非必填[2016-12-15]
增加feeType类型为18的绝版类型,虚拟feeType类型,以绝版字段为依据[2016-12-18]
增加appId为16的红包定义