发表日期:2018-10 文章编辑:小灯 浏览次数:865
openid作为小程序用户的唯一标示,就相当于用户在微信里的身份证一样,我们做小程序开发时,获取用户的openid是很重要的。我们之前获取用户的openid,如下图官方文档说明,是通过该wx.login先获取临时凭证,然后再用临时凭证去换取用户的openid,这样做无可厚非,但是小程序出了云开发之后,再用这种方法获取用户openid就显得有些麻烦了,因为通过云开发获取用户openid特别方便,并且可靠。
image.png下面就来带领大家借助云开发愉快的获取用户openid。
使用云开发之前需要简单了解下云开发,下面链接是官方学习文档。https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
开启云开发 开启云开发只需要在开发者工具里点击上面红色框里的云开发按钮即可,创建成功后如下图
image.png1,创建云函数所需文件夹
创建云函数所需文件夹2,右键点击functions,点击同步云函数列表
image.png3,右键点击functions,点击新建node.js云函数
创建云函数4,创建名为getOpenid的云函数
云函数创建成功5,编写获取openid的代码
云函数代码// 云函数入口文件 const cloud = require('wx-server-sdk') cloud.init() //获取用户的openid exports.main = async(event, context) => {return event.userInfo; //返回用户信息 } 6,右键点击getOpenid,上传并部署云函数。
image.png//app.js App({onLaunch: function() { //云开发初始化 wx.cloud.init({env: 'prod-8aa9a5',traceUser: true })} }) //home.js Page({ data: { openid: '', }, onLoad: function () {this.getOpenid(); },// 获取用户openidgetOpenid() { 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了