@uxda/appkit 4.0.16 → 4.0.18
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/dist/appkit.css
CHANGED
|
@@ -103,12 +103,37 @@
|
|
|
103
103
|
margin: 10px;
|
|
104
104
|
}
|
|
105
105
|
.app-verify .caption {
|
|
106
|
-
font-size:
|
|
107
|
-
color: #
|
|
106
|
+
font-size: 10px !important;
|
|
107
|
+
color: #ccc;
|
|
108
|
+
line-height: 21px;
|
|
109
|
+
}
|
|
110
|
+
.app-verify .number {
|
|
111
|
+
line-height: 21px;
|
|
112
|
+
}
|
|
113
|
+
.app-verify .form .nut-cell-group__wrap {
|
|
114
|
+
display: flex;
|
|
115
|
+
align-items: center;
|
|
116
|
+
margin: 20px 0 !important;
|
|
117
|
+
}
|
|
118
|
+
.app-verify .form .nut-cell-group__wrap .form-input {
|
|
119
|
+
height: 36px;
|
|
120
|
+
line-height: 36px;
|
|
121
|
+
border: none;
|
|
122
|
+
background: #f5f5f5;
|
|
123
|
+
border-radius: 5px;
|
|
124
|
+
flex: 1;
|
|
125
|
+
padding-left: 12px;
|
|
126
|
+
}
|
|
127
|
+
.app-verify .form .nut-cell-group__wrap .form-btn {
|
|
128
|
+
margin-left: 12px;
|
|
129
|
+
width: 90px;
|
|
108
130
|
}
|
|
109
131
|
.app-verify .buttons .ns-button {
|
|
110
132
|
width: 104px;
|
|
111
133
|
}
|
|
134
|
+
.app-verify .buttons .cancel-btn {
|
|
135
|
+
border: 1px solid #969696 !important;
|
|
136
|
+
}
|
|
112
137
|
.dd-notice-bar {
|
|
113
138
|
position: fixed;
|
|
114
139
|
top: 0;
|
|
@@ -162,6 +187,14 @@
|
|
|
162
187
|
width: 24px;
|
|
163
188
|
height: 24px;
|
|
164
189
|
}
|
|
190
|
+
.ocr-icon {
|
|
191
|
+
width: 24px;
|
|
192
|
+
height: 24px;
|
|
193
|
+
}
|
|
194
|
+
.ocr-icon .ns-icon {
|
|
195
|
+
width: 24px;
|
|
196
|
+
height: 24px;
|
|
197
|
+
}
|
|
165
198
|
.recharge-view {
|
|
166
199
|
height: 100%;
|
|
167
200
|
display: flex;
|
package/dist/index.js
CHANGED
|
@@ -25,7 +25,7 @@ import '@nutui/nutui-taro/dist/packages/step/style/css';
|
|
|
25
25
|
|
|
26
26
|
const _hoisted_1$E = { class: "token-line number" };
|
|
27
27
|
const _hoisted_2$y = { class: "number" };
|
|
28
|
-
var script$
|
|
28
|
+
var script$I = /* @__PURE__ */ defineComponent({
|
|
29
29
|
__name: "AmountPicker",
|
|
30
30
|
props: {
|
|
31
31
|
items: { type: Array, required: true, default: () => [] },
|
|
@@ -94,7 +94,7 @@ var script$H = /* @__PURE__ */ defineComponent({
|
|
|
94
94
|
}
|
|
95
95
|
});
|
|
96
96
|
|
|
97
|
-
script$
|
|
97
|
+
script$I.__file = "src/payment/components/AmountPicker.vue";
|
|
98
98
|
|
|
99
99
|
const _hoisted_1$D = { class: "agreement-doc" };
|
|
100
100
|
const _hoisted_2$x = /* @__PURE__ */ createStaticVNode('<h1>\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE</h1><p>2023-12-01</p><p>\xA0</p><p>\u6B22\u8FCE\u60A8\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF01</p><p>\xA0</p><p>\u3010\u63D0\u793A\u6761\u6B3E\u3011</p><p> \u6B22\u8FCE\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u670D\u52A1\u63D0\u4F9B\u8005\u7B7E\u7F72\u300A\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u5145\u503C\u670D\u52A1\u534F\u8BAE\u300B\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u534F\u8BAE\u201D\uFF09\u5E76\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u4E91\u8C46\u503C\u670D\u52A1\uFF01\u60A8\u7406\u89E3\u548C\u540C\u610F\u672C\u534F\u8BAE\u7CFB\u6839\u636E\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u5236\u5B9A\uFF0C\u672C\u534F\u8BAE\u4E3A\u524D\u8FF0\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u4E00\u90E8\u5206\uFF0C\u672C\u534F\u8BAE\u672A\u89C4\u5B9A\u7684\uFF0C\u9002\u7528\u300A\u7528\u6237\u6CE8\u518C\u534F\u8BAE\u300B\u7B49\u534F\u8BAE\u4E2D\u7684\u76F8\u5173\u7EA6\u5B9A\u3002 </p><p>\xA0</p><p>\u3010\u5BA1\u614E\u9605\u8BFB\u3011</p><p><span class="bold">\u5728\u4F7F\u7528\u672C\u670D\u52A1\u524D\uFF0C\u8BF7\u60A8\u52A1\u5FC5\u5BA1\u614E\u9605\u8BFB\u3001\u5145\u5206\u7406\u89E3\u5404\u6761\u6B3E\u5185\u5BB9\uFF0C\u7279\u522B\u662F\u514D\u9664\u6216\u9650\u5236\u8D23\u4EFB\u7684\u76F8\u5E94\u6761\u6B3E\uFF0C\u4EE5\u53CA\u5F00\u901A\u6216\u4F7F\u7528\u67D0\u9879\u670D\u52A1\u7684\u5355\u72EC\u534F\u8BAE\uFF0C\u60A8\u4F7F\u7528\u6B64\u670D\u52A1\u5373\u8868\u793A\u60A8\u63A5\u53D7\u672C\u534F\u8BAE\u3002\u9650\u5236\u6216\u514D\u9664\u8D23\u4EFB\u6761\u6B3E\u53EF\u80FD\u4EE5\u52A0\u7C97\u5F62\u5F0F\u63D0\u793A\u60A8\u6CE8\u610F\u3002</span></p><p>\xA0</p><p>\u3010\u7279\u522B\u63D0\u793A\u3011</p><p><span class="bold">\u5145\u503C\u7528\u6237\u786E\u8BA4\uFF0C\u81EA\u5DF1\u4E3A\u5E74\u6EE118\u5468\u5C81\u4E14\u5177\u6709\u5B8C\u5168\u6C11\u4E8B\u884C\u4E3A\u80FD\u529B\u7684\u6210\u5E74\u4EBA\uFF0C\u9664\u975E\u60A8\u5DF2\u9605\u8BFB\u5E76\u63A5\u53D7\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\uFF0C\u5426\u5219\u60A8\u65E0\u6743\u4F7F\u7528\u5927\u9053\u4E91\u5E73\u53F0\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u60A8\u5BF9\u672C\u670D\u52A1\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002</span></p><p>\xA0</p><p><span class="bold">\u4E00\u3001\u534F\u8BAE\u7684\u8303\u56F4</span></p><p>\xA0</p><p>1.1\u3010\u534F\u8BAE\u9002\u7528\u4E3B\u4F53\u8303\u56F4\u3011</p><p>\u672C\u534F\u8BAE\u662F\u60A8\u4E0E\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u5173\u4E8E\u60A8\u4F7F\u7528\u672C\u670D\u52A1\u6240\u8BA2\u7ACB\u7684\u534F\u8BAE\u3002</p><p>\xA0</p><p>1.2\u3010\u670D\u52A1\u5185\u5BB9\u3011</p><p> \u672C\u534F\u8BAE\u9879\u4E0B\u7684\u670D\u52A1\u662F\u6307\u5927\u9053\u4E91\u5E73\u53F0\u5411\u7528\u6237\u63D0\u4F9B\u7684\u4E91\u8C46\u5145\u503C\u670D\u52A1\uFF08\u4EE5\u4E0B\u7B80\u79F0\u201C\u672C\u670D\u52A1\u201D\uFF09\u3002\u672C\u534F\u8BAE\u5185\u5BB9\u540C\u65F6\u5305\u62EC\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4E0D\u65AD\u53D1\u5E03\u7684\u5173\u4E8E\u672C\u670D\u52A1\u7684\u76F8\u5173\u534F\u8BAE\u3001\u4E1A\u52A1\u89C4\u5219\u7B49\u5185\u5BB9\u3002\u4E0A\u8FF0\u5185\u5BB9\u4E00\u7ECF\u6B63\u5F0F\u53D1\u5E03\uFF0C\u5373\u4E3A\u672C\u534F\u8BAE\u4E0D\u53EF\u5206\u5272\u7684\u7EC4\u6210\u90E8\u5206\uFF0C\u60A8\u540C\u6837\u5E94\u5F53\u9075\u5B88\u3002 </p><p>\xA0</p><p><span class="bold">\u4E8C\u3001\u540D\u8BCD\u5B9A\u4E49</span></p><p>\xA0</p><p><span class="bold">2.1\u3010\u4E91\u8C46\u3011</span></p><p><span class="bold">2.1.1 \u4E91\u8C46\u7CFB\u5927\u9053\u4E91\u5E73\u53F0\u4E3A\u7528\u6237\u63D0\u4F9B\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u7528\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u7684\u4EA7\u54C1\u6743\u76CA\u4F7F\u7528\u62B5\u6263\u3002</span></p><p>\xA0</p><p><span class="bold">2.1.2 \u4E91\u8C46\u5C5E\u4E8E\u5728\u7EBF\u4EA4\u4ED8\u7684\u6570\u5B57\u5316\u5546\u54C1\uFF0C\u4E91\u8C46\u7684\u8D2D\u4E70\u8D39\u7528\u7CFB\u6570\u5B57\u5316\u5546\u54C1\u4EF7\u683C\uFF0C\u800C\u4E0D\u5177\u6709\u9884\u4ED8\u6B3E\u6027\u8D28\u6216\u8005\u5B9A\u91D1\u3001\u50A8\u503C\u7B49\u6027\u8D28\uFF0C\u4E91\u8C46\u8D2D\u4E70\u6210\u529F\u540E\u4E0D\u53EF\u8F6C\u8BA9\u6216\u8005\u9006\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u8D27\u5E01\u3002</span></p><p><span class="bold">2.1.3 \u4E91\u8C46\u4EC5\u9650\u4E8E\u7528\u6237\u81EA\u5DF1\u8D26\u53F7\u5728\u5927\u9053\u4E91\u5E73\u53F0\u4F7F\u7528\uFF0C\u4E0D\u5F97\u4EE5\u76C8\u5229\u7B49\u975E\u4E2A\u4EBA\u4F7F\u7528\u76EE\u7684\u4F7F\u7528\u4E91\u8C46\uFF0C\u6216\u901A\u8FC7\u8D60\u4E0E\u3001\u51FA\u501F\u3001\u8F6C\u8BA9\u3001\u9500\u552E\u3001\u62B5\u62BC\u3001\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\u7B49\u65B9\u5F0F\u83B7\u53D6\u6216\u5904\u7F6E\u4E91\u8C46\u3002</span></p><p><span class="bold">2.1.4 \u4EBA\u6C11\u5E01\u548C\u4E91\u8C46\u5151\u6362\u7684\u6BD4\u4F8B\u4E3A1:1\uFF08\u53731\u5143\u4EBA\u6C11\u5E01=1\u4E91\u8C46\uFF09\uFF0C\u4E91\u8C46\u5728\u4EFB\u4F55\u60C5\u51B5\u4E0B\u90FD\u4E0D\u5177\u6709\u6CD5\u5B9A\u8D27\u5E01\u7684\u6D41\u8F6C\u53CA\u652F\u4ED8\u529F\u80FD\uFF0C\u4E0D\u5F97\u53CD\u5411\u5151\u6362\u4E3A\u4EBA\u6C11\u5E01\u6216\u5176\u4ED6\u6CD5\u5B9A\u8D27\u5E01\u3001\u5B9E\u7269\u548C\u5176\u4ED6\u865A\u62DF\u8D27\u5E01\uFF0C\u8BF7\u60A8\u6839\u636E\u5B9E\u9645\u9700\u6C42\u8D2D\u4E70\u76F8\u5E94\u6570\u91CF\u7684\u4E91\u8C46\u3002</span></p><p>2.2\u3010\u5927\u9053\u4E91\u5E73\u53F0\u3011</p><p> \u6307\u7531<span class="bold">\u5927\u9053\u4E91\u5E73\u53F0\u6240\u62E5\u6709\u3001\u63A7\u5236\u3001\u7ECF\u8425\u7684\u5927\u9053\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u6C47\u4E91\u5FAE\u4FE1\u5C0F\u7A0B\u5E8F\u3001\u8702\u9E1F\u5C45\u95F4\u7CFB\u7EDF\u3001\u8702\u9E1F\u5468\u8F6C\u7CFB\u7EDF\u3002</span></p><p>\xA0</p><p><span class="bold">\u4E09\u3001\u6743\u5229\u4E49\u52A1</span></p><p>\xA0</p><p> 3.1.1 \u60A8\u627F\u8BFA\u5177\u5907\u4F7F\u7528\u672C\u670D\u52A1\u6240\u5FC5\u9700\u7684\u6C11\u4E8B\u80FD\u529B\u548C\u5408\u6CD5\u8D44\u683C\uFF0C\u6709\u6743\u4E14\u6709\u80FD\u529B\u540C\u610F\u672C\u534F\u8BAE\u53CA\u76F8\u5173\u534F\u8BAE\u7684\u5168\u90E8\u5185\u5BB9\u3002 </p><p> 3.1.2 <span class="bold">\u60A8\u5E94\u59A5\u5584\u4FDD\u7BA1\u5927\u9053\u4E91\u5E73\u53F0\u8D26\u53F7\u7684\u7528\u6237\u540D\u53CA\u5176\u5BC6\u7801\uFF0C\u5E76\u5BF9\u8BE5\u8D26\u53F7\u4E0B\u7684\u4E00\u5207\u64CD\u4F5C\u884C\u4E3A\u8D1F\u8D23\u3002\u5982\u60A8\u7684\u5927\u9053\u4E91\u8D26\u53F7\u5B58\u5728\u5F02\u5E38\u60C5\u5F62\uFF0C\u60A8\u53EF\u4EE5\u8054\u7CFB\u5BA2\u670D\u6302\u5931\u6216\u51BB\u7ED3\u60A8\u7684\u8D26\u6237\u3002\u6B64\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u9700\u8981\u60A8\u63D0\u4F9B\u5927\u9053\u4E91\u8D26\u53F7\u7684\u6CE8\u518C\u4FE1\u606F\u4EE5\u5B8C\u6210\u8EAB\u4EFD\u6838\u9A8C\u3002\u60A8\u7406\u89E3\u5E76\u786E\u8BA4\uFF0C\u7531\u4E8E\u6280\u672F\u5C40\u9650\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4FDD\u8BC1\u8EAB\u4EFD\u6838\u9A8C\u7684\u51C6\u786E\u6027\u548C\u771F\u5B9E\u6027\u3002</span></p><p> 3.1.3 \u60A8\u627F\u8BFA\u4E0D\u5F97\u901A\u8FC7\u975E\u5927\u9053\u4E91\u5E73\u53F0\u6307\u5B9A\u9014\u5F84\u6216\u4EFB\u4F55\u8FDD\u53CD\u76F8\u5173\u6CD5\u89C4\u3001\u8FDD\u53CD\u672C\u534F\u8BAE\u3001\u4E0D\u6B63\u5F53\u624B\u6BB5\u7B49\u8D2D\u4E70\u4E91\u8C46\u3002 </p><p> 3.1.4 \u5927\u9053\u4E91\u5E73\u53F0\u53EF\u80FD\u4F1A\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5BF9\u672C\u670D\u52A1\u7684\u6536\u8D39\u6807\u51C6\u3001\u65B9\u5F0F\u7B49\u8FDB\u884C\u4FEE\u6539\u548C\u53D8\u66F4\uFF0C\u524D\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u5728\u76F8\u5E94\u670D\u52A1\u9875\u9762\u8FDB\u884C\u901A\u77E5\u6216\u516C\u544A\u3002\u5982\u679C\u60A8\u4E0D\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\uFF0C\u5219\u5E94\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002\u5426\u5219\uFF0C\u60A8\u7684\u4EFB\u4F55\u8D2D\u4E70\u3001\u767B\u5F55\u3001\u67E5\u770B\u7B49\u4F7F\u7528\u884C\u4E3A\uFF0C\u5373\u89C6\u4E3A\u60A8\u540C\u610F\u4E0A\u8FF0\u4FEE\u6539\u3001\u53D8\u66F4\u3002 </p><p> 3.1.5 \u5927\u9053\u4E91\u5E73\u53F0\u5728\u76EE\u524D\u6280\u672F\u6C34\u5E73\u4E0B\uFF0C\u6700\u5927\u7A0B\u5EA6\u5730\u4FDD\u969C\u672C\u529F\u80FD\u7684\u6B63\u5E38\u8FD0\u884C\uFF0C\u4EE5\u7EF4\u62A4\u4F60\u7684\u5229\u76CA\u3002\u5927\u9053\u4E91\u5E73\u53F0\u5BF9\u672C\u670D\u52A1\u4E0D\u4F5C\u4EFB\u4F55\u660E\u793A\u6216\u6697\u793A\u7684\u4FDD\u8BC1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u5BF9\u672C\u670D\u52A1\u7684\u53EF\u9002\u7528\u6027\u3001\u6301\u7EED\u6027\u7B49\u3002 </p><p>\xA0</p><p><span class="bold">\u56DB\u3001\u4E91\u8C46\u4F7F\u7528\u89C4\u5219\u53CA\u7279\u522B\u7EA6\u5B9A</span></p><p>\xA0</p><p><span class="bold">4.1 \u5927\u9053\u4E91\u5E73\u53F0\u5411\u60A8\u63D0\u4F9B\u8D2D\u4E70\u3001\u7BA1\u7406\u4E91\u8C46\u6709\u5173\u7684\u7F51\u7EDC\u589E\u503C\u670D\u52A1\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u4E91\u8C46\u7684\u8D2D\u4E70\u3001\u8D26\u6237\u7BA1\u7406\u9875\u9762\u3001\u4EA4\u6613\u660E\u7EC6\u67E5\u8BE2\u670D\u52A1\uFF08\u4EE5\u4E0B\u79F0\u201C\u4E91\u8C46\u670D\u52A1\u201D\uFF09\u3002\u4E91\u8C46\u670D\u52A1\u7684\u5177\u4F53\u5185\u5BB9\u8BF7\u4EE5\u76F8\u5173\u9875\u9762\u7684\u4FE1\u606F\u4E3A\u51C6\u3002\u60A8\u540C\u610F\u4EE5\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u4F5C\u4E3A\u4E91\u8C46\u8D2D\u4E70\u7684\u552F\u4E00\u6709\u6548\u4F9D\u636E\uFF0C\u5982\u60A8\u5BF9\u5927\u9053\u4E91\u5E73\u53F0\u7559\u5B58\u7684\u4EA4\u6613\u8BB0\u5F55\u6709\u5F02\u8BAE\uFF0C\u60A8\u5E94\u7ACB\u5373\u5411\u5927\u9053\u4E91\u5E73\u53F0\u63D0\u51FA\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u7ECF\u6838\u5BF9\u540E\u53D1\u73B0\u786E\u6709\u9519\u8BEF\u7684\uFF0C\u5C06\u4E88\u4EE5\u6539\u6B63\u3002</span></p><p><span class="bold">4.2. \u60A8\u5E94\u8BE5\u901A\u8FC7\u5927\u9053\u4E91\u5E73\u53F0\u5B98\u65B9\u6307\u5B9A\u7684\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u652F\u4ED8\u5B9D\u3001\u8D22\u4ED8\u901A\u7B49\u65B9\u5F0F\u4F9D\u7EA6\u652F\u4ED8\u4E00\u5B9A\u8D39\u7528\u540E\u8D2D\u4E70\u4E91\u8C46\u3002</span></p><p><span class="bold">4.3 \u60A8\u5FC5\u987B\u4E3A\u7ED1\u5B9A\u7684\u652F\u4ED8\u6E20\u9053\u8D26\u6237\u5F00\u6237\u4EBA/\u6301\u6709\u4EBA\uFF0C\u53EF\u5408\u6CD5\u3001\u6709\u6548\u4F7F\u7528\u8BE5\u8D26\u6237\u4E14\u672A\u4FB5\u72AF\u4EFB\u4F55\u7B2C\u4E09\u65B9\u6743\u76CA\uFF0C\u5426\u5219\u56E0\u6B64\u9020\u6210\u652F\u4ED8\u8D26\u6237\u5B9E\u9645\u6240\u6709\u4EBA\u635F\u5931\u7684\uFF0C\u5E94\u7531\u60A8\u5355\u72EC\u8D1F\u8D23\u89E3\u51B3\u7531\u6B64\u4EA7\u751F\u7684\u7EA0\u7EB7\u5E76\u627F\u62C5\u5168\u90E8\u6CD5\u5F8B\u8D23\u4EFB\u3002</span></p><p><span class="bold">4.4 \u60A8\u5E94\u5728\u8D2D\u4E70\u4E91\u8C46\u65F6\u4ED4\u7EC6\u786E\u8BA4\u8D26\u53F7\u3001\u652F\u4ED8\u8D26\u6237\u3001\u8D2D\u4E70\u6570\u91CF\u3001\u8D2D\u4E70\u8D39\u7528\u7B49\u4EA4\u6613\u4FE1\u606F\u51C6\u786E\u65E0\u8BEF\uFF0C\u5982\u56E0\u60A8\u81EA\u8EAB\u539F\u56E0\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u8D26\u53F7\u9519\u8BEF\u3001\u652F\u4ED8\u8D26\u6237\u9519\u8BEF\u3001\u64CD\u4F5C\u4E0D\u5F53\u3001\u8D26\u53F7/\u652F\u4ED8\u8D26\u6237\u5B58\u5728\u5F02\u5E38\u60C5\u51B5\u7B49\uFF09\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u5E94\u7531\u60A8\u81EA\u884C\u627F\u62C5\u3002</span></p><p><span class="bold">4.5 \u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u51B3\u5B9A\u4E91\u8C46\u5982\u4F55\u88AB\u4F7F\u7528\uFF08\u5305\u62EC\u5151\u6362\u865A\u62DF\u5546\u54C1\u7B49\u4E8E\u5927\u9053\u4E91\u5E73\u53F0\u4E0A\u4F7F\u7528\u7684\u4EA7\u54C1\u6216\u670D\u52A1\uFF09\u3002</span></p><p>\xA0</p><p><span class="bold">\u4E94\u3001\u884C\u4E3A\u89C4\u8303</span></p><p>\xA0</p><p>5.1\u3010\u7528\u6237\u7981\u6B62\u884C\u4E3A\u3011</p><p>\u672C\u670D\u52A1\u4EC5\u4F9B\u60A8\u4E2A\u4EBA\u4F7F\u7528\uFF0C\u9664\u975E\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\uFF0C\u60A8\u4E0D\u5F97\u8FDB\u884C\u4EE5\u4E0B\u884C\u4E3A\uFF1A</p><p>5.1.1 \u5C06\u672C\u670D\u52A1\u8F6C\u8BA9\u8BB8\u53EF\u4ED6\u4EBA\u4F7F\u7528\uFF1B</p><p>5.1.2 \u5176\u4ED6\u672A\u7ECF\u5927\u9053\u4E91\u5E73\u53F0\u4E66\u9762\u8BB8\u53EF\u7684\u884C\u4E3A\u3002</p><p>5.2\u3010\u884C\u4E3A\u8D23\u4EFB\u3011</p><p><span class="bold">\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u7528\u4EE5\u53C2\u4E0E\u672C\u670D\u52A1\u7684\u5927\u9053\u4E91\u8D26\u53F7\u7531\u60A8\u72EC\u7ACB\u7EF4\u62A4\u3001\u4F7F\u7528\u5E76\u72EC\u7ACB\u627F\u62C5\u5168\u90E8\u8D23\u4EFB\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u4E0D\u4F1A\u3001\u4E5F\u4E0D\u53EF\u80FD\u53C2\u4E0E\u8BE5\u8D26\u53F7\u7684\u4F7F\u7528\u7B49\u4EFB\u4F55\u6D3B\u52A8\u3002\u60A8\u5E94\u5BF9\u672C\u670D\u52A1\u4E2D\u7684\u5185\u5BB9\u81EA\u884C\u52A0\u4EE5\u5224\u65AD\uFF0C\u5E76\u627F\u62C5\u56E0\u4F7F\u7528\u5185\u5BB9\u800C\u5F15\u8D77\u7684\u6240\u6709\u98CE\u9669\uFF0C\u5305\u62EC\u56E0\u5BF9\u5185\u5BB9\u7684\u6B63\u786E\u6027\u3001\u5B8C\u6574\u6027\u6216\u5B9E\u7528\u6027\u7684\u4F9D\u8D56\u800C\u4EA7\u751F\u7684\u98CE\u9669\u3002\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u4E14\u4E0D\u4F1A\u5BF9\u56E0\u524D\u8FF0\u98CE\u9669\u800C\u5BFC\u81F4\u7684\u4EFB\u4F55\u635F\u5931\u6216\u635F\u5BB3\u627F\u62C5\u4EFB\u4F55\u8D23\u4EFB\u3002</span></p><p>\xA0</p><p><span class="bold">\u516D\u3001\u670D\u52A1\u7684\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62</span></p><p>\xA0</p><p> \u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u7531\u4E8E\u4E92\u8054\u7F51\u670D\u52A1\u7684\u7279\u6B8A\u6027\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u53EF\u4EE5\u5728\u4E0D\u63D0\u524D\u901A\u77E5\u60A8\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u6839\u636E\u672C\u670D\u52A1\u7684\u6574\u4F53\u89C4\u5212\uFF0C\u5355\u65B9\u6709\u6743\u5BF9\u672C\u670D\u52A1\u5185\u5BB9\u8FDB\u884C\u53D8\u66F4\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u3002 </p><p>\xA0</p><p><span class="bold">\u4E03\u3001\u8FDD\u7EA6\u8D23\u4EFB</span></p><p>\xA0</p><p><span class="bold">7.1 \u5982\u679C\u5927\u9053\u4E91\u5E73\u53F0\u53D1\u73B0\u6216\u6536\u5230\u4ED6\u4EBA\u4E3E\u62A5\u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u8FDB\u884C\u72EC\u7ACB\u5224\u65AD\u5E76\u91C7\u53D6\u6280\u672F\u624B\u6BB5\u4E88\u4EE5\u5220\u9664\u3001\u5C4F\u853D\u6216\u65AD\u5F00\u76F8\u5173\u7684\u4FE1\u606F\u3002\u540C\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u89C6\u60A8\u7684\u884C\u4E3A\u6027\u8D28\uFF0C\u5BF9\u60A8\u91C7\u53D6\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u3001\u4E2D\u6B62\u6216\u7EC8\u6B62\u60A8\u5BF9\u8D26\u53F7\u7684\u4F7F\u7528\u3001\u8FFD\u7A76\u6CD5\u5F8B\u8D23\u4EFB\u7B49\u63AA\u65BD\uFF0C\u800C\u7531\u6B64\u7ED9\u60A8\u5E26\u6765\u7684\u635F\u5931\uFF08\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u901A\u4FE1\u4E2D\u65AD\u3001\u76F8\u5173\u6570\u636E\u6E05\u7A7A\u3001\u670D\u52A1\u8D39\u7528\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u7B49\uFF09\uFF0C\u7531\u60A8\u81EA\u884C\u627F\u62C5\uFF0C\u9020\u6210\u5927\u9053\u4E91\u5E73\u53F0\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u4E88\u4EE5\u8D54\u507F\u3002\u82E5\u5927\u9053\u4E91\u5E73\u53F0\u4F9D\u524D\u8FF0\u7EA6\u5B9A\u5BF9\u60A8\u91C7\u53D6\u6682\u505C\u6216\u7EC8\u6B62\u90E8\u5206\u6216\u5168\u90E8\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</span></p><p>\xA0</p><p>7.2\u3010\u5BF9\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\u5904\u7406\u3011</p><p> \u60A8\u6709\u8FDD\u53CD\u672C\u534F\u8BAE\u4EFB\u4F55\u884C\u4E3A\uFF0C\u5BFC\u81F4\u4EFB\u4F55\u7B2C\u4E09\u65B9\u635F\u5BB3\u7684\uFF0C\u60A8\u5E94\u5F53\u72EC\u7ACB\u627F\u62C5\u8D23\u4EFB\uFF1B\u5927\u9053\u4E91\u5E73\u53F0\u56E0\u6B64\u906D\u53D7\u635F\u5931\u7684\uFF0C\u60A8\u4E5F\u5E94\u5F53\u4E00\u5E76\u8D54\u507F\u3002 </p><p>\xA0</p><p><span class="bold">7.3\u3010\u5355\u65B9\u63D0\u524D\u7EC8\u6B62\u670D\u52A1\u3011</span></p><p><span class="bold">\u60A8\u5145\u5206\u4E86\u89E3\u5E76\u540C\u610F\uFF0C\u60A8\u5728\u9009\u62E9\u4F7F\u7528\u672C\u670D\u52A1\u540E\uFF0C\u82E5\u60A8\u5728\u65E0\u4EFB\u4F55\u6CD5\u5B9A\u6216\u7EA6\u5B9A\u7406\u7531\u7684\u60C5\u51B5\u4E4B\u4E0B\uFF0C\u5355\u65B9\u8981\u6C42\u63D0\u524D\u7EC8\u6B62\u672C\u670D\u52A1\u7684\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u9700\u5411\u60A8\u9000\u8FD8\u4EFB\u4F55\u8D39\u7528\uFF0C\u5269\u4F59\u7684\u670D\u52A1\u8D39\u7528\uFF0C\u4F5C\u4E3A\u8FDD\u7EA6\u91D1\u800C\u5F52\u5927\u9053\u4E91\u5E73\u53F0\u6240\u6709\u3002</span></p><p>\xA0</p><p><span class="bold">\u516B\u3001\u514D\u8D23\u6761\u6B3E</span></p><p>\xA0</p><p><span class="bold">8.1 \u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u5728\u4F7F\u7528\u672C\u670D\u52A1\u7684\u8FC7\u7A0B\u4E2D\uFF0C\u53EF\u80FD\u4F1A\u56E0\u4E0D\u53EF\u6297\u529B\u800C\u4F7F\u672C\u670D\u52A1\u53D1\u751F\u4E2D\u65AD\uFF0C\u5E76\u56E0\u6B64\u800C\u5F15\u53D1\u635F\u5BB3\u3002\u4E0D\u53EF\u6297\u529B\u662F\u6307\u4E0D\u80FD\u9884\u89C1\u3001\u4E0D\u80FD\u514B\u670D\u5E76\u4E0D\u80FD\u907F\u514D\u4E14\u5BF9\u4E00\u65B9\u6216\u53CC\u65B9\u9020\u6210\u91CD\u5927\u5F71\u54CD\u7684\u5BA2\u89C2\u4E8B\u4EF6\uFF0C\u5305\u62EC\u4F46\u4E0D\u9650\u4E8E\u81EA\u7136\u707E\u5BB3\u5982\u6D2A\u6C34\u3001\u5730\u9707\u3001\u98CE\u66B4\u3001\u75AB\u60C5\u7B49\u4EE5\u53CA\u793E\u4F1A\u4E8B\u4EF6\u5982\u6218\u4E89\u3001\u52A8\u4E71\u3001\u653F\u5E9C\u884C\u4E3A\u7B49\u3002\u51FA\u73B0\u4E0A\u8FF0\u60C5\u51B5\u65F6\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5C06\u52AA\u529B\u5728\u7B2C\u4E00\u65F6\u95F4\u4E0E\u76F8\u5173\u5355\u4F4D\u914D\u5408\uFF0C\u53CA\u65F6\u8FDB\u884C\u4FEE\u590D\uFF0C\u82E5\u7531\u6B64\u7ED9\u60A8\u9020\u6210\u635F\u5931\u7684\uFF0C\u60A8\u540C\u610F\u653E\u5F03\u8FFD\u7A76\u5927\u9053\u4E91\u5E73\u53F0\u7684\u8D23\u4EFB\u3002</span></p><p><span class="bold">8.2 \u60A8\u7406\u89E3\u5E76\u540C\u610F\uFF1A\u82E5\u7531\u4E8E\u4EE5\u4E0B\u60C5\u5F62\u5BFC\u81F4\u7684\u529F\u80FD\u4E2D\u65AD\u6216\u53D7\u963B\uFF0C\u5927\u9053\u4E91\u5E73\u53F0\u5E76\u4E0D\u627F\u62C5\u4EFB\u4F55\u6CD5\u5F8B\u8D23\u4EFB\uFF1A</span></p><p><span class="bold">8.2.1 \u53D7\u5230\u8BA1\u7B97\u673A\u75C5\u6BD2\u3001\u6728\u9A6C\u6216\u5176\u4ED6\u6076\u610F\u7A0B\u5E8F\u3001\u9ED1\u5BA2\u653B\u51FB\u7684\u7834\u574F\uFF1B</span></p><p><span class="bold">8.2.2 \u60A8\u64CD\u4F5C\u4E0D\u5F53\uFF1B</span></p><p><span class="bold">8.2.3 \u5176\u4ED6\u5927\u9053\u4E91\u5E73\u53F0\u65E0\u6CD5\u63A7\u5236\u6216\u5408\u7406\u9884\u89C1\u7684\u60C5\u5F62\u3002</span></p><p>\xA0</p><p>\u4E5D\u3001\u5176\u4ED6</p><p>\xA0</p><p>9.1\u3010\u534F\u8BAE\u7684\u751F\u6548\u4E0E\u53D8\u66F4\u3011</p><p> \u60A8\u4F7F\u7528\u672C\u670D\u52A1\u5373\u89C6\u4E3A\u60A8\u5DF2\u9605\u8BFB\u5E76\u540C\u610F\u53D7\u672C\u534F\u8BAE\u7684\u7EA6\u675F\u3002\u5927\u9053\u4E91\u5E73\u53F0\u6709\u6743\u5728\u5FC5\u8981\u65F6\u4FEE\u6539\u672C\u534F\u8BAE\u6761\u6B3E\u3002\u60A8\u53EF\u4EE5\u5728\u76F8\u5173\u9875\u9762\u4E2D\u67E5\u9605\u6700\u65B0\u7684\u534F\u8BAE\u6761\u6B3E\u3002\u672C\u534F\u8BAE\u6761\u6B3E\u53D8\u66F4\u540E\uFF0C\u5982\u679C\u60A8\u7EE7\u7EED\u4F7F\u7528\u672C\u670D\u52A1\uFF0C\u5373\u89C6\u4E3A\u60A8\u5DF2\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\u3002\u5982\u679C\u60A8\u4E0D\u63A5\u53D7\u4FEE\u6539\u540E\u7684\u534F\u8BAE\uFF0C\u5E94\u5F53\u505C\u6B62\u4F7F\u7528\u672C\u670D\u52A1\u3002 </p><p>9.2\u3010\u534F\u8BAE\u7B7E\u8BA2\u5730\u3011</p><p>\u672C\u534F\u8BAE\u7B7E\u8BA2\u5730\u4E3A\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u6DF1\u5733\u5E02\u5357\u5C71\u533A\u3002</p><p>9.3\u3010\u9002\u7528\u6CD5\u5F8B\u3011</p><p> \u672C\u534F\u8BAE\u7684\u6210\u7ACB\u3001\u751F\u6548\u3001\u5C65\u884C\u3001\u89E3\u91CA\u53CA\u7EA0\u7EB7\u89E3\u51B3\uFF0C\u9002\u7528\u4E2D\u534E\u4EBA\u6C11\u5171\u548C\u56FD\u5927\u9646\u5730\u533A\u6CD5\u5F8B\uFF08\u4E0D\u5305\u62EC\u51B2\u7A81\u6CD5\uFF09\u3002 </p><p><span class="bold">9.4\u3010\u4E89\u8BAE\u89E3\u51B3\u3011</span></p><p><span class="bold">\u82E5\u60A8\u548C\u5927\u9053\u4E91\u5E73\u53F0\u4E4B\u95F4\u53D1\u751F\u4EFB\u4F55\u7EA0\u7EB7\u6216\u4E89\u8BAE\uFF0C\u9996\u5148\u5E94\u53CB\u597D\u534F\u5546\u89E3\u51B3\uFF1B\u534F\u5546\u4E0D\u6210\u7684\uFF0C\u5404\u65B9\u5171\u540C\u7EA6\u5B9A\uFF0C\u51E1\u56E0\u672C\u534F\u8BAE\u5F15\u8D77\u7684\u6216\u4E0E\u672C\u534F\u8BAE\u6709\u5173\u7684\u4EFB\u4F55\u4E89\u8BAE\uFF0C\u5747\u63D0\u4EA4\u6E5B\u6C5F\u4EF2\u88C1\u59D4\u5458\u4F1A\u4F9D\u5176\u89C4\u5219\u548C\u56FD\u5BB6\u6CD5\u5F8B\u6CD5\u89C4\u4ECE\u901F\u4EF2\u88C1\u3002</span></p><p>9.5\u3010\u6761\u6B3E\u6807\u9898\u3011</p><p>\u672C\u534F\u8BAE\u6240\u6709\u6761\u6B3E\u7684\u6807\u9898\u4EC5\u4E3A\u9605\u8BFB\u65B9\u4FBF\uFF0C\u672C\u8EAB\u5E76\u65E0\u5B9E\u9645\u6DB5\u4E49\uFF0C\u4E0D\u80FD\u4F5C\u4E3A\u672C\u534F\u8BAE\u6DB5\u4E49\u89E3\u91CA\u7684\u4F9D\u636E\u3002</p><p>9.6\u3010\u6761\u6B3E\u6548\u529B\u3011</p><p>\u672C\u534F\u8BAE\u6761\u6B3E\u65E0\u8BBA\u56E0\u4F55\u79CD\u539F\u56E0\u90E8\u5206\u65E0\u6548\u6216\u4E0D\u53EF\u6267\u884C\uFF0C\u5176\u4F59\u6761\u6B3E\u4ECD\u6709\u6548\uFF0C\u5BF9\u53CC\u65B9\u4ECD\u5177\u6709\u7EA6\u675F\u529B\u3002</p><p>\xA0</p><p>\xA0</p>', 96);
|
|
@@ -105,10 +105,10 @@ function render$2(_ctx, _cache) {
|
|
|
105
105
|
return openBlock(), createElementBlock("view", _hoisted_1$D, [..._hoisted_98]);
|
|
106
106
|
}
|
|
107
107
|
|
|
108
|
-
/* unplugin-vue-components disabled */const script$
|
|
108
|
+
/* unplugin-vue-components disabled */const script$H = {};
|
|
109
109
|
|
|
110
|
-
script$
|
|
111
|
-
script$
|
|
110
|
+
script$H.render = render$2;
|
|
111
|
+
script$H.__file = "src/payment/components/UserAgreement.vue";
|
|
112
112
|
|
|
113
113
|
function requestPayment$2(json) {
|
|
114
114
|
return new Promise((resolve, reject) => {
|
|
@@ -333,7 +333,7 @@ const _hoisted_1$C = {
|
|
|
333
333
|
key: 0,
|
|
334
334
|
class: "page-title"
|
|
335
335
|
};
|
|
336
|
-
var script$
|
|
336
|
+
var script$G = /* @__PURE__ */ defineComponent({
|
|
337
337
|
__name: "PageHeader",
|
|
338
338
|
props: {
|
|
339
339
|
title: { type: String, required: false, default: "" },
|
|
@@ -381,10 +381,10 @@ var script$F = /* @__PURE__ */ defineComponent({
|
|
|
381
381
|
}
|
|
382
382
|
});
|
|
383
383
|
|
|
384
|
-
script$
|
|
384
|
+
script$G.__file = "src/shared/components/PageHeader.vue";
|
|
385
385
|
|
|
386
386
|
const _hoisted_1$B = { class: "drawer-body" };
|
|
387
|
-
var script$
|
|
387
|
+
var script$F = /* @__PURE__ */ defineComponent({
|
|
388
388
|
__name: "AppDrawer",
|
|
389
389
|
props: {
|
|
390
390
|
modelValue: { type: Boolean, required: true },
|
|
@@ -408,7 +408,7 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
408
408
|
"onUpdate:visible": onVisibleChange
|
|
409
409
|
}, {
|
|
410
410
|
default: withCtx(() => [
|
|
411
|
-
createVNode(script$
|
|
411
|
+
createVNode(script$G, {
|
|
412
412
|
title: _ctx.title,
|
|
413
413
|
onClose: onPageHeaderClose
|
|
414
414
|
}, null, 8, ["title"]),
|
|
@@ -423,17 +423,18 @@ var script$E = /* @__PURE__ */ defineComponent({
|
|
|
423
423
|
}
|
|
424
424
|
});
|
|
425
425
|
|
|
426
|
-
script$
|
|
426
|
+
script$F.__file = "src/shared/components/AppDrawer.vue";
|
|
427
427
|
|
|
428
428
|
const _hoisted_1$A = { class: "app-verify column" };
|
|
429
429
|
const _hoisted_2$w = { class: "caption" };
|
|
430
430
|
const _hoisted_3$r = { class: "number" };
|
|
431
|
-
const _hoisted_4$l = {
|
|
431
|
+
const _hoisted_4$l = { class: "form-btn" };
|
|
432
|
+
const _hoisted_5$h = {
|
|
432
433
|
key: 1,
|
|
433
434
|
class: "caption"
|
|
434
435
|
};
|
|
435
|
-
const
|
|
436
|
-
var script$
|
|
436
|
+
const _hoisted_6$c = { class: "row buttons" };
|
|
437
|
+
var script$E = /* @__PURE__ */ defineComponent({
|
|
437
438
|
__name: "AppVerify",
|
|
438
439
|
props: {
|
|
439
440
|
phone: { type: String, required: true },
|
|
@@ -489,47 +490,48 @@ var script$D = /* @__PURE__ */ defineComponent({
|
|
|
489
490
|
),
|
|
490
491
|
createVNode(unref(NsForm), {
|
|
491
492
|
modelValue: unref(formData),
|
|
492
|
-
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(formData) ? formData.value = $event : formData = $event)
|
|
493
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => isRef(formData) ? formData.value = $event : formData = $event),
|
|
494
|
+
class: "form"
|
|
493
495
|
}, {
|
|
494
496
|
default: withCtx(() => [
|
|
495
497
|
createVNode(unref(NsInput), {
|
|
498
|
+
class: "form-input",
|
|
496
499
|
name: "code",
|
|
497
500
|
modelValue: unref(formData).code,
|
|
498
501
|
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => unref(formData).code = $event),
|
|
499
502
|
placeholder: "\u8BF7\u8F93\u5165\u9A8C\u8BC1\u7801",
|
|
503
|
+
maxlength: "6",
|
|
500
504
|
variant: "solid",
|
|
501
505
|
rules: ["required", {
|
|
502
506
|
name: "function",
|
|
503
507
|
message: "\u8F93\u5165\u9519\u8BEF, \u8BF7\u91CD\u65B0\u8F93\u5165",
|
|
504
508
|
method: (value) => value.length === 6
|
|
505
509
|
}]
|
|
506
|
-
},
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
_: 1
|
|
525
|
-
/* STABLE */
|
|
526
|
-
}, 8, ["modelValue", "rules"])
|
|
510
|
+
}, null, 8, ["modelValue", "rules"]),
|
|
511
|
+
createElementVNode("div", _hoisted_4$l, [
|
|
512
|
+
!sent.value ? (openBlock(), createBlock(unref(NsButton), {
|
|
513
|
+
key: 0,
|
|
514
|
+
size: "xs",
|
|
515
|
+
variant: "plain",
|
|
516
|
+
color: "primary",
|
|
517
|
+
onClick: send,
|
|
518
|
+
label: "\u83B7\u53D6\u9A8C\u8BC1\u7801"
|
|
519
|
+
})) : createCommentVNode("v-if", true),
|
|
520
|
+
sent.value ? (openBlock(), createElementBlock(
|
|
521
|
+
"div",
|
|
522
|
+
_hoisted_5$h,
|
|
523
|
+
toDisplayString(countdown.value) + "s\u540E\u91CD\u65B0\u53D1\u9001",
|
|
524
|
+
1
|
|
525
|
+
/* TEXT */
|
|
526
|
+
)) : createCommentVNode("v-if", true)
|
|
527
|
+
])
|
|
527
528
|
]),
|
|
528
529
|
_: 1
|
|
529
530
|
/* STABLE */
|
|
530
531
|
}, 8, ["modelValue"]),
|
|
531
|
-
createElementVNode("div",
|
|
532
|
+
createElementVNode("div", _hoisted_6$c, [
|
|
532
533
|
createVNode(unref(NsButton), {
|
|
534
|
+
class: "cancel-btn",
|
|
533
535
|
round: "",
|
|
534
536
|
onClick: _cache[2] || (_cache[2] = ($event) => emits("cancel"))
|
|
535
537
|
}, {
|
|
@@ -556,7 +558,7 @@ var script$D = /* @__PURE__ */ defineComponent({
|
|
|
556
558
|
}
|
|
557
559
|
});
|
|
558
560
|
|
|
559
|
-
script$
|
|
561
|
+
script$E.__file = "src/shared/components/AppVerify.vue";
|
|
560
562
|
|
|
561
563
|
const _hoisted_1$z = { key: 0 };
|
|
562
564
|
const _hoisted_2$v = /* @__PURE__ */ createElementVNode(
|
|
@@ -572,7 +574,7 @@ const _hoisted_2$v = /* @__PURE__ */ createElementVNode(
|
|
|
572
574
|
const _hoisted_3$q = [
|
|
573
575
|
_hoisted_2$v
|
|
574
576
|
];
|
|
575
|
-
var script$
|
|
577
|
+
var script$D = /* @__PURE__ */ defineComponent({
|
|
576
578
|
__name: "index",
|
|
577
579
|
props: {
|
|
578
580
|
text: { type: String, required: false },
|
|
@@ -623,7 +625,7 @@ var script$C = /* @__PURE__ */ defineComponent({
|
|
|
623
625
|
}
|
|
624
626
|
});
|
|
625
627
|
|
|
626
|
-
script$
|
|
628
|
+
script$D.__file = "src/components/dd-notice-bar/index.vue";
|
|
627
629
|
|
|
628
630
|
const typeMappings = {
|
|
629
631
|
CZ: "\u5145\u503C",
|
|
@@ -810,7 +812,7 @@ function useHttp$3() {
|
|
|
810
812
|
return $http;
|
|
811
813
|
}
|
|
812
814
|
|
|
813
|
-
var script$
|
|
815
|
+
var script$C = /* @__PURE__ */ defineComponent({
|
|
814
816
|
__name: "DeviceVersion",
|
|
815
817
|
setup(__props) {
|
|
816
818
|
const showAlert = ref(false);
|
|
@@ -849,7 +851,7 @@ var script$B = /* @__PURE__ */ defineComponent({
|
|
|
849
851
|
}
|
|
850
852
|
});
|
|
851
853
|
return (_ctx, _cache) => {
|
|
852
|
-
return showAlert.value ? (openBlock(), createBlock(script$
|
|
854
|
+
return showAlert.value ? (openBlock(), createBlock(script$D, {
|
|
853
855
|
key: 0,
|
|
854
856
|
showClose: "",
|
|
855
857
|
style: normalizeStyle(topStype.value),
|
|
@@ -860,9 +862,9 @@ var script$B = /* @__PURE__ */ defineComponent({
|
|
|
860
862
|
}
|
|
861
863
|
});
|
|
862
864
|
|
|
863
|
-
script$
|
|
865
|
+
script$C.__file = "src/shared/components/DeviceVersion.vue";
|
|
864
866
|
|
|
865
|
-
var script$
|
|
867
|
+
var script$B = /* @__PURE__ */ defineComponent({
|
|
866
868
|
__name: "OcrIcon",
|
|
867
869
|
emits: ["complete"],
|
|
868
870
|
setup(__props, { emit: __emit }) {
|
|
@@ -961,7 +963,104 @@ var script$A = /* @__PURE__ */ defineComponent({
|
|
|
961
963
|
}
|
|
962
964
|
});
|
|
963
965
|
|
|
964
|
-
script$
|
|
966
|
+
script$B.__file = "src/shared/components/OcrIcon.vue";
|
|
967
|
+
|
|
968
|
+
var script$A = /* @__PURE__ */ defineComponent({
|
|
969
|
+
__name: "OcrBusinessLicense",
|
|
970
|
+
emits: ["complete"],
|
|
971
|
+
setup(__props, { emit: __emit }) {
|
|
972
|
+
const appKitOptions = useAppKitOptions();
|
|
973
|
+
const emits = __emit;
|
|
974
|
+
async function taroImgCompress(src, quality = 80) {
|
|
975
|
+
return new Promise((resolve, reject) => {
|
|
976
|
+
Taro.compressImage({
|
|
977
|
+
src,
|
|
978
|
+
quality,
|
|
979
|
+
success: (res) => {
|
|
980
|
+
resolve(res);
|
|
981
|
+
},
|
|
982
|
+
fail: (res) => {
|
|
983
|
+
reject(res);
|
|
984
|
+
}
|
|
985
|
+
});
|
|
986
|
+
});
|
|
987
|
+
}
|
|
988
|
+
function getCompressQuality(size) {
|
|
989
|
+
let quality = 100;
|
|
990
|
+
const curSize = size / (1024 * 1024);
|
|
991
|
+
if (curSize > 6) {
|
|
992
|
+
quality = quality - (curSize - 6) / curSize * 100;
|
|
993
|
+
}
|
|
994
|
+
return quality;
|
|
995
|
+
}
|
|
996
|
+
function allTrim(str) {
|
|
997
|
+
return str.replace(/\s+/g, "");
|
|
998
|
+
}
|
|
999
|
+
async function onIconClick() {
|
|
1000
|
+
console.log("===onIconClick");
|
|
1001
|
+
let result = null;
|
|
1002
|
+
try {
|
|
1003
|
+
const csRes = await Taro.chooseImage({
|
|
1004
|
+
count: 1
|
|
1005
|
+
});
|
|
1006
|
+
let { path, size } = csRes.tempFiles[0];
|
|
1007
|
+
const compressImg = await taroImgCompress(path, getCompressQuality(size)) || {};
|
|
1008
|
+
const filePath = compressImg.tempFilePath || path;
|
|
1009
|
+
Taro.showLoading({ title: "\u8425\u4E1A\u6267\u7167\u8BC6\u522B\u4E2D.." });
|
|
1010
|
+
const session = appKitOptions.token();
|
|
1011
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
1012
|
+
const upRes = await Taro.uploadFile({
|
|
1013
|
+
url: baseUrl + "/promoact/common/parseBusinessLicense",
|
|
1014
|
+
filePath,
|
|
1015
|
+
name: "file",
|
|
1016
|
+
formData: {
|
|
1017
|
+
objectNo: `min${Date.now()}`
|
|
1018
|
+
},
|
|
1019
|
+
header: {
|
|
1020
|
+
sessionKey: session || "",
|
|
1021
|
+
token: session || ""
|
|
1022
|
+
}
|
|
1023
|
+
});
|
|
1024
|
+
Taro.hideLoading();
|
|
1025
|
+
const res = JSON.parse(upRes.data);
|
|
1026
|
+
if (res.code === "200") {
|
|
1027
|
+
const faceInfo = res.result || {};
|
|
1028
|
+
result = {
|
|
1029
|
+
companyName: allTrim(faceInfo.companyName || ""),
|
|
1030
|
+
idCardNo: allTrim(faceInfo.idCardNo || ""),
|
|
1031
|
+
legalPersonName: allTrim(faceInfo.legalPersonName || ""),
|
|
1032
|
+
fileId: faceInfo.fileId,
|
|
1033
|
+
originalUrl: faceInfo.originalUrl,
|
|
1034
|
+
downloadUrl: faceInfo.downloadUrl
|
|
1035
|
+
};
|
|
1036
|
+
console.log("===\u8BC6\u522B", result);
|
|
1037
|
+
if (!result.companyName && !result.idCardNo) {
|
|
1038
|
+
Taro.showToast({ title: "\u8BC6\u522B\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5", icon: "none" });
|
|
1039
|
+
}
|
|
1040
|
+
} else {
|
|
1041
|
+
Taro.showToast({
|
|
1042
|
+
title: res.msg,
|
|
1043
|
+
icon: "error"
|
|
1044
|
+
});
|
|
1045
|
+
}
|
|
1046
|
+
} catch (err) {
|
|
1047
|
+
Taro.hideLoading();
|
|
1048
|
+
console.log(err);
|
|
1049
|
+
}
|
|
1050
|
+
emits("complete", result);
|
|
1051
|
+
}
|
|
1052
|
+
return (_ctx, _cache) => {
|
|
1053
|
+
return openBlock(), createElementBlock("div", {
|
|
1054
|
+
class: "ocr-icon",
|
|
1055
|
+
onClick: onIconClick
|
|
1056
|
+
}, [
|
|
1057
|
+
createVNode(unref(NsIcon), { name: "https://simple.shensi.tech/icons/ocr.svg" })
|
|
1058
|
+
]);
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
});
|
|
1062
|
+
|
|
1063
|
+
script$A.__file = "src/shared/components/OcrBusinessLicense.vue";
|
|
965
1064
|
|
|
966
1065
|
var HttpMethod = /* @__PURE__ */ ((HttpMethod2) => {
|
|
967
1066
|
HttpMethod2["get"] = "GET";
|
|
@@ -1330,7 +1429,7 @@ var script$z = /* @__PURE__ */ defineComponent({
|
|
|
1330
1429
|
const _component_nut_button = Button;
|
|
1331
1430
|
return openBlock(), createElementBlock("view", _hoisted_1$y, [
|
|
1332
1431
|
createElementVNode("view", _hoisted_2$u, [
|
|
1333
|
-
createVNode(script$
|
|
1432
|
+
createVNode(script$I, {
|
|
1334
1433
|
items: amounts.value,
|
|
1335
1434
|
selected: state.selected,
|
|
1336
1435
|
onChange: onAmountSelect
|
|
@@ -1367,13 +1466,13 @@ var script$z = /* @__PURE__ */ defineComponent({
|
|
|
1367
1466
|
/* STABLE */
|
|
1368
1467
|
}, 8, ["loading"])
|
|
1369
1468
|
]),
|
|
1370
|
-
createVNode(unref(script$
|
|
1469
|
+
createVNode(unref(script$F), {
|
|
1371
1470
|
modelValue: state.agreementOpen,
|
|
1372
1471
|
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => state.agreementOpen = $event),
|
|
1373
1472
|
title: "\u5145\u503C\u534F\u8BAE"
|
|
1374
1473
|
}, {
|
|
1375
1474
|
default: withCtx(() => [
|
|
1376
|
-
createVNode(script$
|
|
1475
|
+
createVNode(script$H)
|
|
1377
1476
|
]),
|
|
1378
1477
|
_: 1
|
|
1379
1478
|
/* STABLE */
|
|
@@ -1753,13 +1852,13 @@ var script$w = /* @__PURE__ */ defineComponent({
|
|
|
1753
1852
|
}, 8, ["loading"])
|
|
1754
1853
|
])
|
|
1755
1854
|
]),
|
|
1756
|
-
createVNode(unref(script$
|
|
1855
|
+
createVNode(unref(script$F), {
|
|
1757
1856
|
modelValue: state.agreementOpen,
|
|
1758
1857
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => state.agreementOpen = $event),
|
|
1759
1858
|
title: "\u5145\u503C\u534F\u8BAE"
|
|
1760
1859
|
}, {
|
|
1761
1860
|
default: withCtx(() => [
|
|
1762
|
-
createVNode(script$
|
|
1861
|
+
createVNode(script$H)
|
|
1763
1862
|
]),
|
|
1764
1863
|
_: 1
|
|
1765
1864
|
/* STABLE */
|
|
@@ -1814,9 +1913,9 @@ var script$w = /* @__PURE__ */ defineComponent({
|
|
|
1814
1913
|
script$w.__file = "src/payment/components/TradeView.vue";
|
|
1815
1914
|
|
|
1816
1915
|
const components = {
|
|
1817
|
-
AmountPicker: script$
|
|
1916
|
+
AmountPicker: script$I,
|
|
1818
1917
|
RechargeView: script$z,
|
|
1819
|
-
UserAgreement: script$
|
|
1918
|
+
UserAgreement: script$H,
|
|
1820
1919
|
RechargeResult: script$y,
|
|
1821
1920
|
TradeView: script$w
|
|
1822
1921
|
};
|
|
@@ -2710,7 +2809,7 @@ var script$p = /* @__PURE__ */ defineComponent({
|
|
|
2710
2809
|
[
|
|
2711
2810
|
createElementVNode("div", _hoisted_1$o, [
|
|
2712
2811
|
createElementVNode("div", _hoisted_2$k, [
|
|
2713
|
-
createVNode(unref(script$
|
|
2812
|
+
createVNode(unref(script$G), {
|
|
2714
2813
|
"color-mode": "dark",
|
|
2715
2814
|
title: "\u6211\u7684\u8D26\u6237",
|
|
2716
2815
|
class: normalizeClass({ "with-background": scrolled.value > 0 }),
|
|
@@ -2884,7 +2983,7 @@ var script$p = /* @__PURE__ */ defineComponent({
|
|
|
2884
2983
|
_: 1
|
|
2885
2984
|
/* STABLE */
|
|
2886
2985
|
}, 8, ["visible"]),
|
|
2887
|
-
createVNode(unref(script$
|
|
2986
|
+
createVNode(unref(script$F), {
|
|
2888
2987
|
modelValue: secondBalanceOpen.value,
|
|
2889
2988
|
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => secondBalanceOpen.value = $event),
|
|
2890
2989
|
title: "\u6536\u652F\u660E\u7EC6"
|
|
@@ -4441,7 +4540,7 @@ var script$e = /* @__PURE__ */ defineComponent({
|
|
|
4441
4540
|
Fragment,
|
|
4442
4541
|
null,
|
|
4443
4542
|
renderList(bannerMessages.value, (item, key) => {
|
|
4444
|
-
return openBlock(), createBlock(script$
|
|
4543
|
+
return openBlock(), createBlock(script$D, {
|
|
4445
4544
|
class: normalizeClass({ show: key === activeKey.value }),
|
|
4446
4545
|
key,
|
|
4447
4546
|
showClose: item.noticeType === 0,
|
|
@@ -7712,4 +7811,4 @@ const AppKit = {
|
|
|
7712
7811
|
}
|
|
7713
7812
|
};
|
|
7714
7813
|
|
|
7715
|
-
export { script$p as AccountView, script$
|
|
7814
|
+
export { script$p as AccountView, script$I as AmountPicker, script$F as AppDrawer, script$E as AppVerify, script$v as BalanceCard, script$o as BalanceReminder, script$n as DateRange, script$C as DeviceVersion, script$l as ListFilter, script$1 as LoginSetting, script$e as NoticeBanner, script$d as NoticeEntry, script$b as NoticeList, script$A as OcrBusinessLicense, script$B as OcrIcon, script$G as PageHeader, script$y as RechargeResult, script$z as RechargeView, script$g as SelfRegistration, script$w as TradeView, script$H as UserAgreement, script$7 as UserBinding, script$6 as UserBindingSuccess, script$a as UserEntry, script$3 as UserFeedback, script$2 as UserFeedbackEntry, script$4 as UserHeadCrop, script$8 as UserInfo, script as UserResourceEmpty, components, createHttp, AppKit as default, defaultCryptoConfig, requestPayment$2 as requestPayment, services$1 as services, useAppKit, useCountdown, useCrypto, useEncode, useSafeArea, useTabbar, useUpload, useValidator };
|
package/package.json
CHANGED
|
@@ -3,78 +3,84 @@
|
|
|
3
3
|
<h2>{{ title || '手机号验证' }}</h2>
|
|
4
4
|
<p class="caption">{{ message || '短信将发送至账号绑定手机号' }}</p>
|
|
5
5
|
<p class="number">{{ phone }}</p>
|
|
6
|
-
<ns-form v-model="formData">
|
|
6
|
+
<ns-form v-model="formData" class="form">
|
|
7
7
|
<ns-input
|
|
8
|
+
class="form-input"
|
|
8
9
|
name="code"
|
|
9
10
|
v-model="formData.code"
|
|
10
11
|
placeholder="请输入验证码"
|
|
12
|
+
maxlength="6"
|
|
11
13
|
variant="solid"
|
|
12
14
|
:rules="['required', {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
name: 'function',
|
|
16
|
+
message: '输入错误, 请重新输入',
|
|
17
|
+
method: (value: string) => value.length === 6,
|
|
18
|
+
}]"
|
|
17
19
|
>
|
|
18
|
-
<template #append>
|
|
19
|
-
<ns-button
|
|
20
|
-
v-if="!sent"
|
|
21
|
-
size="xs"
|
|
22
|
-
variant="plain"
|
|
23
|
-
color="primary"
|
|
24
|
-
@click="send"
|
|
25
|
-
label="获取验证码"
|
|
26
|
-
/>
|
|
27
|
-
<div class="caption" v-if="sent">{{ countdown }} 秒收重新发送</div>
|
|
28
|
-
</template>
|
|
29
20
|
</ns-input>
|
|
21
|
+
<div class="form-btn">
|
|
22
|
+
<ns-button
|
|
23
|
+
v-if="!sent"
|
|
24
|
+
size="xs"
|
|
25
|
+
variant="plain"
|
|
26
|
+
color="primary"
|
|
27
|
+
@click="send"
|
|
28
|
+
label="获取验证码"
|
|
29
|
+
/>
|
|
30
|
+
<div class="caption" v-if="sent">{{ countdown }}s后重新发送</div>
|
|
31
|
+
</div>
|
|
30
32
|
</ns-form>
|
|
31
33
|
<div class="row buttons">
|
|
32
|
-
<ns-button round @click="emits('cancel')"
|
|
33
|
-
|
|
34
|
+
<ns-button class="cancel-btn" round @click="emits('cancel')"
|
|
35
|
+
>取消</ns-button
|
|
36
|
+
>
|
|
37
|
+
<ns-button round gradient="#FFEBC1,#FFD7A7,#FFB875/90" @click="onOk"
|
|
38
|
+
>确认</ns-button
|
|
39
|
+
>
|
|
34
40
|
</div>
|
|
35
41
|
</div>
|
|
36
42
|
</template>
|
|
37
43
|
|
|
38
44
|
<script lang="ts" setup>
|
|
39
|
-
import { NsForm, NsInput, NsButton } from '@uxda/nutshell/taro'
|
|
40
|
-
import { reactive, ref } from 'vue'
|
|
45
|
+
import { NsForm, NsInput, NsButton } from '@uxda/nutshell/taro';
|
|
46
|
+
import { reactive, ref } from 'vue';
|
|
41
47
|
|
|
42
48
|
export interface AppVerifyProps {
|
|
43
|
-
phone: string
|
|
44
|
-
title?: string
|
|
45
|
-
message?: string
|
|
46
|
-
onSend?: Function
|
|
49
|
+
phone: string;
|
|
50
|
+
title?: string;
|
|
51
|
+
message?: string;
|
|
52
|
+
onSend?: Function;
|
|
47
53
|
}
|
|
48
54
|
|
|
49
|
-
const emits = defineEmits(['complete', 'cancel'])
|
|
55
|
+
const emits = defineEmits(['complete', 'cancel']);
|
|
50
56
|
|
|
51
57
|
const sent = ref(false),
|
|
52
|
-
countdown = ref(60)
|
|
58
|
+
countdown = ref(60);
|
|
53
59
|
|
|
54
60
|
let formData = reactive({
|
|
55
61
|
code: '',
|
|
56
|
-
})
|
|
62
|
+
});
|
|
57
63
|
|
|
58
64
|
const send = () => {
|
|
59
|
-
sent.value = true
|
|
65
|
+
sent.value = true;
|
|
60
66
|
|
|
61
|
-
props.onSend && props.onSend()
|
|
67
|
+
props.onSend && props.onSend();
|
|
62
68
|
|
|
63
|
-
countdown.value = 60
|
|
69
|
+
countdown.value = 60;
|
|
64
70
|
let timer = setInterval(() => {
|
|
65
|
-
countdown.value
|
|
71
|
+
countdown.value--;
|
|
66
72
|
if (countdown.value <= 0) {
|
|
67
|
-
clearInterval(timer)
|
|
68
|
-
sent.value = false
|
|
73
|
+
clearInterval(timer);
|
|
74
|
+
sent.value = false;
|
|
69
75
|
}
|
|
70
|
-
}, 1000)
|
|
71
|
-
}
|
|
76
|
+
}, 1000);
|
|
77
|
+
};
|
|
72
78
|
|
|
73
79
|
const onOk = () => {
|
|
74
|
-
emits('complete', { code: formData.code })
|
|
75
|
-
}
|
|
80
|
+
emits('complete', { code: formData.code });
|
|
81
|
+
};
|
|
76
82
|
|
|
77
|
-
const props = defineProps<AppVerifyProps>()
|
|
83
|
+
const props = defineProps<AppVerifyProps>();
|
|
78
84
|
</script>
|
|
79
85
|
|
|
80
86
|
<style lang="scss">
|
|
@@ -86,13 +92,38 @@ const props = defineProps<AppVerifyProps>()
|
|
|
86
92
|
margin: 10px;
|
|
87
93
|
}
|
|
88
94
|
.caption {
|
|
89
|
-
font-size:
|
|
90
|
-
color: #
|
|
95
|
+
font-size: 10px !important;
|
|
96
|
+
color: #ccc;
|
|
97
|
+
line-height: 21px;
|
|
98
|
+
}
|
|
99
|
+
.number {
|
|
100
|
+
line-height: 21px;
|
|
101
|
+
}
|
|
102
|
+
.form .nut-cell-group__wrap {
|
|
103
|
+
display: flex;
|
|
104
|
+
align-items: center;
|
|
105
|
+
margin: 20px 0 !important;
|
|
106
|
+
.form-input {
|
|
107
|
+
height: 36px;
|
|
108
|
+
line-height: 36px;
|
|
109
|
+
border: none;
|
|
110
|
+
background: #f5f5f5;
|
|
111
|
+
border-radius: 5px;
|
|
112
|
+
flex: 1;
|
|
113
|
+
padding-left: 12px;
|
|
114
|
+
}
|
|
115
|
+
.form-btn {
|
|
116
|
+
margin-left: 12px;
|
|
117
|
+
width: 90px;
|
|
118
|
+
}
|
|
91
119
|
}
|
|
92
120
|
.buttons {
|
|
93
121
|
.ns-button {
|
|
94
122
|
width: 104px;
|
|
95
123
|
}
|
|
124
|
+
.cancel-btn {
|
|
125
|
+
border: 1px solid #969696 !important;
|
|
126
|
+
}
|
|
96
127
|
}
|
|
97
128
|
}
|
|
98
129
|
</style>
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="ocr-icon" @click="onIconClick">
|
|
3
|
+
<ns-icon name="https://simple.shensi.tech/icons/ocr.svg" />
|
|
4
|
+
</div>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts" setup>
|
|
8
|
+
import Taro from '@tarojs/taro';
|
|
9
|
+
import { NsIcon } from '@uxda/nutshell/taro';
|
|
10
|
+
import { useAppKitOptions } from '../../Appkit';
|
|
11
|
+
|
|
12
|
+
const appKitOptions = useAppKitOptions();
|
|
13
|
+
|
|
14
|
+
const emits = defineEmits(['complete']);
|
|
15
|
+
|
|
16
|
+
export type OcrResult = {
|
|
17
|
+
companyName: string;
|
|
18
|
+
idCardNo: string;
|
|
19
|
+
legalPersonName: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
async function taroImgCompress(src: string, quality = 80) {
|
|
23
|
+
return new Promise((resolve, reject) => {
|
|
24
|
+
Taro.compressImage({
|
|
25
|
+
src: src,
|
|
26
|
+
quality: quality,
|
|
27
|
+
success: (res) => {
|
|
28
|
+
resolve(res);
|
|
29
|
+
},
|
|
30
|
+
fail: (res) => {
|
|
31
|
+
reject(res);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function getCompressQuality(size: number) {
|
|
38
|
+
let quality = 100;
|
|
39
|
+
const curSize = size / (1024 * 1024);
|
|
40
|
+
if (curSize > 6) {
|
|
41
|
+
quality = quality - ((curSize - 6) / curSize) * 100;
|
|
42
|
+
}
|
|
43
|
+
return quality;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function allTrim(str: string) {
|
|
47
|
+
return str.replace(/\s+/g, '');
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
async function onIconClick() {
|
|
51
|
+
console.log('===onIconClick');
|
|
52
|
+
let result: OcrResult | null = null;
|
|
53
|
+
try {
|
|
54
|
+
const csRes = await Taro.chooseImage({
|
|
55
|
+
count: 1,
|
|
56
|
+
});
|
|
57
|
+
let { path, size } = csRes.tempFiles[0];
|
|
58
|
+
const compressImg: any =
|
|
59
|
+
(await taroImgCompress(path, getCompressQuality(size))) || {};
|
|
60
|
+
const filePath = compressImg.tempFilePath || path;
|
|
61
|
+
Taro.showLoading({ title: '营业执照识别中..' });
|
|
62
|
+
const session = appKitOptions.token();
|
|
63
|
+
const baseUrl = appKitOptions.baseUrl();
|
|
64
|
+
const upRes: any = await Taro.uploadFile({
|
|
65
|
+
url: baseUrl + '/promoact/common/parseBusinessLicense',
|
|
66
|
+
filePath,
|
|
67
|
+
name: 'file',
|
|
68
|
+
formData: {
|
|
69
|
+
objectNo: `min${Date.now()}`,
|
|
70
|
+
},
|
|
71
|
+
header: {
|
|
72
|
+
sessionKey: session || '',
|
|
73
|
+
token: session || '',
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
Taro.hideLoading();
|
|
77
|
+
const res = JSON.parse(upRes.data);
|
|
78
|
+
if (res.code === '200') {
|
|
79
|
+
const faceInfo = res.result || {};
|
|
80
|
+
result = {
|
|
81
|
+
companyName: allTrim(faceInfo.companyName || ''),
|
|
82
|
+
idCardNo: allTrim(faceInfo.idCardNo || ''),
|
|
83
|
+
legalPersonName: allTrim(faceInfo.legalPersonName || ''),
|
|
84
|
+
fileId: faceInfo.fileId,
|
|
85
|
+
originalUrl: faceInfo.originalUrl,
|
|
86
|
+
downloadUrl: faceInfo.downloadUrl,
|
|
87
|
+
};
|
|
88
|
+
console.log('===识别', result);
|
|
89
|
+
if (!result.companyName && !result.idCardNo) {
|
|
90
|
+
Taro.showToast({ title: '识别失败,请重试', icon: 'none' });
|
|
91
|
+
}
|
|
92
|
+
} else {
|
|
93
|
+
Taro.showToast({
|
|
94
|
+
title: res.msg,
|
|
95
|
+
icon: 'error',
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
} catch (err) {
|
|
99
|
+
Taro.hideLoading();
|
|
100
|
+
console.log(err);
|
|
101
|
+
}
|
|
102
|
+
emits('complete', result);
|
|
103
|
+
}
|
|
104
|
+
</script>
|
|
105
|
+
|
|
106
|
+
<style lang="scss">
|
|
107
|
+
.ocr-icon {
|
|
108
|
+
width: 24px;
|
|
109
|
+
height: 24px;
|
|
110
|
+
.ns-icon {
|
|
111
|
+
width: 24px;
|
|
112
|
+
height: 24px;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
</style>
|
|
@@ -3,5 +3,6 @@ import PageHeader from './PageHeader.vue'
|
|
|
3
3
|
import AppVerify from './AppVerify.vue'
|
|
4
4
|
import DeviceVersion from './DeviceVersion.vue'
|
|
5
5
|
import OcrIcon from './OcrIcon.vue'
|
|
6
|
+
import OcrBusinessLicense from './OcrBusinessLicense.vue'
|
|
6
7
|
|
|
7
|
-
export { AppDrawer, PageHeader, DeviceVersion, AppVerify, OcrIcon }
|
|
8
|
+
export { AppDrawer, PageHeader, DeviceVersion, AppVerify, OcrIcon, OcrBusinessLicense }
|