openid作为小程序用户的唯一标示,就相当于用户在微信里的身份证一样,我们做小程序开发时,获取用户的openid是很重要的。我们之前获取用户的openid,如下图官方文档说明,是通过该wx.login先获取临时凭证,然后再用临时凭证去换取用户的openid,这样做无可厚非,但是小程序出了云开发之后,再用这种方法获取用户openid就显得有些麻烦了,因为通过云开发获取用户openid特别方便,并且可靠。
image.png
下面就来带领大家借助云开发愉快的获取用户openid。
使用云开发之前需要简单了解下云开发,下面链接是官方学习文档。https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
一,开启云开发
开启云开发
开启云开发只需要在开发者工具里点击上面红色框里的云开发按钮即可,创建成功后如下图
image.png
二,创建云函数
1,创建云函数所需文件夹
创建云函数所需文件夹
2,右键点击functions,点击同步云函数列表
image.png
3,右键点击functions,点击新建node.js云函数
创建云函数
4,创建名为getOpenid的云函数
云函数创建成功
5,编写获取openid的代码
云函数代码
// 云函数入口文件const cloud = require('wx-server-sdk')
cloud.init()//获取用户的openidexports.main = async(event, context) => { return event.userInfo; //返回用户信息}
6,右键点击getOpenid,上传并部署云函数。
image.png
三,使用getOpenid云函数获取用户openid
1,在app.js里初始化云开发
//app.jsApp({ onLaunch: function() { //云开发初始化
wx.cloud.init({ env: 'prod-8aa9a5', traceUser: true
})
}
})
2,在首页使用云函数获取openid
//home.jsPage({ data: { openid: '',
}, onLoad: function () { this.getOpenid();
}, // 获取用户openid
getOpenid() { let that = this;
wx.cloud.callFunction({ name: 'getOpenid', complete: res => { console.log('云函数获取到的openid: ', res.result.openId) var openid = res.result.openId;
that.setData({ openid: openid
})
}
})
}
})
获取结果如下
获取到openid
到此我们就轻松的借助云开发云函数获取到了用户的openid了
666
石头哥我爱你啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊!
石头哥 么么哒
谢谢老哥!!!