/** * 将 ArrayBuffer 转换为 Base64 图片 * @param {ArrayBuffer} buffer - 图片的 ArrayBuffer 数据 * @returns {string} Base64 图片字符串 */ export const arrayBufferToBase64 = (buffer) => { // 使用 uni-app 的 API 将 ArrayBuffer 转换为 Base64 return uni.arrayBufferToBase64(buffer); } /** * 保存二维码到本地 * @param {string} base64 - Base64 图片字符串 */ export const saveQRCodeToLocal = async (base64) => { try { // 将 Base64 转换为临时文件路径 const fsm = uni.getFileSystemManager(); const filePath = `${uni.env.USER_DATA_PATH}/qrcode_${Date.now()}.png`; // 写入文件 fsm.writeFileSync(filePath, base64, 'base64'); // 保存到相册 await uni.saveImageToPhotosAlbum({ filePath: filePath }); uni.showToast({ title: '保存成功', icon: 'success' }); } catch (error) { console.error('保存二维码失败:', error); uni.showToast({ title: '保存失败', icon: 'error' }); } }