微信小程序注册/登录接口开发
文章目錄
- 后端有關說明
- 前端有關說明
- 接口設計
- 小程序注冊/登錄接口
- APP 注冊/登錄接口
- PC Web 端的注冊/登錄接口
- 小程序注冊/登錄序列圖
- 校驗 token
后端有關說明
登錄和注冊的邏輯要獨立抽取寫成2個接口:注冊接口、登錄接口
小程序、APP、PC端的登錄接口和注冊接口要分開,因為不同端的注冊和登錄,業務流程會有差別,為了避免麻煩,建議分開寫
APP 和 小程序 的登錄 token 不需要時效性,PC端的登錄 token 需要時效性
所以存儲token表字段如下:
| token串 | varchar | |
| 時效類型 | tinyint | 0 表示無時效性,1 表示有時效性 |
| 用戶ID | integer unsigned | |
| 創建時間 | datetime | 對有時效性的 token 而言,可以理解為 token 的有效期開始時間 |
后期PC端如何判斷token的時效,每次請求時拿著 token 去數據庫取創建時間(可以理解為 token 的有效起始時間),然后將當前系統時間減去 token 的創建時間
前端有關說明
需要用戶信息的接口,需要傳token,但是前端調此類接口,token也可以不傳或者傳空值
首次打開小程序,會按順序做以下幾件事:
(1)獲取用戶的定位信息
(2)發起登錄請求
(3)請求首頁數據
用戶進入其他內頁后再返回首頁,獲取頁面緩存的數據
登錄成功后返回首頁才會請求新的首頁數據
接口設計
小程序注冊/登錄接口
小程序登錄接口傳參:手機號、OpenID、UnionID、code(微信登錄憑證),返回:token、OpenID、UnionID、用戶信息(昵稱、頭像、簽名、區域、性別)
后端獲取code,然后通過code獲取OpenID,然后再查下該OpenID是否存在,存在則生成token,然后把token和user_id保存在數據庫中,接著把token、OpenID、用戶信息(昵稱、頭像、簽名、區域、性別)返回;如果不存在說明未注冊,也要將此OpenID返回給前端,用戶注冊時需要用到。
小程序注冊接口傳參:昵稱、頭像、區域、性別、手機號、encryptedData、iv、code、OpenID、UnionID,返回注冊成功與否message。
如果獲取不到UnionID、手機號碼,后端用 encryptedData、iv以及 session_key 解密出 UnionID 和手機號碼,再一起保存在用戶表中。
APP 注冊/登錄接口
暫無
PC Web 端的注冊/登錄接口
暫無
小程序注冊/登錄序列圖
校驗 token
接口獲取到 token,則調“校驗 token”方法(例如:攔截器),此方法拿著 token 去數據庫查詢,如果查詢不到,則告訴前端 token 無效,需要重新登錄;如果查詢到 token,則獲取到 user_id,然后憑 user_id 獲取請求數據返回給前端。
接口無法獲取到 token,則告訴前端需要登錄。
總結
以上是生活随笔為你收集整理的微信小程序注册/登录接口开发的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Iphone 手机如何导入/导出通讯录
- 下一篇: 在 MyEclipse 中配置 tomc