Skip to content

网络、登录与存储

业务请求统一经过请求层:补充会话、处理超时与并发、规范错误、避免每个页面复制 wx.request

js
export async function request({ url, method = 'GET', data }) {
  const token = wx.getStorageSync('token')
  const result = await wx.request({
    url: `https://api.example.com${url}`,
    method,
    data,
    header: token ? { Authorization: `Bearer ${token}` } : {},
    timeout: 10_000,
  })

  if (result.statusCode !== 200 || result.data.code !== 0) {
    throw new Error(result.data.message || '请求失败')
  }
  return result.data.data
}

登录闭环

  1. 调用 wx.login() 获取一次性 code
  2. code 发送给业务服务端。
  3. 服务端调用微信服务端接口完成 code 换取,并建立自己的会话。
  4. 客户端只保存业务侧短期会话凭据;失效后串行刷新或重新登录。

头像、昵称、手机号等资料需经用户明确操作获取,且与登录会话分开处理。登录接口必须幂等,服务端才是用户身份和权限的唯一可信来源。

存储边界

缓存适合主题、草稿、低风险展示数据和会话标识;不适合保存敏感个人信息、完整权限数据或唯一业务真相。读取缓存后仍需校验版本、过期时间与登录态。

基于 MIT 许可发布