1.首先先看文檔 https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html 如果你文檔看的很明白 那麼換openId 一看就懂 就不需要繼續閱讀本文章了,如果看了文檔還是不懂,請繼續閱讀!
2.前端調用微信api-------wx.login() ,成功函數返回的res.code 是需要你通過接口往後臺發送的。下圖是文檔中給出code是詳細說明。換取openid得第一步就是拿code。
3.如果你獲取完code了,需要讓後端寫個接口換取openId,因爲前端是不能直接請求獲取到openId的 開發者需要在開發者服務器後臺調用 code2Session。把你寫的code傳給後端,後端根據你傳遞過來的 code ,以及從小程序後臺獲取的appId、appsecret,拼接到西面的地址上,然後這個地址會返回openId,session_key,後端獲取完之後再把openid返回給前端,你拿來用就行了。下圖是後端請求參數:
https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
下面代碼是官網給的 獲取code 傳遞到後端 的例子。
這個是我本人的,前端技術QQ交流羣,有不會的問題,可以在在羣裏面問:
wx.login({
success (res) {
if (res.code) {
//發起網絡請求
wx.request({
url: 'https://test.com/onLogin',
data: {
code: res.code
}
})
} else {
console.log('登錄失敗!' + res.errMsg)
}
}
})