参考
https://developers.weixin.qq.com/minigame/dev/api-backend/open-api/qr-code/wxacode.get.html
服务端通过调用cloud.openapi.wxacode获取二维码,这时候返回回来的是NodeJs Buffer

const cloud = require('wx-server-sdk')

cloud.init()

// 云函数入口函数
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxacode.get({
        path: 'pages/index/index',
        width: 430
      })
    return result
  } catch (err) {
    return err
  }
}

这时候如何将Buffer直接显示在小程序的页面里面就成了一个问题,很多网上的方案是在服务端采用将Buffer写成文件的方式再传给小程序,实际上并不需要这么麻烦,只需要调用wx.arrayBufferToBase64
再前面加上“data:image/jpeg;base64, ” 就可以直接显示在页面上了


// js
wx.cloud.callFunction({
  name:'qrcode',
  data: {

  },
  success:(res)=> {
    console.log(res)
    const src = 'data:image/jpeg;base64, ' + wx.arrayBufferToBase64(res.result.buffer);
    this.setData({
      src
    })
  }
});
// xml

<view>
<image mode="aspectFit" src="{{src}}"></image>
</view>