使用小程序云开发获取用户openId

云开发操作

使用小程序云开发,可从此处进入:

打开微信开发者工具,看下图位置:

然后会出现云开发界面,可以看到这样的界面(截了一半):

点击云函数,可以看到小程序内新增的云函数:

 

 

获取openId

先看看wxml部分代码:

  <image src="{{userInfo.avatarUrl}}"></image>
  <view wx:if="{{userInfo.openid}}">
    {{userInfo.nickName}}
  </view>
  <button wx:else open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">登录</button>

是一个简单的点击登录部分。

需要在外层app.js文件内进行初始化配置:

App({
	onLaunch: function () {
		// 运行云函数需要配置一下
		wx.cloud.init();
	}
})

下面是开发云函数部分:

选中的位置是云函数的后端添加的位置:

backend是我后期新增的作为云函数存放位置的文件夹,在backend下新建了login文件夹,用于存放云函数。

具体在新增项目的时候,选择云开发会出现这个文件夹。

下面是代码(上图的):

// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()

  return {
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  }
}

 

在需要获取到openId的页面内的js文件内(当然与上面的wxml文件是一个页面):

onGetUserInfo(e){
    console.log('onGetUserInfo',e);
    // ...
    wx.cloud.callFunction({   //调用云函数
      name: 'login',
      data:{},
      success: res => {
		console.log('res',res);
        console.log('login res.result.openid',res.result.openid);
        //获取到openId后进行其他操作
        // 持久化存储openId
        wx.setStorageSync('_openid',res.result.openid);
      },
      fail: err => {
        console.error('err',err);
		wx.navigateTo({
			url: '../deployFunctions/deployFunctions'
		})
      }
    })
	// ...
  }

上述代码内有对openId数据的持久化:

// 持久化存储openId
wx.setStorageSync('_openid',res.result.openid);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值