koa2通过https调用生成小程序码
【摘要】
记录一下nodejs下使用https调用生成小程序码的方法
# 主要思路
调用getwxacodeunlimit之后将图片buffer写入本地并调用云存储http api上传至云存储空间
# 主程序代码
server.js
app.use(async (ctx, next) => { await next() ctx.set('cont...
记录一下nodejs下使用https调用生成小程序码的方法
# 主要思路
调用getwxacodeunlimit之后将图片buffer写入本地并调用云存储http api上传至云存储空间
# 主程序代码
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)
}
})
// 上传至云存储
const upOptions = {
method: 'POST',
url: 'https://api.weixin.qq.com/tcb/uploadfile?access_token=' + token,
body: {
env: env,//小程序云环境的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
文章来源: blog.csdn.net,作者:薛定喵君,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jsxg2009/article/details/115244357
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)