微信小程序 云开发 生成带参数小程序二维码

1. 云开发新建云函数getQrCode

// 云函数入口文件
const cloud = require('wx-server-sdk');
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
  const full_path = event.page + '?' + event.scene;

  try {

    // 生成小程序码
    const wxacodeResult = await cloud.openapi.wxacode.getUnlimited({
      scene: event.scene,
      page: event.page,
      width: 240
    })
    // return wxacodeResult;
    if (wxacodeResult.errCode != 0) {
      // 生成二维码失败,返回错误信息
      return wxacodeResult;
    }

    // 上传到云存储
    const uploadResult = await cloud.uploadFile({
      cloudPath: 'qr/' + new Date().getTime() + '.jpg',
      fileContent: wxacodeResult.buffer,
    });
    // return uploadResult;
    if (!uploadResult.fileID) {
      //上传失败,返回错误信息
      return uploadResult;
    }

    // 获取图片临时路径
    getURLReault = await cloud.getTempFileURL({
      fileList: [uploadResult.fileID]
    });
    fileObj = getURLReault.fileList[0];
    fileObj.fromCache = false;

    // 上传成功,获取文件临时url,返回临时路径的查询结果
    return fileObj;

  } catch (err) {
    return err
  }

}

2. 前端js调用并显示

onPreview(e) {

      wx.cloud.callFunction({
        name: "getQrCode",
        data: {
            page: 'pages/index/index',
            scene: 'id=6666',
            thumbs_up_task_id: 111
        },
        success: res => {
            console.log(res)
            wx.previewImage({
                urls: [res.result.fileID],
            })
        }
      })
    
      
  }

 

3. 效果图

 

 

想看视频版?

关注公号“微程序学堂”,我们的视频教程即将上线

 

如果你自己写了好文章想投稿

请联系我们

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

软件工程小施同学

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值