微信小程序开通云开发并利用云函数获取Openid

参考文章:借助小程序云开发获取小程序用户openid

需求:

  1. 没有服务器开发,如何实现微信小程序端的登录功能?
  2. 旧项目转云开发并使用云函数?

以上是我目前项目的背景。

小程序端的登录流程,官网介绍的很清楚了

  1. 登录流程
  2. wx.login 接口

主要就是通过 wx.login 去获取code,然后拿code去服务器端获取openid

ps: 用户公开的微信信息,可以通过Buttonopen-type = getUserInfo去获取,Button 组件

看完以上几个文档,至此登录流程已经很清晰了,下面就是具体操作了。

新项目直接使用云开发模板即可。
老项目开通云开发也很简单,点击开发者工具中菜单上的【云开发】一步步操作即可。
在这里插入图片描述

由于我们没有服务器,要获取小程序中用户的唯一标识openid,需要新建一个云函数,将Openid等参数返回。
在这里插入图片描述

没有使用云开发模板的项目, 可参考 我的第一个云函数 中的使用方法来实现云函数获取openid
在这里插入图片描述

看不明白官方文档的
结合我的做法再看一遍文档吧:

  1. project.config.json添加"cloudfunctionRoot": "./functions/"
    在这里插入图片描述

  2. 新建云函数
    在这里插入图片描述

  3. 部署云函数,之后点击【云开发】之后可查看到刚刚新建的函数
    在这里插入图片描述
    在这里插入图片描述

  4. 然后编写获取openid的云函数
    在这里插入图片描述

// 云函数入口文件
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,
  }
}
  1. 最后调用一下云函数,获取openid
    在这里插入图片描述
 // 获取用户openid
  getOpenid() {
    let that = this;
    wx.cloud.callFunction({
      name: 'getOpenid',
      complete: res => {
        console.log('openid: ', res.result.openid)
        console.log('appid: ', res.result.appid)
        // var openid = res.result.openId;
        // that.setData({
        //   openid: openid
        // })
      }
    })
  },
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_龙衣

赏杯快乐水喝喝

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值