微信小程序用來展示一些用戶數據,和少量的交互與通信非常合適。通常,我們需要一個后台管理系統來管理用戶數據,在使用小程序的時候需要登錄獲取用戶信息之后才能查看個人業務。
小程序登錄一般不止一種,常見的有:
- 微信登錄;
- 手機號密碼登錄,同后台管理平台一套賬號
- 手機號驗證碼登錄。
2 和 3 比較類似,這里通過 1 和 2 展開討論。
微信登錄后,我們可以獲取微信登錄用戶的昵稱、頭像、地區和性別信息,這時候需要綁定手機號,注冊為新用戶。
下面用流程圖演示該登錄流程:
一、手機號密碼登錄
有微信登錄,為什么還要多此一舉添加手機號密碼登錄這種方式呢?
考慮到有的人手機號有幾個,綁定微信的不一定是想用的那個,例如系統數據庫中是 A 手機號,平時使用微信登錄的是 B 手機號,他想要用 A 登錄,直接輸賬號密碼登錄,不需要走微信登錄。
手機號密碼登錄和在后台管理系統中登錄無任何差別,登錄成功后,返回用戶信息和 token ,將 token 保存在本地,下次調接口時帶上,保留用戶登錄狀態。登錄成功后,直接跳轉到首頁,操作其他業務,該流程結束。
二、微信登錄
每次登錄成功之后,都需要將 token 和其它用戶信息保存在本地或小程序全局變量中(localStorage 或 appGlobal)。
微信登錄成功后,是可以獲取到用戶手機號,但這時候需要幾個條件
- 小程序主體是企業
- 需要微信認證
- 每年要付費 300
主要流程說明:
1. 如果是老用戶(那么他不是第一次登錄)
1.1. 需要判斷是否已經綁定了手機號,如果綁定過手機號了就直接跳轉首頁,操作其他業務,該流程結束。
1.2. 如果沒有綁定過手機號,則需要先驗證該手機號是否已經存在於數據庫中,如果沒有存在於數據庫中,不能綁定成功(因為不能任何一個人的手機號都可以綁定),這時候需要先在后台管理系統中添加該手機號的用戶。如果存在於系統中,則可以綁定,綁定成功后就直接跳轉首頁,操作其他業務,該流程結束。
2. 如果是新用戶,那么他是第一次登錄
通過本地或小程序全局變量沒有存儲 token 或其它用戶信息來判斷是否是第一次登錄,則走綁定手機號這一流程,並且先驗證該手機號是否存在於數據庫中,余下步驟同 1.2 。