
### 用户体验

* 数据加载loading提示, 帮助用户明白任务正在进行中
* 构建骨架屏, 避免渲染报错和白屏
* 菜单固定热门城市的入口, 不加载所有城市, 新建一个所有城市入口的页面作为主页.

   减少菜单的加载, 同时避免城市列表更新后菜单栏出现竖向滚动条

    #### TODO:
    - 用`long ListView`重写城市首页


### 数据和状态

* #### local storage

  * 保存已登录用户的身份数据
  * :question:  多个入口如何保持登录
    * ~~城市入口: 进入页面后请求登录~~
    * ~~订单入口: 页面登录后跳转~~
    * :bulb:  在url参数返回
  * 保存已获取到的城市内容信息
    * 增加参数是否应该更新数据

* #### mobx store

    - store之间不交叉依赖,在 construtor 里显式注入 rootStore 到每个子 store 中
    - 根据业务逻辑(不是UI)组织store
      - 需要在组件之间传递的数据
      - 需要暂时记住的用户操作的数据, 如表单提交前的已输入
    - 请求API数据之前判断是否需要更新, 减少请求次数. 更新次数不频繁的仅请求一次
      - 订单数据: 每次请求
      - 非订单数据(用户资料, 城市产品信息): 仅请求一次

* #### state

    - 仅影响当前组件(UI)的数据, 不需要传递和共享的数据

---


### GIT Commit >>

    feat：新功能（feature）

    fix：修补bug

    docs：文档（documentation）

    style： 格式（不影响代码运行的变动）

    refactor：重构（即不是新增功能，也不是修改bug的代码变动）

    test：增加测试

    chore：构建过程或辅助工具的变动

Feedback & evaluation <feedback Completed>
Your satisfaction is our primary goal. To help us	achieve this goal, please complete this survey and
return it to us. We hope you thoroughly enjoyed your	time as we strive to do our best.	We hope that it showed.
Many thanks.
We look forward to seeing you again soon.

At Trippest we always want to make sure we provide you with excellent quality in everything we do. This means excellent value for money, excellent tour experiences and excellent customer service every step of the way.

We also want to create a fair and engaging work environment for all our Tour Managers, suppliers and collaborators.

If you’ve recently travelled with us on tour please fill in the below Trippest Feedback and Tour Evaluation form.

Your feedback and opinion matters to us and will help us to make sure we continue to provide you with the best value for money group tours that speak of the highest quality.
