From 7e4fa7d43d84b4faea0fca20ed6dc5e20637aa0e Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 16:36:01 +0800
Subject: [PATCH] fix: bug
---
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue | 17 +++++
apps/cMiniApp/src/constants/router.ts | 1
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts | 3 +
apps/cMiniApp/src/app.config.ts | 1
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue | 99 +++++++++++++++++++++++++++++++++
5 files changed, 121 insertions(+), 0 deletions(-)
diff --git a/apps/cMiniApp/src/app.config.ts b/apps/cMiniApp/src/app.config.ts
index a8ac25a..5d8277b 100644
--- a/apps/cMiniApp/src/app.config.ts
+++ b/apps/cMiniApp/src/app.config.ts
@@ -90,6 +90,7 @@
'mineWallet/mineWallet',
'bindBankCard/bindBankCard',
'unboundBankCard/unboundBankCard',
+ 'unboundAlipay/unboundAlipay',
'incomeDetail/incomeDetail',
'incomeDetailInfo/incomeDetailInfo',
'withdraw/withdraw',
diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts
index bf56af1..114b98d 100644
--- a/apps/cMiniApp/src/constants/router.ts
+++ b/apps/cMiniApp/src/constants/router.ts
@@ -41,6 +41,7 @@
mineWallet = '/subpackages/wallet/mineWallet/mineWallet',
unboundBankCard = '/subpackages/wallet/unboundBankCard/unboundBankCard',
+ unboundAlipay = '/subpackages/wallet/unboundBankCard/unboundAlipay',
bindBankCard = '/subpackages/wallet/bindBankCard/bindBankCard',
incomeDetail = '/subpackages/wallet/incomeDetail/incomeDetail',
incomeDetailInfo = '/subpackages/wallet/incomeDetailInfo/incomeDetailInfo',
diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
new file mode 100644
index 0000000..0356fc6
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
@@ -0,0 +1,99 @@
+<template>
+ <ContentScrollView :paddingH="false">
+ <nut-form :model-value="form" ref="formRef" :rules="rules">
+ <nut-form-item label="鏀粯瀹濇埛鍚�:" class="bole-form-item" prop="name">
+ <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ユ敮浠樺疂鎴峰悕" readonly />
+ </nut-form-item>
+ <nut-form-item label="鏀粯瀹濊处鍙�:" class="bole-form-item" prop="code">
+ <nut-input v-model.trim="form.code" placeholder="璇疯緭鍏ユ敮浠樺疂璐﹀彿" />
+ </nut-form-item>
+ </nut-form>
+ </ContentScrollView>
+ <PageFooter>
+ <PageFooterBtn type="primary" @click="handleConfirm">缁戝畾鏀粯瀹�</PageFooterBtn>
+ </PageFooter>
+</template>
+
+<script setup lang="ts">
+import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
+import { ProFormCaptcha } from 'senin-mini/components';
+import { FormValidator, Message } from '@12333/utils';
+import * as userServices from '@12333/services/apiV2/user';
+import Taro from '@tarojs/taro';
+import { useQueryClient } from '@tanstack/vue-query';
+import { EnumUserBankCardAccess } from '@12333/constants';
+
+const { userDetail } = useUser();
+const switchTab = useSwitchTab();
+defineOptions({
+ name: 'InnerPage',
+});
+
+const form = reactive({
+ name: userDetail.value?.name ?? '',
+ identity: userDetail.value?.identity ?? '',
+ phoneNumber: '',
+ code: '',
+ bank: '',
+ bankBranch: '',
+ verifyCode: '',
+});
+
+const rules = reactive<FormRules>({
+ code: [
+ { required: true, message: '璇疯緭鍏ラ摱琛屽崱鍙�' },
+ { message: '璇疯緭鍏ユ纭殑閾惰鍗″彿', validator: FormValidator.validatorBankCard },
+ ],
+ bank: [{ required: true, message: '璇疯緭鍏ュ紑鎴疯' }],
+ phoneNumber: [
+ { required: true, message: '璇峰~鍐欐墜鏈哄彿鐮�' },
+ { message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', validator: FormValidator.validatorPhoneNumber },
+ ],
+ verifyCode: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜' }],
+});
+
+async function onGetCaptcha(phoneNumber: string) {
+ await userServices.sendSavePersonalUserBankCardVerifyCode(
+ {
+ phoneNumber: form.phoneNumber,
+ },
+ { showLoading: false }
+ );
+}
+
+const formRef = ref<any>(null);
+function handleConfirm() {
+ if (!formRef.value) return;
+ formRef.value.validate().then(({ valid, errors }: any) => {
+ if (valid) {
+ confirm();
+ }
+ });
+}
+
+async function confirm() {
+ try {
+ let params: API.SavePersonalUserBankCardCommand = {
+ code: form.code,
+ bank: form.bank,
+ phoneNumber: form.phoneNumber,
+ verifyCode: form.verifyCode,
+ access: EnumUserBankCardAccess.Bank,
+ };
+ let res = await userServices.savePersonalUserBankCard(params);
+ if (res) {
+ Message.success('缁戝畾鎴愬姛', {
+ onClosed() {
+ switchTab({
+ url: RouterPath.mine,
+ });
+ },
+ });
+ }
+ } catch (error) {}
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>
diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts
new file mode 100644
index 0000000..305fdb1
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ disableScroll: true,
+});
diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue
new file mode 100644
index 0000000..c79ecde
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue
@@ -0,0 +1,17 @@
+<template>
+ <PageLayout class="unboundBankCard-page-wrapper" title="缁戝畾鏀粯瀹�" has-border>
+ <InnerPage></InnerPage>
+ </PageLayout>
+</template>
+
+<script setup lang="ts">
+import InnerPage from './InnerPage.vue';
+
+defineOptions({
+ name: 'unboundAlipay',
+});
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>
--
Gitblit v1.9.1