成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

微信小程序獲取用戶的 OpenId (附前端代碼)

n7then / 3586人閱讀

摘要:是什么是表示用戶在你的當(dāng)前應(yīng)用中的唯一標(biāo)識(shí)比如小程序,微信公眾號(hào)等,這些都算是一個(gè)應(yīng)用,如果你有多個(gè)應(yīng)用,同一個(gè)用戶的可能并不相同下圖是獲取的過(guò)程微信的官方文檔和時(shí)序圖小程序登錄的時(shí)序圖思路首先調(diào)用獲取登錄憑證調(diào)用接口前,需要把微信小程序的

OpenId是什么?
openid 是表示用戶在你的當(dāng)前應(yīng)用中的唯一標(biāo)識(shí),比如小程序,微信公眾號(hào)等,這些都算是一個(gè)應(yīng)用,如果你有多個(gè)應(yīng)用,同一個(gè)用戶的openId可能并不相同
**下圖是獲取OpenId的過(guò)程微信的官方文檔和時(shí)序圖**

**小程序登錄的時(shí)序圖**

思路:

首先調(diào)用wx.login({})獲取登錄憑證(code)

調(diào)用接口前,需要把微信小程序的appid 和 secret 告知后端

用拿到的code 換取 openid

實(shí)例:
App({
onLaunch: function() {
    var self = this;
    // 展示本地存儲(chǔ)能力
    var logs = wx.getStorageSync("logs") || []
    logs.unshift(Date.now())
    wx.setStorageSync("logs", logs)

/** 重點(diǎn)來(lái)了****************
    |
    |
    |
    |
*********/
    // 登錄
    wx.login({
      success: res => {
        // 發(fā)送 res.code 到后臺(tái)換取 openId, sessionKey, unionId
        var Params = {
          code: res.code, //臨時(shí)登錄憑證
          key: self.globalData.MD5Key
        };
        //生成加密key
        Params.key = self.MD5(Params.code + "&" + self.getNowTime() + "&" + Params.key);
        wx.request({
          url: "https://testurl/api/test/GetOpenId", //此處填寫(xiě)第三方的接口地址
          data: "=" + JSON.stringify(Params),
          header: {
            "content-type": "application/json"
          },
          method: "POST", // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
          success: function(res) {
            var openid = res.data.RntData.openid //返回openid
            self.globalData.openid = openid;
            console.log(openid);
          }
        })
      }
    })
    /** 重點(diǎn)結(jié)束
    |
    |
    |
    |
********************************/
    // 獲取用戶信息
    wx.getSetting({
      success: res => {
        if (res.authSetting["scope.userInfo"]) {
          // 已經(jīng)授權(quán),可以直接調(diào)用 getUserInfo 獲取頭像昵稱,不會(huì)彈框
          wx.getUserInfo({
            success: res => {
              // 可以將 res 發(fā)送給后臺(tái)解碼出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是網(wǎng)絡(luò)請(qǐng)求,可能會(huì)在 Page.onLoad 之后才返回
              // 所以此處加入 callback 以防止這種情況
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  }
})
是不是很好奇,為什么會(huì)多了一步,用第三方服務(wù)器去訪問(wèn)微信接口的過(guò)程呢?

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

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/102231.html

相關(guān)文章

  • 信小程序獲取用戶頭像+昵稱+openid,小程序登錄!前端后端源碼!

    摘要:做一款小程序,如果需要判斷用戶,當(dāng)然要獲取一些基本信息,例如頭像,昵稱,。所以本次案例就直接上代碼了。 做一款小程序,如果需要判斷用戶,當(dāng)然要獲取一些基本信息,例如頭像,昵稱,openid。所以本次案例就直接上代碼了。 小程序前端 index.wxml 獲取頭像昵稱 {{userInfo.nickName}} ...

    joy968 評(píng)論0 收藏0
  • 信小程序wx.login()獲取openid,前端+后端代碼

    摘要:微信小程序開(kāi)放了微信登錄的,無(wú)論是個(gè)人還是企業(yè)申請(qǐng)的小程序均可使用。開(kāi)始寫(xiě)服務(wù)端,也很容易。 微信小程序開(kāi)放了微信登錄的api,無(wú)論是個(gè)人還是企業(yè)申請(qǐng)的小程序均可使用。 首先創(chuàng)建一個(gè)項(xiàng)目,把這些代碼都清空,我們自己寫(xiě)! showImg(https://segmentfault.com/img/bVbco8j?w=1022&h=860); 然后,開(kāi)始寫(xiě)了!首先index.wxml,寫(xiě)一個(gè)...

    tigerZH 評(píng)論0 收藏0
  • 信小程序發(fā)送模板消息!前端+后端源碼~

    摘要:前端,填寫(xiě)填寫(xiě)填寫(xiě)模板模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞推送域名接口地址,我學(xué)習(xí)就用,建議用后端,參數(shù)此處開(kāi)始處理數(shù)據(jù)發(fā)送一個(gè)常規(guī)的請(qǐng)求捕抓異常至于和怎么獲取,自己另外學(xué)習(xí)咯推送 前端,index.wxml 推送 index.js // pages/mubanxiaoxi/mubanx...

    yanbingyun1990 評(píng)論0 收藏0
  • 信小程序發(fā)送模板消息!前端+后端源碼~

    摘要:前端,填寫(xiě)填寫(xiě)填寫(xiě)模板模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞模板的第個(gè)關(guān)鍵詞推送域名接口地址,我學(xué)習(xí)就用,建議用后端,參數(shù)此處開(kāi)始處理數(shù)據(jù)發(fā)送一個(gè)常規(guī)的請(qǐng)求捕抓異常至于和怎么獲取,自己另外學(xué)習(xí)咯推送 前端,index.wxml 推送 index.js // pages/mubanxiaoxi/mubanx...

    張漢慶 評(píng)論0 收藏0
  • 程序微信支付開(kāi)發(fā)流程記錄

    摘要:附微信支付流程微信支付流程和小程序的支付流程基本一致,需要注意兩點(diǎn)需要在微信商戶平臺(tái)配置支付目錄,只有跳轉(zhuǎn)到了支付目錄的地址,才能發(fā)起微信支付。 我所在公司需要開(kāi)發(fā)一款商城小程序,里面需要用到微信支付,我負(fù)責(zé)里面的下單功能,從小程序端到后臺(tái)的支付流程都是我自己開(kāi)發(fā)的,由于我們組沒(méi)有人有開(kāi)發(fā)微信支付的經(jīng)驗(yàn),很多東西都還不怎么明白,但是沒(méi)辦法,只能我自己琢磨,寫(xiě)完之后總感覺(jué)有bug,但是不...

    whjin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<