壹点壹客项目总结

壹点壹客项目总结

十月 25, 2017

壹点壹客项目总结

开发时间:9月25日左右~10月18日(8天假日)大约半个月时间。

这次项目还是没有按时交付,和原计划的一个多星期来看,延期了约一个星期。有必要总结一下时间都花去哪了

No.1 平台开发环境的问题

一开始以为个人环境不能新建模版,必须到测试线上开发,所以中期很多时候都是在测试环境上开发,第一是修改代码后需要不断地push代码到github,花费了大量时间。第二是测试环境只能一个人使用,严重影响了开发效率。

其次,测试环境一直没有录音评分接口。导致测试环境上整个流程一直没能走通。每次想要测试评分之后的页面的时候,都要手动去修改mongodb,模拟真实数据。这也严重影响了开发效率。手动模拟数据还会很容易隐藏一些潜在的bug。

总结:

  1. 现在知道也可以在个人域名下新建模版。以后就在共享盘上开发。
  2. 要求骏骏提供三个环境都能用的接口:个人、测试、正式环境。且不会造成环境差异

No.2 个人对需求理解不够透彻

首先第一个问题是,没有了解仔细微信录音在各个设备的兼容性。在开发到中期的时候,发现IOS不能录音的同时播放音乐。导致后来,需要在player.vue组件添加一些额外的代码。

对结束页面和分享页面理解不够透彻,本应该可以合为一个页面,但是分开两个来写,且弹幕组件也没抽取出来。

对音乐播放器设计不够合理,一开始添加的很多属性都没用到,如标题、音乐url等。其实只需要一个songIndex、且把所有默认音乐配置都写到palyer.vue比较合理。还有未考虑到要播放录音文件的问题,导致添加录音文件的时候,再对代码进行修改,造成遗漏部分代码未修改,会产生一些隐藏的bug。比如load方法的判断是否有音乐文件的代码。还有未把歌词考虑进去,导致在play.vue页面需要再写歌词逻辑。

微信分享页面理解偏差

总结:

  1. 开发前更加严格地了解需求。画出流程图,确定那个步骤做什么操作,必须考虑所有情况
  2. 有问题先看文档、低保真、高保真。再问人。
  3. 对所有功能点都要提前测试

接口对接方面

一开始设计所有内容都存储到Info表内,由save_user_info,update_info_player,get_info_player来控制所有数据。但是后来骏骏开发了另一个更适合的event接口。所以中间切换了一下接口的设计。稍微耽误了一些时间。

没有用weex。没有设计一个比较良好的信息存储方式。全程使用window.userInfo[0].content。太长,容易保存错误。这个影响也很严重。数据不够清晰,容易混乱。

对接口使用不够清楚。update_info_player接口本可以更新单个值,但是前期都是更新整个content对象,造成容易更新不该更新的参数。另外有一个bug,初步认定是jquery会缓存上次接口请求的数据。有待考证。

post数据时所有类型的格式都会被转换成string类型的坑。不影响太多时间,但是稍有混乱。导致有些接口需要特殊处理,有些又不需要。

总结:

  1. 可以利用mongodb的写法,更新单个数据,而不是整个对象。
  2. 抽空还是用上weex,管理全局数据。

微信开发者的坑

设置微信分享的时候微信登录会对链接进行重定向。重定向后只会携带一个get参数到新链接。如需携带多个信息,必须把所有信息都写在一个get参数内。

vue开发要注意的地方

全局事件必须要在beforeDestroy里关掉(bus.$off(‘play’))。不然会重复注册事件

注意要清理所有setInterval

注意限制访问。比如已经在切歌,就不能再进入切歌方法。

要善于利用Tween、vue的transition。尽量少用jquery的东西。