利用小程序调用云函数,云函数中使用getWXContent()可以快速获取小程序用户的openid
- 云函数中 - login()
// 云函数入口文件const cloud = require('wx-server-sdk')cloud.init()// 云函数入口函数exports.main = (event, context) = { const wxContext = cloud.getWXContext() return { openid: wxContext.OPENID, appid: wxContext.APPID, }}- util.js
wx.cloud.init()/** * @method login * @return {} promise对象,包含openid,appid * @desc 用户登陆*/const login = async () = { return await wx.cloud.callFunction({ name: 'login' })}通过module.exports = { login }将login函数暴露出去后就可以用其他js调用了。
- index.js
需要注意的是,wx.cloud.callFunction()返回的是一个promise对象,若想获取到openid,还要对返回值的成功回调进行处理。(promise知识参见es6 promise)
var util = require('../../util/util.js')var app = getApp()util.login().then((value) = { app.globalData.openid = value.result.openid this.setData({ logged: true, }) console.log(app.globalData.openid) }- 成功获取















