小程序云开发生成带参小程序码

120 阅读1分钟

1.创建云函数

2.配置 config.json 

{
  "permissions": {
    "openapi": [
      "wxacode.getUnlimited"
    ]
  }
}

3.云函数代码,会返回一个Buffer ,是小程序码的数据流。

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxacode.getUnlimited({
        scene: event.scene
      })
      return result.buffer
  } catch (err) {
    return err
  }
}

4.在小程序调用云函数并且赋值给Data

getCode(id) {
    var page = 'page/user/user'
    var scene = 'id='+that.data.group.qunId;
    wx.cloud.callFunction({
      name: "setCode",
      data: {
        scene
      },
      success(res) {
        console.log('获取二维码getCode-------------',scene, res.result)
        let fileManager = wx.getFileSystemManager(); //获取文件管理器

        let filePath = wx.env.USER_DATA_PATH + '/inner.jpg'; //设置临时路径
        fileManager.writeFile({ //获取到的数据写入临时路径
          filePath: filePath, //临时路径
          encoding: 'binary', //编码方式,二进制
          data: res.result, //请求到的数据
          success: function (res) {
            that.setData({
              code:filePath
            })
          }
        });
      },
      fail(err) {
        console.log('获取二维码getCode-------------', err)

      }
    })
  },