@uxda/appkit 4.3.8 → 4.3.12
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.
- package/.eslintrc.mjs +7 -7
- package/COMPONENT_USAGE.md +1523 -1523
- package/PROJECT_DOCS.md +142 -142
- package/README.md +187 -187
- package/babel.config.js +12 -12
- package/dist/appkit.css +63 -15
- package/dist/index.js +881 -259
- package/package.json +79 -79
- package/project.config.json +15 -15
- package/project.tt.json +13 -13
- package/rollup.config.mjs +78 -78
- package/src/Appkit.ts +72 -72
- package/src/balance/api/endpoints.ts +133 -133
- package/src/balance/api/index.ts +118 -118
- package/src/balance/components/AccountView.vue +770 -770
- package/src/balance/components/BalanceCard.vue +210 -210
- package/src/balance/components/BalanceReminder.vue +84 -84
- package/src/balance/components/ConsumptionFilter.vue +218 -218
- package/src/balance/components/ConsumptionRules.vue +68 -68
- package/src/balance/components/DateFilter.vue +259 -259
- package/src/balance/components/DateRange.vue +111 -111
- package/src/balance/components/ListFilter.vue +62 -62
- package/src/balance/components/ListFilterPicker.vue +191 -191
- package/src/balance/components/PromoterCard.vue +308 -307
- package/src/balance/components/SecondBalance.vue +77 -77
- package/src/balance/components/Tip.vue +45 -45
- package/src/balance/components/index.ts +8 -8
- package/src/balance/types.ts +99 -99
- package/src/components/bt-cropper/index.vue +730 -730
- package/src/components/bt-cropper/utils/calcCropper.js +42 -42
- package/src/components/bt-cropper/utils/calcImagePosition.js +23 -23
- package/src/components/bt-cropper/utils/calcImageSize.js +37 -37
- package/src/components/bt-cropper/utils/calcPointDistance.js +12 -12
- package/src/components/bt-cropper/utils/calcRightAndBottom.js +7 -7
- package/src/components/bt-cropper/utils/ratio.js +3 -3
- package/src/components/bt-cropper/utils/tools.js +25 -25
- package/src/components/dd-area/index.vue +225 -225
- package/src/components/dd-icon/doc.md +21 -21
- package/src/components/dd-icon/index.vue +23 -23
- package/src/components/dd-notice-bar/index.vue +78 -78
- package/src/components/dd-search/doc.md +34 -34
- package/src/components/dd-search/index.vue +168 -168
- package/src/components/dd-selector/index.vue +124 -124
- package/src/components/dd-skeleton/doc.md +19 -19
- package/src/components/dd-skeleton/index.vue +36 -36
- package/src/global.ts +6 -6
- package/src/index.ts +101 -101
- package/src/main.scss +1 -1
- package/src/notice/api/endpoints.ts +54 -54
- package/src/notice/api/index.ts +121 -121
- package/src/notice/components/NoticeBanner.vue +247 -247
- package/src/notice/components/NoticeEntry.vue +99 -99
- package/src/notice/components/NoticeList.vue +311 -311
- package/src/notice/components/NoticeList2.vue +401 -400
- package/src/notice/components/NoticePopup.vue +163 -163
- package/src/notice/components/index.ts +6 -6
- package/src/notice/components/useCommonList.ts +87 -86
- package/src/notice/components/useNotice.ts +35 -35
- package/src/notice/index.ts +1 -1
- package/src/notice/types.ts +25 -25
- package/src/payment/api/config.ts +7 -7
- package/src/payment/api/endpoints.ts +98 -96
- package/src/payment/api/index.ts +108 -107
- package/src/payment/components/AmountPicker.vue +90 -90
- package/src/payment/components/RechargeResult.vue +68 -69
- package/src/payment/components/RechargeView.vue +195 -191
- package/src/payment/components/RightsPicker.vue +105 -105
- package/src/payment/components/TradeView.vue +573 -363
- package/src/payment/components/UserAgreement.vue +234 -234
- package/src/payment/components/index.ts +22 -22
- package/src/payment/index.ts +5 -5
- package/src/payment/services/index.ts +16 -16
- package/src/payment/services/invoke-recharge.ts +25 -25
- package/src/payment/services/request-payment.ts +132 -130
- package/src/payment/types.ts +34 -33
- package/src/register/components/SelfRegistration.vue +233 -233
- package/src/register/components/index.ts +2 -2
- package/src/scenarios/components/SharePoster.vue +364 -364
- package/src/scenarios/components/index.ts +2 -2
- package/src/scenarios/components/poster-paste.vue +93 -93
- package/src/scenarios/components/share-poster.md +273 -273
- package/src/shared/components/AppDrawer.vue +53 -53
- package/src/shared/components/AppVerify.vue +137 -128
- package/src/shared/components/DeviceVersion.vue +78 -78
- package/src/shared/components/EmptyView.vue +33 -33
- package/src/shared/components/OcrBank.vue +202 -0
- package/src/shared/components/OcrBusinessLicense.vue +120 -137
- package/src/shared/components/OcrIcon.vue +267 -229
- package/src/shared/components/OcrInvoice.vue +322 -0
- package/src/shared/components/PageHeader.vue +84 -84
- package/src/shared/components/index.ts +10 -8
- package/src/shared/composables/index.ts +10 -9
- package/src/shared/composables/useAmount.ts +46 -46
- package/src/shared/composables/useCompress.ts +64 -0
- package/src/shared/composables/useCountdown.ts +46 -46
- package/src/shared/composables/useCrypto.ts +76 -76
- package/src/shared/composables/useDeviceEnv.ts +26 -26
- package/src/shared/composables/useDragBox.ts +97 -97
- package/src/shared/composables/useEncode.ts +43 -43
- package/src/shared/composables/useLogger.ts +144 -144
- package/src/shared/composables/useSafeArea.ts +46 -46
- package/src/shared/composables/useTabbar.ts +24 -24
- package/src/shared/composables/useUpload.ts +106 -61
- package/src/shared/composables/useValidator.ts +32 -32
- package/src/shared/composables/useWxAuth.ts +48 -48
- package/src/shared/http/Http.ts +149 -148
- package/src/shared/http/index.ts +1 -1
- package/src/shared/http/types.ts +163 -163
- package/src/shared/index.ts +9 -9
- package/src/shared/tracking/directives/index.ts +40 -40
- package/src/shared/tracking/examples/page-tracking-template.vue +27 -27
- package/src/shared/tracking/tracking-sdk.ts +0 -1
- package/src/shared/weixin/index.ts +9 -9
- package/src/shared/weixin/jssdk.ts +104 -103
- package/src/shared/weixin/payment.ts +38 -38
- package/src/styles/vars.scss +3 -3
- package/src/user/api/endpoints.ts +17 -17
- package/src/user/api/index.ts +123 -123
- package/src/user/components/LoginSetting.vue +114 -114
- package/src/user/components/UserAuth.vue +218 -218
- package/src/user/components/UserBinding.vue +277 -277
- package/src/user/components/UserBindingSuccess.vue +80 -80
- package/src/user/components/UserEntry.vue +139 -139
- package/src/user/components/UserFeedback.vue +428 -427
- package/src/user/components/UserFeedbackEntry.vue +175 -175
- package/src/user/components/UserHeadCrop.vue +65 -65
- package/src/user/components/UserInfo.vue +711 -709
- package/src/user/components/UserResourceEmpty.vue +75 -75
- package/src/user/components/index.ts +23 -23
- package/src/user/index.ts +1 -1
- package/src/utils/utils.ts +33 -33
- package/tsconfig.json +30 -30
- package/types/global.d.ts +24 -22
- package/types/vue.d.ts +10 -10
- package/dist/assets/asset-DcH8Kg-2 +0 -1
package/dist/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GridItem, Grid, Popup, ActionSheet, Checkbox, Button, Dialog, DatePicker, Radio, RadioGroup, FormItem, Form, Ellipsis, Skeleton, Cell, Input, Step, Steps } from '@nutui/nutui-taro';
|
|
2
2
|
import '@nutui/nutui-taro/dist/packages/button/style/css';
|
|
3
3
|
import '@nutui/nutui-taro/dist/packages/checkbox/style/css';
|
|
4
|
-
import { defineComponent, reactive,
|
|
4
|
+
import { defineComponent, reactive, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, normalizeClass, createElementVNode, toDisplayString, createTextVNode, ref, computed, onUnmounted, resolveDirective, createCommentVNode, withDirectives, renderSlot, createVNode, normalizeStyle, unref, isRef, onMounted, createStaticVNode, watch, vShow, mergeModels, useModel, resolveComponent, vModelText, watchPostEffect, withModifiers } from 'vue';
|
|
5
5
|
import '@nutui/nutui-taro/dist/packages/grid/style/css';
|
|
6
6
|
import '@nutui/nutui-taro/dist/packages/griditem/style/css';
|
|
7
|
-
import Taro, { showModal, getSystemInfoSync, getMenuButtonBoundingClientRect,
|
|
7
|
+
import Taro, { showModal, getSystemInfoSync, getMenuButtonBoundingClientRect, request as request$1, uploadFile, showToast, chooseMedia, chooseMessageFile, showLoading, hideLoading, getStorageSync, setStorageSync, getSystemInfo, getNetworkType, getEnv, getAccountInfoSync, getPerformance, onAppHide, useDidShow, onAppShow, onNetworkStatusChange, useRouter } from '@tarojs/taro';
|
|
8
8
|
import '@nutui/nutui-taro/dist/packages/popup/style/css';
|
|
9
9
|
import isMobilePhone from 'validator/es/lib/isMobilePhone';
|
|
10
10
|
import isIdentityCard from 'validator/es/lib/isIdentityCard';
|
|
11
11
|
import qs from 'qs';
|
|
12
|
-
import { NsForm, NsInput, NsButton, NsIcon, usePopup,
|
|
12
|
+
import { NsForm, NsInput, NsButton, useNutshell, NsIcon, usePopup, NsButtonGroup, usePaging, NsPage, NsTabs, NsPageContent, NsSkeleton, NsRepeator, NsCard, NsEmpty, NsCheckbox } from '@uxda/nutshell/taro';
|
|
13
13
|
import '@nutui/nutui-taro/dist/packages/actionsheet/style/css';
|
|
14
14
|
import pako from 'pako';
|
|
15
15
|
import dsBridge from 'dsbridge';
|
|
@@ -34,7 +34,7 @@ import '@nutui/nutui-taro/dist/packages/step/style/css';
|
|
|
34
34
|
|
|
35
35
|
const _hoisted_1$G = { class: "token-line number" };
|
|
36
36
|
const _hoisted_2$t = { class: "number" };
|
|
37
|
-
var script$
|
|
37
|
+
var script$O = /* @__PURE__ */ defineComponent({
|
|
38
38
|
__name: "AmountPicker",
|
|
39
39
|
props: {
|
|
40
40
|
items: { type: Array, required: true, default: () => [] },
|
|
@@ -107,7 +107,7 @@ var script$M = /* @__PURE__ */ defineComponent({
|
|
|
107
107
|
}
|
|
108
108
|
});
|
|
109
109
|
|
|
110
|
-
script$
|
|
110
|
+
script$O.__file = "src/payment/components/AmountPicker.vue";
|
|
111
111
|
|
|
112
112
|
const getSdkConfig = (appCode, url) => {
|
|
113
113
|
return new Promise((resolve, reject) => {
|
|
@@ -128,6 +128,7 @@ function requestWxH5Pay(options) {
|
|
|
128
128
|
title: "\u63D0\u793A",
|
|
129
129
|
content: "\u5F53\u524D\u73AF\u5883\u4E0D\u652F\u6301\u5FAE\u4FE1\u652F\u4ED8\uFF0C\u8BF7\u5728\u5FAE\u4FE1\u5185\u7F6E\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00",
|
|
130
130
|
confirmText: "\u786E\u5B9A",
|
|
131
|
+
confirmColor: "#017fff",
|
|
131
132
|
success: () => {
|
|
132
133
|
}
|
|
133
134
|
});
|
|
@@ -310,71 +311,84 @@ function useEncode() {
|
|
|
310
311
|
};
|
|
311
312
|
}
|
|
312
313
|
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
const
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
}
|
|
325
|
-
const
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
314
|
+
const compressImageWithCanvas = (src, quality) => {
|
|
315
|
+
return new Promise((resolve, reject) => {
|
|
316
|
+
const img = new Image();
|
|
317
|
+
img.crossOrigin = "anonymous";
|
|
318
|
+
img.onload = () => {
|
|
319
|
+
try {
|
|
320
|
+
const canvas = document.createElement("canvas");
|
|
321
|
+
const ctx = canvas.getContext("2d");
|
|
322
|
+
if (!ctx) {
|
|
323
|
+
reject(new Error("\u65E0\u6CD5\u83B7\u53D6 canvas \u4E0A\u4E0B\u6587"));
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const maxWidth = 850;
|
|
327
|
+
const maxHeight = 850;
|
|
328
|
+
let width = img.width;
|
|
329
|
+
let height = img.height;
|
|
330
|
+
if (width > maxWidth || height > maxHeight) {
|
|
331
|
+
const ratio = Math.min(maxWidth / width, maxHeight / height);
|
|
332
|
+
width = width * ratio;
|
|
333
|
+
height = height * ratio;
|
|
334
|
+
}
|
|
335
|
+
canvas.width = width;
|
|
336
|
+
canvas.height = height;
|
|
337
|
+
ctx.drawImage(img, 0, 0, width, height);
|
|
338
|
+
canvas.toBlob(
|
|
339
|
+
(blob) => {
|
|
340
|
+
if (!blob) {
|
|
341
|
+
reject(new Error("\u56FE\u7247\u538B\u7F29\u5931\u8D25"));
|
|
342
|
+
return;
|
|
343
|
+
}
|
|
344
|
+
const compressedUrl = URL.createObjectURL(blob);
|
|
345
|
+
resolve(compressedUrl);
|
|
346
|
+
},
|
|
347
|
+
"image/jpeg",
|
|
348
|
+
quality / 100
|
|
349
|
+
);
|
|
350
|
+
} catch (error) {
|
|
351
|
+
reject(error);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
354
|
+
img.onerror = () => {
|
|
355
|
+
reject(new Error("\u56FE\u7247\u52A0\u8F7D\u5931\u8D25"));
|
|
356
|
+
};
|
|
357
|
+
img.src = src;
|
|
358
|
+
});
|
|
343
359
|
};
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
360
|
+
async function compressImage(src, quality = 80) {
|
|
361
|
+
if (Taro.getEnv() === "WEB") {
|
|
362
|
+
try {
|
|
363
|
+
const compressedUrl = await compressImageWithCanvas(src, quality);
|
|
364
|
+
return { tempFilePath: compressedUrl };
|
|
365
|
+
} catch (error) {
|
|
366
|
+
console.error("\u56FE\u7247\u538B\u7F29\u5931\u8D25:", error);
|
|
367
|
+
return { tempFilePath: src };
|
|
368
|
+
}
|
|
369
|
+
} else {
|
|
347
370
|
return new Promise((resolve, reject) => {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
objectNo: `min${Date.now()}`
|
|
354
|
-
},
|
|
355
|
-
header: {
|
|
356
|
-
...config.headers,
|
|
357
|
-
token: appkitOptions.tempToken() || appkitOptions.token()
|
|
371
|
+
Taro.compressImage({
|
|
372
|
+
src,
|
|
373
|
+
quality,
|
|
374
|
+
success: (res) => {
|
|
375
|
+
resolve(res);
|
|
358
376
|
},
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
try {
|
|
362
|
-
const response = JSON.parse(data);
|
|
363
|
-
console.log("===response", response);
|
|
364
|
-
resolve(transformFields(response.result));
|
|
365
|
-
} catch (e) {
|
|
366
|
-
reject({
|
|
367
|
-
message: "\u6587\u4EF6\u4E0A\u4F20\u5F02\u5E38"
|
|
368
|
-
});
|
|
369
|
-
}
|
|
377
|
+
fail: (res) => {
|
|
378
|
+
reject(res);
|
|
370
379
|
}
|
|
371
380
|
});
|
|
372
381
|
});
|
|
373
|
-
}
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
function getCompressQuality(size) {
|
|
385
|
+
let quality = 100;
|
|
386
|
+
const curSize = size / (1024 * 1024);
|
|
387
|
+
if (curSize > 6) {
|
|
388
|
+
quality = quality - (curSize - 6) / curSize * 100;
|
|
389
|
+
}
|
|
390
|
+
return quality;
|
|
391
|
+
}
|
|
378
392
|
|
|
379
393
|
const defaultCryptoConfig = {
|
|
380
394
|
maskField: "mask",
|
|
@@ -415,6 +429,25 @@ function useCrypto(config) {
|
|
|
415
429
|
};
|
|
416
430
|
}
|
|
417
431
|
|
|
432
|
+
const globalData = {};
|
|
433
|
+
|
|
434
|
+
const appKitOptions = {
|
|
435
|
+
app: () => "",
|
|
436
|
+
tenant: () => "",
|
|
437
|
+
token: () => "",
|
|
438
|
+
tempToken: () => "",
|
|
439
|
+
baseUrl: () => "",
|
|
440
|
+
401() {
|
|
441
|
+
},
|
|
442
|
+
gray: () => ""
|
|
443
|
+
};
|
|
444
|
+
const useAppKitOptions = () => {
|
|
445
|
+
if (!globalData.$appKitOptions) {
|
|
446
|
+
globalData.$appKitOptions = appKitOptions;
|
|
447
|
+
}
|
|
448
|
+
return globalData.$appKitOptions;
|
|
449
|
+
};
|
|
450
|
+
|
|
418
451
|
const defaultLogOptions = {
|
|
419
452
|
projectName: "ddyk-dev",
|
|
420
453
|
logStore: "ddjf-internet-web",
|
|
@@ -548,11 +581,59 @@ function useWxAuth() {
|
|
|
548
581
|
};
|
|
549
582
|
}
|
|
550
583
|
|
|
584
|
+
const mappings$1 = {
|
|
585
|
+
downloadUrl: "thrumb",
|
|
586
|
+
fileId: "id",
|
|
587
|
+
fileName: "name",
|
|
588
|
+
fileSize: "size",
|
|
589
|
+
fileSuffix: "ext",
|
|
590
|
+
fileType: "type",
|
|
591
|
+
originalUrl: "url"
|
|
592
|
+
};
|
|
593
|
+
const transformFields = (row) => {
|
|
594
|
+
return Object.fromEntries(Object.entries(row).map(([k, v]) => [mappings$1[k] || k, v]));
|
|
595
|
+
};
|
|
596
|
+
const useUpload = (config) => {
|
|
597
|
+
const appkitOptions = useAppKitOptions();
|
|
598
|
+
const upload = (url, file) => {
|
|
599
|
+
return new Promise((resolve, reject) => {
|
|
600
|
+
uploadFile({
|
|
601
|
+
url: config.baseUrl + url,
|
|
602
|
+
filePath: file.path,
|
|
603
|
+
name: "file",
|
|
604
|
+
formData: {
|
|
605
|
+
objectNo: `min${Date.now()}`,
|
|
606
|
+
appCode: config.headers?.appcode || appkitOptions.app()
|
|
607
|
+
},
|
|
608
|
+
header: {
|
|
609
|
+
...config.headers,
|
|
610
|
+
token: appkitOptions.tempToken() || appkitOptions.token()
|
|
611
|
+
},
|
|
612
|
+
success: (rsp) => {
|
|
613
|
+
const { data } = rsp;
|
|
614
|
+
try {
|
|
615
|
+
const response = JSON.parse(data);
|
|
616
|
+
console.log("===response", response);
|
|
617
|
+
resolve(transformFields(response.result));
|
|
618
|
+
} catch (e) {
|
|
619
|
+
reject({
|
|
620
|
+
message: "\u6587\u4EF6\u4E0A\u4F20\u5F02\u5E38"
|
|
621
|
+
});
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
};
|
|
627
|
+
return {
|
|
628
|
+
upload
|
|
629
|
+
};
|
|
630
|
+
};
|
|
631
|
+
|
|
551
632
|
const _hoisted_1$F = {
|
|
552
633
|
key: 0,
|
|
553
634
|
class: "page-title"
|
|
554
635
|
};
|
|
555
|
-
var script$
|
|
636
|
+
var script$N = /* @__PURE__ */ defineComponent({
|
|
556
637
|
__name: "PageHeader",
|
|
557
638
|
props: {
|
|
558
639
|
title: { type: String, required: false, default: "" },
|
|
@@ -609,10 +690,10 @@ var script$L = /* @__PURE__ */ defineComponent({
|
|
|
609
690
|
}
|
|
610
691
|
});
|
|
611
692
|
|
|
612
|
-
script$
|
|
693
|
+
script$N.__file = "src/shared/components/PageHeader.vue";
|
|
613
694
|
|
|
614
695
|
const _hoisted_1$E = { class: "drawer-body" };
|
|
615
|
-
var script$
|
|
696
|
+
var script$M = /* @__PURE__ */ defineComponent({
|
|
616
697
|
__name: "AppDrawer",
|
|
617
698
|
props: {
|
|
618
699
|
modelValue: { type: Boolean, required: true },
|
|
@@ -636,7 +717,7 @@ var script$K = /* @__PURE__ */ defineComponent({
|
|
|
636
717
|
"onUpdate:visible": onVisibleChange
|
|
637
718
|
}, {
|
|
638
719
|
default: withCtx(() => [
|
|
639
|
-
createVNode(script$
|
|
720
|
+
createVNode(script$N, {
|
|
640
721
|
title: __props.title,
|
|
641
722
|
style: normalizeStyle(unref(Taro).getEnv() !== "WEB" ? "" : "--height: 40px"),
|
|
642
723
|
onClose: onPageHeaderClose
|
|
@@ -652,7 +733,7 @@ var script$K = /* @__PURE__ */ defineComponent({
|
|
|
652
733
|
}
|
|
653
734
|
});
|
|
654
735
|
|
|
655
|
-
script$
|
|
736
|
+
script$M.__file = "src/shared/components/AppDrawer.vue";
|
|
656
737
|
|
|
657
738
|
const _hoisted_1$D = { class: "app-verify column" };
|
|
658
739
|
const _hoisted_2$s = { class: "caption" };
|
|
@@ -663,7 +744,7 @@ const _hoisted_5$e = {
|
|
|
663
744
|
class: "caption"
|
|
664
745
|
};
|
|
665
746
|
const _hoisted_6$a = { class: "row buttons" };
|
|
666
|
-
var script$
|
|
747
|
+
var script$L = /* @__PURE__ */ defineComponent({
|
|
667
748
|
__name: "AppVerify",
|
|
668
749
|
props: {
|
|
669
750
|
phone: { type: String, required: true },
|
|
@@ -770,6 +851,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
770
851
|
createElementVNode("div", _hoisted_6$a, [
|
|
771
852
|
withDirectives((openBlock(), createBlock(unref(NsButton), {
|
|
772
853
|
class: "cancel-btn",
|
|
854
|
+
r: 20,
|
|
773
855
|
onClick: _cache[2] || (_cache[2] = ($event) => emits("cancel"))
|
|
774
856
|
}, {
|
|
775
857
|
default: withCtx(() => [..._cache[3] || (_cache[3] = [
|
|
@@ -786,6 +868,7 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
786
868
|
]),
|
|
787
869
|
withDirectives((openBlock(), createBlock(unref(NsButton), {
|
|
788
870
|
color: "primary",
|
|
871
|
+
r: 20,
|
|
789
872
|
onClick: onOk
|
|
790
873
|
}, {
|
|
791
874
|
default: withCtx(() => [..._cache[4] || (_cache[4] = [
|
|
@@ -806,10 +889,10 @@ var script$J = /* @__PURE__ */ defineComponent({
|
|
|
806
889
|
}
|
|
807
890
|
});
|
|
808
891
|
|
|
809
|
-
script$
|
|
892
|
+
script$L.__file = "src/shared/components/AppVerify.vue";
|
|
810
893
|
|
|
811
894
|
const _hoisted_1$C = { key: 0 };
|
|
812
|
-
var script$
|
|
895
|
+
var script$K = /* @__PURE__ */ defineComponent({
|
|
813
896
|
__name: "index",
|
|
814
897
|
props: {
|
|
815
898
|
text: { type: String, required: false },
|
|
@@ -876,7 +959,7 @@ var script$I = /* @__PURE__ */ defineComponent({
|
|
|
876
959
|
}
|
|
877
960
|
});
|
|
878
961
|
|
|
879
|
-
script$
|
|
962
|
+
script$K.__file = "src/components/dd-notice-bar/index.vue";
|
|
880
963
|
|
|
881
964
|
const typeMappings = {
|
|
882
965
|
CZ: "\u5145\u503C",
|
|
@@ -1081,7 +1164,7 @@ function useHttp$3() {
|
|
|
1081
1164
|
return $http;
|
|
1082
1165
|
}
|
|
1083
1166
|
|
|
1084
|
-
var script$
|
|
1167
|
+
var script$J = /* @__PURE__ */ defineComponent({
|
|
1085
1168
|
__name: "DeviceVersion",
|
|
1086
1169
|
props: {
|
|
1087
1170
|
versions: { type: String, required: false, default: "{}" }
|
|
@@ -1128,7 +1211,7 @@ var script$H = /* @__PURE__ */ defineComponent({
|
|
|
1128
1211
|
}
|
|
1129
1212
|
});
|
|
1130
1213
|
return (_ctx, _cache) => {
|
|
1131
|
-
return showAlert.value ? (openBlock(), createBlock(script$
|
|
1214
|
+
return showAlert.value ? (openBlock(), createBlock(script$K, {
|
|
1132
1215
|
key: 0,
|
|
1133
1216
|
showClose: "",
|
|
1134
1217
|
style: normalizeStyle(topStype.value),
|
|
@@ -1139,102 +1222,262 @@ var script$H = /* @__PURE__ */ defineComponent({
|
|
|
1139
1222
|
}
|
|
1140
1223
|
});
|
|
1141
1224
|
|
|
1142
|
-
script$
|
|
1225
|
+
script$J.__file = "src/shared/components/DeviceVersion.vue";
|
|
1143
1226
|
|
|
1144
|
-
var script$
|
|
1227
|
+
var script$I = /* @__PURE__ */ defineComponent({
|
|
1145
1228
|
__name: "OcrIcon",
|
|
1146
1229
|
props: {
|
|
1147
1230
|
disabled: { type: Boolean, required: false, default: false },
|
|
1148
1231
|
side: { type: String, required: false, default: "face" },
|
|
1149
|
-
|
|
1232
|
+
className: { type: String, required: false, default: "" },
|
|
1233
|
+
uploadUrl: { type: String, required: false, default: "/saas-base/file/uploadPublic" },
|
|
1234
|
+
customUpload: { type: Function, required: false },
|
|
1235
|
+
hasUploadVo: { type: Boolean, required: false, default: true },
|
|
1236
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1150
1237
|
},
|
|
1151
1238
|
emits: ["complete"],
|
|
1152
|
-
setup(__props, { emit: __emit }) {
|
|
1239
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1153
1240
|
const appKitOptions = useAppKitOptions();
|
|
1241
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1154
1242
|
const emits = __emit;
|
|
1155
1243
|
const props = __props;
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1244
|
+
function allTrim(str) {
|
|
1245
|
+
return str.replace(/\s+/g, "");
|
|
1246
|
+
}
|
|
1247
|
+
async function onUploadFile(csRes) {
|
|
1248
|
+
let result = null;
|
|
1249
|
+
try {
|
|
1250
|
+
let { path, size, tempFilePath } = csRes.tempFiles[0];
|
|
1251
|
+
const compressImg = await compressImage(path || tempFilePath, getCompressQuality(size)) || {};
|
|
1252
|
+
const filePath = compressImg.tempFilePath || path;
|
|
1253
|
+
if (props.customUpload) {
|
|
1254
|
+
props.customUpload(filePath);
|
|
1255
|
+
return;
|
|
1256
|
+
}
|
|
1257
|
+
showLoading({ title: "\u8EAB\u4EFD\u8BC1\u8BC6\u522B\u4E2D..", mask: true });
|
|
1258
|
+
const session = appKitOptions.token();
|
|
1259
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1260
|
+
const upRes = await uploadFile({
|
|
1261
|
+
url: `${baseUrl}${!props.hasUploadVo ? props.uploadUrl : "/hkapprove/ocr/idcard"}`,
|
|
1262
|
+
filePath,
|
|
1263
|
+
name: "file",
|
|
1264
|
+
formData: {
|
|
1265
|
+
objectNo: `min${Date.now()}`,
|
|
1266
|
+
side: props.side,
|
|
1267
|
+
appCode: appKitOptions.app()
|
|
1268
|
+
},
|
|
1269
|
+
header: {
|
|
1270
|
+
token: session || ""
|
|
1271
|
+
}
|
|
1272
|
+
});
|
|
1273
|
+
const res = JSON.parse(upRes.data);
|
|
1274
|
+
if (res.code === "200") {
|
|
1275
|
+
if (props.hasUploadVo) {
|
|
1276
|
+
hideLoading();
|
|
1277
|
+
const faceInfo = res.result.faceInfo || {};
|
|
1278
|
+
const backInfo = res.result.backInfo || {};
|
|
1279
|
+
result = {
|
|
1280
|
+
faceInfo: {
|
|
1281
|
+
name: allTrim(faceInfo.name || ""),
|
|
1282
|
+
certNo: allTrim(faceInfo.num || ""),
|
|
1283
|
+
address: allTrim(faceInfo.address || "")
|
|
1284
|
+
},
|
|
1285
|
+
backInfo: {
|
|
1286
|
+
startDate: backInfo?.startDate || "",
|
|
1287
|
+
endDate: backInfo?.endDate || ""
|
|
1288
|
+
},
|
|
1289
|
+
fileUploadVO: res.result.fileUploadVO || {}
|
|
1290
|
+
};
|
|
1291
|
+
if (props.side === "face" && !result.faceInfo.name && !result.faceInfo.certNo) {
|
|
1292
|
+
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1293
|
+
}
|
|
1294
|
+
if (props.side === "back" && !result.backInfo?.startDate && !result.backInfo?.endDate) {
|
|
1295
|
+
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1169
1296
|
}
|
|
1297
|
+
} else {
|
|
1298
|
+
await getOcrInfo(res.result);
|
|
1299
|
+
}
|
|
1300
|
+
} else {
|
|
1301
|
+
hideLoading();
|
|
1302
|
+
showToast({
|
|
1303
|
+
title: res.msg,
|
|
1304
|
+
icon: "error"
|
|
1305
|
+
});
|
|
1306
|
+
}
|
|
1307
|
+
} catch (err) {
|
|
1308
|
+
hideLoading();
|
|
1309
|
+
console.log(err);
|
|
1310
|
+
}
|
|
1311
|
+
props.hasUploadVo && (result?.faceInfo.name || result?.backInfo.startDate) && emits("complete", result);
|
|
1312
|
+
}
|
|
1313
|
+
async function getOcrInfo(file) {
|
|
1314
|
+
try {
|
|
1315
|
+
const res = await $http.get("/hkbase/common/idCard", {
|
|
1316
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1317
|
+
side: props.side
|
|
1318
|
+
});
|
|
1319
|
+
hideLoading();
|
|
1320
|
+
if (props.side === "face" && !res?.name || props.side === "back" && !res?.signDate) {
|
|
1321
|
+
$n.dialog({
|
|
1322
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1323
|
+
message: `\u60A8\u4E0A\u4F20\u7684\u56FE\u7247\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684\u56FE\u7247\u3002\u8C22\u8C22\uFF01`,
|
|
1324
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1325
|
+
cancelText: ""
|
|
1170
1326
|
});
|
|
1327
|
+
return;
|
|
1328
|
+
}
|
|
1329
|
+
emits("complete", {
|
|
1330
|
+
faceInfo: {
|
|
1331
|
+
name: allTrim(res?.name || ""),
|
|
1332
|
+
certNo: allTrim(res?.cardNumber || ""),
|
|
1333
|
+
address: allTrim(res?.address || "")
|
|
1334
|
+
},
|
|
1335
|
+
backInfo: {
|
|
1336
|
+
startDate: res?.expireDate || "",
|
|
1337
|
+
endDate: res?.signDate || ""
|
|
1338
|
+
},
|
|
1339
|
+
fileUploadVO: {
|
|
1340
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1341
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1342
|
+
}
|
|
1171
1343
|
});
|
|
1344
|
+
} catch (err) {
|
|
1345
|
+
hideLoading();
|
|
1172
1346
|
}
|
|
1173
1347
|
}
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1348
|
+
const activeSheetVisible = ref(false);
|
|
1349
|
+
const actionSheetMenus = [
|
|
1350
|
+
{
|
|
1351
|
+
name: "\u62CD\u6444",
|
|
1352
|
+
type: "camera"
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
name: "\u4ECE\u76F8\u518C\u9009\u62E9",
|
|
1356
|
+
type: "album"
|
|
1357
|
+
},
|
|
1358
|
+
{
|
|
1359
|
+
name: "\u4ECE\u804A\u5929\u4F1A\u8BDD\u9009\u62E9",
|
|
1360
|
+
type: "message"
|
|
1179
1361
|
}
|
|
1180
|
-
|
|
1362
|
+
];
|
|
1363
|
+
if (Taro.getEnv() === "WEB") {
|
|
1364
|
+
actionSheetMenus.pop();
|
|
1181
1365
|
}
|
|
1182
|
-
function
|
|
1183
|
-
|
|
1366
|
+
async function chooseImages(item) {
|
|
1367
|
+
if (["camera", "album"].includes(item.type)) {
|
|
1368
|
+
const csRes = await chooseMedia({
|
|
1369
|
+
count: 1,
|
|
1370
|
+
sourceType: [item.type],
|
|
1371
|
+
// "camera" | "album"
|
|
1372
|
+
maxDuration: 60
|
|
1373
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1374
|
+
});
|
|
1375
|
+
onUploadFile(csRes);
|
|
1376
|
+
} else {
|
|
1377
|
+
const csRes = await chooseMessageFile({
|
|
1378
|
+
count: 1,
|
|
1379
|
+
type: "image"
|
|
1380
|
+
});
|
|
1381
|
+
onUploadFile(csRes);
|
|
1382
|
+
}
|
|
1184
1383
|
}
|
|
1384
|
+
async function onUpload() {
|
|
1385
|
+
if (props.disabled) return;
|
|
1386
|
+
if (Taro.getEnv() === "WEB") {
|
|
1387
|
+
const csRes = await chooseMedia({
|
|
1388
|
+
count: 1,
|
|
1389
|
+
sourceType: ["album"],
|
|
1390
|
+
// "camera" | "album"
|
|
1391
|
+
maxDuration: 60
|
|
1392
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1393
|
+
});
|
|
1394
|
+
onUploadFile(csRes);
|
|
1395
|
+
return;
|
|
1396
|
+
}
|
|
1397
|
+
activeSheetVisible.value = true;
|
|
1398
|
+
}
|
|
1399
|
+
__expose({
|
|
1400
|
+
onUpload
|
|
1401
|
+
});
|
|
1402
|
+
return (_ctx, _cache) => {
|
|
1403
|
+
const _component_nut_action_sheet = ActionSheet;
|
|
1404
|
+
const _directive_track_click = resolveDirective("track-click");
|
|
1405
|
+
return openBlock(), createElementBlock(
|
|
1406
|
+
Fragment,
|
|
1407
|
+
null,
|
|
1408
|
+
[
|
|
1409
|
+
withDirectives((openBlock(), createElementBlock(
|
|
1410
|
+
"div",
|
|
1411
|
+
{
|
|
1412
|
+
class: normalizeClass(["ocr-icon", [__props.disabled ? "disabled" : "", __props.className]]),
|
|
1413
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1414
|
+
},
|
|
1415
|
+
[
|
|
1416
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1417
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1418
|
+
])
|
|
1419
|
+
],
|
|
1420
|
+
2
|
|
1421
|
+
/* CLASS */
|
|
1422
|
+
)), [
|
|
1423
|
+
[_directive_track_click, "\u8EAB\u4EFD\u8BC1\u8BC6\u522B-\u70B9\u51FB"]
|
|
1424
|
+
]),
|
|
1425
|
+
createVNode(_component_nut_action_sheet, {
|
|
1426
|
+
visible: activeSheetVisible.value,
|
|
1427
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1428
|
+
"menu-items": actionSheetMenus,
|
|
1429
|
+
onChoose: chooseImages,
|
|
1430
|
+
"cancel-txt": "\u53D6\u6D88"
|
|
1431
|
+
}, null, 8, ["visible"])
|
|
1432
|
+
],
|
|
1433
|
+
64
|
|
1434
|
+
/* STABLE_FRAGMENT */
|
|
1435
|
+
);
|
|
1436
|
+
};
|
|
1437
|
+
}
|
|
1438
|
+
});
|
|
1439
|
+
|
|
1440
|
+
script$I.__file = "src/shared/components/OcrIcon.vue";
|
|
1441
|
+
|
|
1442
|
+
var script$H = /* @__PURE__ */ defineComponent({
|
|
1443
|
+
__name: "OcrBank",
|
|
1444
|
+
props: {
|
|
1445
|
+
disabled: { type: Boolean, required: false, default: false },
|
|
1446
|
+
class: { type: String, required: false, default: "" },
|
|
1447
|
+
uploadUrl: { type: String, required: false, default: "/hkbase/file/uploadFile" },
|
|
1448
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1449
|
+
},
|
|
1450
|
+
emits: ["complete"],
|
|
1451
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1452
|
+
const appKitOptions = useAppKitOptions();
|
|
1453
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1454
|
+
const emits = __emit;
|
|
1455
|
+
const props = __props;
|
|
1185
1456
|
async function onUploadFile(csRes) {
|
|
1186
|
-
let result = null;
|
|
1187
1457
|
try {
|
|
1188
|
-
console.log("===\u4E0A\u4F20", csRes);
|
|
1189
1458
|
let { path, size, tempFilePath } = csRes.tempFiles[0];
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
filePath = compressImg.tempFilePath || path;
|
|
1194
|
-
} else {
|
|
1195
|
-
filePath = path || tempFilePath;
|
|
1196
|
-
}
|
|
1197
|
-
console.log(filePath, "filePath");
|
|
1198
|
-
showLoading({ title: "\u8EAB\u4EFD\u8BC1\u8BC6\u522B\u4E2D.." });
|
|
1459
|
+
const compressImg = await compressImage(path || tempFilePath, getCompressQuality(size)) || {};
|
|
1460
|
+
const filePath = compressImg.tempFilePath || path;
|
|
1461
|
+
showLoading({ title: "\u94F6\u884C\u5361\u8BC6\u522B\u4E2D..", mask: true });
|
|
1199
1462
|
const session = appKitOptions.token();
|
|
1200
1463
|
const baseUrl = appKitOptions.baseUrl();
|
|
1201
1464
|
const upRes = await uploadFile({
|
|
1202
|
-
url: baseUrl +
|
|
1465
|
+
url: baseUrl + props.uploadUrl,
|
|
1203
1466
|
filePath,
|
|
1204
1467
|
name: "file",
|
|
1205
1468
|
formData: {
|
|
1206
1469
|
objectNo: `min${Date.now()}`,
|
|
1207
|
-
|
|
1470
|
+
appCode: appKitOptions.app()
|
|
1208
1471
|
},
|
|
1209
1472
|
header: {
|
|
1210
1473
|
token: session || ""
|
|
1211
1474
|
}
|
|
1212
1475
|
});
|
|
1213
|
-
hideLoading();
|
|
1214
1476
|
const res = JSON.parse(upRes.data);
|
|
1215
1477
|
if (res.code === "200") {
|
|
1216
|
-
|
|
1217
|
-
const backInfo = res.result.backInfo || {};
|
|
1218
|
-
result = {
|
|
1219
|
-
faceInfo: {
|
|
1220
|
-
name: allTrim(faceInfo.name || ""),
|
|
1221
|
-
certNo: allTrim(faceInfo.num || ""),
|
|
1222
|
-
address: allTrim(faceInfo.address || "")
|
|
1223
|
-
},
|
|
1224
|
-
backInfo: {
|
|
1225
|
-
startDate: backInfo?.startDate || "",
|
|
1226
|
-
endDate: backInfo?.endDate || ""
|
|
1227
|
-
},
|
|
1228
|
-
fileUploadVO: res.result.fileUploadVO || {}
|
|
1229
|
-
};
|
|
1230
|
-
console.log("===\u8BC6\u522B", result);
|
|
1231
|
-
if (props.side === "face" && !result.faceInfo.name && !result.faceInfo.certNo) {
|
|
1232
|
-
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1233
|
-
}
|
|
1234
|
-
if (props.side === "back" && !result.backInfo?.startDate && !result.backInfo?.endDate) {
|
|
1235
|
-
showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1236
|
-
}
|
|
1478
|
+
await getBankCardInfo(res.result);
|
|
1237
1479
|
} else {
|
|
1480
|
+
hideLoading();
|
|
1238
1481
|
showToast({
|
|
1239
1482
|
title: res.msg,
|
|
1240
1483
|
icon: "error"
|
|
@@ -1242,9 +1485,32 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1242
1485
|
}
|
|
1243
1486
|
} catch (err) {
|
|
1244
1487
|
hideLoading();
|
|
1245
|
-
console.log(err);
|
|
1488
|
+
console.log(err);
|
|
1489
|
+
}
|
|
1490
|
+
}
|
|
1491
|
+
async function getBankCardInfo(file) {
|
|
1492
|
+
try {
|
|
1493
|
+
const res = await $http.get("/hkbase/common/bankCard", {
|
|
1494
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl
|
|
1495
|
+
});
|
|
1496
|
+
hideLoading();
|
|
1497
|
+
if (res && !res.bankCardNumber) {
|
|
1498
|
+
$n.dialog({
|
|
1499
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1500
|
+
message: `\u60A8\u4E0A\u4F20\u7684\u56FE\u7247\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684\u56FE\u7247\u3002\u8C22\u8C22\uFF01`,
|
|
1501
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1502
|
+
cancelText: ""
|
|
1503
|
+
});
|
|
1504
|
+
return;
|
|
1505
|
+
}
|
|
1506
|
+
emits("complete", {
|
|
1507
|
+
...res,
|
|
1508
|
+
fileUrl: typeof file === "string" ? file : file.originalUrl,
|
|
1509
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1510
|
+
});
|
|
1511
|
+
} catch (err) {
|
|
1512
|
+
hideLoading();
|
|
1246
1513
|
}
|
|
1247
|
-
emits("complete", result);
|
|
1248
1514
|
}
|
|
1249
1515
|
const activeSheetVisible = ref(false);
|
|
1250
1516
|
const actionSheetMenus = [
|
|
@@ -1282,7 +1548,7 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1282
1548
|
onUploadFile(csRes);
|
|
1283
1549
|
}
|
|
1284
1550
|
}
|
|
1285
|
-
async function
|
|
1551
|
+
async function onUpload() {
|
|
1286
1552
|
if (props.disabled) return;
|
|
1287
1553
|
if (Taro.getEnv() === "WEB") {
|
|
1288
1554
|
const csRes = await chooseMedia({
|
|
@@ -1297,6 +1563,9 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1297
1563
|
}
|
|
1298
1564
|
activeSheetVisible.value = true;
|
|
1299
1565
|
}
|
|
1566
|
+
__expose({
|
|
1567
|
+
onUpload
|
|
1568
|
+
});
|
|
1300
1569
|
return (_ctx, _cache) => {
|
|
1301
1570
|
const _component_nut_action_sheet = ActionSheet;
|
|
1302
1571
|
const _directive_track_click = resolveDirective("track-click");
|
|
@@ -1307,8 +1576,8 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1307
1576
|
withDirectives((openBlock(), createElementBlock(
|
|
1308
1577
|
"div",
|
|
1309
1578
|
{
|
|
1310
|
-
class: normalizeClass(["ocr-
|
|
1311
|
-
onClick:
|
|
1579
|
+
class: normalizeClass(["ocr-bank", [__props.disabled ? "disabled" : ""]]),
|
|
1580
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1312
1581
|
},
|
|
1313
1582
|
[
|
|
1314
1583
|
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
@@ -1318,11 +1587,11 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1318
1587
|
2
|
|
1319
1588
|
/* CLASS */
|
|
1320
1589
|
)), [
|
|
1321
|
-
[_directive_track_click, "\
|
|
1590
|
+
[_directive_track_click, "\u94F6\u884C\u5361\u8BC6\u522B-\u70B9\u51FB"]
|
|
1322
1591
|
]),
|
|
1323
1592
|
createVNode(_component_nut_action_sheet, {
|
|
1324
1593
|
visible: activeSheetVisible.value,
|
|
1325
|
-
"onUpdate:visible": _cache[
|
|
1594
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1326
1595
|
"menu-items": actionSheetMenus,
|
|
1327
1596
|
onChoose: chooseImages,
|
|
1328
1597
|
"cancel-txt": "\u53D6\u6D88"
|
|
@@ -1335,48 +1604,26 @@ var script$G = /* @__PURE__ */ defineComponent({
|
|
|
1335
1604
|
}
|
|
1336
1605
|
});
|
|
1337
1606
|
|
|
1338
|
-
script$
|
|
1607
|
+
script$H.__file = "src/shared/components/OcrBank.vue";
|
|
1339
1608
|
|
|
1340
|
-
var script$
|
|
1609
|
+
var script$G = /* @__PURE__ */ defineComponent({
|
|
1341
1610
|
__name: "OcrBusinessLicense",
|
|
1342
1611
|
props: {
|
|
1343
|
-
disabled: { type: Boolean, required: true }
|
|
1612
|
+
disabled: { type: Boolean, required: true, default: false },
|
|
1613
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1344
1614
|
},
|
|
1345
1615
|
emits: ["complete"],
|
|
1346
|
-
setup(__props, { emit: __emit }) {
|
|
1616
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1347
1617
|
const appKitOptions = useAppKitOptions();
|
|
1348
1618
|
const emits = __emit;
|
|
1349
1619
|
const props = __props;
|
|
1350
|
-
async function taroImgCompress(src, quality = 80) {
|
|
1351
|
-
return new Promise((resolve, reject) => {
|
|
1352
|
-
Taro.compressImage({
|
|
1353
|
-
src,
|
|
1354
|
-
quality,
|
|
1355
|
-
success: (res) => {
|
|
1356
|
-
resolve(res);
|
|
1357
|
-
},
|
|
1358
|
-
fail: (res) => {
|
|
1359
|
-
reject(res);
|
|
1360
|
-
}
|
|
1361
|
-
});
|
|
1362
|
-
});
|
|
1363
|
-
}
|
|
1364
|
-
function getCompressQuality(size) {
|
|
1365
|
-
let quality = 100;
|
|
1366
|
-
const curSize = size / (1024 * 1024);
|
|
1367
|
-
if (curSize > 6) {
|
|
1368
|
-
quality = quality - (curSize - 6) / curSize * 100;
|
|
1369
|
-
}
|
|
1370
|
-
return quality;
|
|
1371
|
-
}
|
|
1372
1620
|
function allTrim(str) {
|
|
1373
1621
|
return str.replace(/\s+/g, "");
|
|
1374
1622
|
}
|
|
1375
|
-
async function
|
|
1623
|
+
async function onUpload() {
|
|
1376
1624
|
if (props.disabled) {
|
|
1377
1625
|
return;
|
|
1378
1626
|
}
|
|
1379
|
-
console.log("===onIconClick");
|
|
1380
1627
|
let result = null;
|
|
1381
1628
|
try {
|
|
1382
1629
|
const csRes = await chooseMedia({
|
|
@@ -1384,14 +1631,9 @@ var script$F = /* @__PURE__ */ defineComponent({
|
|
|
1384
1631
|
sourceType: ["album", "camera"]
|
|
1385
1632
|
});
|
|
1386
1633
|
let { size, tempFilePath } = csRes.tempFiles[0];
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
filePath = compressImg.tempFilePath;
|
|
1391
|
-
} else {
|
|
1392
|
-
filePath = tempFilePath;
|
|
1393
|
-
}
|
|
1394
|
-
showLoading({ title: "\u8425\u4E1A\u6267\u7167\u8BC6\u522B\u4E2D.." });
|
|
1634
|
+
const compressImg = await compressImage(tempFilePath, getCompressQuality(size)) || {};
|
|
1635
|
+
const filePath = compressImg.tempFilePath;
|
|
1636
|
+
showLoading({ title: "\u8425\u4E1A\u6267\u7167\u8BC6\u522B\u4E2D..", mask: true });
|
|
1395
1637
|
const session = appKitOptions.token();
|
|
1396
1638
|
const baseUrl = appKitOptions.baseUrl();
|
|
1397
1639
|
const upRes = await uploadFile({
|
|
@@ -1399,7 +1641,8 @@ var script$F = /* @__PURE__ */ defineComponent({
|
|
|
1399
1641
|
filePath,
|
|
1400
1642
|
name: "file",
|
|
1401
1643
|
formData: {
|
|
1402
|
-
objectNo: `min${Date.now()}
|
|
1644
|
+
objectNo: `min${Date.now()}`,
|
|
1645
|
+
appCode: appKitOptions.app()
|
|
1403
1646
|
},
|
|
1404
1647
|
header: {
|
|
1405
1648
|
token: session || ""
|
|
@@ -1433,16 +1676,21 @@ var script$F = /* @__PURE__ */ defineComponent({
|
|
|
1433
1676
|
}
|
|
1434
1677
|
emits("complete", result);
|
|
1435
1678
|
}
|
|
1679
|
+
__expose({
|
|
1680
|
+
onUpload
|
|
1681
|
+
});
|
|
1436
1682
|
return (_ctx, _cache) => {
|
|
1437
1683
|
const _directive_track_click = resolveDirective("track-click");
|
|
1438
1684
|
return withDirectives((openBlock(), createElementBlock(
|
|
1439
1685
|
"div",
|
|
1440
1686
|
{
|
|
1441
1687
|
class: normalizeClass([["ocr-business-license", __props.disabled ? "disabled" : ""], "ocr-icon"]),
|
|
1442
|
-
onClick:
|
|
1688
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1443
1689
|
},
|
|
1444
1690
|
[
|
|
1445
|
-
|
|
1691
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1692
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1693
|
+
])
|
|
1446
1694
|
],
|
|
1447
1695
|
2
|
|
1448
1696
|
/* CLASS */
|
|
@@ -1453,7 +1701,264 @@ var script$F = /* @__PURE__ */ defineComponent({
|
|
|
1453
1701
|
}
|
|
1454
1702
|
});
|
|
1455
1703
|
|
|
1456
|
-
script$
|
|
1704
|
+
script$G.__file = "src/shared/components/OcrBusinessLicense.vue";
|
|
1705
|
+
|
|
1706
|
+
var script$F = /* @__PURE__ */ defineComponent({
|
|
1707
|
+
__name: "OcrInvoice",
|
|
1708
|
+
props: {
|
|
1709
|
+
disabled: { type: Boolean, required: false, default: false },
|
|
1710
|
+
side: { type: String, required: false, default: "face" },
|
|
1711
|
+
className: { type: String, required: false, default: "" },
|
|
1712
|
+
customUpload: { type: Function, required: false },
|
|
1713
|
+
uploadUrl: { type: String, required: false, default: "/hkbase/file/uploadFile" },
|
|
1714
|
+
customClick: { type: Boolean, required: false, default: false }
|
|
1715
|
+
},
|
|
1716
|
+
emits: ["complete"],
|
|
1717
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
1718
|
+
const appKitOptions = useAppKitOptions();
|
|
1719
|
+
const $http = useHttp$3(), $n = useNutshell();
|
|
1720
|
+
const emits = __emit;
|
|
1721
|
+
const props = __props;
|
|
1722
|
+
function getFileType(filePath, fileName) {
|
|
1723
|
+
const lowerPath = filePath.toLowerCase();
|
|
1724
|
+
const lowerName = (fileName || "").toLowerCase();
|
|
1725
|
+
if (lowerPath.endsWith(".pdf") || lowerName.endsWith(".pdf")) {
|
|
1726
|
+
return "pdf";
|
|
1727
|
+
}
|
|
1728
|
+
const imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"];
|
|
1729
|
+
if (imageExtensions.some((ext) => lowerPath.endsWith(ext) || lowerName.endsWith(ext))) {
|
|
1730
|
+
return "img";
|
|
1731
|
+
}
|
|
1732
|
+
return "img";
|
|
1733
|
+
}
|
|
1734
|
+
async function onUploadFile(csRes, fileType) {
|
|
1735
|
+
try {
|
|
1736
|
+
let { path, size, tempFilePath, name } = csRes.tempFiles[0];
|
|
1737
|
+
const originalPath = path || tempFilePath;
|
|
1738
|
+
const detectedFileType = fileType || getFileType(originalPath, name);
|
|
1739
|
+
let filePath = originalPath;
|
|
1740
|
+
if (detectedFileType === "img") {
|
|
1741
|
+
const compressImg = await compressImage(originalPath, getCompressQuality(size)) || {};
|
|
1742
|
+
filePath = compressImg.tempFilePath || originalPath;
|
|
1743
|
+
}
|
|
1744
|
+
if (props.customUpload) {
|
|
1745
|
+
props.customUpload(filePath, detectedFileType);
|
|
1746
|
+
return;
|
|
1747
|
+
}
|
|
1748
|
+
showLoading({ title: "\u53D1\u7968\u8BC6\u522B\u4E2D..", mask: true });
|
|
1749
|
+
const session = appKitOptions.token();
|
|
1750
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1751
|
+
const upRes = await uploadFile({
|
|
1752
|
+
url: `${baseUrl}${props.uploadUrl}`,
|
|
1753
|
+
filePath,
|
|
1754
|
+
name: "file",
|
|
1755
|
+
formData: {
|
|
1756
|
+
objectNo: `min${Date.now()}`,
|
|
1757
|
+
appCode: appKitOptions.app()
|
|
1758
|
+
},
|
|
1759
|
+
header: {
|
|
1760
|
+
token: session || ""
|
|
1761
|
+
}
|
|
1762
|
+
});
|
|
1763
|
+
const res = JSON.parse(upRes.data);
|
|
1764
|
+
if (res.code === "200") {
|
|
1765
|
+
await getOcrInfo(res.result, detectedFileType);
|
|
1766
|
+
} else {
|
|
1767
|
+
hideLoading();
|
|
1768
|
+
showToast({
|
|
1769
|
+
title: res.msg,
|
|
1770
|
+
icon: "error"
|
|
1771
|
+
});
|
|
1772
|
+
}
|
|
1773
|
+
} catch (err) {
|
|
1774
|
+
hideLoading();
|
|
1775
|
+
console.log(err);
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
async function getOcrInfo(file, fileType = "img") {
|
|
1779
|
+
try {
|
|
1780
|
+
const fileUrl = typeof file === "string" ? file : file.originalUrl;
|
|
1781
|
+
const res = await $http.get("/hkbase/common/vatInvoice", {
|
|
1782
|
+
fileUrl,
|
|
1783
|
+
fileType
|
|
1784
|
+
});
|
|
1785
|
+
hideLoading();
|
|
1786
|
+
if (!res?.purchaserRegisterNum) {
|
|
1787
|
+
$n.dialog({
|
|
1788
|
+
title: "\u8BC6\u522B\u5931\u8D25",
|
|
1789
|
+
message: `\u60A8\u4E0A\u4F20\u7684${fileType === "pdf" ? "\u6587\u4EF6" : "\u56FE\u7247"}\u53EF\u80FD\u4E0D\u591F\u6E05\u6670\u6216\u4E0E\u5F53\u524D\u529F\u80FD\u4E0D\u7B26\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20\u4E00\u5F20\u6E05\u6670\u3001\u5B8C\u6574\u7684${fileType === "pdf" ? "PDF\u6587\u4EF6" : "\u56FE\u7247"}\u3002\u8C22\u8C22\uFF01`,
|
|
1790
|
+
okText: "\u6211\u77E5\u9053\u4E86",
|
|
1791
|
+
cancelText: ""
|
|
1792
|
+
});
|
|
1793
|
+
return;
|
|
1794
|
+
}
|
|
1795
|
+
emits("complete", {
|
|
1796
|
+
invoiceDate: res?.invoiceDate,
|
|
1797
|
+
invoiceNum: res?.invoiceNum,
|
|
1798
|
+
invoiceNumConfirm: res?.invoiceNumConfirm,
|
|
1799
|
+
invoiceType: res?.invoiceType,
|
|
1800
|
+
noteDrawer: res?.noteDrawer,
|
|
1801
|
+
purchaserBank: res?.purchaserBank,
|
|
1802
|
+
purchaserName: res?.purchaserName,
|
|
1803
|
+
purchaserRegisterNum: res?.purchaserRegisterNum,
|
|
1804
|
+
remarks: res?.remarks,
|
|
1805
|
+
sellerName: res?.sellerName,
|
|
1806
|
+
sellerRegisterNum: res?.sellerRegisterNum,
|
|
1807
|
+
serviceType: res?.serviceType,
|
|
1808
|
+
totalAmount: res?.totalAmount,
|
|
1809
|
+
totalTax: res?.totalTax,
|
|
1810
|
+
fileUrl,
|
|
1811
|
+
fileType,
|
|
1812
|
+
fileKey: typeof file === "string" ? file : file.fileId
|
|
1813
|
+
});
|
|
1814
|
+
} catch (err) {
|
|
1815
|
+
hideLoading();
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
const activeSheetVisible = ref(false);
|
|
1819
|
+
const actionSheetMenus = [
|
|
1820
|
+
{
|
|
1821
|
+
name: "\u62CD\u6444",
|
|
1822
|
+
type: "camera"
|
|
1823
|
+
},
|
|
1824
|
+
{
|
|
1825
|
+
name: "\u4ECE\u76F8\u518C\u9009\u62E9",
|
|
1826
|
+
type: "album"
|
|
1827
|
+
},
|
|
1828
|
+
{
|
|
1829
|
+
name: "\u4ECE\u804A\u5929\u4F1A\u8BDD\u9009\u62E9",
|
|
1830
|
+
type: "message"
|
|
1831
|
+
},
|
|
1832
|
+
{
|
|
1833
|
+
name: "\u9009\u62E9\u6587\u4EF6",
|
|
1834
|
+
type: "file"
|
|
1835
|
+
}
|
|
1836
|
+
];
|
|
1837
|
+
if (Taro.getEnv() === "WEB") {
|
|
1838
|
+
actionSheetMenus.splice(2, 1);
|
|
1839
|
+
}
|
|
1840
|
+
async function chooseImages(item) {
|
|
1841
|
+
if (["camera", "album"].includes(item.type)) {
|
|
1842
|
+
const csRes = await chooseMedia({
|
|
1843
|
+
count: 1,
|
|
1844
|
+
sourceType: [item.type],
|
|
1845
|
+
// "camera" | "album"
|
|
1846
|
+
maxDuration: 60
|
|
1847
|
+
// 使用duration属性判断是图片还是视频,图片没有该属性
|
|
1848
|
+
});
|
|
1849
|
+
onUploadFile(csRes);
|
|
1850
|
+
} else if (item.type === "message") {
|
|
1851
|
+
const csRes = await chooseMessageFile({
|
|
1852
|
+
count: 1,
|
|
1853
|
+
type: "image"
|
|
1854
|
+
});
|
|
1855
|
+
onUploadFile(csRes);
|
|
1856
|
+
} else if (item.type === "file") {
|
|
1857
|
+
const csRes = await chooseMessageFile({
|
|
1858
|
+
count: 1,
|
|
1859
|
+
type: "file"
|
|
1860
|
+
});
|
|
1861
|
+
onUploadFile(csRes);
|
|
1862
|
+
}
|
|
1863
|
+
}
|
|
1864
|
+
function chooseFileInWeb() {
|
|
1865
|
+
return new Promise((resolve, reject) => {
|
|
1866
|
+
const input = document.createElement("input");
|
|
1867
|
+
input.type = "file";
|
|
1868
|
+
input.accept = "image/*,.pdf";
|
|
1869
|
+
input.style.display = "none";
|
|
1870
|
+
input.onchange = async (e) => {
|
|
1871
|
+
const file = e.target?.files?.[0];
|
|
1872
|
+
if (!file) {
|
|
1873
|
+
document.body.removeChild(input);
|
|
1874
|
+
resolve();
|
|
1875
|
+
return;
|
|
1876
|
+
}
|
|
1877
|
+
let fileType = "img";
|
|
1878
|
+
if (file.type === "application/pdf" || file.name.toLowerCase().endsWith(".pdf")) {
|
|
1879
|
+
fileType = "pdf";
|
|
1880
|
+
}
|
|
1881
|
+
const filePath = URL.createObjectURL(file);
|
|
1882
|
+
try {
|
|
1883
|
+
const csRes = {
|
|
1884
|
+
tempFiles: [{
|
|
1885
|
+
path: filePath,
|
|
1886
|
+
tempFilePath: filePath,
|
|
1887
|
+
size: file.size,
|
|
1888
|
+
name: file.name
|
|
1889
|
+
}]
|
|
1890
|
+
};
|
|
1891
|
+
await onUploadFile(csRes, fileType);
|
|
1892
|
+
resolve();
|
|
1893
|
+
} catch (error) {
|
|
1894
|
+
reject(error);
|
|
1895
|
+
} finally {
|
|
1896
|
+
document.body.removeChild(input);
|
|
1897
|
+
URL.revokeObjectURL(filePath);
|
|
1898
|
+
}
|
|
1899
|
+
};
|
|
1900
|
+
input.oncancel = () => {
|
|
1901
|
+
document.body.removeChild(input);
|
|
1902
|
+
resolve();
|
|
1903
|
+
};
|
|
1904
|
+
document.body.appendChild(input);
|
|
1905
|
+
input.click();
|
|
1906
|
+
});
|
|
1907
|
+
}
|
|
1908
|
+
async function onUpload() {
|
|
1909
|
+
if (props.disabled) return;
|
|
1910
|
+
if (Taro.getEnv() === "WEB") {
|
|
1911
|
+
try {
|
|
1912
|
+
await chooseFileInWeb();
|
|
1913
|
+
} catch (err) {
|
|
1914
|
+
console.error("\u6587\u4EF6\u9009\u62E9\u5931\u8D25:", err);
|
|
1915
|
+
}
|
|
1916
|
+
return;
|
|
1917
|
+
}
|
|
1918
|
+
activeSheetVisible.value = true;
|
|
1919
|
+
}
|
|
1920
|
+
__expose({
|
|
1921
|
+
onUpload
|
|
1922
|
+
});
|
|
1923
|
+
return (_ctx, _cache) => {
|
|
1924
|
+
const _component_nut_action_sheet = ActionSheet;
|
|
1925
|
+
const _directive_track_click = resolveDirective("track-click");
|
|
1926
|
+
return openBlock(), createElementBlock(
|
|
1927
|
+
Fragment,
|
|
1928
|
+
null,
|
|
1929
|
+
[
|
|
1930
|
+
withDirectives((openBlock(), createElementBlock(
|
|
1931
|
+
"div",
|
|
1932
|
+
{
|
|
1933
|
+
class: normalizeClass(["ocr-invoice", [__props.disabled ? "disabled" : "", __props.className]]),
|
|
1934
|
+
onClick: _cache[0] || (_cache[0] = ($event) => !__props.customClick ? onUpload() : null)
|
|
1935
|
+
},
|
|
1936
|
+
[
|
|
1937
|
+
renderSlot(_ctx.$slots, "icon", {}, () => [
|
|
1938
|
+
createVNode(unref(NsIcon), { name: "https://cdn.ddjf.com/static/images/beidouxing/ocr-icon.png" })
|
|
1939
|
+
])
|
|
1940
|
+
],
|
|
1941
|
+
2
|
|
1942
|
+
/* CLASS */
|
|
1943
|
+
)), [
|
|
1944
|
+
[_directive_track_click, "\u53D1\u7968\u8BC6\u522B-\u70B9\u51FB"]
|
|
1945
|
+
]),
|
|
1946
|
+
createVNode(_component_nut_action_sheet, {
|
|
1947
|
+
visible: activeSheetVisible.value,
|
|
1948
|
+
"onUpdate:visible": _cache[1] || (_cache[1] = ($event) => activeSheetVisible.value = $event),
|
|
1949
|
+
"menu-items": actionSheetMenus,
|
|
1950
|
+
onChoose: chooseImages,
|
|
1951
|
+
"cancel-txt": "\u53D6\u6D88"
|
|
1952
|
+
}, null, 8, ["visible"])
|
|
1953
|
+
],
|
|
1954
|
+
64
|
|
1955
|
+
/* STABLE_FRAGMENT */
|
|
1956
|
+
);
|
|
1957
|
+
};
|
|
1958
|
+
}
|
|
1959
|
+
});
|
|
1960
|
+
|
|
1961
|
+
script$F.__file = "src/shared/components/OcrInvoice.vue";
|
|
1457
1962
|
|
|
1458
1963
|
var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
|
|
1459
1964
|
HttpMethod2["get"] = "GET";
|
|
@@ -1501,6 +2006,7 @@ const request = (config) => {
|
|
|
1501
2006
|
}
|
|
1502
2007
|
}).catch((e) => {
|
|
1503
2008
|
console.log("request.catch===", e);
|
|
2009
|
+
reject(e);
|
|
1504
2010
|
});
|
|
1505
2011
|
});
|
|
1506
2012
|
};
|
|
@@ -1559,15 +2065,6 @@ function isApp() {
|
|
|
1559
2065
|
var __defProp = Object.defineProperty;
|
|
1560
2066
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
1561
2067
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
1562
|
-
var TrackingEventType = /* @__PURE__ */ ((TrackingEventType2) => {
|
|
1563
|
-
TrackingEventType2["PAGE_VIEW"] = "page_view";
|
|
1564
|
-
TrackingEventType2["PAGE_LEAVE"] = "page_leave";
|
|
1565
|
-
TrackingEventType2["APP_DEVICE_INFO"] = "app_device_info";
|
|
1566
|
-
TrackingEventType2["CLICK"] = "click";
|
|
1567
|
-
TrackingEventType2["CUSTOM"] = "custom";
|
|
1568
|
-
return TrackingEventType2;
|
|
1569
|
-
})(TrackingEventType || {});
|
|
1570
|
-
const { PAGE_VIEW, PAGE_LEAVE, CLICK, CUSTOM, APP_DEVICE_INFO } = TrackingEventType;
|
|
1571
2068
|
const DEFAULT_CONFIG = {
|
|
1572
2069
|
enabled: true,
|
|
1573
2070
|
debug: false,
|
|
@@ -2017,7 +2514,6 @@ class TrackingSDK {
|
|
|
2017
2514
|
* 发送埋点数据
|
|
2018
2515
|
*/
|
|
2019
2516
|
async flush() {
|
|
2020
|
-
console.log(this.eventQueue.length, "this.eventQueue.length");
|
|
2021
2517
|
if (this.eventQueue.length === 0) return;
|
|
2022
2518
|
const events = [...this.eventQueue];
|
|
2023
2519
|
this.eventQueue = [];
|
|
@@ -2703,9 +3199,11 @@ const endpointsList$2 = {
|
|
|
2703
3199
|
certificateNo: params.user,
|
|
2704
3200
|
accountAuthFlag: params.accountAuthFlag || false,
|
|
2705
3201
|
channelCode: params.channelCode || null,
|
|
2706
|
-
payFinishJumpUrl: params.payFinishJumpUrl || null
|
|
3202
|
+
payFinishJumpUrl: params.payFinishJumpUrl || null,
|
|
3203
|
+
useCloudBean: params.useCloudBean || false
|
|
2707
3204
|
}),
|
|
2708
3205
|
transform: (data) => {
|
|
3206
|
+
console.log(data, "data-----");
|
|
2709
3207
|
let json = null;
|
|
2710
3208
|
try {
|
|
2711
3209
|
json = JSON.parse(data.prePayStr);
|
|
@@ -2773,6 +3271,7 @@ const vendor$2 = {
|
|
|
2773
3271
|
title: data.msg,
|
|
2774
3272
|
icon: "none"
|
|
2775
3273
|
});
|
|
3274
|
+
reject(data.msg);
|
|
2776
3275
|
}
|
|
2777
3276
|
}).catch((e) => {
|
|
2778
3277
|
reject(e);
|
|
@@ -2936,6 +3435,8 @@ const requestBrandWCPayByBean = (params, Appcode = "") => {
|
|
|
2936
3435
|
}
|
|
2937
3436
|
});
|
|
2938
3437
|
}
|
|
3438
|
+
}).catch(() => {
|
|
3439
|
+
resolve(false);
|
|
2939
3440
|
});
|
|
2940
3441
|
});
|
|
2941
3442
|
};
|
|
@@ -2972,7 +3473,7 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
2972
3473
|
tenant: { type: String, required: true },
|
|
2973
3474
|
payFinishJumpUrl: { type: String, required: false }
|
|
2974
3475
|
},
|
|
2975
|
-
emits: ["complete", "agree"],
|
|
3476
|
+
emits: ["complete", "agree", "loaded"],
|
|
2976
3477
|
setup(__props, { emit: __emit }) {
|
|
2977
3478
|
const props = __props;
|
|
2978
3479
|
const { params } = useRouter();
|
|
@@ -2999,6 +3500,7 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
2999
3500
|
tenant: props.tenant
|
|
3000
3501
|
}).then((response) => {
|
|
3001
3502
|
amounts.value = response;
|
|
3503
|
+
emit("loaded");
|
|
3002
3504
|
});
|
|
3003
3505
|
});
|
|
3004
3506
|
const onPayClick = () => {
|
|
@@ -3061,11 +3563,12 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
3061
3563
|
const _directive_track_click = resolveDirective("track-click");
|
|
3062
3564
|
return openBlock(), createElementBlock("view", _hoisted_1$B, [
|
|
3063
3565
|
createElementVNode("view", _hoisted_2$r, [
|
|
3064
|
-
createVNode(script$
|
|
3566
|
+
createVNode(script$O, {
|
|
3065
3567
|
items: amounts.value,
|
|
3066
3568
|
selected: state.selected,
|
|
3067
3569
|
onChange: onAmountSelect
|
|
3068
|
-
}, null, 8, ["items", "selected"])
|
|
3570
|
+
}, null, 8, ["items", "selected"]),
|
|
3571
|
+
renderSlot(_ctx.$slots, "banner")
|
|
3069
3572
|
]),
|
|
3070
3573
|
createElementVNode("view", _hoisted_3$l, [
|
|
3071
3574
|
createElementVNode("view", _hoisted_4$h, [
|
|
@@ -3340,26 +3843,35 @@ const _hoisted_6$9 = {
|
|
|
3340
3843
|
};
|
|
3341
3844
|
const _hoisted_7$6 = { class: "amount" };
|
|
3342
3845
|
const _hoisted_8$5 = ["src"];
|
|
3343
|
-
const _hoisted_9$4 = {
|
|
3846
|
+
const _hoisted_9$4 = {
|
|
3847
|
+
key: 0,
|
|
3848
|
+
class: "balance-warning"
|
|
3849
|
+
};
|
|
3344
3850
|
const _hoisted_10$3 = {
|
|
3851
|
+
key: 1,
|
|
3852
|
+
class: "balance-warning-tip"
|
|
3853
|
+
};
|
|
3854
|
+
const _hoisted_11$3 = { class: "amount-footer" };
|
|
3855
|
+
const _hoisted_12$3 = {
|
|
3345
3856
|
key: 0,
|
|
3346
3857
|
class: "agreement"
|
|
3347
3858
|
};
|
|
3348
|
-
const
|
|
3349
|
-
const
|
|
3350
|
-
const
|
|
3351
|
-
const _hoisted_14$2 = { class: "item" };
|
|
3352
|
-
const _hoisted_15$2 = { class: "item" };
|
|
3859
|
+
const _hoisted_13$2 = { class: "buy-amount" };
|
|
3860
|
+
const _hoisted_14$2 = { class: "left" };
|
|
3861
|
+
const _hoisted_15$2 = { class: "amount" };
|
|
3353
3862
|
const _hoisted_16$2 = { class: "item" };
|
|
3863
|
+
const _hoisted_17$2 = { class: "item" };
|
|
3864
|
+
const _hoisted_18$2 = { class: "item" };
|
|
3354
3865
|
var script$A = /* @__PURE__ */ defineComponent({
|
|
3355
3866
|
__name: "TradeView",
|
|
3356
3867
|
props: {
|
|
3357
3868
|
headerApp: { type: String, required: true },
|
|
3358
3869
|
app: { type: String, required: true },
|
|
3359
3870
|
tenant: { type: String, required: true },
|
|
3360
|
-
payFinishJumpUrl: { type: String, required: false }
|
|
3871
|
+
payFinishJumpUrl: { type: String, required: false },
|
|
3872
|
+
apps: { type: String, required: false }
|
|
3361
3873
|
},
|
|
3362
|
-
emits: ["complete", "agree"],
|
|
3874
|
+
emits: ["complete", "agree", "loaded"],
|
|
3363
3875
|
setup(__props, { emit: __emit }) {
|
|
3364
3876
|
const props = __props;
|
|
3365
3877
|
const { formatAmount } = useAmount();
|
|
@@ -3383,8 +3895,28 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3383
3895
|
state.selected = selected;
|
|
3384
3896
|
selectBean.value = false;
|
|
3385
3897
|
};
|
|
3898
|
+
const extraPaymentAmount = computed(() => {
|
|
3899
|
+
if (!selectBean.value || !amounts.value[state.selected]) {
|
|
3900
|
+
return 0;
|
|
3901
|
+
}
|
|
3902
|
+
const paymentAmount = amounts.value[state.selected].paymentAmount || 0;
|
|
3903
|
+
const currentBalance = balance.value || 0;
|
|
3904
|
+
return Math.max(0, paymentAmount - currentBalance);
|
|
3905
|
+
});
|
|
3386
3906
|
const currentAmount = computed(() => {
|
|
3387
|
-
|
|
3907
|
+
if (!amounts.value[state.selected]) {
|
|
3908
|
+
return 0;
|
|
3909
|
+
}
|
|
3910
|
+
if (selectBean.value) {
|
|
3911
|
+
if (balance.value < amounts.value[state.selected].paymentAmount) {
|
|
3912
|
+
return extraPaymentAmount.value;
|
|
3913
|
+
}
|
|
3914
|
+
return 0;
|
|
3915
|
+
}
|
|
3916
|
+
return amounts.value[state.selected].paymentAmount || 0;
|
|
3917
|
+
});
|
|
3918
|
+
const isCombinedPayment = computed(() => {
|
|
3919
|
+
return selectBean.value && amounts.value[state.selected] && balance.value < amounts.value[state.selected].paymentAmount;
|
|
3388
3920
|
});
|
|
3389
3921
|
onMounted(() => {
|
|
3390
3922
|
const $http = useHttp$2({ Appcode: props.headerApp, Tenant: props.tenant });
|
|
@@ -3393,29 +3925,34 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3393
3925
|
}).then((res) => {
|
|
3394
3926
|
balance.value = res.balance;
|
|
3395
3927
|
amounts.value = res.paymentCaseConfigVOS;
|
|
3928
|
+
emit("loaded");
|
|
3396
3929
|
});
|
|
3397
3930
|
});
|
|
3398
3931
|
const showDialog = ref(false);
|
|
3399
3932
|
async function beanPay() {
|
|
3400
3933
|
const $http = useHttp$2({ Appcode: props.headerApp, Tenant: props.tenant });
|
|
3401
|
-
|
|
3934
|
+
try {
|
|
3935
|
+
const response = await $http.post(
|
|
3936
|
+
`/payment/paymentCaseConfig/purchase/${amounts.value[state.selected].id}`
|
|
3937
|
+
);
|
|
3402
3938
|
if (response) {
|
|
3403
3939
|
showDialog.value = false;
|
|
3404
3940
|
emit("complete", { result: response, type: "bean" });
|
|
3405
3941
|
} else {
|
|
3406
3942
|
showToast({
|
|
3407
|
-
title: response
|
|
3943
|
+
title: response?.message || "\u652F\u4ED8\u5931\u8D25",
|
|
3408
3944
|
icon: "none"
|
|
3409
3945
|
});
|
|
3410
3946
|
}
|
|
3411
|
-
})
|
|
3412
|
-
|
|
3413
|
-
|
|
3414
|
-
|
|
3415
|
-
|
|
3416
|
-
return;
|
|
3947
|
+
} catch (error) {
|
|
3948
|
+
showToast({
|
|
3949
|
+
title: error?.message || "\u652F\u4ED8\u5931\u8D25",
|
|
3950
|
+
icon: "none"
|
|
3951
|
+
});
|
|
3417
3952
|
}
|
|
3418
|
-
|
|
3953
|
+
}
|
|
3954
|
+
function proceedWechatPayment() {
|
|
3955
|
+
if (!state.agreed) {
|
|
3419
3956
|
showToast({
|
|
3420
3957
|
title: "\u8BF7\u52FE\u9009\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u534F\u8BAE\u300B",
|
|
3421
3958
|
icon: "none"
|
|
@@ -3434,41 +3971,109 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3434
3971
|
}
|
|
3435
3972
|
requestBrandWCPayByBean({
|
|
3436
3973
|
caseConfigId: amounts.value[state.selected].id,
|
|
3437
|
-
amount:
|
|
3974
|
+
amount: currentAmount.value,
|
|
3438
3975
|
app: "loankitMp",
|
|
3439
3976
|
tenant: props.tenant,
|
|
3440
3977
|
accountAuthFlag: false,
|
|
3441
3978
|
channelCode: "centergzh",
|
|
3442
3979
|
payFinishJumpUrl: props.payFinishJumpUrl,
|
|
3443
|
-
fromMini: !!params.from
|
|
3980
|
+
fromMini: !!params.from,
|
|
3981
|
+
useCloudBean: isCombinedPayment.value
|
|
3444
3982
|
}).then((result) => {
|
|
3445
|
-
console.log(result, "------requestBrandWCPay");
|
|
3446
3983
|
state.buttonLoading = false;
|
|
3447
3984
|
if (typeof result === "boolean" && result) {
|
|
3448
3985
|
window.location.href = props.payFinishJumpUrl;
|
|
3449
3986
|
} else {
|
|
3450
|
-
emit("complete", {
|
|
3987
|
+
emit("complete", {
|
|
3988
|
+
result,
|
|
3989
|
+
type: isCombinedPayment.value ? "combined" : "wePay"
|
|
3990
|
+
});
|
|
3451
3991
|
}
|
|
3992
|
+
}).catch((error) => {
|
|
3993
|
+
state.buttonLoading = false;
|
|
3994
|
+
showToast({
|
|
3995
|
+
title: error.message || "\u652F\u4ED8\u5931\u8D25",
|
|
3996
|
+
icon: "none"
|
|
3997
|
+
});
|
|
3452
3998
|
});
|
|
3453
3999
|
} else {
|
|
3454
4000
|
wx.login({
|
|
3455
4001
|
success({ code }) {
|
|
3456
|
-
requestPaymentByBean(
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
4002
|
+
requestPaymentByBean(
|
|
4003
|
+
{
|
|
4004
|
+
caseConfigId: amounts.value[state.selected].id,
|
|
4005
|
+
amount: currentAmount.value,
|
|
4006
|
+
app: props.app,
|
|
4007
|
+
tenant: props.tenant,
|
|
4008
|
+
user: code
|
|
4009
|
+
},
|
|
4010
|
+
props.headerApp
|
|
4011
|
+
).then((result) => {
|
|
3463
4012
|
state.buttonLoading = false;
|
|
3464
4013
|
if (result) {
|
|
3465
|
-
emit("complete", {
|
|
4014
|
+
emit("complete", {
|
|
4015
|
+
result: true,
|
|
4016
|
+
type: isCombinedPayment.value ? "combined" : "wePay"
|
|
4017
|
+
});
|
|
3466
4018
|
}
|
|
4019
|
+
}).catch((error) => {
|
|
4020
|
+
state.buttonLoading = false;
|
|
4021
|
+
showToast({
|
|
4022
|
+
title: error.message || "\u652F\u4ED8\u5931\u8D25",
|
|
4023
|
+
icon: "none"
|
|
4024
|
+
});
|
|
4025
|
+
});
|
|
4026
|
+
},
|
|
4027
|
+
fail() {
|
|
4028
|
+
state.buttonLoading = false;
|
|
4029
|
+
showToast({
|
|
4030
|
+
title: "\u767B\u5F55\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5",
|
|
4031
|
+
icon: "none"
|
|
3467
4032
|
});
|
|
3468
4033
|
}
|
|
3469
4034
|
});
|
|
3470
4035
|
}
|
|
4036
|
+
}
|
|
4037
|
+
const onPayClick = async () => {
|
|
4038
|
+
if (selectBean.value && !isCombinedPayment.value) {
|
|
4039
|
+
showDialog.value = true;
|
|
4040
|
+
return;
|
|
4041
|
+
}
|
|
4042
|
+
if (isCombinedPayment.value) {
|
|
4043
|
+
const res = await checkBalance();
|
|
4044
|
+
if (!res) return;
|
|
4045
|
+
}
|
|
4046
|
+
proceedWechatPayment();
|
|
3471
4047
|
};
|
|
4048
|
+
async function checkBalance() {
|
|
4049
|
+
const $http = useHttp$2();
|
|
4050
|
+
return new Promise((resolve, reject) => {
|
|
4051
|
+
state.buttonLoading = true;
|
|
4052
|
+
$http.get(endpoints$2.\u83B7\u53D6\u4F59\u989D\u660E\u7EC6, {
|
|
4053
|
+
app: props.apps
|
|
4054
|
+
}).then((data) => {
|
|
4055
|
+
state.buttonLoading = false;
|
|
4056
|
+
if (data.commonAccount < balance.value) {
|
|
4057
|
+
showModal({
|
|
4058
|
+
title: "\u6E29\u99A8\u63D0\u793A",
|
|
4059
|
+
content: "\u4E91\u8C46\u4E0D\u8DB3\uFF0C\u8BF7\u5237\u65B0\u540E\u518D\u6B21\u786E\u8BA4",
|
|
4060
|
+
showCancel: false,
|
|
4061
|
+
confirmText: "\u5237\u65B0",
|
|
4062
|
+
confirmColor: "#017fff",
|
|
4063
|
+
success: () => {
|
|
4064
|
+
balance.value = data.commonAccount;
|
|
4065
|
+
}
|
|
4066
|
+
});
|
|
4067
|
+
resolve(false);
|
|
4068
|
+
} else {
|
|
4069
|
+
resolve(true);
|
|
4070
|
+
}
|
|
4071
|
+
}).catch((error) => {
|
|
4072
|
+
state.buttonLoading = false;
|
|
4073
|
+
resolve(false);
|
|
4074
|
+
});
|
|
4075
|
+
});
|
|
4076
|
+
}
|
|
3472
4077
|
return (_ctx, _cache) => {
|
|
3473
4078
|
const _component_nut_checkbox = Checkbox;
|
|
3474
4079
|
const _component_nut_button = Button;
|
|
@@ -3490,29 +4095,28 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3490
4095
|
-1
|
|
3491
4096
|
/* CACHED */
|
|
3492
4097
|
)),
|
|
3493
|
-
!selectBean.value ? (openBlock(), createElementBlock(
|
|
4098
|
+
!selectBean.value || isCombinedPayment.value ? (openBlock(), createElementBlock(
|
|
3494
4099
|
"div",
|
|
3495
4100
|
_hoisted_5$d,
|
|
3496
|
-
"\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value || 0)),
|
|
4101
|
+
" \u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value || 0)),
|
|
3497
4102
|
1
|
|
3498
4103
|
/* TEXT */
|
|
3499
4104
|
)) : (openBlock(), createElementBlock(
|
|
3500
4105
|
"div",
|
|
3501
4106
|
_hoisted_6$9,
|
|
3502
|
-
"\u6263\u51CF\u540E\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
4107
|
+
" \u6263\u51CF\u540E\u4F59\u989D " + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
3503
4108
|
1
|
|
3504
4109
|
/* TEXT */
|
|
3505
4110
|
))
|
|
3506
4111
|
]),
|
|
3507
|
-
|
|
3508
|
-
key: 0,
|
|
4112
|
+
createElementVNode("div", {
|
|
3509
4113
|
class: "right",
|
|
3510
4114
|
onClick: _cache[0] || (_cache[0] = ($event) => selectBean.value = !selectBean.value)
|
|
3511
4115
|
}, [
|
|
3512
4116
|
createElementVNode(
|
|
3513
4117
|
"div",
|
|
3514
4118
|
_hoisted_7$6,
|
|
3515
|
-
"-" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
4119
|
+
" -" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
3516
4120
|
1
|
|
3517
4121
|
/* TEXT */
|
|
3518
4122
|
),
|
|
@@ -3520,12 +4124,20 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3520
4124
|
class: "icon",
|
|
3521
4125
|
src: selectBean.value ? "https://cdn.ddjf.com/static/images/appkit/select.svg" : "https://cdn.ddjf.com/static/images/appkit/not-select.svg"
|
|
3522
4126
|
}, null, 8, _hoisted_8$5)
|
|
3523
|
-
])
|
|
4127
|
+
]),
|
|
4128
|
+
isCombinedPayment.value ? (openBlock(), createElementBlock(
|
|
4129
|
+
"div",
|
|
4130
|
+
_hoisted_9$4,
|
|
4131
|
+
" \u4E91\u8C46\u4F59\u989D\u4E0D\u8DB3,\u8FD8\u9700\u989D\u5916\u652F\u4ED8" + toDisplayString(unref(formatAmount)(extraPaymentAmount.value)) + "\u5143 ",
|
|
4132
|
+
1
|
|
4133
|
+
/* TEXT */
|
|
4134
|
+
)) : createCommentVNode("v-if", true)
|
|
3524
4135
|
])) : createCommentVNode("v-if", true),
|
|
4136
|
+
isCombinedPayment.value ? (openBlock(), createElementBlock("div", _hoisted_10$3, " \u8BF7\u5728\u652F\u4ED8\u5B8C\u6210\u524D\u786E\u4FDD\u5143\u8C46\u4F59\u989D\u4E0D\u88AB\u6D88\u8017,\u5426\u5219\u672C\u6B21\u6743\u76CA\u53EF\u80FD\u8D2D\u4E70\u5931\u8D25 ")) : createCommentVNode("v-if", true),
|
|
3525
4137
|
renderSlot(_ctx.$slots, "banner")
|
|
3526
4138
|
]),
|
|
3527
|
-
createElementVNode("view",
|
|
3528
|
-
!selectBean.value ? (openBlock(), createElementBlock("view",
|
|
4139
|
+
createElementVNode("view", _hoisted_11$3, [
|
|
4140
|
+
!selectBean.value || isCombinedPayment.value ? (openBlock(), createElementBlock("view", _hoisted_12$3, [
|
|
3529
4141
|
createVNode(_component_nut_checkbox, {
|
|
3530
4142
|
modelValue: state.agreed,
|
|
3531
4143
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.agreed = $event)
|
|
@@ -3553,14 +4165,14 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3553
4165
|
/* STABLE */
|
|
3554
4166
|
}, 8, ["modelValue"])
|
|
3555
4167
|
])) : createCommentVNode("v-if", true),
|
|
3556
|
-
createElementVNode("div",
|
|
3557
|
-
createElementVNode("div",
|
|
4168
|
+
createElementVNode("div", _hoisted_13$2, [
|
|
4169
|
+
createElementVNode("div", _hoisted_14$2, [
|
|
3558
4170
|
_cache[8] || (_cache[8] = createTextVNode(
|
|
3559
4171
|
" \u5F85\u652F\u4ED8\uFF1A ",
|
|
3560
4172
|
-1
|
|
3561
4173
|
/* CACHED */
|
|
3562
4174
|
)),
|
|
3563
|
-
createElementVNode("span",
|
|
4175
|
+
createElementVNode("span", _hoisted_15$2, [
|
|
3564
4176
|
_cache[7] || (_cache[7] = createElementVNode(
|
|
3565
4177
|
"i",
|
|
3566
4178
|
null,
|
|
@@ -3611,22 +4223,22 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3611
4223
|
[
|
|
3612
4224
|
createElementVNode(
|
|
3613
4225
|
"div",
|
|
3614
|
-
|
|
3615
|
-
"\u4E91\u8C46\u6263\u51CF\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
4226
|
+
_hoisted_16$2,
|
|
4227
|
+
" \u4E91\u8C46\u6263\u51CF\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].paymentAmount || 0)),
|
|
3616
4228
|
1
|
|
3617
4229
|
/* TEXT */
|
|
3618
4230
|
),
|
|
3619
4231
|
createElementVNode(
|
|
3620
4232
|
"div",
|
|
3621
|
-
|
|
3622
|
-
"\u6743\u76CA\u589E\u52A0\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].priceRightNum || 0)) + "\u7B14",
|
|
4233
|
+
_hoisted_17$2,
|
|
4234
|
+
" \u6743\u76CA\u589E\u52A0\uFF1A" + toDisplayString(unref(formatAmount)(amounts.value[state.selected].priceRightNum || 0)) + "\u7B14 ",
|
|
3623
4235
|
1
|
|
3624
4236
|
/* TEXT */
|
|
3625
4237
|
),
|
|
3626
4238
|
createElementVNode(
|
|
3627
4239
|
"div",
|
|
3628
|
-
|
|
3629
|
-
"\u6263\u51CF\u540E\u4E91\u8C46\u4F59\u989D\uFF1A" + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
4240
|
+
_hoisted_18$2,
|
|
4241
|
+
" \u6263\u51CF\u540E\u4E91\u8C46\u4F59\u989D\uFF1A" + toDisplayString(unref(formatAmount)(balance.value - amounts.value[state.selected].paymentAmount)),
|
|
3630
4242
|
1
|
|
3631
4243
|
/* TEXT */
|
|
3632
4244
|
)
|
|
@@ -3646,7 +4258,7 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
3646
4258
|
script$A.__file = "src/payment/components/TradeView.vue";
|
|
3647
4259
|
|
|
3648
4260
|
const components = {
|
|
3649
|
-
AmountPicker: script$
|
|
4261
|
+
AmountPicker: script$O,
|
|
3650
4262
|
RechargeView: script$E,
|
|
3651
4263
|
UserAgreement: script$D,
|
|
3652
4264
|
RechargeResult: script$C,
|
|
@@ -3757,7 +4369,7 @@ var script$z = /* @__PURE__ */ defineComponent({
|
|
|
3757
4369
|
])
|
|
3758
4370
|
])
|
|
3759
4371
|
]),
|
|
3760
|
-
createCommentVNode(' <div class="line"></div>\
|
|
4372
|
+
createCommentVNode(' <div class="line"></div>\n <div class="card-row">\n <div class="card-row-left desc">\u6743\u76CA\u4F7F\u7528\u65F6\u81EA\u52A8\u6263\u51CF\u4E91\u8C46</div>\n <div class="card-row-right">\n <div class="pay" v-track-click @click="gotoRecharge">\n <div>\u5145\u503C</div>\n <img\n class="pay-icon"\n src="https://cdn.ddjf.com/static/images/bpms-workBench/bean-right.png"\n />\n </div>\n </div>\n </div> ')
|
|
3761
4373
|
])
|
|
3762
4374
|
]);
|
|
3763
4375
|
};
|
|
@@ -4464,7 +5076,7 @@ var script$t = /* @__PURE__ */ defineComponent({
|
|
|
4464
5076
|
[
|
|
4465
5077
|
createElementVNode("div", _hoisted_1$q, [
|
|
4466
5078
|
createElementVNode("div", _hoisted_2$k, [
|
|
4467
|
-
createVNode(unref(script$
|
|
5079
|
+
createVNode(unref(script$N), {
|
|
4468
5080
|
title: unref(Taro).getEnv() !== "WEB" ? "\u6211\u7684\u8D26\u6237" : "",
|
|
4469
5081
|
class: normalizeClass({ "with-background": scrolled.value > 0 }),
|
|
4470
5082
|
onClose: onPageHeaderClose
|
|
@@ -4769,7 +5381,7 @@ var script$t = /* @__PURE__ */ defineComponent({
|
|
|
4769
5381
|
_: 1
|
|
4770
5382
|
/* STABLE */
|
|
4771
5383
|
}, 8, ["visible"]),
|
|
4772
|
-
createVNode(unref(script$
|
|
5384
|
+
createVNode(unref(script$M), {
|
|
4773
5385
|
modelValue: secondBalanceOpen.value,
|
|
4774
5386
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => secondBalanceOpen.value = $event),
|
|
4775
5387
|
title: "\u6536\u652F\u660E\u7EC6"
|
|
@@ -5456,6 +6068,7 @@ var script$o = /* @__PURE__ */ defineComponent({
|
|
|
5456
6068
|
showModal({
|
|
5457
6069
|
content: toastMap[type],
|
|
5458
6070
|
showCancel: false,
|
|
6071
|
+
confirmColor: "#017fff",
|
|
5459
6072
|
confirmText: "\u77E5\u9053\u4E86"
|
|
5460
6073
|
});
|
|
5461
6074
|
}
|
|
@@ -6138,7 +6751,10 @@ var script$k = /* @__PURE__ */ defineComponent({
|
|
|
6138
6751
|
), [
|
|
6139
6752
|
[vModelText, formState.name]
|
|
6140
6753
|
]),
|
|
6141
|
-
createVNode(script$
|
|
6754
|
+
createVNode(script$I, {
|
|
6755
|
+
"has-upload-vo": false,
|
|
6756
|
+
onComplete: onOCRInfo
|
|
6757
|
+
}, {
|
|
6142
6758
|
icon: withCtx(() => [..._cache[9] || (_cache[9] = [
|
|
6143
6759
|
createElementVNode(
|
|
6144
6760
|
"img",
|
|
@@ -6584,7 +7200,7 @@ var script$i = /* @__PURE__ */ defineComponent({
|
|
|
6584
7200
|
emits: ["detail", "close", "view", "popup", "hasBanner"],
|
|
6585
7201
|
setup(__props, { emit: __emit }) {
|
|
6586
7202
|
const props = __props;
|
|
6587
|
-
const { noticeClick } = useNotice();
|
|
7203
|
+
const { toReadFun, noticeClick } = useNotice();
|
|
6588
7204
|
const bannerMessages = ref([]);
|
|
6589
7205
|
const popMessages = ref([]);
|
|
6590
7206
|
const activeKey = ref(0);
|
|
@@ -6709,7 +7325,7 @@ var script$i = /* @__PURE__ */ defineComponent({
|
|
|
6709
7325
|
Fragment,
|
|
6710
7326
|
null,
|
|
6711
7327
|
renderList(bannerMessages.value, (item, key) => {
|
|
6712
|
-
return withDirectives((openBlock(), createBlock(script$
|
|
7328
|
+
return withDirectives((openBlock(), createBlock(script$K, {
|
|
6713
7329
|
class: normalizeClass({ show: key === activeKey.value }),
|
|
6714
7330
|
key,
|
|
6715
7331
|
showClose: item.noticeType === 0,
|
|
@@ -6980,7 +7596,8 @@ function useCommonList(api, query, loading = true, method = "GET") {
|
|
|
6980
7596
|
const isLoading = ref(false);
|
|
6981
7597
|
async function fetchData(loading2) {
|
|
6982
7598
|
loading2 && showLoading({
|
|
6983
|
-
title: "\u52A0\u8F7D\u4E2D..."
|
|
7599
|
+
title: "\u52A0\u8F7D\u4E2D...",
|
|
7600
|
+
mask: true
|
|
6984
7601
|
});
|
|
6985
7602
|
isLoading.value = true;
|
|
6986
7603
|
const $http = useHttp$1();
|
|
@@ -7382,7 +7999,8 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7382
7999
|
async function readAll() {
|
|
7383
8000
|
try {
|
|
7384
8001
|
showLoading({
|
|
7385
|
-
title: "\u8BF7\u7A0D\u540E..."
|
|
8002
|
+
title: "\u8BF7\u7A0D\u540E...",
|
|
8003
|
+
mask: true
|
|
7386
8004
|
});
|
|
7387
8005
|
const appkitOptions = useAppKitOptions();
|
|
7388
8006
|
const ep = endpoints["\u5168\u90E8\u5DF2\u8BFB"];
|
|
@@ -7432,7 +8050,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
7432
8050
|
class: normalizeClass(["tabContainer", { inH5: unref(isWeb)() }])
|
|
7433
8051
|
},
|
|
7434
8052
|
[
|
|
7435
|
-
createCommentVNode(' <ns-tabs\
|
|
8053
|
+
createCommentVNode(' <ns-tabs\n v-model="state.tab"\n fill="#fff"\n square\n size="xl"\n style="height: 46px"\n @change="onTabChange"\n >\n <ns-tabs-item key="\u5168\u90E8" tab="\u5168\u90E8"></ns-tabs-item>\n <ns-tabs-item key="\u4E1A\u52A1\u6D88\u606F" tab="\u4E1A\u52A1\u6D88\u606F"></ns-tabs-item>\n <ns-tabs-item key="\u7CFB\u7EDF\u516C\u544A" tab="\u7CFB\u7EDF\u516C\u544A"></ns-tabs-item>\n <ns-tabs-item key="\u672A\u8BFB" tab="\u672A\u8BFB"></ns-tabs-item>\n </ns-tabs> '),
|
|
7436
8054
|
createVNode(unref(NsTabs), {
|
|
7437
8055
|
modelValue: state.tab,
|
|
7438
8056
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => state.tab = $event),
|
|
@@ -8018,7 +8636,8 @@ var script$b = /* @__PURE__ */ defineComponent({
|
|
|
8018
8636
|
}
|
|
8019
8637
|
async function updateImage(filePath) {
|
|
8020
8638
|
showLoading({
|
|
8021
|
-
title: "\u4E0A\u4F20\u4E2D..."
|
|
8639
|
+
title: "\u4E0A\u4F20\u4E2D...",
|
|
8640
|
+
mask: true
|
|
8022
8641
|
});
|
|
8023
8642
|
const appkitOptions = useAppKitOptions();
|
|
8024
8643
|
const $http = useHttp();
|
|
@@ -8131,6 +8750,7 @@ var script$b = /* @__PURE__ */ defineComponent({
|
|
|
8131
8750
|
title: "\u63D0\u793A",
|
|
8132
8751
|
content: "\u786E\u5B9A\u8981\u9000\u51FA\u767B\u5F55\u5417\uFF1F",
|
|
8133
8752
|
confirmText: "\u786E\u5B9A",
|
|
8753
|
+
confirmColor: "#017fff",
|
|
8134
8754
|
success: async (e) => {
|
|
8135
8755
|
if (e.confirm) {
|
|
8136
8756
|
emits("logout");
|
|
@@ -9994,7 +10614,8 @@ var script$6 = /* @__PURE__ */ defineComponent({
|
|
|
9994
10614
|
const $http = useHttp();
|
|
9995
10615
|
const appkitOptions = useAppKitOptions();
|
|
9996
10616
|
showLoading({
|
|
9997
|
-
title: "\u53CD\u9988\u4E2D..."
|
|
10617
|
+
title: "\u53CD\u9988\u4E2D...",
|
|
10618
|
+
mask: true
|
|
9998
10619
|
});
|
|
9999
10620
|
const attachment = JSON.parse(
|
|
10000
10621
|
JSON.stringify(
|
|
@@ -10704,8 +11325,9 @@ var script$2 = /* @__PURE__ */ defineComponent({
|
|
|
10704
11325
|
rules: ["required"]
|
|
10705
11326
|
}, {
|
|
10706
11327
|
append: withCtx(() => [
|
|
10707
|
-
!\u5DF2\u8BA4\u8BC1.value ? (openBlock(), createBlock(unref(script$
|
|
11328
|
+
!\u5DF2\u8BA4\u8BC1.value ? (openBlock(), createBlock(unref(script$I), {
|
|
10708
11329
|
key: 0,
|
|
11330
|
+
"has-upload-vo": false,
|
|
10709
11331
|
onComplete: onOcrComplete
|
|
10710
11332
|
})) : createCommentVNode("v-if", true)
|
|
10711
11333
|
]),
|
|
@@ -11314,4 +11936,4 @@ const AppKit = {
|
|
|
11314
11936
|
}
|
|
11315
11937
|
};
|
|
11316
11938
|
|
|
11317
|
-
export { script$t as AccountView, script$
|
|
11939
|
+
export { script$t as AccountView, script$O as AmountPicker, script$M as AppDrawer, script$L as AppVerify, script$z as BalanceCard, script$s as BalanceReminder, script$r as DateRange, script$J as DeviceVersion, script$p as ListFilter, script$4 as LoginSetting, script$i as NoticeBanner, script$h as NoticeEntry, script$f as NoticeList, script$e as NoticeList2, script$H as OcrBank, script$G as OcrBusinessLicense, script$I as OcrIcon, script$F as OcrInvoice, script$N as PageHeader, script$o as PromoterCard, script$C as RechargeResult, script$E as RechargeView, script$k as SelfRegistration, script as SharePoster, script$A as TradeView, script$D as UserAgreement, script$2 as UserAuth, script$a as UserBinding, script$9 as UserBindingSuccess, script$d as UserEntry, script$6 as UserFeedback, script$5 as UserFeedbackEntry, script$7 as UserHeadCrop, script$b as UserInfo, script$3 as UserResourceEmpty, components, compressImage, compressImageWithCanvas, createHttp, AppKit as default, defaultCryptoConfig, generateUniqueId, getCompressQuality, getSdkConfig, initTracking, installTrackingPlugin, jssdkServices, requestPayment$2 as requestPayment, requestWxH5Pay, services$1 as services, trackingSDK, useAppKit, useCountdown, useCrypto, useEncode, useLogger, usePageTracking, useSafeArea, useTabbar, useUpload, useValidator, useWxAuth };
|