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)