@uxda/appkit 4.3.13 → 4.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/COMPONENT_USAGE.md +3 -3
  2. package/dist/appkit.css +12 -105
  3. package/dist/index.js +449 -1060
  4. package/package.json +5 -2
  5. package/src/balance/api/index.ts +1 -1
  6. package/src/balance/components/PromoterCard.vue +0 -1
  7. package/src/notice/api/index.ts +1 -1
  8. package/src/notice/components/NoticeList2.vue +73 -234
  9. package/src/notice/components/useCommonList.ts +0 -1
  10. package/src/payment/api/endpoints.ts +14 -2
  11. package/src/payment/api/index.ts +1 -2
  12. package/src/payment/components/RechargeResult.vue +1 -0
  13. package/src/payment/components/RechargeView.vue +45 -13
  14. package/src/payment/components/TradeView.vue +153 -326
  15. package/src/payment/services/request-payment.ts +0 -2
  16. package/src/payment/types.ts +0 -1
  17. package/src/register/components/SelfRegistration.vue +1 -1
  18. package/src/shared/components/AppVerify.vue +6 -15
  19. package/src/shared/components/OcrBusinessLicense.vue +37 -20
  20. package/src/shared/components/OcrIcon.vue +67 -105
  21. package/src/shared/components/index.ts +1 -3
  22. package/src/shared/composables/index.ts +0 -1
  23. package/src/shared/composables/useDeviceEnv.ts +35 -1
  24. package/src/shared/composables/useUpload.ts +51 -96
  25. package/src/shared/http/Http.ts +0 -1
  26. package/src/shared/tracking/tracking-sdk.ts +1 -0
  27. package/src/shared/weixin/jssdk.ts +0 -1
  28. package/src/user/api/index.ts +1 -1
  29. package/src/user/components/UserAuth.vue +1 -1
  30. package/src/user/components/UserFeedback.vue +0 -1
  31. package/src/user/components/UserInfo.vue +0 -2
  32. package/types/global.d.ts +0 -2
  33. package/src/shared/components/OcrBank.vue +0 -202
  34. package/src/shared/components/OcrInvoice.vue +0 -322
  35. package/src/shared/composables/useCompress.ts +0 -64
@@ -1,58 +1,28 @@
1
1
  <template>
2
2
  <view class="view recharge-view2">
3
3
  <view class="flex-grow">
4
- <rights-picker
5
- :items="amounts"
6
- :selected="state.selected"
7
- @change="onAmountSelect"
8
- />
4
+ <rights-picker :items="amounts" :selected="state.selected" @change="onAmountSelect" />
9
5
  <div class="bean-buy" v-if="amounts[state.selected]">
10
6
  <div class="left">
11
7
  <div class="title">使用云豆支付</div>
12
- <div class="amount" v-if="!selectBean || isCombinedPayment">
13
- 余额 {{ formatAmount(balance || 0) }}
14
- </div>
15
- <div class="amount" v-else>
16
- 扣减后余额
17
- {{ formatAmount(balance - amounts[state.selected].paymentAmount) }}
18
- </div>
8
+ <div class="amount" v-if="!selectBean">余额 {{ formatAmount(balance || 0) }}</div>
9
+ <div class="amount" v-else>扣减后余额 {{ formatAmount(balance - amounts[state.selected].paymentAmount) }}</div>
19
10
  </div>
20
- <div class="right" @click="selectBean = !selectBean">
21
- <div class="amount">
22
- -{{ formatAmount(amounts[state.selected].paymentAmount || 0) }}
23
- </div>
24
- <img
25
- class="icon"
26
- :src="
27
- selectBean
28
- ? 'https://cdn.ddjf.com/static/images/appkit/select.svg'
29
- : 'https://cdn.ddjf.com/static/images/appkit/not-select.svg'
30
- "
31
- />
32
- </div>
33
-
34
- <div class="balance-warning" v-if="isCombinedPayment">
35
- 云豆余额不足,还需额外支付{{ formatAmount(extraPaymentAmount) }}元
11
+ <div class="right" v-if="balance >= amounts[state.selected].paymentAmount" @click="selectBean = !selectBean">
12
+ <div class="amount">-{{ formatAmount(amounts[state.selected].paymentAmount || 0) }}</div>
13
+ <img class="icon"
14
+ :src="selectBean ? 'https://cdn.ddjf.com/static/images/appkit/select.svg' : 'https://cdn.ddjf.com/static/images/appkit/not-select.svg'" />
36
15
  </div>
