多表格合并一起
626
2025-03-31
記錄一下nodejs下使用HTTPS調(diào)用生成小程序碼的方法
# 主要思路
調(diào)用getwxacodeunlimit之后將圖片buffer寫入本地并調(diào)用云存儲(chǔ)http api上傳至云存儲(chǔ)空間
# 主程序代碼
server.js
app.use(async (ctx, next) => {
await next()
ctx.set('content-type', ctx.mimeType)
ctx.body = ctx.data
})
// 獲取小程序碼
router.get('/getWxaCode', async (ctx, next) => {
let page = ctx.request.query.page || '',
token = ctx.request.header.token || ''
// 獲取小程序碼配置
const codeOptions = {
method: 'POST',
url:
'HTTPS://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token,
body: {
page: page,
width: 230,
scene: 'pc=1',
},
json: true,
encoding: null,
}
let imgBuffer = await new Promise(function (resolve, reject) {
request.post(codeOptions, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body)
}
reject(error)
})
})
fs.writeFile(page.replace(/\//g, '-') + '.jpg', imgBuffer, function (err) {
//生成圖片(把buffer寫入到圖片文件)
if (err) {
console.log(err)
}
})
// 上傳至云存儲(chǔ)
const upOptions = {
method: 'POST',
url: 'https://api.weixin.qq.com/tcb/uploadfile?access_token=' + token,
body: {
env: env,//小程序云環(huán)境的ID
path: page.replace(/\//g, '-') + '.jpg',
},
json: true,
}
let res = await new Promise(function (resolve, reject) {
request(upOptions, function (error, response, body) {
if (!error && response.statusCode == 200) {
resolve(body)
}
reject(error)
})
})
ctx.data = res
await next()
})
# 參考文檔
獲取小程序碼-wxacode.getUnlimited
獲取文件上傳鏈接-uploadFile
https Koa 小程序
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。