koa2通过https调用生成小程序码

举报
薛定喵君 发表于 2021/06/04 00:41:15 2021/06/04
3.8k+ 0 0
【摘要】 记录一下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()
        })
    
   

# 参考文档

文章来源: blog.csdn.net,作者:薛定喵君,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jsxg2009/article/details/115244357

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。