微信小程序云函数生成二维码
首先,需要给对应的云函数安装 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) {}
})
- 随机文章
- 热门文章
- 热评文章
- c#打开txt文件并导入到textbox中
- c#实现FTP上传
- 用PHP发送POST请求
- UDP穿透NAT的原理与实现(UDP“打洞”原理)
- C# 非独占延时函数 非Sleep
- 基于C#的socket编程的TCP异步实现
- 微信公众平台API接口扩展包
- 在树莓派/linux上使用阿里云DNS解析作为DDNS使用

