登录授权与网络存储 ✅
覆盖登录鉴权、用户授权、网络访问与本地存储的热门问题。
登录鉴权完整链路怎么设计?
答案
核心概念:
利用 wx.login
获取临时 code,服务端与平台换 session/openid,颁发业务 Token;敏感信息服务端解密,前端仅持业务令牌。
示例说明:
wx.login({ success: ({ code }) => api.exchange(code) })
面试官视角:
- 要点清单: 前后端协作;Token 刷新与过期
- 加分项: 多端同登与风控;灰度与黑名单
- 常见失误: 在前端保存敏感密钥
延伸阅读:
- 平台登录鉴权文档
用户授权能力与合规注意点?
答案
核心概念:
最小化申请权限;清晰说明用途;用户可撤销;遵循平台规范与本地法律。
示例说明:
<button open-type="getUserInfo" />
面试官视角:
- 要点清单: 明示/最小化/可撤销
- 加分项: 审计与留痕;隐私计算对策
- 常见失误: 首屏强要权限
延伸阅读:
- 平台用户隐私指引
请求层如何封装与容错?
答案
核心概念:
统一请求器,超时/重试/并发控制,统一错误码与兜底页面;弱网/断网识别与提示。
示例说明:
function request(opt){ /* 包装 wx.request:超时/重试/并发队列 */ }
面试官视角:
- 要点清单: 一致性与可观测
- 加分项: 熔断与降级;离线队列
- 常见失误: 任意处直接 wx.request
延伸阅读:
- 网络接口文档
存储与缓存策略如何选择?
答案
核心概念:
临时/长期/加密存储分层;Key 设计与容量管控;LRU 过期策略。
示例说明:
wx.setStorage({ key: 'token', data: token })
面试官视角:
- 要点清单: 安全/容量/生命周期
- 加分项: 加密存储;数据一致性
- 常见失误: 大对象直接入本地
延伸阅读:
- 存储接口