主题
网络、登录与存储
业务请求统一经过请求层:补充会话、处理超时与并发、规范错误、避免每个页面复制 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
}登录闭环
- 调用
wx.login()获取一次性code。 - 将
code发送给业务服务端。 - 服务端调用微信服务端接口完成 code 换取,并建立自己的会话。
- 客户端只保存业务侧短期会话凭据;失效后串行刷新或重新登录。
头像、昵称、手机号等资料需经用户明确操作获取,且与登录会话分开处理。登录接口必须幂等,服务端才是用户身份和权限的唯一可信来源。
存储边界
缓存适合主题、草稿、低风险展示数据和会话标识;不适合保存敏感个人信息、完整权限数据或唯一业务真相。读取缓存后仍需校验版本、过期时间与登录态。
