小程序云函數(shù)獲取openid

微信小程序可以靜默獲取用戶的openid, 使用接口為 getWXContext, 點(diǎn)開API可以看到相應(yīng)代碼

const cloud = require('wx-server-sdk')

exports.main = async (event, context) => {
  const {
    OPENID,
    APPID,
    UNIONID,
    ENV,
  } = cloud.getWXContext()

  return {
    OPENID,
    APPID,
    UNIONID,
    ENV,
  }
}

可以將上邊云函數(shù)命名為 login, 然后同步到云服務(wù)器上, 上傳完成后在云開發(fā)界面如下:

image.png

本地調(diào)試 : 這個需要在本地 login 目錄運(yùn)行下 npm install
云端調(diào)試: 配置好參數(shù)直接運(yùn)行即可,需要注意的是,如果有梯子最好將梯子關(guān)掉,不然可能會浪費(fèi)些查問題的時間。

云函數(shù)的使用
以上面 login 函數(shù)為示例:
app.js

 //如果擔(dān)心openid的安全,就用這個函數(shù)
  getCloudOpenid: async function () {
    return this.openid = this.openid || (await wx.cloud.callFunction({name: 'login'})).result.OPENID
  },
  //最佳方案。
  getOpenid: async function () {
    (this.openid = this.openid || wx.getStorageSync('openid')) || wx.setStorageSync('openid', await this.getCloudOpenid())
    return this.openid
  },

任何page:

onLoad: async function () {
  console.log(this.openid = await getApp().getOpenid())
},

  //在本page的其他函數(shù)里獲得openid。
yourFunc: function(){
  console.log(this.openid)
}

以上應(yīng)用代碼摘于云函數(shù)獲取openid 。 需要注意的是云函數(shù)返回的 字段名 與 APP用的字段名 大小寫 需保持一致。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容