关于调用getUnlimitedAPI生成无限量带参二维码扫码后不能拿到参数的问题?
// 云函数入口文件
//openapi.wxacode.createQRCode可以正常拿到传递过来的参数,但是用getUnlimitedAPI这个方法就拿不到参数
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
const uploadfile = async function(arraybuffer,path){
//console.log('我被调用了');
let {fileID} = await cloud.uploadFile({
cloudPath:path,
fileContent:arraybuffer
})
return fileID
}
// 云函数入口函数
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.wxacode.createQRCode({
path: 'pages/index/index?a=1',
width: 430
})
console.log(result);
fileID = await uploadfile(result.buffer, 'my.jpg')
return fileID
}
catch (err) {
return err
}
}
下面这种就拿不到要传递的参数
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init({
env: cloud.DYNAMIC_CURRENT_ENV,
})
const uploadfile = async function(arraybuffer,path){
console.log('我被调用了');
let {fileID} = await cloud.uploadFile({
cloudPath:path,
fileContent:arraybuffer
})
return fileID
}
// 云函数入口函数
exports.main = async (event, context) => {
//根据渠道名称进行数据库查询,如果存在(即二次点击),则返回文件艾迪
// console.log(event.namevalue);
//数据库查询不到该渠道,二维码即是第一次输入
try {
const result = await cloud.openapi.wxacode.getUnlimited({
scene: 'a=1'
})
// console.log(result);
fileID = await uploadfile(result.buffer, 'my.jpg')
return fileID
}
catch (err) {
return err
}
}
3 回复
onLoad(options) {
if (!options.scene) {
this.setData({
ak: options.ak || app.globalData.query.ak || '',
})
} else {
var getQueryString = {}
var strs = decodeURIComponent(options.scene).split('&') //以&分割
//取得全部并赋值
for (var i = 0; i < strs.length; i++) {
getQueryString[strs[i].split('=')[0]] = unescape(strs[i].split('=')[1])
}
this.setData({
ak: getQueryString['ak'] || ''
})
}
}