当前位置:首页 > 网页 > 正文内容

微信小程序云函数生成二维码

admin3年前 (2021-10-09)网页2501

首先,需要给对应的云函数安装 request-promise 依赖。(不会给云函数安装依赖的盆友请移步 微信小程序中的云开发如何使用npm安装依赖


生成二维码的云函数如下:



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

cloud.init()

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

 const page = event.page
  const scene = event.scene

    //appid和秘钥
    const appid = '***',
      secret = '***';

    const AccessToken_options = {
      method: 'GET',
      url: 'https://api.weixin.qq.com/cgi-bin/token',
      qs: {
        appid,
        secret,
        grant_type: 'client_credential'
      },
      json: true

    };

    //获取AccessToken
    const resultValue = await rp(AccessToken_options);
    const token = resultValue.access_token;

    //获取小程序码配置
    const code_options = {
      method: 'POST',
      url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token,
      body: {
        'page': page,
        'width': 430,
        'scene': scene
      },
      json: true,
      encoding: null
    };

    //获取二进制图片
    const buffer = await rp(code_options);

    const upload = await cloud.uploadFile({
      cloudPath: 'wxacode.png',
      fileContent: buffer,
    })
    return {
      wxacodefileID: upload.fileID
    }

}


页面内调用:


wx.cloud.callFunction({
      name: "getQRCode",
      data: {
        page: 'pages/xxxxx/index', // 必须是已经发布的小程序存在的页面(否则报错)
        scene: 'from=mp' // 最大32个可见字符
      },
      success(res) {
        console.log(res)
      },
      fail(err) {}
    })



扫描二维码推送至手机访问。

版权声明:本文由视觉博客发布,如需转载请注明出处。

本文链接:http://feelsight.cn/post/126.html

“微信小程序云函数生成二维码” 的相关文章

微信公众平台API接口扩展包

wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用,欢迎Fork此项目 weixin developer SDK. 项目地址:https://github.com/dodgepudding/wechat-php-sdk 项目blog:ht...

php做下载连接/下载功能

<?php $vison=$_GET['vison']; $name=$_GET['name']; $path=dirname(__FILE__).'/'.$vison.'/'.$name; function downfile($fileurl,$filename) { ob_s...

网站加载动画/预加载loading动画,再载入内容

默认情况下如果网站请求速度慢,所以会有一段时间的空白页面等等,用户体验效果不好,见到很多的页面都有预加载的效果,加载之前先加载一个动画,后台进程继续加载页面内容,当页面内容加载完之后再退出动画显示内容,这样的用户体验更好。 例如此链接:http://crusad...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。