37
16
  </div>
38
17
 
39
- <div class="balance-warning-tip" v-if="isCombinedPayment">
40
- 请在支付完成前确保元豆余额不被消耗,否则本次权益可能购买失败
41
- </div>
42
18
 
43
19
  <slot name="banner"></slot>
44
20
  </view>
45
21
 
46
22
  <view class="amount-footer">
47
- <view class="agreement" v-if="!selectBean || isCombinedPayment">
48
- <nut-checkbox v-model="state.agreed"
49
- >我已阅读并同意<a
50
- v-track-click
51
- class="link inline"
52
- @click="onAgreementLinkClick"
53
- >《大道云平台云豆充值服务协议》</a
54
- ></nut-checkbox
55
- >
23
+ <view class="agreement" v-if="!selectBean">
24
+ <nut-checkbox v-model="state.agreed">我已阅读并同意<a v-track-click class="link inline"
25
+ @click="onAgreementLinkClick">《大道云平台云豆充值服务协议》</a></nut-checkbox>
56
26
  </view>
57
27
  <div class="buy-amount">
58
28
  <div class="left">
@@ -61,54 +31,29 @@
61
31
  <i>¥</i>{{ formatAmount(currentAmount) }}
62
32
  </span>
63
33
  </div>
64
- <nut-button
65
- block
66
- shape="square"
67
- :loading="state.buttonLoading"
68
- v-track-click
69
- @click="onPayClick"
70
- class="recharge-button"
71
- >购买</nut-button
72
- >
34
+ <nut-button block shape="square" :loading="state.buttonLoading" v-track-click @click="onPayClick"
35
+ class="recharge-button">购买</nut-button>
73
36
  </div>
74
37
  </view>
75
- <nut-dialog
76
- title="确认购买"
77
- custom-class="trade-dialog"
78
- v-model:visible="showDialog"
79
- @cancel="showDialog = !showDialog"
80
- @ok="beanPay"
81
- >
38
+ <nut-dialog title="确认购买" custom-class="trade-dialog" v-model:visible="showDialog" @cancel="showDialog = !showDialog"
39
+ @ok="beanPay">
82
40
  <template v-if="amounts[state.selected]">
83
- <div class="item">
84
- 云豆扣减:{{
85
- formatAmount(amounts[state.selected].paymentAmount || 0)
86
- }}
87
- </div>
88
- <div class="item">
89
- 权益增加:{{
90
- formatAmount(amounts[state.selected].priceRightNum || 0)
91
- }}笔
92
- </div>
93
- <div class="item">
94
- 扣减后云豆余额:{{
95
- formatAmount(balance - amounts[state.selected].paymentAmount)
96
- }}
97
- </div>
41
+ <div class="item">云豆扣减:{{ formatAmount(amounts[state.selected].paymentAmount || 0) }}</div>
42
+ <div class="item">权益增加:{{ formatAmount(amounts[state.selected].priceRightNum || 0) }}笔</div>
43
+ <div class="item">扣减后云豆余额:{{ formatAmount(balance - amounts[state.selected].paymentAmount) }}</div>
98
44
  </template>
99
45
  </nut-dialog>
100
46
  </view>
101
47
  </template>
102
48
 
103
49
  <script lang="ts" setup>
