From e47c70d32e6fa7c9cb16ca19a79338ea36a83e94 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 10 六月 2025 16:38:37 +0800 Subject: [PATCH] fix: v1.4 --- apps/taro/src/utils/file.ts | 35 +++++++++++++++++ apps/taro/src/subpackages/my/AgentRecruitment/AgentRecruitment.vue | 10 ++++ apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue | 14 +++++- apps/taro/src/hooks/router.ts | 2 + apps/taro/src/utils/page.ts | 2 5 files changed, 58 insertions(+), 5 deletions(-) diff --git a/apps/taro/src/hooks/router.ts b/apps/taro/src/hooks/router.ts index e53ba52..a7400ce 100644 --- a/apps/taro/src/hooks/router.ts +++ b/apps/taro/src/hooks/router.ts @@ -51,6 +51,7 @@ const appStore = useAppStore(); const { latestRoute } = storeToRefs(appStore); const { blLifeRecharge } = useLifeRechargeContext(); + const system = useSystemStore(); const router = Taro.useRouter(); @@ -58,6 +59,7 @@ console.log('router: params', router, blLifeRecharge.accountModel.channlesNum); Taro.useTabItemTap((item) => { + system.setTabIndex(item.index as any); Taro.reLaunch({ url: pathAddExtraParam(item.pagePath, { channelId: blLifeRecharge.accountModel.channlesNum }), success() { diff --git a/apps/taro/src/subpackages/my/AgentRecruitment/AgentRecruitment.vue b/apps/taro/src/subpackages/my/AgentRecruitment/AgentRecruitment.vue index 0186594..9abbda6 100644 --- a/apps/taro/src/subpackages/my/AgentRecruitment/AgentRecruitment.vue +++ b/apps/taro/src/subpackages/my/AgentRecruitment/AgentRecruitment.vue @@ -41,6 +41,8 @@ import { Image } from '@tarojs/components'; import Taro from '@tarojs/taro'; import { useLifeRechargeContext } from '@life-payment/core-vue'; +import { useUser } from '@/hooks'; +import { isH5, isInWeChat } from '@/utils/env'; defineOptions({ name: 'AgentRecruitment', @@ -49,10 +51,16 @@ const router = Taro.useRouter(); const promoterIdNumber = router.params?.promoterIdNumber ?? ''; +//寰俊缃戦〉鎺堟潈code 闇�瑕侀噸瀹氬悜鑾峰彇 浼氬鑷村娆¤Е鍙憃nMounted +const code = router.params.code ?? ''; onMounted(() => { if (promoterIdNumber) { - setClickCount(); + if (isH5 && isInWeChat) { + if (!code) setClickCount(); + } else { + setClickCount(); + } } }); diff --git a/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue b/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue index 32a7724..67bcd46 100644 --- a/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue +++ b/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue @@ -22,6 +22,8 @@ import { CSSProperties, useTemplateRef } from 'vue'; import { OssAssets } from '@/constants'; import { createQrCodeImg } from '@/components/Qrcode/utils/qrcode'; +import { downloadBase64File, Message } from '@/utils'; +import { isInAlipay } from '@/utils/env'; defineOptions({ name: 'InnerPage', @@ -58,9 +60,15 @@ ); function downloadQrcode() { - Taro.saveImageToPhotosAlbum({ - filePath: link.value, - }); + // Taro.saveImageToPhotosAlbum({ + // filePath: link.value, + // }); + if (isInAlipay) { + Message.warning('鍙湪娴忚鍣ㄦ墦寮�姝ょ綉椤典笅杞芥枃浠躲��'); + } else { + // TODO 杩橀渶瑕佸仛灏忕▼搴忎笅杞界殑鍏煎 + downloadBase64File(link.value, '鎺ㄥ箍浜岀淮鐮�'); + } } </script> diff --git a/apps/taro/src/utils/file.ts b/apps/taro/src/utils/file.ts index 34a5b36..c959ae4 100644 --- a/apps/taro/src/utils/file.ts +++ b/apps/taro/src/utils/file.ts @@ -86,3 +86,38 @@ return fileName; }); } + +export function downloadBase64File(base64Data: string, filename: string) { + // 灏哹ase64鏁版嵁鍒嗗壊锛岃幏鍙杕ime-type + const [, mime, b64data] = base64Data.match(/^data:([^;]+);base64,(.+)$/); + + // 瑙g爜base64鏁版嵁 + const byteString = atob(b64data); + const arrayBuffer = new ArrayBuffer(byteString.length); + const intArray = new Uint8Array(arrayBuffer); + + for (let i = 0; i < byteString.length; i++) { + intArray[i] = byteString.charCodeAt(i); + } + + // 鍒涘缓Blob瀵硅薄 + const blob = new Blob([intArray], { type: mime }); + + //@ts-ignore + if (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob) { + //@ts-ignore 鍏煎IE + navigator.msSaveOrOpenBlob(blob, filename); + } else { + // 鍒涘缓涓�涓复鏃剁殑a鏍囩鐢ㄤ簬瑙﹀彂涓嬭浇 + const a = document.createElement('a'); + const url = window.URL.createObjectURL(blob); + a.href = url; + a.download = filename; // 璁剧疆涓嬭浇鍚庣殑鏂囦欢鍚� + document.body.appendChild(a); + a.click(); // 瑙﹀彂涓嬭浇 + document.body.removeChild(a); + setTimeout(() => { + window.URL.revokeObjectURL(url); // 娓呴櫎鍒涘缓鐨勫璞RL + }, 0); + } +} diff --git a/apps/taro/src/utils/page.ts b/apps/taro/src/utils/page.ts index 1d45c4e..b9cfaba 100644 --- a/apps/taro/src/utils/page.ts +++ b/apps/taro/src/utils/page.ts @@ -3,10 +3,10 @@ import { useSystemStoreWithOut } from '@/stores/modules/system'; import { query2object, object2query } from '@life-payment/utils'; import { blLifeRecharge } from './blLifeRecharge'; +import { isInAlipay } from '@/utils/env'; export function goBack(delta = 1) { const pages = Taro.getCurrentPages(); - const systemStore = useSystemStoreWithOut(); if (pages.length > 1) { -- Gitblit v1.9.1