微信小程序云开发使用云函数调用服务端链接生成获取用户token

需求目标:

微信小程序云开发使用云函数写后端接口获取微信用户token。

安装相关文件:参考这位老哥的博客https://blog.csdn.net/u013184970/article/details/105709259/

在这里插入图片描述

1.首先在相关云函数安装request请求

npm install --save request

2.安装request-promise环境

npm install --save request-promise

实现:

1.云函数代码:

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

cloud.init()

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

    const wxContext = cloud.getWXContext()
    const appid = wxContext.APPID  //获取appid
    const secret = 'a52cd53dc6d*********' //小程序的密钥,微信公众平台生成

    const AccessToken_options = {
        method: 'GET',
        url: 'https://api.weixin.qq.com/cgi-bin/token',//微信小程序服务端提供的链接
        qs:{
          appid:wxContext.APPID,
          secret:secret,
          grant_type:'client_credential'
        },
        json: true
      }
 
  //获取AccessToken
  const resultValue = await request(AccessToken_options);
  const token = resultValue.access_token;
  return {
    resultValue,
    token
  }
}

代码图:
在这里插入图片描述

2. 页面js文件

bindGetUserInfo:async ()=>{
    //获取用户信息
  let res = ''
  try{
    res = await wx.getUserProfile({lang: "zh_CN", desc: '用于登录'})
  } catch (e) {
    wx.showToast({title: '获取用户信息失败', icon: "none", duration: 1500})
    return
  }
  wx.showLoading({
    title: '正在登录'
  })
  let data = '' //返回是否成功的标志

  //获取登录信息
  const r = await wx.login({})
  if (!r) { //如果为空表明获取失败
    wx.showToast({title: '登录失败,请重新登录', icon: "none", duration: 1500})
    wx.hideLoading()
    return
  }
  const code = r.code;
  if(res.rawData && res.signature){
    let params = {
      raw_data: res.rawData,
      signature: res.signature,
      code: code
    }
    //调用云函数
    wx.cloud.callFunction({
      name:'getUserInfoToken' //云函数名称
    }).then(res=>{
      console.log("res5555")
      console.log(res)
    }).catch(res=>{
      console.log("res55888")
      console.log(res)
    })
    wx.hideLoading()
  },

效果图:

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

有小伙伴有新想法或者建议,欢迎留言,共同进步!感谢楼上那个老哥提供的安装request方法!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值