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