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