1. 小程序登錄機制
若需要通過小程序獲取用戶的個人信息必須執行小程序的登錄,通常做法是除了小程序登錄憑證外,開發者為了安全會帶上自己的token來進行開發,以保證數據交互安全。
下圖是小程序官方提供的登錄流程時序圖:
小程序登錄時序圖
從上圖可以看出小程序的登錄是一個需要小程序前端開發和后端開發協同的一個過程。
簡單的說核心步驟有兩點:
1. 小程序調用wx.login()或者wepy.login()獲取登錄憑證code,并回傳給開發者后臺
2. 開發者后臺調用auth.code2Session接口,換取用戶信息。
注意事項:
1. 當一次交互失敗后,小程序端必須重新全部執行,不能拿上次的wx.login()返回的code繼續使用,這個code是一次性的。
2. 眼查查小程序登錄流程
目前我們有兩個小程序,眼查查小程序和員工版,其中員工版由于不跟微信進行交互,無需記錄openId之類的數據,所以在實際開發過程中,我們直接省略了小程序登錄這個步驟,使用的是用戶名和密碼換取token。而眼查查小程序則由于需要接入微信的其他能力,并需要進行數據打通所以必須要進行小程序登錄。
通常小程序登錄都是在放在app實例中進行,我們的眼查查小程序也不例外。
async loginToServer() {
let res = await wepy.login();
let that = this
if (res.code) {
await api.getTokenNew({
auth: true,
method: \’POST\’,
query: {
grant_type: \’weixin\’,
wxcode: res.code
},
success: function (params) {
if (params.access_token) {
StorageUtils.getInstance().saveToken(params.access_token)
if (that.globalData.userInfo) {
that.updateNickNameAndAvatar()
}
that.queryDictionary()
}
},
fail: function (params) {
console.log(params)
}
})
}
}
3. 參考資料
1. https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。