From 22a6de40ac6693463cdbbe9ed1e3ef05fc301afc Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 23 九月 2025 14:50:34 +0800
Subject: [PATCH] feat: 绑定银行卡

---
 apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue |   56 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 51 insertions(+), 5 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
index 0ac88a1..d68026e 100644
--- a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
@@ -3,8 +3,10 @@
     <div class="bind-bank-card-wrapper">
       <div class="bg-left-top"></div>
       <div class="bind-bank-card-content">
-        <div class="bank-card-name">{{ '鎷涘晢閾惰' }}</div>
-        <div class="bank-card-number">{{ '**** **** **** 1234' }}</div>
+        <div class="bank-card-name">{{ detail?.bank ?? '' }}</div>
+        <div class="bank-card-number">
+          <div class="bank-card-number-text">{{ showBankCodeForEnd4(detail?.code ?? '') }}</div>
+        </div>
         <div class="bank-card-type">{{ '鍌ㄨ搫鍗�' }}</div>
       </div>
       <div class="bg-right-bottom"></div>
@@ -18,15 +20,59 @@
 
 <script setup lang="ts">
 import { useUserStore } from '@/stores/modules/user';
+import { useQuery } from '@tanstack/vue-query';
+import { Message, showBankCodeForEnd4 } from '@12333/utils';
+import * as userServices from '@12333/services/apiV2/user';
 import Taro from '@tarojs/taro';
+import { EnumUserBankCardAccess } from '@12333/constants';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const userStore = useUserStore();
+const {} = useUser();
+const switchTab = useSwitchTab();
+function goUserCenter() {
+  switchTab({
+    url: RouterPath.mine,
+  });
+}
 
-function handleUnbind() {}
+const {
+  isLoading,
+  isError,
+  data: detail,
+  refetch,
+} = useQuery({
+  queryKey: ['userServices/getPersonalUserBankCard'],
+  queryFn: async () => {
+    return await userServices.getPersonalUserBankCard(
+      { access: EnumUserBankCardAccess.Bank },
+      {
+        showLoading: false,
+      }
+    );
+  },
+  placeholderData: () => ({} as API.GetPersonalUserBankCardQueryResult),
+  onSuccess(data) {},
+});
+
+async function handleUnbind() {
+  try {
+    await Message.confirm({ message: '纭畾瑕佽В缁戦摱琛屽崱鍚楋紵' });
+    let params: API.DeletePersonalUserBankCardCommand = {
+      access: EnumUserBankCardAccess.Bank,
+    };
+    let res = await userServices.deletePersonalUserBankCard(params);
+    if (res) {
+      Message.success('瑙g粦鎴愬姛', {
+        onClosed() {
+          goUserCenter();
+        },
+      });
+    }
+  } catch (error) {}
+}
 </script>
 
 <style lang="scss">
@@ -34,7 +80,7 @@
 
 .bindBankCard-page-wrapper {
   .bind-bank-card-wrapper {
-    margin: 20px auto 0;
+    margin: 0 auto;
     width: 660px;
     height: 360px;
     padding: 60px 72px;

--
Gitblit v1.9.1