在生成海报时 需要在海报里生成对应id的商品二维码,可以使用字符串转化为二维码图片,但是其图片格式为base64,在微信开发者工具可以正常查看,但是手机测试无法显示,需要把base64图片转为本地图片。
1.新建base64src.js文件
// 小程序分享二维码是base64格式,在制作分享图时,需要转换为图片格式
const fsm = wx.getFileSystemManager();
const FILE_BASE_NAME = 'tmp_base64src'; //自定义文件名
function base64src(base64data, cb) {
const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
if (!format) {
return (new Error('ERROR_BASE64SRC_PARSE'));
}
const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
const buffer = wx.base64ToArrayBuffer(bodyData);
fsm.writeFile({
filePath,
data: buffer,
encoding: 'binary',
success() {
cb(filePath);
},
fail() {
return (new Error('ERROR_BASE64SRC_WRITE'));
},
});
};
export { base64src };
2、在需要使用的文件中引入并使用
import { base64src } from '../../utils/base64src.js'
Page({
data: {
shareQrImg: "data:image/jpeg;base64,/9j/4AAQSkZJRgA....