关于小程序:微信-小程序-用户手机绑定表设计

7次阅读

共计 1012 个字符,预计需要花费 3 分钟才能阅读完成。

这边文章是以本人的我的项目逻辑来整顿的文章,可能不合乎别人我的项目;

1、需要是通过用户受权获取微信绑定的手机号,来确定用户的身份权限;
2、同时小程序端又有本人的 wx.login 逻辑;尽管当初小程序改版后能够不通过 wx.login 来获取手机号,然而其余操作必须要 session_key,所以还是利用小程序的 wx.login 吧;

依据需要如果不论用户是否受权手机号,都须要统计用户信息、数量等,就须要增加额定一张小程序匿名用户的 openid 的绑定表;如果仅仅是对受权手机号的用户辨认,仅须要一个手机号 +openid 的联结表就行了;

留神:微信换绑手机号,会对小程序用户受权绑定的手机号有影响,必须双重思考,每次登录都应该从新获取绑定手机号,以获取实在的绑定关系,而不是通过 openid 就单纯的确定手机号了。

以下两个需要都阐明一下:

一:须要记录每位微信小程序的用户数据,

须要两张表,手机号主表 +openid 附表

小程序用户表 mp_user

appid openid unionid session_key access_token expire_time user_id
小程序 APPID 微信用户 openid 微信用户 unionid 登录后 session_key 服务端 token 登录有效期 (可不要) 手机受权 user

用户手机号表:user_phone
以手机号用户标记,不便用户业务脱离小程序

phone country_code nickname head
手机号 区号 昵称 头像

流程阐明:
1、小程序登录 (静默登录无需界面体现),刷新小程序用户表 session_key、access_token 等信息
2、受权手机号登录,查看 openid+appid 和手机号是否和之前绑定的统一,如果不统一阐明用户换绑了手机号,则须要在小程序用户表解除旧的绑定,增加新的绑定关系;

二:仅仅有用户手机号表 user_phone
一张表设计可能存在以下问题:

  1. 以 openid 为次要信息,手机号等为附加信息;所有设置以 openid 为主键;无奈扩大到小程序内部,如果要扩大,可能也须要将手机号表独立进去。
  2. 如果用户换绑微信手机号,则从新登录受权手机号后,会刷掉之前的手机号;从而导致无奈找到之前的手机号;
  3. 通过比照,倡议还是应用形式一的设计吧,这样数据离开保护;一张表也会关联 session_key、openid 等;

依据以上解析,还是倡议应用第一种计划,不便拓展用户业务逻辑,独立以手机号为主用户标记的业务。

正文完
 0