微信登录
openid 不是昵称,而是小程序识别用户的钥匙。
用户点开小程序时,系统必须知道“这是谁”。openid 就是微信给这个用户在当前小程序里的唯一身份标识。
为什么不能只用手机号或昵称
昵称可以改,头像可以换,手机号也可能暂时没有授权。openid 的价值在于稳定:同一个用户,在同一个小程序里,会对应同一个 openid。系统用它把预约记录、订单、会员权益和消息提醒关联起来。
01小程序调用 wx.login
02拿到临时 code
03后端用 code 换 openid
04保存到用户表
05返回自己的登录态
关键点:code 只能临时使用,openid 不应该直接交给前端长期保存。真实系统通常由后端保存用户身份,并给前端返回自己的 session 或 token。
openid 和系统用户怎么绑定
| 对象 | 作用 | 放在哪里 |
|---|---|---|
| openid | 识别微信用户在当前小程序里的身份 | 用户表 |
| 手机号 | 方便联系、核对订单、做会员资料 | 用户表或会员资料表 |
| 用户 id | 系统内部使用的主键,预约、订单通常关联它 | 业务数据库 |
| 登录态 | 证明当前请求来自已登录用户 | Cookie、Session 或 Token |
可以把 openid 理解为微信发来的“身份证号”,用户 id 是你自己系统发的“会员编号”。业务表最好关联自己的用户 id,而不是把 openid 散落在每张表里。