PRODUCT NEWS
产品动态
返回上一级
微信小程序如何获取openid 官方解决办法
2022.08.06

微信小程序如何获取openid微信小程序的开发过程中,有时前端需要获取到openId来使用。那究竟如何获取呢,方式很简单,获取用户OpenID,用wx.login 就可以。


如下:


wx.login({

  success: function (res) {

    console.log(res)

     if (res.code) {

      console.log('通过login接口的code换取openid');

       wx.request({

        url: 'https://api.weixin.qq.com/sns/jscode2session',

        data: {

         //填上自己的小程序唯一标识

         appid: '',

         //填上自己的小程序的 app secret

         secret: '',

         grant_type: 'authorization_code',

         js_code: res.code

        },

        method: 'GET',

        header: { 'content-type': 'application/json'},

        success: function(openIdRes){

          console.info("登录成功返回的openId:" + openIdRes.data.openid);

        },

        fail: function(error) {

          console.info("获取用户openId失败");

          console.info(error);

        }

      })

     }

    }

  })

第一种:使用云开发

这种比较简单,只需要开通云开发,创建云函数,调用云函数就可获得。

调用云函数 Promise Cloud.callFunction(Object object) 返回一个Promise对象,所以不用考虑异步问题。

callFunction说明 https://developers.weixin.qq.com/miniprogram/dev/wxcloud/reference-sdk-api/functions/Cloud.callFunction.html

具体代码如下:

我这里云函数名为helloCloud

// helloCloud-index.js 云函数入口函数
exports.main = async (event, context) => {
 let{ APPID,OPENID}=cloud.getWXContext()
  return {
    APPID,
    OPENID
  }

//------------------------------------------------------
//云函数调用
wx.cloud.callFunction({
  name:'helloCloud',
  data:{
    message:'helloCloud',
  }
}).then(res=>{
  console.log(res)//res就将appid和openid返回了
    //做一些后续操作,不用考虑代码的异步执行问题。
})


产品动态
正式版新增优化功能说明
07-08 正式版新增优化功能说明
优化创建项目时可以修改解决
07-10 优化创建项目时可以修改解决
新增后台添加分销商功能
07-17 新增后台添加分销商功能

Xcan万能全端小程序微信|支付宝|百度|字节跳动|qq|H5|PC全端多合一小程序系统  版权所有     苏ICP备00865440号-1

用户协议 | 隐私声明
咨询热线
18094418818
QQ客服
372659348
微信演示