This commit is contained in:
chashaobao
2025-08-31 22:43:00 +08:00
parent 61686950bd
commit aea8323d95
7 changed files with 122 additions and 49 deletions

View File

@ -1,19 +1,19 @@
import { Button, Canvas } from '@tarojs/components';
import Taro from '@tarojs/taro';
import { useCallback, useState } from 'react';
import { useCallback } from 'react';
import { openCustomerServiceChat } from '@/utils/common';
import { getPartnerQrcode } from '@/utils/partner';
import { getCouponQrCode, generateMembershipCoupon } from '@/utils/coupon';
import './index.less';
const PREFIX = 'partner-intro';
export default function PartnerIntro() {
const [posterPath, setPosterPath] = useState('');
const getQrcode = async () => {
try {
const data = await getPartnerQrcode(); // 假设 getPartnerQrcode 返回 ArrayBuffer
const { code } = await generateMembershipCoupon();
const data = await getCouponQrCode(code);
const base64 = Taro.arrayBufferToBase64(data);
return `data:image/png;base64,${base64}`;
} catch (error) {
@ -39,8 +39,6 @@ export default function PartnerIntro() {
fileType: 'jpg',
});
setPosterPath(tempFilePath.tempFilePath);
resolve(tempFilePath.tempFilePath);
});
} catch (error) {
@ -57,8 +55,8 @@ export default function PartnerIntro() {
const canvas = res[0].node;
const ctx = canvas.getContext('2d');
canvas.width = 550*2;
canvas.height = 918*2;
canvas.width = 550 * 2;
canvas.height = 918 * 2;
ctx.scale(2, 2);
// 绘制背景图片
@ -84,13 +82,10 @@ export default function PartnerIntro() {
});
};
const savePoster = async () => {
let filePath = posterPath;
if (!filePath) {
Taro.showLoading({ title: '正在生成海报' });
const qrCode = await getQrcode();
filePath = await drawCanvas(qrCode);
Taro.hideLoading();
}
Taro.showLoading({ title: '正在生成海报' });
const qrCode = await getQrcode();
const filePath = await drawCanvas(qrCode);
Taro.hideLoading();
const res = await Taro.getSetting();
const hasPermission = res.authSetting['scope.writePhotosAlbum'];