104
- import { computed, onMounted, reactive, ref } from "vue";
105
- import RightsPicker, { Amount } from "./RightsPicker.vue";
106
- import { endpoints, useHttp } from "../api";
107
- import { endpoints as balanceEndpoints } from "../../balance/api";
108
- import { requestBrandWCPayByBean, requestPaymentByBean } from "../services";
109
- import Taro, { showToast, useRouter, showModal } from "@tarojs/taro";
110
- import { useAmount } from "../../shared/composables/useAmount";
111
- import { isWechat } from "../../shared/composables/useDeviceEnv";
50
+ import { computed, onMounted, reactive, ref } from 'vue'
51
+ import RightsPicker, { Amount } from './RightsPicker.vue'
52
+ import { endpoints, useHttp } from '../api'
53
+ import { requestBrandWCPayByBean, requestPaymentByBean } from '../services'
54
+ import Taro, { showToast, useRouter } from '@tarojs/taro'
55
+ import { useAmount } from '../../shared/composables/useAmount'
56
+ import { isAlipay,isAndroid,isChrome,isIOS,isSafari,isWechat } from '../../shared/composables/useDeviceEnv'
112
57
 
113
58
  // 充值用户界面
114
59
  // 配置了必须的属性后
@@ -118,11 +63,11 @@ export interface RechargeViewProps {
118
63
  /**
119
64
  * header头中的appcode,一般情况下与app参数一致,当无应用权限时,此参数未空
120
65
  **/
121
- headerApp: string;
66
+ headerApp: string,
122
67
  /**
123
68
  * 应用
124
69
  **/
125
- app: string;
70
+ app: string,
126
71
  /**
127
72
  * 充值场景
128
73
  */
@@ -130,20 +75,16 @@ export interface RechargeViewProps {
130
75
  /**
131
76
  * 租户
132
77
  */
133
- tenant: string;
78
+ tenant: string,
134
79
  /**
135
80
  * h5支付完成后跳转地址
136
81
  */
137
- payFinishJumpUrl?: "";
138
- /**
139
- * 所有应用
140
- **/
141
- apps?: string;
82
+ payFinishJumpUrl?: ''
142
83
  }
143
84
 
144
- const props = defineProps<RechargeViewProps>();
145
- const { formatAmount } = useAmount();
146
- const { params } = useRouter();
85
+ const props = defineProps<RechargeViewProps>()
86
+ const { formatAmount } = useAmount()
87
+ const { params } = useRouter()
147
88
 
148
89
  const emit = defineEmits<{
149
90
  (event: 'complete', value: { result: boolean, type: string }): void,
@@ -156,249 +97,156 @@ const state = reactive({
156
97
  selected: 0,
157
98
  // agreementOpen: false,
158
99
  buttonLoading: false,
159
- });
100
+ thirdPayId: '',
101
+ })
160
102
 
161
- const balance = ref<number>(0);
162
- const amounts = ref<Amount[]>([]);
163
- const selectBean = ref<boolean>(false);
103
+
104
+ const balance = ref<number>(0)
105
+ const amounts = ref<Amount[]>([])
106
+ const selectBean = ref<boolean>(false)
164
107
 
165
108
  const onAgreementLinkClick = (e) => {
166
- e.preventDefault();
167
- e.stopImmediatePropagation();
168
- emit("agree");
109
+ e.preventDefault()
110
+ e.stopImmediatePropagation()
111
+ emit('agree')
169
112
  // state.agreementOpen = true
170
- };
113
+ }
171
114
 
172
115
  const onAmountSelect = (selected: number) => {
173
- state.selected = selected;
174
- selectBean.value = false;
175
- };
176
-
177
- // 计算额外支付金额(当云豆余额不足时)
178
- const extraPaymentAmount = computed(() => {
179
- if (!selectBean.value || !amounts.value[state.selected]) {
180
- return 0;
181
- }
182
- const paymentAmount = amounts.value[state.selected].paymentAmount || 0;
183
- const currentBalance = balance.value || 0;
184
- return Math.max(0, paymentAmount - currentBalance);
185
- });
116
+ state.selected = selected
117
+ selectBean.value = false
118
+ }
186
119
 
