需求
分享活動(dòng)歉井,截圖保存到相冊(cè),圖片上包含小程序碼哈误,掃碼可進(jìn)入該活動(dòng)詳情
實(shí)現(xiàn)
使用小程序云函數(shù)動(dòng)態(tài)生成小程序碼:
- scene: 掃碼進(jìn)入頁(yè)面需要的參數(shù)
- page: 掃碼進(jìn)入的頁(yè)面哩至,必須是已經(jīng)發(fā)布的小程序存在的頁(yè)面(否則報(bào)錯(cuò))
- width: 生成碼的寬度
- is_hyaline: 是否需要透明底色
// 云函數(shù)入口函數(shù)
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.wxacode.getUnlimited({
scene: 'id=' + event.id,
page: 'pages/activityInfo/activityInfo',
width: 280,
isHyaline: true,
})
return result
} catch (err) {
return err
}
}
其余參數(shù)參考文檔鏈接:云函數(shù)生成小程序碼
注意事項(xiàng)
- page傳參問(wèn)題:page傳入的參數(shù)必須是已發(fā)布的小程序存在的頁(yè)面躏嚎,初次發(fā)布或舊版本中沒(méi)有的頁(yè)面,生成會(huì)報(bào)錯(cuò)菩貌÷叮可以先不傳page參數(shù),測(cè)試云函數(shù)和顯示是否正常箭阶,上線前加上參數(shù)即可虚茶。
- scene傳參問(wèn)題:scene傳參在頁(yè)面上獲取參數(shù)的方式為:
比如在云函數(shù)中傳入的scene
為id=1
,那在onLoad
中獲取scene
仇参,options.scene
為id%3D1
嘹叫,decodeURIComponent(options.scene)
為id=1
,所以想要獲取1
就要自己處理一下了冈敛。
也可以直接設(shè)置scene
傳入id
待笑,不拼接字符串,這種適合只有一個(gè)參數(shù)的情況抓谴。
onLoad: function (options) {
let scene = options.scene;
let decodeScene = decodeURIComponent(options.scene)
},