unionid
同一個(gè)微信開(kāi)放平臺(tái)下的相同主體的App、公眾號(hào)、小程序,如果用戶已經(jīng)關(guān)注公眾號(hào),或者曾經(jīng)登錄過(guò)App或公眾號(hào),則用戶打開(kāi)小程序時(shí),開(kāi)發(fā)者可以直接通過(guò)wx.login獲取到該用戶UnionID,無(wú)須用戶再次授權(quán)。
openid
同一個(gè)應(yīng)用(App、公眾號(hào)、小程序)的同一個(gè)用戶有唯一的openid
小程序下的運(yùn)用
- 使用
wx.login得到code,之后讓后臺(tái)請(qǐng)求微信服務(wù)器,獲得的信息包括- openid: 用戶唯一標(biāo)識(shí)
- session_key: 用來(lái)解密微信提供的加密數(shù)據(jù)
- unionid: 可能有,也可能沒(méi)有
- 用上一步獲得的數(shù)據(jù)進(jìn)行登錄。由于我的公眾號(hào)與實(shí)際應(yīng)用使用了不同的用戶庫(kù),所以即使帶了unionid,也不一定已經(jīng)在應(yīng)用用戶庫(kù)注冊(cè)過(guò)
- 若用戶不存在,則進(jìn)入注冊(cè)流程
- 首先通過(guò)wx.getUserInfo獲取加密的用戶信息,然后通過(guò)wx.getPhoneNumber來(lái)獲取加密后的手機(jī)號(hào)碼,之后統(tǒng)一發(fā)到后臺(tái)解密并完成注冊(cè)。