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/subpackages/my/promotionQrcode/InnerPage.vue |   88 ++++++++++++++++++++++++++++++--------------
 1 files changed, 60 insertions(+), 28 deletions(-)

diff --git a/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue b/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue
index 183db04..67bcd46 100644
--- a/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue
+++ b/apps/taro/src/subpackages/my/promotionQrcode/InnerPage.vue
@@ -1,22 +1,29 @@
 <template>
   <ContentView>
-    <!-- <div class="promotion-qrcode-content" :style="barStyle">
-      <div class="promotion-qrcode-content-qrcode">
-        <ShareQrcodeView :channles-num="userChannles[0]?.channlesNum" />
+    <div class="promotion-qrcode-content" :style="barStyle">
+      <div
+        class="promotion-qrcode-content-qrcode"
+        :style="{ backgroundImage: `url(${OssAssets.common.PromotionQrcodeCodeBG})` }"
+      >
+        <div class="share-qrcode-view">
+          <img v-if="link" :src="link" class="share-qrcode-view-img" />
+        </div>
         <div class="promotion-qrcode-content-qrcode-tips">闀挎寜浜岀淮鐮佸垎浜ソ鍙�</div>
       </div>
-      <div class="promotion-qrcode-content-btn">鐐瑰嚮涓嬭浇浜岀淮鐮�</div>
-    </div> -->
-    <ResultWithoutBG></ResultWithoutBG>
+      <div class="promotion-qrcode-content-btn" @click="downloadQrcode">鐐瑰嚮涓嬭浇浜岀淮鐮�</div>
+    </div>
   </ContentView>
 </template>
 
 <script setup lang="ts">
-import { ShareQrcodeView, ResultWithoutBG } from '@life-payment/components';
 import { useLifeRechargeContext } from '@life-payment/core-vue';
-import { isWeb } from '@/utils/env';
+import Taro from '@tarojs/taro';
 import { useSystemStore } from '@/stores/modules/system';
-import { CSSProperties } from 'vue';
+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',
@@ -25,16 +32,21 @@
 // const { virtualUserInfo } = useUser();
 const { blLifeRecharge } = useLifeRechargeContext();
 
-const userChannles = computed(() =>
-  (blLifeRecharge.accountModel.userChannles ?? []).filter(
-    (x) => x.switchType !== blLifeRecharge.constants.LifePaySwitchTypeEnum.寰俊灏忕▼搴�
-  )
-);
+const qrcodeRef = ref();
 
-const channlesType = ref(userChannles.value[0]?.channlesNum ?? '');
+const router = Taro.useRouter();
 
-watch(userChannles, (val) => {
-  channlesType.value = val?.[0]?.channlesNum ?? '';
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
+
+// const link = computed(
+//   () =>
+//     `${CLIENT_ORIGIN}/subpackages/my/AgentRecruitment/AgentRecruitment?promoterIdNumber=${promoterIdNumber}`
+// );
+const link = computed(() => {
+  const url = `${CLIENT_ORIGIN}/subpackages/my/AgentRecruitment/AgentRecruitment?promoterIdNumber=${promoterIdNumber}`;
+  return createQrCodeImg(url, {
+    size: 300,
+  });
 });
 
 const systemStore = useSystemStore();
@@ -43,9 +55,21 @@
   () =>
     ({
       paddingTop: systemStore.info.statusBarHeight + 'px',
-      // height: systemStore.navigationBarHeight + 'px',
+      backgroundImage: `url(${OssAssets.common.PromotionQrcodeContentBG})`,
     } as CSSProperties)
 );
+
+function downloadQrcode() {
+  // Taro.saveImageToPhotosAlbum({
+  //   filePath: link.value,
+  // });
+  if (isInAlipay) {
+    Message.warning('鍙湪娴忚鍣ㄦ墦寮�姝ょ綉椤典笅杞芥枃浠躲��');
+  } else {
+    // TODO 杩橀渶瑕佸仛灏忕▼搴忎笅杞界殑鍏煎
+    downloadBase64File(link.value, '鎺ㄥ箍浜岀淮鐮�');
+  }
+}
 </script>
 
 <style lang="scss">
@@ -53,10 +77,9 @@
 
 .promotion-qrcode-page-wrapper {
   .promotion-qrcode-content {
-    margin-top: 306px;
+    margin-top: 400px;
     width: 100%;
     height: 788px;
-    background-image: url('https://renliyuan.oss-cn-hangzhou.aliyuncs.com/12333/lifePayment/assets/common/icon-promotion-qrcode-content-bg.png');
     background-size: 100% 100%;
     background-repeat: no-repeat;
     display: flex;
@@ -66,22 +89,25 @@
   }
 
   .promotion-qrcode-content-qrcode {
-    width: 432px;
-    height: 432px;
+    width: 440px;
+    height: 438px;
     display: flex;
     flex-direction: column;
     align-items: center;
-    background: linear-gradient(180deg, #d4effe 0%, rgba(227, 251, 255, 0) 100%);
-    border-radius: 44px 44px 44px 44px;
-    border: 5px solid;
-    border-image: linear-gradient(180deg, rgba(76, 198, 255, 1), rgba(241, 252, 255, 0)) 5 5;
+    justify-content: center;
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    position: relative;
   }
 
   .promotion-qrcode-content-qrcode-tips {
-    margin-bottom: -22px;
     font-size: 32px;
     font-weight: bold;
-    background: linear-gradient(0deg, #63654c 0%, #101f23 39%, #101f23 55%, #0082d3 100%);
+    position: absolute;
+    bottom: -22px;
+    background: linear-gradient(0.25turn, #63654c 0%, #101f23 39%, #101f23 55%, #0082d3 100%);
+    -webkit-background-clip: text;
+    -webkit-text-fill-color: transparent;
   }
 
   .promotion-qrcode-content-btn {
@@ -99,7 +125,13 @@
   }
 
   .share-qrcode-view {
+    margin-top: -20px;
     padding: 0;
   }
+
+  .share-qrcode-view-img {
+    width: 300px;
+    height: 300px;
+  }
 }
 </style>

--
Gitblit v1.9.1