187
- // 计算待支付金额
188
120
  const currentAmount = computed(() => {
189
- if (!amounts.value[state.selected]) {
190
- return 0;
191
- }
192
-
193
- // 如果选择了云豆支付
194
- if (selectBean.value) {
195
- // 如果余额不足,返回额外需要支付的金额
196
- if (balance.value < amounts.value[state.selected].paymentAmount) {
197
- return extraPaymentAmount.value;
198
- }
199
- // 如果余额充足,返回0(全部用云豆支付)
200
- return 0;
201
- }
202
-
203
- // 如果没有选择云豆支付,返回全额
204
- return amounts.value[state.selected].paymentAmount || 0;
205
- });
206
-
207
- // 判断是否为组合支付
208
- const isCombinedPayment = computed(() => {
209
- return (
210
- selectBean.value &&
211
- amounts.value[state.selected] &&
212
- balance.value < amounts.value[state.selected].paymentAmount
213
- );
214
- });
121
+ return amounts.value[state.selected] && !selectBean.value ? amounts.value[state.selected].paymentAmount : 0
122
+ })
215
123
 
216
124
  onMounted(() => {
217
- const $http = useHttp({ Appcode: props.headerApp, Tenant: props.tenant });
218
- $http
219
- .get<any[]>(endpoints.获取增值权益类目, {
220
- rightCode:
221
- props.app === "corporateStar" ? "riskQueryCompany" : "riskQueryMulti",
222
- })
223
- .then((res: any) => {
224
- balance.value = res.balance;
225
- amounts.value = res.paymentCaseConfigVOS;
226
- emit("loaded");
227
- });
228
- });
229
-
230
- // 云豆支付对话框
231
- const showDialog = ref<boolean>(false);
125
+ const $http = useHttp({ Appcode: props.headerApp, Tenant: props.tenant })
126
+ $http.get<any[]>(endpoints.获取增值权益类目, {
127
+ rightCode: props.app === 'corporateStar' ? 'riskQueryCompany' : 'riskQueryMulti',
128
+ scene: isWechat() ? '' : 'APP'
129
+ }).then((res: any) => {
130
+ balance.value = res.balance
131
+ amounts.value = res.paymentCaseConfigVOS
132
+ emit('loaded')
133
+ })
134
+ })
232
135
 
233
- // 处理确认支付(纯云豆支付)
136
+ // 云豆支付
137
+ const showDialog = ref<boolean>(false)
234
138
  async function beanPay() {
235
- const $http = useHttp({ Appcode: props.headerApp, Tenant: props.tenant });
236
- try {
237
- const response: any = await $http.post(
238
- `/payment/paymentCaseConfig/purchase/${amounts.value[state.selected].id}`
239
- );
139
+ const $http = useHttp({ Appcode: props.headerApp, Tenant: props.tenant })
140
+ $http.post(`/payment/paymentCaseConfig/purchase/${amounts.value[state.selected].id}`).then((response: any) => {
240
141
  if (response) {
241
- showDialog.value = false;
242
- emit("complete", { result: response, type: "bean" });
142
+ showDialog.value = false
143
+ emit('complete', { result: response, type: 'bean' })
243
144
  } else {
244
145
  showToast({
245
- title: (response as any)?.message || "支付失败",
246
- icon: "none",
247
- });
146
+ title: response.message,
147
+ icon: 'none',
148
+ })
248
149
  }
249
- } catch (error: any) {
250
- showToast({
251
- title: error?.message || "支付失败",
252
- icon: "none",
253
- });
254
- }
150
+ })
255
151
  }
256
152
 
