@wwanghee
2016-04-01T08:17:20.000000Z
字数 1086
阅读 548
个性化同IP推荐项目是一个系列型项目,加强个性化商城装扮之间的联系,凝聚大IP,形成协同效应。
对于每个接入IP推荐的业务来说,调用的接口都是同一个,具体接口参考后台接口文档:
http://tapd.oa.com/qqclub_app/markdown_wikis/#1010018751005179627
主要注意需要传appId和itemId。
后端约定的APPID映射为:
表情:1气泡:2主题:3挂件:4字体:5背景:8
对于前端而言,后端返回的数据结构并不完全符合我们的要求,需要进行一定的加工,每个业务接入基本上都是类似的结构。加工后的数据结构如下所示:

结构暂定为此结构,当然也要根据产品对于各个商城的需求来变化,大体思路是沿用的。
表情下载按钮的逻辑每个业务都需要,目前可以进行下载逻辑的抽离,我这边所期望的调用形式为:
var bqDownload = new component('BqDownload');bqDownload.create(elementContainer, bqDetailList);
UI部分根据目前对于产品规划的了解,全商城关于表情下载这块的UI应该是统一的。所以还是尽量将渲染,鉴权,下载等逻辑封装起来,对于调用方传入一些必要的参数即可正常使用此功能。
1、step.js有做try-catch,所以调试的时候出错找不到问题在哪,建议去掉step.js中的try-catch,有问题提早暴露
2、模板中的HTML注释<!-- -->,如果注释中有执行代码的话,在编译过程中会出现XSS漏洞。结论就是在注释中不要出现JS的代码。因为模板在webstorm中的默认注释就是<!-- -->,如果不注意的话,注释模板中的代码,代码还是会执行的。
3、对象克隆
有时候会遇到对象引用的坑,一般保险起见用对象克隆来避免,对象克隆简单的处理是JSON.parse和JSON.stringify,复杂一点的处理则借助jquery等库,使用$.extend方法。
4、跳转其它商城最好用短链的形式,因为短链使用qt.utils.openPage会带一些终端参数,主题必须使用短链跳转的形式
5、专区类型的个性化装扮的逻辑特殊,暂时还不支持同IP推荐的展示,缺少角标,缺少表情下载的逻辑
6、不同业务的feeType的值含义不同,这个比较坑,希望其它同学在使用时也注意此问题,希望xydata2.0可以统一
7、webview全屏化,有特殊逻辑处理,完成后统一汇报