在頁面的Onlaunch 方法中,調用wx.login 方法html
https://developers.weixin.qq.com/miniprogram/dev/api/wx.login.html前端
這一步獲取登陸憑證,經過憑證調用本地後臺接口,獲取用戶openId sessionKey等,本地後臺的接口調用方法參考第四步算法
注意點:小程序
1:一般咱們會把用戶的session_key 存取到後臺的session會話中,可是在微信小程序不會自動保存用戶的session id, 這就須要將返回的session id 存在local storage中,當再次向後臺請求時,在header 中帶上 cookie , 看第二步圖windows
2:that.globalData.info = res.data.data.string, 將一個object 裏的string 賦值給globalData.info, 這個時候info的值仍然是indefined, 而 res.data.data是一個對象,會賦值成功,這是爲何呢?參考https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/06datatype.html後端
注意點微信小程序
1:當用戶未受權登陸時,此時不會彈框,須要跳出受權只能用<button open-type="getUserInfo"/>
api
2:向後臺發送解碼請求時,在header傳 cookie, 標識是同一個會話,如圖服務器
注意點微信
1:若是獲取成功, errcode不會返回
2: 使用Asp.net core Session
安裝包:Microsoft.AspNetCore.Session
在startup.cs 中進行配置,添加服務和注入session,網上有參考,不贅述
3: 使用vs 進行build時,以管理員模式運行
4: 微信要求服務器使用TLS1.2協議,如何在windows中升級TLS1.2
更改註冊表,網上有資源不贅述
.net 加密解碼回顧:
常見的加密算法包括md5,sha1,aes,base64, 而 AES是可逆的對稱加密算法
Base64是一種編碼方式,就是把一串二進制轉換成另一種二進制串
用於圖片存儲等,即把圖片轉換成一種二進制碼,從而計算機能打印
AES:
.net core session
TLS1.2
JsonConvert 反序列化時, 若是遇到特殊字符時,會報錯的解決方法
參考資源
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html