日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

微信小程序获取用户的 OpenId (附前端代码)

發(fā)布時間:2023/12/20 HTML 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 微信小程序获取用户的 OpenId (附前端代码) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
OpenId是什么?
openid 是表示用戶在你的當(dāng)前應(yīng)用中的唯一標(biāo)識,比如小程序,微信公眾號等,這些都算是一個應(yīng)用,如果你有多個應(yīng)用,同一個用戶的openId可能并不相同 **下圖是獲取OpenId的過程微信的官方文檔和時序圖**

**小程序登錄的時序圖**


思路:

  • 首先調(diào)用wx.login({})獲取登錄憑證(code)
  • 調(diào)用接口前,需要把微信小程序的appid 和 secret 告知后端
  • 用拿到的code 換取 openid
  • 實例:

    App({ onLaunch: function() {var self = this;// 展示本地存儲能力var logs = wx.getStorageSync('logs') || []logs.unshift(Date.now())wx.setStorageSync('logs', logs)/** 重點來了****************|||| *********/// 登錄wx.login({success: res => {// 發(fā)送 res.code 到后臺換取 openId, sessionKey, unionIdvar Params = {code: res.code, //臨時登錄憑證key: self.globalData.MD5Key};//生成加密keyParams.key = self.MD5(Params.code + "&" + self.getNowTime() + "&" + Params.key);wx.request({url: 'https://testurl/api/test/GetOpenId', //此處填寫第三方的接口地址data: '=' + JSON.stringify(Params),header: {'content-type': 'application/json'},method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECTsuccess: function(res) {var openid = res.data.RntData.openid //返回openidself.globalData.openid = openid;console.log(openid);}})}})/** 重點結(jié)束|||| ********************************/// 獲取用戶信息wx.getSetting({success: res => {if (res.authSetting['scope.userInfo']) {// 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會彈框wx.getUserInfo({success: res => {// 可以將 res 發(fā)送給后臺解碼出 unionIdthis.globalData.userInfo = res.userInfo// 由于 getUserInfo 是網(wǎng)絡(luò)請求,可能會在 Page.onLoad 之后才返回// 所以此處加入 callback 以防止這種情況if (this.userInfoReadyCallback) {this.userInfoReadyCallback(res)}}})}}})} }) 是不是很好奇,為什么會多了一步,用第三方服務(wù)器去訪問微信接口的過程呢?

    如果appid和secret存在本地或者前端直接去獲取,很容易被抓包從而導(dǎo)致用戶信息泄露,因此,用第三方服務(wù)器去請求微信接口,能確保openID的安全性

    總結(jié)

    以上是生活随笔為你收集整理的微信小程序获取用户的 OpenId (附前端代码)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。