diff --git a/doc/3.md b/doc/3.md index d27a4775..d35f385b 100644 --- a/doc/3.md +++ b/doc/3.md @@ -13,7 +13,6 @@ 目前发现需要完善的: * 支付功能 -* 运费计算 * 优惠券功能 * 商品搜索 * 进一步区分商品和货品的关系 @@ -25,6 +24,14 @@ ### 3.1.1 业务 +#### 3.1.1.1 运费计算 + +订单费用小于88时,则需要运费8元; +否则运费0元。 + +目前运费8元是写在后台代码中,未来可能允许设置管理员设置其他值; +或者采用更加符合实际情况的运费计算方式。 + ### 3.1.2 安全 #### 3.1.2.1 Token @@ -112,6 +119,15 @@ var WxApiRoot = 'http://localhost:8082/wx/'; 1. 可以从storage获取`userInfo`和`token` 2. 同时`wx.checkSession`也成功。 +但是如果每次都使用`checkLogin`可能也不太好,因此目前机制是: +1. 应用启动时就检测一次,如果登录则设置app.globalData.hasLogin为已登录状态; +之后,其他页面只要查看这个状态即可知道目前是否已登录; +2. 此外,如果后台token过期返回401代码时,则及时清除过期的登录状态信息; +而用户登录失败时则app.globalData.hasLogin为未登录状态。 + +注意: +> 这里的逻辑可能有点乱。。。,但是目前实际效果看没有问题。 + #### 3.2.2.2 登录时机 登录请求用户信息的时机存在两种设计: @@ -167,8 +183,10 @@ var WxApiRoot = 'http://localhost:8082/wx/'; 还存在一个问题,当用户登录时,会出现"微信授权"的对话框。 如果用户选择”拒绝“,那么之后用户的登录操作总是失败的。 -目前的做法是,用户拒绝授权后,如果用户登录失败,则返回信息框, -提醒用户“请退出,左滑删除小程序,然后重新进入进行授权”。 +目前的做法是,用户拒绝授权后,如果再次登录,则: +1. 弹出对话框,请求用户授权 +2. 如果用户仍然拒绝,则返回 +3. 如果用户接受授权,则弹出系统权限配置页面,等待用户给与授权。 ### 3.2.3 立即购买和放入购物车 @@ -180,4 +198,6 @@ var WxApiRoot = 'http://localhost:8082/wx/'; #### 3.2.4.1 userInfo和token -#### 3.2.4.2 \ No newline at end of file +#### 3.2.4.2 cartId + +#### 3.2.4.3 addressId \ No newline at end of file