1. 优化加载活动信息的js代码
    主页(/home,下称home)和类别详情页(/packageA/list,下称list)中存在大量重复代码(onLoadonBottomReached中加载活动的代码,以及两个页面中收藏和取消收藏的代码),而且大量使用了setTimeout嵌套,存在活动报名人数和用户是否收藏与数据库数据不符的bug,调试后发现是因为js的异步执行机制导致,于是改用ES7的async/await重新实现代码并提出公共逻辑部分,暂时放入/util/common.js中。

  2. 提取ui组件
    提取home和list页面中展示活动的卡片组件,放入/components/activity-card中,并在组件中实现了点击转跳到详细页面的功能,现在不需要再在home和list页面中实现两次点击转跳功能了。此外,点击收藏或取消收藏的代码涉及到改动两个page页面中的data数据,仍然需要在两个页面中分别实现,但是核心逻辑已经重写于/util/common.js中,只需要简单调用即可。组件中使用触发事件triggerEvent调用页面中的collect函数,于是需要在/packageA/list/list.wxml中,在<activity-card />中使用bind:collect="collect"来实现绑定。