获取小程序码
参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/qr-code.html
云调用
一、新建云函数
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
/* 云函数入口函数
* @path:扫码进入的小程序页面路径,最大长度 128 字节,不能为空
* @width: 二维码的宽度,单位 px。默认430,可调整范围:280~1280
* @isHyaline: 是否需要透明底色,为 true 时,生成透明底色的小程序码
* @线条颜色设置详见文档
*/
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
}
}
二、在小程序页面中调用云函数生成小程序码
let self = this;
wx.cloud.callFunction({
name: 'unlimitQR',
complete(res) { // 成功回调
let buffer = res.result.buffer;
const base64 = wx.arrayBufferToBase64(buffer);
let imgSrc = "data:image/png;base64," + base64;
// 打印图片的base64数据,复制后到【http://tool.chinaz.com/tools/imgtobase】转成图片后另存为即可获取到小程序码
console.log(imgSrc);
self.setData({imgSrc: imgSrc});
}
});
自定义分享按钮
<template>
<view>
<!--分享按钮-->
<button open-type='share'>分享</button>
</view>
</template>
/* onShareAppMessage(Object object)
* 监听用户点击页面内转发按钮或右上角菜单“转发”按钮的行为,并自定义转发内容。
* 注意:只有定义了此事件处理函数,右上角菜单才会显示“转发”按钮
* @imageUrl: 支持PNG及JPG。显示图片长宽比是 5:4
*/
onShareAppMessage() {
return {
title: '分享标题',
path: '/pages/index/index',
imageUrl: '图片地址'
}
}