wupengfei
昨天 7e4fa7d43d84b4faea0fca20ed6dc5e20637aa0e
fix: bug
3个文件已添加
2个文件已修改
121 ■■■■■ 已修改文件
apps/cMiniApp/src/app.config.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/constants/router.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/app.config.ts
@@ -90,6 +90,7 @@
        'mineWallet/mineWallet',
        'bindBankCard/bindBankCard',
        'unboundBankCard/unboundBankCard',
        'unboundAlipay/unboundAlipay',
        'incomeDetail/incomeDetail',
        'incomeDetailInfo/incomeDetailInfo',
        'withdraw/withdraw',
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',
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/InnerPage.vue
New file
@@ -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>
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.config.ts
New file
@@ -0,0 +1,3 @@
export default definePageConfig({
  disableScroll: true,
});
apps/cMiniApp/src/subpackages/wallet/unboundAlipay/unboundAlipay.vue
New file
@@ -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>