feat:
This commit is contained in:
@ -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'];
|
||||
|
||||
Reference in New Issue
Block a user