卖坚果的怪叔叔 卖坚果的怪叔叔
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
首页 › 技术 › 小程序中为每篇文章生成小程序码!

小程序中为每篇文章生成小程序码!

坚果大叔
2020-03-24 16:38:54技术阅读 3,229

为博客的每一篇文章生成分享海报,每张海报上需要一个带文章id的小程序码,微信官方提供三种方式生成小程序码。

api名 区别
wxacode.createQRCode 获取小程序二维码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
wxacode.get 获取小程序码,适用于需要的码数量较少的业务场景。通过该接口生成的小程序码,永久有效,有数量限制
wxacode.getUnlimited 获取小程序码,适用于需要的码数量极多的业务场景。通过该接口生成的小程序码,永久有效,数量暂无限制。

这里主要用的第三种方法,api支持https和云调用,因为之前项目已经使用了云开发,所以这里直接使用云调用的方式。

接口名:++openapi.wxacode.getUnlimited++ :
// 需要在配置文件 project.config.json 配置如下代码

"permissions": {
    "openapi": [
        "wxacode.getUnlimited"  // api名
    ]
},
创建云函数调用,代码如下:
// 云调用依赖 wx-server-sdk
const cloud = require('wx-server-sdk')
// 项目的云环境
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})
exports.main = async (event, context) => {
  try {
    // 方法调用
    const result = await cloud.openapi.wxacode.getUnlimited({
      page: event.page, // 页面路径
      width: 430,   // 生成二维码的宽度
      scene: event.scene, // page后面跟的参数写在scene中
      autoColor: event.autoColor, // 生成的二维码是否智能取色
      isHyaline: event.isHyalin  // 二维码背景色透明
    })
    console.log(result)
    return result
  } catch (err) {
    console.log(err)
    return err
  }
}
在使用的地方调用
wx.cloud.callFunction({
  name: 'createQRCode', // 函数名
  data: {
    page: 'pages/article/article',  // 传入的参数
    scene: _this.data.articleId,
    autoColor: true,
    isHyaline: true
  },
})
  .then(res => {
    _this.setData({
      // 注意 api请求返回的数据是一个 buffer数据流,这里我们可以用
      // 官方提供的wx.arrayBufferToBase64(res.result.buffer)方法直接
      // 转成base64 在拼接 「data:image/png;base64」就可以在页面渲染了
      tempImg: 'data:image/png;base64,' + wx.arrayBufferToBase64(res.result.buffer)
    })
  })
  .catch(console.error)

小程序中为每篇文章生成小程序码!-卖坚果的怪叔叔

小程序中为每篇文章生成小程序码!-卖坚果的怪叔叔

小程序
赞赏 赞(0)
本文系作者 @坚果大叔 原创发布在 卖坚果的怪叔叔。未经许可,禁止转载。
上一篇
清明小假期!
下一篇
在小程序中查看

这是个😊,挣点服务器费用😜

热门文章
假期最后一天
新的开始,新的征程。Go~
过去的,一点记录!
Vue3自定义指令
Git相关操作及术语(转载)
小程序wx.showToast真机不显示?
专题标签
agent (1) CSS (15) dom (1) Es6入门系列 (14) Git (3) html (1) iview (1) JavaScript (9) js (4) Lif (1) Node (4) pyecharts (1) Python (10) ref (1) scriptable (1) Skill (1) vsCode (1) vue (4) wordpress (2) 三月 (1) 上海 (1) 假期 (1) 其他分享 (3) 前端两三问 (15) 古镇 (1) 外滩 (1) 对象 (1) 小程序 (5) 年度总结 (6) 年终总结 (1) 微信机器人 (4) 打字机 (1) 技术 (1) 日常问题 (8) 日常问题记录 (1) 春天 (2) 服务器 (2) 海族馆 (1) 生活 (8) 网上国网 (1) 记录 (3) 通勤 (1) 重学JavaScript (11) 面试题 (10) 🌸 (1)
什么是Agent?
2026-08-15 23:49:12
405 0 2
什么是 Skill?
2026-08-12 21:32:42
322 1 0
失业在家,我给小朋友做了一个练字小程序!
2026-08-07 16:21:52
601 10 1
上线8年,15万用户的小程序,一共赚了多少钱?
2026-05-30 18:01:24
4,647 4 0
  • 0
博主

一位佛系的前端开发者,略通摄影,乐于尝试新事物,热衷于美食。

友链
故事胶片
公众号
坚果大叔 执行上下文 卖坚果的怪叔叔 Dacking
Copyright © 2017-2026 卖坚果的怪叔叔

开往-友链接力

萌ICP备20230818号

苏ICP备18048410号-3
  • 首页
  • 生活
  • 技术
  • 记录
  • 工具箱
  • 关于我
# CSS # # JavaScript # # vue # # 微信 # # 生活 #
坚果大叔
345
文章
171
评论
432
喜欢