跳到主要内容

登录授权与网络存储 ✅

覆盖登录鉴权、用户授权、网络访问与本地存储的热门问题。

登录鉴权完整链路怎么设计?

答案

核心概念:

利用 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 })

面试官视角:

  • 要点清单: 安全/容量/生命周期
  • 加分项: 加密存储;数据一致性
  • 常见失误: 大对象直接入本地

延伸阅读:

  • 存储接口