257
- // 执行微信支付(用于组合支付或纯微信支付)
258
- function proceedWechatPayment() {
259
- if (!state.agreed) {
260
- showToast({
261
- title: "请勾选《大道云平台云豆充值协议》",
262
- icon: "none",
263
- });
264
- return false;
265
- }
266
153
 
267
- state.buttonLoading = true;
154
+ const onPayClick = () => {
155
+ // 用云豆支付
156
+ if (selectBean.value) {
157
+ showDialog.value = true
158
+ return
159
+ }
268
160
 
269
- if (Taro.getEnv() === "WEB") {
270
- if (!isWechat()) {
271
- showToast({
272
- title: "请使用微信浏览器打开",
273
- icon: "none",
274
- });
275
- state.buttonLoading = false;
276
- return false;
277
- }
278
- // 组合支付或纯微信支付:传递caseConfigId和amount,后端会自动处理云豆扣减
161
+ // 微信支付
162
+ if (!selectBean.value && !state.agreed) {
163
+ showToast({
164
+ title: '请勾选《大道云平台云豆充值协议》',
165
+ icon: 'none',
166
+ })
167
+ return false
168
+ }
169
+ state.buttonLoading = true
170
+
171
+ if (Taro.getEnv() === 'WEB') {
172
+ // if (!isWechat()) {
173
+ // showToast({
174
+ // title: '请使用微信浏览器打开',
175
+ // icon: 'none',
176
+ // })
177
+ // state.buttonLoading = false
178
+ // return false
179
+ // }
279
180
  requestBrandWCPayByBean({
280
181
  caseConfigId: amounts.value[state.selected].id,
281
- amount: currentAmount.value,
282
- app: "loankitMp",
182
+ amount: amounts.value[state.selected].paymentAmount,
183
+ app: 'loankitMp',
283
184
  tenant: props.tenant,
284
185
  accountAuthFlag: false,
285
- channelCode: "centergzh",
186
+ channelCode: getChannelCode(),
286
187
  payFinishJumpUrl: props.payFinishJumpUrl,
287
- fromMini: !!params.from,
288
- useCloudBean: isCombinedPayment.value
188
+ fromMini: !!params.from
189
+ }).then((result: any) => {
190
+ state.buttonLoading = false;
191
+ if (typeof result === "boolean" && result) {
192
+ window.location.href = props.payFinishJumpUrl as string;
193
+ } else if (typeof result === 'object' && result?.paymentType === 'H5' && result?.prePayStr) {
194
+ state.thirdPayId = result?.thirdPayId || ''
195
+ window.location.href = result?.prePayStr;
196
+ } else {
197
+ emit('complete', { result, type: 'wePay' })
198
+ }
289
199
  })
290
- .then((result) => {
291
- state.buttonLoading = false;
292
- if (typeof result === "boolean" && result) {
293
- window.location.href = props.payFinishJumpUrl as string;
294
- } else {
295
- emit("complete", {
296
- result,
297
- type: isCombinedPayment.value ? "combined" : "wePay",
298
- });
299
- }
300
- })
301
- .catch((error) => {
302
- state.buttonLoading = false;
303
- showToast({
304
- title: error.message || "支付失败",
305
- icon: "none",
306
- });
307
- });
308
200
  } else {
309
201
  wx.login({
310
202
  success({ code }: { code: string }) {
311
- requestPaymentByBean(
312
- {
313
- caseConfigId: amounts.value[state.selected].id,
314
- amount: currentAmount.value,
315
- app: props.app,
316
- tenant: props.tenant,
317
- user: code,
318
- },
319
- props.headerApp
320
- )
321
- .then((result) => {
322
- state.buttonLoading = false;
323
- if (result) {
324
- emit("complete", {
325
- result: true,
326
- type: isCombinedPayment.value ? "combined" : "wePay",
327
- });
328
- }
329
- })
330
- .catch((error) => {
331
- state.buttonLoading = false;
332
- showToast({
333
- title: error.message || "支付失败",
334
- icon: "none",
335
- });
336
- });
337
- },
338
- fail() {
339
- state.buttonLoading = false;
340
- showToast({
341
- title: "登录失败,请重试",
342
- icon: "none",
343
- });
344
- },
345
- });
203
+ requestPaymentByBean({
204
+ caseConfigId: amounts.value[state.selected].id,
205
+ amount: amounts.value[state.selected].paymentAmount,
206
+ app: props.app,
207
+ tenant: props.tenant,
208
+ user: code,
209
+ }, props.headerApp).then(result => {
210
+ state.buttonLoading = false
211
+ if (result) {
212
+ emit('complete', { result: true, type: 'wePay' })
213
+ }
214
+ })
215
+ }
216
+ })
346
217
  }
