小程序·云开发~无限制生成带参小程序码

2021-05-13  本文已影响0人  Sunshine_Boys

背景

本文主要解决小程序内部,分享朋友圈时生成海报中包含“带参小程序码”的场景;

步骤

// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database();
let response = function (code, data, msg) {
  return {
    code: code,
    data: data,
    msg: msg || '成功'
  }
}

exports.main = async (event, context) => {
  const wxContext = cloud.getWXContext()
  console.log({
    event,
    openid: wxContext.OPENID,
    appid: wxContext.APPID,
    unionid: wxContext.UNIONID,
  })
  try {
    const imgData = await cloud.openapi.wxacode.getUnlimited({
      "page": event.path,
      "scene": event.scene
    })
    let imgType = imgData.contentType.split('/')[1];
    console.log('图片类型:', imgType);
    let fileData = await cloud.uploadFile({
      cloudPath: `appletQRCode/${event.createTime}QRCode.${imgType}`,
      fileContent: imgData.buffer,
    })

    const fileList = [fileData.fileID]
    const result = await cloud.getTempFileURL({
      fileList: fileList,
    })

    return response(10000, result.fileList, '成功')
  } catch (err) {
    return response(20000, err, '失败')
  }
}

使用云函数

wx.cloud.callFunction('WX_getQRCode', {
      path: 'pages/all-goods/all-goods',
      scene: 'azzzzzbc_234',
    })
    .then((res) => {
      console.log(res)
    })

总结

生成小程序码有两种场景

两种场景
这里使用的是:接口B
接口A :
wxacode.createQRCode 总共生成的码数量限制为 100,000,请谨慎调用。

注意

接口只能生成已发布的小程序的二维码

上一篇 下一篇

猜你喜欢

热点阅读