From 8771da2ccf6f7c3fd2a8c89a1a0e230c6386db7f Mon Sep 17 00:00:00 2001
From: 石广澎 <shiguangpeng@163.com>
Date: 星期一, 17 十一月 2025 15:40:48 +0800
Subject: [PATCH] feat(api): 新增多个API接口并优化配置
---
pages/pay/addCardCode.vue | 141 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 141 insertions(+), 0 deletions(-)
diff --git a/pages/pay/addCardCode.vue b/pages/pay/addCardCode.vue
new file mode 100644
index 0000000..1d72a36
--- /dev/null
+++ b/pages/pay/addCardCode.vue
@@ -0,0 +1,141 @@
+<template>
+ <view>
+ <view class="u-p-30 color-666">宸插彂閫佽嚦鎵嬫満鍙穥{form.mobile|mobile_asterisk}}</view>
+ <u--form class="bg-fff u-p-h-30" labelWidth="80" :model="form" :rules="rules" ref="uForm">
+ <u-form-item label="楠岃瘉鐮�" prop="code">
+ <u--input v-model="form.code" border="none" placeholder="璇疯緭鍏ユ墜鏈洪獙璇佺爜"></u--input>
+ <u-button slot="right" @click="getCode" type="error" size="mini" plain :text="tips"></u-button>
+ </u-form-item>
+ </u--form>
+ <view class="u-p-40">
+ <u-button @click="doBind" :loading="loading" :disabled="loading" type="error" text="纭缁戝崱"></u-button>
+ </view>
+ <u-toast ref="uToast"></u-toast>
+ <u-code :seconds="seconds" ref="uCode" @change="codeChange"></u-code>
+ </view>
+</template>
+
+<script>
+ import {
+ signUpToApply,
+ bindCard
+ } from '@/common/api/index'
+ const bankName = require("@/common/bankName.js");
+ export default {
+ data() {
+ return {
+ tips: '',
+ seconds: 60,
+ loading: false,
+ form: {
+ acctName: '',
+ cardNo: '',
+ bankName: '',
+ cardType: 'DC',
+ validdate: '',
+ cvv2: '',
+ idNo: '',
+ mobile: '18737516907',
+ thpinfo: '',
+ code: ''
+ },
+ rules: {
+ code: [{
+ required: true,
+ message: '楠岃瘉鐮佷笉鑳戒负绌�',
+ trigger: 'blur'
+ }, {
+ // 鑷畾涔夐獙璇佸嚱鏁帮紝瑙佷笂璇存槑
+ validator: (rule, value, callback) => {
+ // 涓婇潰鏈夎锛岃繑鍥瀟rue琛ㄧず鏍¢獙閫氳繃锛岃繑鍥瀎alse琛ㄧず涓嶉�氳繃
+ // uni.$u.test.mobile()灏辨槸杩斿洖true鎴栬�協alse鐨�
+ return uni.$u.test.code(value, 6);
+ },
+ message: '楠岃瘉鐮佹牸寮忎笉姝g‘',
+ trigger: 'change'
+ }]
+ }
+ };
+ },
+ filters: {
+ mobile_asterisk(mobile) {
+ if (uni.$u.test.isEmpty(mobile)) {
+ return ''
+ }
+ return mobile.substr(0, 4) +
+ "****" + mobile.substr(8, 3);
+ }
+ },
+ onLoad(opt) {
+ opt.acctName = decodeURIComponent(opt.acctName || '')
+ opt.bankName = decodeURIComponent(opt.bankName || '')
+ this.form = opt
+ },
+ onReady() {
+ //濡傛灉闇�瑕佸吋瀹瑰井淇″皬绋嬪簭锛屽苟涓旀牎楠岃鍒欎腑鍚湁鏂规硶绛夛紝鍙兘閫氳繃setRules鏂规硶璁剧疆瑙勫垯銆�
+ this.$refs.uForm.setRules(this.rules)
+ this.$refs.uCode.start();
+ },
+ methods: {
+ codeChange(text) {
+ this.tips = text;
+ },
+ getCode() {
+ if (this.$refs.uCode.canGetCode) {
+ // 妯℃嫙鍚戝悗绔姹傞獙璇佺爜
+ uni.showLoading({
+ title: '姝e湪鑾峰彇楠岃瘉鐮�'
+ })
+ const params = uni.$u.deepClone(this.form);
+ delete params.thpinfo
+ delete params.code
+ delete params.bankName
+ delete params.cardType
+ signUpToApply(params).then(res => {
+ this.form.thpinfo = res
+ uni.hideLoading();
+ uni.$u.toast('楠岃瘉鐮佸凡鍙戦��');
+ // 閫氱煡楠岃瘉鐮佺粍浠跺唴閮ㄥ紑濮嬪�掕鏃�
+ this.$refs.uCode.start();
+ }).catch(() => {
+ uni.$u.toast('楠岃瘉鐮佸彂閫佸け璐�');
+ uni.hideLoading();
+ })
+ } else {
+ uni.$u.toast('鍊掕鏃剁粨鏉熷悗鍐嶅彂閫�');
+ }
+ },
+ doBind() {
+ this.$refs.uForm.validate().then(res => {
+ this.loading = true
+ const params = uni.$u.deepClone(this.form);
+ delete params.bankName
+ delete params.cardType
+ bindCard(params).then(res => {
+ this.loading = false
+ this.$refs.uToast.show({
+ type: 'success',
+ title: '鎴愬姛',
+ message: "缁戝崱鎴愬姛",
+ iconUrl: 'https://cdn.uviewui.com/uview/demo/toast/success.png',
+ complete: () => {
+ uni.navigateBack({
+ delta: 3
+ })
+ }
+ })
+
+ }).catch(() => {
+ this.loading = false
+ })
+ }).catch(errors => {
+
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+
+</style>
--
Gitblit v1.9.1