347
218
  }
348
219
 
349
- const onPayClick = async () => {
350
- // 用云豆支付(纯云豆支付)
351
- if (selectBean.value && !isCombinedPayment.value) {
352
- showDialog.value = true;
353
- return;
354
- }
355
-
356
- if (isCombinedPayment.value) {
357
- // 检验云豆是否已经改变,改变则刷新选择
358
- const res = await checkBalance()
359
- if (!res) return
220
+ // 根据环境判断渠道编码
221
+ function getChannelCode() {
222
+ if (isWechat()) {
223
+ return 'centergzh';
224
+ } else if (isAlipay() || isAndroid() || (isIOS() && !isChrome() && !isSafari())) {
225
+ return 'YundouZfb';
226
+ } else {
227
+ return 'distributor';
360
228
  }
361
-
362
- // 纯微信支付
363
- proceedWechatPayment();
364
229
  }
365
230
 
366
- /**
367
- * 校验余额是否充足
368
- */
369
- async function checkBalance() {
370
- const $http = useHttp()
371
- return new Promise((resolve, reject) => {
372
- state.buttonLoading = true;
373
- $http
374
- .get<any>(balanceEndpoints.获取余额明细, {
375
- app: props.apps,
376
- })
377
- .then((data) => {
378
- state.buttonLoading = false;
379
- if (data.commonAccount < balance.value) {
380
- showModal({
381
- title: '温馨提示',
382
- content: '云豆不足,请刷新后再次确认',
383
- showCancel: false,
384
- confirmText: '刷新',
385
- confirmColor: '#017fff',
386
- success: () => {
387
- balance.value = data.commonAccount;
388
- }
389
- })
390
- resolve(false)
391
-
392
- } else {
393
- resolve(true)
394
- }
395
- }).catch((error) => {
396
- state.buttonLoading = false;
397
- resolve(false)
398
- })
231
+ const payResultCheck = () => {
232
+ if (!state.thirdPayId) return
233
+
234
+ const $http = useHttp()
235
+ $http.get<any>(endpoints.获取支付结果, {
236
+ thirdPayId: state.thirdPayId
237
+ }).then(response => {
238
+ if (response.payStatus === 'paid') {
239
+ emit("complete", {
240
+ result: true,
241
+ type: "wePay",
242
+ });
243
+ }
399
244
  })
400
245
  }
401
246
 
247
+ defineExpose({
248
+ payResultCheck
249
+ })
402
250
  </script>
403
251
 
404
252
  <style lang="scss">
@@ -415,16 +263,15 @@ const onPayClick = async () => {
415
263
  .bean-buy {
416
264
  margin: 0 15px;
417
265
  padding: 10px;
418
- background: #fffbf3;
266
+ background: #FFFBF3;
419
267
  border-radius: 5px;
420
268
  display: flex;
421
269
  justify-content: space-between;
422
270
  align-items: center;
423
- flex-wrap: wrap;
424
271
 
425
272
  .left {
426
273
  .title {
427
- color: #fd6701;
274
+ color: #FD6701;
428
275
  font-size: 14px;
429
276
  font-weight: 600;
430
277
  line-height: 20px;
@@ -435,7 +282,7 @@ const onPayClick = async () => {
435
282
  color: #353535;
436
283
  font-size: 13px;
437
284
  line-height: 16px;
438
- background-image: url("https://cdn.ddjf.com/static/images/appkit/yundou.png");
285
+ background-image: url('https://cdn.ddjf.com/static/images/appkit/yundou.png');
439
286
  background-repeat: no-repeat;
440
287
  background-size: 16px 16px;
441
288
  padding-left: 24px;
@@ -462,24 +309,9 @@ const onPayClick = async () => {
462
309
  }
463
310
  }
464
311
 
465
- .balance-warning {
466
- width: 100%;
467
- padding: 8px 10px;
468
- margin-top: 10px;
469
- background: #fdefe6;
470
- border-radius: 5px;
471
- color: #fd6701;
472
- font-size: 12px;
473
-
474
- &-tip {
475
- margin: 10px 26px 0;
476
- color: #666666;
477
- font-size: 10px;
478
- }
479
- }
480
-
481
312
  .amount-footer {
482
313
  padding: 10px 0;
314
+ padding-bottom: 20px;
483
315
 
484
316
  .agreement {
485
317
  font-size: 12px;
@@ -504,7 +336,7 @@ const onPayClick = async () => {
504
336
  font-size: 13px;
505
337
 
506
338
  .amount {
507
- color: #fd6701;
339
+ color: #FD6701;
508
340
  font-size: 20px;
509
341
  font-weight: 600;
510
342
 
@@ -516,12 +348,7 @@ const onPayClick = async () => {
516
348
  }
517
349
 
518
350
  .recharge-button {
519
- background: linear-gradient(
520
- 90deg,
521
- #ffebc1 0%,
522
- #ffd7a7 52.29%,
523
- #ffb875 100%
524
- );
351
+ background: linear-gradient(90deg, #FFEBC1 0%, #FFD7A7 52.29%, #FFB875 100%);
525
352
  color: #353535;
526
353
  margin: 12px 0;
527
354
  border: 0;
@@ -542,7 +369,7 @@ const onPayClick = async () => {
542
369
 
543
370
  .link {
544
371
  display: inline;
545
- color: #fd6701;
372
+ color: #FD6701;
546
373
  }
547
374
  }
548
375
  }
@@ -550,7 +377,7 @@ const onPayClick = async () => {
550
377
  .trade-dialog {
551
378
  .nut-dialog__header {
552
379
  font-size: 16px;
553
- color: #262626;
380
+ color: #262626
554
381
  }
555
382
 
556
383
  .item {
@@ -561,13 +388,13 @@ const onPayClick = async () => {
561
388
 
562
389
  .nut-dialog__footer-cancel {
563
390
  color: #353535 !important;
564
- border-color: #cccccc !important;
391
+ border-color: #CCCCCC !important;
565
392
  }
566
393
 
567
394
  .nut-dialog__footer-ok {
568
395
  border: none;
569
396
  color: #353535;
570
- background: linear-gradient(90deg, #ffebc1 0%, #ffb875 100%);
397
+ background: linear-gradient(90deg, #FFEBC1 0%, #FFB875 100%);
571
398
  }
572
399
  }
573
400
  </style>
@@ -117,8 +117,6 @@ const requestBrandWCPayByBean = (params: PaymentParams, Appcode = '') => {
117
117
  }
118
118
  })
119
119
  }
120
- }).catch(() => {
121
- resolve(false)
122
120
  })
123
121
  })
124
122
  }
@@ -28,7 +28,6 @@ export type PaymentParams = {
28
28
  payFinishJumpUrl?: string
29
29
  fromMini?: Boolean
30
30
  clientInfo?: string
31
- useCloudBean?: boolean
32
31
  }
33
32
 
34
33
  export type RechargeParams = Pick<PaymentParams, 'app' | 'tenant'>
@@ -124,7 +124,7 @@ async function submit() {
124
124
  <nut-form-item label="你的姓名" required>
125
125
  <div class="self-registration__input">
126
126
  <input v-model="formState.name" class="nut-input-text" placeholder="请输入或拍照识别" type="text" :maxlength="20" />
127
- <OcrIcon :has-upload-vo="false" @complete="onOCRInfo">
127
+ <OcrIcon @complete="onOCRInfo">
128
128
  <template #icon>
129
129
  <img style="width: 20px; height: 20px; margin-left: 5px;"
130
130
  src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MCIgaGVpZ2h0PSI0MCIgZmlsbD0ibm9uZSI+PHBhdGggb3BhY2l0eT0iLjAxIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTQwIDB2NDBIMFYwaDQweiIgZmlsbD0iI0M0QzRDNCIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMzMuMDQ0IDE3LjM2M2MuOTYgMCAxLjczOS0uNzkgMS43MzktMS43NjYgMC0uOTc1LS43NzktMS43NjYtMS43NC0xLjc2Ni0uOTYgMC0xLjczOC43OS0xLjczOCAxLjc2NnMuNzc4IDEuNzY2IDEuNzM5IDEuNzY2eiIgZmlsbD0iIzRCQ0I5MyIvPjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMCAzMS44MTJWMTQuNzg4YzAtMi4yNTggMi4wNDktNC4wOTcgNC41NjQtNC4wOTdoMy44NDRsMS4xMzYtMy42NThDOS44ODggNS45MTMgMTEuMjM3IDUgMTIuNTQ4IDVIMjcuNDVjMS4zOSAwIDIuNjguODc2IDMuMDEgMi4wNDRsMS4xMzMgMy42NDdoMy44NDRjMi41MTUgMCA0LjU2NCAxLjgzOSA0LjU2NCA0LjA5N3YxLjczOWMwIC41MDMtLjQ1NC45MS0xLjAxNC45MXMtMS4wMTQtLjQwNy0xLjAxNC0uOTF2LTEuNzRjMC0xLjI1My0xLjEzOS0yLjI3NS0yLjUzNi0yLjI3NWgtMy44NDRjLS45MDcgMC0xLjcxMS0uNTQ5LTEuOTU1LTEuMzMybC0xLjEzNi0zLjY2YS4zNDIuMzQyIDAgMCAwLS4wMDctLjAyNWMtLjExLS4zOTYtLjYzOS0uNjc0LTEuMDQ1LS42NzRoLTE0LjljLS4zOTkgMC0uOTUuMzY2LTEuMDUzLjY5OWwtMS4xMzYgMy42NmMtLjI0Ny43ODYtMS4wNDUgMS4zMy0xLjk1NSAxLjMzMkg0LjU2NGMtMS4zOTcgMC0yLjUzNiAxLjAyMi0yLjUzNiAyLjI3NnYxNy4wMjRjMCAxLjI1NCAxLjEzOSAyLjI3NiAyLjUzNiAyLjI3NmgzMC44N2MxLjM5NyAwIDIuNTM1LTEuMDIyIDIuNTM1LTIuMjc2VjIxLjU5NmMwLS41MDMuNDU0LS45MSAxLjAxNC0uOTFzMS4wMTUuNDA3IDEuMDE1LjkxVjMxLjgxYy0uMDAzIDIuMjYtMi4wNSA0LjEtNC41NjcgNC4xSDQuNTY0QzIuMDQ5IDM1LjkxIDAgMzQuMDcgMCAzMS44MTF6IiBmaWxsPSIjNEJDQjkzIi8+PHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi4xNzQgMjEuNzc4YzAtNC44NyAzLjcwNS04LjgzIDguMjYtOC44MyA0LjU1NiAwIDguMjYyIDMuOTYgOC4yNjIgOC44M3MtMy43MDYgOC44MzItOC4yNjEgOC44MzJjLTQuNTU2IDAtOC4yNjEtMy45NjItOC4yNjEtOC44MzJ6bTEuNzc5LjEzYzAgMy43OTYgMi45MDcgNi44ODMgNi40ODIgNi44ODMgMy41NzQgMCA2LjQ4MS0zLjA4NyA2LjQ4MS02Ljg4M3MtMi45MDctNi44ODMtNi40ODItNi44ODNjLTMuNTc0IDAtNi40ODEgMy4wODctNi40ODEgNi44ODN6IiBmaWxsPSIjNEJDQjkzIi8+PC9zdmc+" />