@huyooo/ui 4.0.3 → 4.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/{AuthkitAppSetting-Mt0Npsrg.js → AuthkitAppSetting-B7xyx5Kb.js} +7 -7
  2. package/dist/{CustomTable-DWiyrYnW.js → CustomTable-FlfUde4Q.js} +2 -2
  3. package/dist/{FeedbackModal.vue_vue_type_script_setup_true_lang-Cw2KkPEV.js → FeedbackModal.vue_vue_type_script_setup_true_lang-BBmobezM.js} +4 -4
  4. package/dist/LandingPageLinkGroup-BfKVBesO.js +784 -0
  5. package/dist/{LandingPageSectionTabs-dSiKXmAa.js → LandingPageSectionTabs-3gXQrUGR.js} +362 -366
  6. package/dist/{LegalDocViewer-Dg5IUUsW.js → LegalDocViewer-BPbrJ2tj.js} +10 -10
  7. package/dist/{PaySubscriptions-D1jt316F.js → PaySubscriptions-CPH1wESx.js} +4 -4
  8. package/dist/{PricingPlans-DuVbKs34.js → PricingPlans-Cb2qrkmu.js} +3 -3
  9. package/dist/{ReferrerReferees-QPRxJ-CP.js → ReferrerReferees-B2OR30NV.js} +3 -3
  10. package/dist/{Report-DjNFwR2V.js → Report-C86lhey9.js} +105 -112
  11. package/dist/{Upload.vue_vue_type_script_setup_true_lang-BIRnaBoz.js → Upload.vue_vue_type_script_setup_true_lang-BygtAblQ.js} +1 -1
  12. package/dist/{UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-CGWtJ2il.js → UserMenuInvitationsItem.vue_vue_type_script_setup_true_lang-DxvHvsQm.js} +6 -6
  13. package/dist/{WidthContainer-BwYM1SLO.js → WidthContainer-DtKLf5Ub.js} +10 -10
  14. package/dist/authkit.js +8 -8
  15. package/dist/common/globalConfig.d.ts +5 -0
  16. package/dist/common.js +2 -2
  17. package/dist/components/LandingPage/LandingPageFooterContact.vue.d.ts +0 -20
  18. package/dist/composables/Authkit/useLegalDocs.d.ts +1 -1
  19. package/dist/composables.d.ts +2 -0
  20. package/dist/composables.js +60 -54
  21. package/dist/feedback.js +2 -2
  22. package/dist/{fetchAuthPageAboutUs-D_l0X2Xq.js → fetchAuthPageAboutUs-DD-MwyiG.js} +2 -2
  23. package/dist/{index-C81Mrlvt.js → index-ClOjruo3.js} +1 -1
  24. package/dist/{index-hjdpP8PD.js → index-CncbUu-V.js} +1 -1
  25. package/dist/landingPage.js +2 -2
  26. package/dist/legalDocs/buildBuiltinUrl.d.ts +1 -1
  27. package/dist/main.js +306 -300
  28. package/dist/pay.js +3 -3
  29. package/dist/privateCom.js +1 -1
  30. package/dist/publicReport-ZlMy0xQf.js +32 -0
  31. package/dist/referrer.js +1 -1
  32. package/dist/{runtime-DgASwLjo.js → runtime-CfbHkmk9.js} +2 -1
  33. package/dist/style.css +1 -1
  34. package/dist/types/api/auth.generated.d.ts +250 -43
  35. package/dist/upload.js +2 -2
  36. package/dist/{useAccessPosture-DZj1K8tj.js → useAccessPosture-NSPnmu0I.js} +2 -2
  37. package/dist/{useAuthkitAppsAuthPageInfo-Dmm9xVjp.js → useAuthkitAppsAuthPageInfo-Cg40bxCJ.js} +1 -1
  38. package/dist/{useAuthkitAuth-DkP0hwv-.js → useAuthkitAuth-C5oUnl8U.js} +1 -1
  39. package/dist/{useAuthkitUsersProfile-CR4lcY7Y.js → useAuthkitUsersProfile-BWNVk2UM.js} +1 -1
  40. package/dist/{useEnsureAuthenticated-DV2hKAPd.js → useEnsureAuthenticated-CQWINiHB.js} +1 -1
  41. package/dist/useLegalDocs-ky2EzBke.js +114 -0
  42. package/dist/{usePageSEO-DEFnaFKf.js → usePageSEO-CWLQAmET.js} +1 -1
  43. package/dist/{useRoutePermission-BicvPoLI.js → useRoutePermission-K-Eu4pRD.js} +3 -3
  44. package/dist/{useSubscriptionCheckout-BCGpYG5C.js → useSubscriptionCheckout-BcN8cRMV.js} +1 -1
  45. package/dist/user.js +1 -1
  46. package/dist/utils/requiredFooterLinks.d.ts +11 -0
  47. package/package.json +1 -1
  48. package/dist/LandingPageLinkGroup-CVktmuZn.js +0 -768
  49. package/dist/useLegalDocs-DAxt9_gM.js +0 -107
@@ -1,768 +0,0 @@
1
- import { defineComponent as b, openBlock as o, createElementBlock as i, createVNode as d, unref as m, createElementVNode as s, toDisplayString as f, Fragment as x, renderList as V, createBlock as z, normalizeClass as F, withCtx as v, createTextVNode as D, renderSlot as C, ref as k, createCommentVNode as S, normalizeStyle as Y, computed as O } from "vue";
2
- import { Icon as P } from "@iconify/vue";
3
- import { _ as y } from "./_plugin-vue_export-helper-CHgC5LLL.js";
4
- import { D as R } from "./LandingPageDescription-BczWZHKy.js";
5
- import { L as G } from "./Logo-B9DFBxDU.js";
6
- import { g as M } from "./apiClients-5u4_uxFE.js";
7
- /* empty css */
8
- import "./index-C81Mrlvt.js";
9
- /* empty css */
10
- import { Form as q, FormItem as w, Input as T, Textarea as N, Button as U, DatePicker as j } from "@arco-design/web-vue";
11
- /* empty css */
12
- /* empty css */
13
- import { useRouter as W } from "vue-router";
14
- const J = {
15
- description: "",
16
- class: "mission-list-item"
17
- }, K = {
18
- class: "mission-list-text"
19
- }, Q = /* @__PURE__ */ b({
20
- __name: "LandingPageListItem",
21
- props: {
22
- description: {
23
- default: ""
24
- }
25
- },
26
- setup(t) {
27
- const e = t;
28
- return (a, r) => (o(), i("div", J, [d(m(P), {
29
- icon: "mingcute:check-circle-fill",
30
- class: "mission-list-icon"
31
- }), s("span", K, f(e.description), 1)]));
32
- }
33
- }), X = /* @__PURE__ */ y(Q, [["__scopeId", "data-v-60bfd053"]]), Z = {
34
- class: "mission-container"
35
- }, ee = {
36
- class: "mission-image-wrapper"
37
- }, te = ["src", "alt"], ae = {
38
- class: "mission-content"
39
- }, oe = {
40
- class: "mission-title"
41
- }, ne = {
42
- class: "mission-title-highlight"
43
- }, se = {
44
- class: "mission-desc"
45
- }, ie = {
46
- class: "mission-list"
47
- }, le = {
48
- style: {
49
- display: "none"
50
- }
51
- }, re = /* @__PURE__ */ b({
52
- __name: "LandingPageMission",
53
- props: {
54
- image: {},
55
- imageAlt: {},
56
- title: {},
57
- highlight: {},
58
- description: {},
59
- features: {}
60
- },
61
- setup(t) {
62
- return (e, a) => (o(), i("div", Z, [s("div", ee, [a[0] || (a[0] = s("div", {
63
- class: "mission-bg1"
64
- }, null, -1)), s("img", {
65
- src: t.image,
66
- alt: t.imageAlt,
67
- loading: "lazy",
68
- width: "1270",
69
- decoding: "async",
70
- class: "mission-img"
71
- }, null, 8, te)]), s("div", ae, [s("h2", oe, [s("span", ne, f(t.highlight), 1), s("strong", null, f(t.title), 1)]), s("p", se, f(t.description), 1), s("div", ie, [(o(!0), i(x, null, V(t.features, (r, $) => (o(), z(X, {
72
- key: $,
73
- description: r
74
- }, null, 8, ["description"]))), 128))])]), (o(), i("svg", le, [...a[1] || (a[1] = [s("symbol", {
75
- id: "ai:ph:check-circle-fill"
76
- }, [s("path", {
77
- fill: "currentColor",
78
- d: "M128 24a104 104 0 1 0 104 104A104.11 104.11 0 0 0 128 24m45.66 85.66l-56 56a8 8 0 0 1-11.32 0l-24-24a8 8 0 0 1 11.32-11.32L112 148.69l50.34-50.35a8 8 0 0 1 11.32 11.32"
79
- })], -1)])]))]));
80
- }
81
- }), Pt = /* @__PURE__ */ y(re, [["__scopeId", "data-v-8d215ca2"]]), ce = {
82
- class: "team-info-container"
83
- }, de = {
84
- class: "team-info-title"
85
- }, ue = {
86
- class: "team-info-desc"
87
- }, me = /* @__PURE__ */ b({
88
- __name: "LandingPageTeamInfo",
89
- props: {
90
- title: {},
91
- description: {}
92
- },
93
- setup(t) {
94
- const e = t;
95
- return (a, r) => (o(), i("div", ce, [s("div", de, f(e.title), 1), s("p", ue, f(e.description), 1)]));
96
- }
97
- }), Vt = /* @__PURE__ */ y(me, [["__scopeId", "data-v-b6a418e6"]]), fe = {
98
- class: "grid-container"
99
- }, pe = {
100
- class: "square"
101
- }, _e = ["src", "alt", "sizes", "width", "height"], ge = {
102
- class: "footer"
103
- }, he = {
104
- class: "name"
105
- }, ve = /* @__PURE__ */ b({
106
- __name: "LandingPageTeamList",
107
- props: {
108
- publishedTeamMembers: {},
109
- sizes: {},
110
- width: {},
111
- height: {},
112
- pictureClass: {}
113
- },
114
- setup(t) {
115
- return (e, a) => (o(), i("div", fe, [(o(!0), i(x, null, V(t.publishedTeamMembers, (r) => (o(), i("div", {
116
- key: r.data.name,
117
- class: "group"
118
- }, [s("div", pe, [s("img", {
119
- src: r.data.avatar.src,
120
- alt: r.data.avatar.alt,
121
- sizes: t.sizes,
122
- width: t.width,
123
- height: t.height,
124
- class: F(t.pictureClass ? `${t.pictureClass} picture-img` : "picture-img")
125
- }, null, 10, _e)]), s("div", ge, [s("h2", he, f(r.data.name), 1), d(R, null, {
126
- default: v(() => [D(f(r.data.title), 1)]),
127
- _: 2
128
- }, 1024)])]))), 128))]));
129
- }
130
- }), Dt = /* @__PURE__ */ y(ve, [["__scopeId", "data-v-89ca8f8c"]]), ye = {
131
- class: "BrandInfo"
132
- }, $e = /* @__PURE__ */ b({
133
- __name: "LandingPageBrandInfo",
134
- props: {
135
- icon: {
136
- type: String,
137
- required: !0
138
- },
139
- name: {
140
- type: String,
141
- required: !0
142
- },
143
- description: {
144
- type: String,
145
- required: !0
146
- },
147
- /** 不传则 Logo 使用自身主题色 */
148
- color: {
149
- type: String,
150
- default: ""
151
- },
152
- fontSize: {
153
- type: String,
154
- default: ""
155
- },
156
- iconSize: {
157
- type: String,
158
- default: "32px"
159
- }
160
- },
161
- setup(t) {
162
- const e = t;
163
- return (a, r) => (o(), i("div", ye, [d(G, {
164
- icon: e.icon,
165
- name: e.name,
166
- color: e.color,
167
- "font-size": e.fontSize,
168
- "icon-size": e.iconSize
169
- }, null, 8, ["icon", "name", "color", "font-size", "icon-size"]), d(R, null, {
170
- default: v(() => [D(f(e.description), 1)]),
171
- _: 1
172
- })]));
173
- }
174
- }), St = /* @__PURE__ */ y($e, [["__scopeId", "data-v-9f0b94b0"]]), be = {
175
- class: "contact-container"
176
- }, Le = {
177
- class: "contact-info-section"
178
- }, ke = {
179
- class: "contact-title"
180
- }, Ie = {
181
- class: "contact-info"
182
- }, Ce = {
183
- class: "contact-info-item"
184
- }, xe = {
185
- class: "contact-info-item"
186
- }, we = ["href"], Pe = {
187
- class: "contact-info-item"
188
- }, Ve = ["href"], De = ["href", "target", "rel"], Se = ["onClick"], Te = {
189
- class: "contact-form-section"
190
- }, Fe = /* @__PURE__ */ b({
191
- __name: "LandingPageContact",
192
- props: {
193
- title: {
194
- default: ""
195
- },
196
- subTitle: {
197
- default: ""
198
- },
199
- contact: {
200
- default: () => ({
201
- title: "联系我们",
202
- description: "有什么想说的吗?我们随时为您提供帮助。请填写表单或发送邮件或拨打电话。"
203
- })
204
- },
205
- address: {
206
- default: "北京市朝阳区建国门外大街1号"
207
- },
208
- email: {
209
- default: "hello@example.com"
210
- },
211
- phone: {
212
- default: "+86 138 0000 0000"
213
- },
214
- mapIcon: {
215
- default: "uil:map-marker"
216
- },
217
- emailIcon: {
218
- default: "uil:envelope"
219
- },
220
- phoneIcon: {
221
- default: "uil:phone"
222
- },
223
- extraItems: {
224
- default: () => []
225
- }
226
- },
227
- emits: ["extraClick"],
228
- setup(t, {
229
- emit: e
230
- }) {
231
- const a = t, r = e;
232
- return ($, l) => (o(), i("div", be, [s("div", Le, [s("h2", ke, f(a.contact.title), 1), d(R, null, {
233
- default: v(() => [D(f(a.contact.description), 1)]),
234
- _: 1
235
- }), s("div", Ie, [s("div", Ce, [d(m(P), {
236
- class: "contact-info-icon",
237
- icon: t.mapIcon
238
- }, null, 8, ["icon"]), s("span", null, f(a.address), 1)]), s("div", xe, [d(m(P), {
239
- class: "contact-info-icon",
240
- icon: a.emailIcon
241
- }, null, 8, ["icon"]), s("a", {
242
- href: `mailto:${t.email}`
243
- }, f(a.email), 9, we)]), s("div", Pe, [d(m(P), {
244
- class: "contact-info-icon",
245
- icon: a.phoneIcon
246
- }, null, 8, ["icon"]), s("a", {
247
- href: `tel:${t.phone}`
248
- }, f(a.phone), 9, Ve)]), (o(!0), i(x, null, V(t.extraItems, (_) => (o(), i("div", {
249
- key: _.id,
250
- class: "contact-info-item"
251
- }, [d(m(P), {
252
- class: "contact-info-icon",
253
- icon: _.icon
254
- }, null, 8, ["icon"]), _.href ? (o(), i("a", {
255
- key: 0,
256
- href: _.href,
257
- target: _.target,
258
- rel: _.target === "_blank" ? "noopener noreferrer" : void 0
259
- }, f(_.label), 9, De)) : (o(), i("button", {
260
- key: 1,
261
- type: "button",
262
- class: "contact-info-action",
263
- onClick: (p) => r("extraClick", _.id)
264
- }, f(_.label), 9, Se))]))), 128))])]), s("div", Te, [C($.$slots, "contact-form", {}, void 0, !0)])]));
265
- }
266
- }), Tt = /* @__PURE__ */ y(Fe, [["__scopeId", "data-v-e3766943"]]), E = {
267
- meta: {
268
- silentError: !0
269
- }
270
- };
271
- async function ze(t) {
272
- return M().ones.feedbackCenter.public.contact.post(t, E);
273
- }
274
- async function Re(t) {
275
- return M().ones.feedbackCenter.public.report.post(t, E);
276
- }
277
- const Ae = /* @__PURE__ */ b({
278
- __name: "LandingPageContactForm",
279
- setup(t) {
280
- const e = k(), a = k(!1), r = k(""), $ = k(""), l = k({
281
- name: "",
282
- email: "",
283
- message: ""
284
- });
285
- function _() {
286
- var n, u;
287
- l.value = {
288
- name: "",
289
- email: "",
290
- message: ""
291
- }, (u = (n = e.value) == null ? void 0 : n.resetFields) == null || u.call(n);
292
- }
293
- function p(n, u) {
294
- $.value = n ? "text-green" : "text-red", r.value = u, window.setTimeout(() => {
295
- r.value = "";
296
- }, 5e3);
297
- }
298
- async function I() {
299
- var u;
300
- if (!await ((u = e.value) == null ? void 0 : u.validate())) {
301
- a.value = !0;
302
- try {
303
- const {
304
- error: L
305
- } = await ze({
306
- name: l.value.name.trim(),
307
- email: l.value.email.trim(),
308
- message: l.value.message.trim()
309
- });
310
- if (!L) {
311
- p(!0, "消息发送成功!我们会尽快回复您。"), _();
312
- return;
313
- }
314
- p(!1, L.message || "发送失败,请检查网络连接后重试。");
315
- } catch {
316
- p(!1, "发送失败,请稍后再试!");
317
- } finally {
318
- a.value = !1;
319
- }
320
- }
321
- }
322
- return (n, u) => (o(), z(m(q), {
323
- ref_key: "formRef",
324
- ref: e,
325
- class: "contact-form",
326
- model: l.value,
327
- layout: "vertical"
328
- }, {
329
- default: v(() => [d(m(w), {
330
- field: "name",
331
- label: "姓名",
332
- rules: [{
333
- required: !0,
334
- message: "请输入您的姓名"
335
- }]
336
- }, {
337
- default: v(() => [d(m(T), {
338
- modelValue: l.value.name,
339
- "onUpdate:modelValue": u[0] || (u[0] = (L) => l.value.name = L),
340
- placeholder: "请输入您的姓名",
341
- "allow-clear": ""
342
- }, null, 8, ["modelValue"])]),
343
- _: 1
344
- }), d(m(w), {
345
- field: "email",
346
- label: "邮箱地址",
347
- rules: [{
348
- required: !0,
349
- message: "请输入您的邮箱地址"
350
- }, {
351
- type: "email",
352
- message: "请输入有效的邮箱地址"
353
- }]
354
- }, {
355
- default: v(() => [d(m(T), {
356
- modelValue: l.value.email,
357
- "onUpdate:modelValue": u[1] || (u[1] = (L) => l.value.email = L),
358
- placeholder: "请输入您的邮箱地址",
359
- "allow-clear": ""
360
- }, null, 8, ["modelValue"])]),
361
- _: 1
362
- }), d(m(w), {
363
- field: "message",
364
- label: "留言内容",
365
- rules: [{
366
- required: !0,
367
- message: "请输入您的留言内容"
368
- }]
369
- }, {
370
- default: v(() => [d(m(N), {
371
- modelValue: l.value.message,
372
- "onUpdate:modelValue": u[2] || (u[2] = (L) => l.value.message = L),
373
- placeholder: "请输入您的留言内容",
374
- "auto-size": {
375
- minRows: 4
376
- },
377
- "allow-clear": ""
378
- }, null, 8, ["modelValue"])]),
379
- _: 1
380
- }), d(m(U), {
381
- type: "primary",
382
- loading: a.value,
383
- onClick: I
384
- }, {
385
- default: v(() => [...u[3] || (u[3] = [D(" 发送信息 ", -1)])]),
386
- _: 1
387
- }, 8, ["loading"]), r.value ? (o(), i("div", {
388
- key: 0,
389
- class: F(["form-result", $.value])
390
- }, f(r.value), 3)) : S("", !0)]),
391
- _: 1
392
- }, 8, ["model"]));
393
- }
394
- }), Ft = /* @__PURE__ */ y(Ae, [["__scopeId", "data-v-7ef1c29b"]]), Be = /^1[3-9]\d{9}$/, Me = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
395
- function qe(t) {
396
- return Me.test(t.trim());
397
- }
398
- function Ne(t) {
399
- return Be.test(t.trim());
400
- }
401
- function Ue(t) {
402
- const e = t.trim();
403
- return e ? qe(e) || Ne(e) : !0;
404
- }
405
- const Ee = /* @__PURE__ */ b({
406
- __name: "LandingPageReportForm",
407
- setup(t) {
408
- const e = k(), a = k(!1), r = k(""), $ = k(""), l = k({
409
- location: "",
410
- occurredAt: "",
411
- detail: "",
412
- contact: ""
413
- });
414
- function _(g) {
415
- const c = /* @__PURE__ */ new Date();
416
- c.setHours(0, 0, 0, 0);
417
- const h = new Date(g);
418
- return h.setHours(0, 0, 0, 0), h.getTime() > c.getTime();
419
- }
420
- function p(g, c) {
421
- if (!g) {
422
- c();
423
- return;
424
- }
425
- const h = Date.parse(String(g).replace(" ", "T"));
426
- if (Number.isNaN(h) || h > Date.now()) {
427
- c("出现时间不能晚于现在");
428
- return;
429
- }
430
- c();
431
- }
432
- function I(g, c) {
433
- if (typeof g == "string" && Ue(g)) {
434
- c();
435
- return;
436
- }
437
- c("请填写有效的邮箱或 11 位大陆手机号");
438
- }
439
- function n() {
440
- var g, c;
441
- l.value = {
442
- location: "",
443
- occurredAt: "",
444
- detail: "",
445
- contact: ""
446
- }, (c = (g = e.value) == null ? void 0 : g.resetFields) == null || c.call(g);
447
- }
448
- function u(g, c) {
449
- $.value = g ? "text-green" : "text-red", r.value = c, window.setTimeout(() => {
450
- r.value = "";
451
- }, 5e3);
452
- }
453
- async function L() {
454
- var c;
455
- if (!await ((c = e.value) == null ? void 0 : c.validate())) {
456
- a.value = !0;
457
- try {
458
- const h = l.value.contact.trim(), H = l.value.occurredAt.trim(), {
459
- error: A
460
- } = await Re({
461
- location: l.value.location.trim(),
462
- occurredAt: H || void 0,
463
- detail: l.value.detail.trim(),
464
- contact: h || void 0
465
- });
466
- if (!A) {
467
- u(!0, "举报已提交,我们会按公示时限核查并反馈。"), n();
468
- return;
469
- }
470
- u(!1, A.message || "提交失败,请检查网络后重试。");
471
- } catch {
472
- u(!1, "提交失败,请稍后再试。");
473
- } finally {
474
- a.value = !1;
475
- }
476
- }
477
- }
478
- return (g, c) => (o(), z(m(q), {
479
- ref_key: "formRef",
480
- ref: e,
481
- class: "contact-form",
482
- model: l.value,
483
- layout: "vertical"
484
- }, {
485
- default: v(() => [d(m(w), {
486
- field: "location",
487
- label: "内容位置",
488
- rules: [{
489
- required: !0,
490
- message: "请填写被举报内容出现的位置"
491
- }]
492
- }, {
493
- default: v(() => [d(m(T), {
494
- modelValue: l.value.location,
495
- "onUpdate:modelValue": c[0] || (c[0] = (h) => l.value.location = h),
496
- placeholder: "页面地址、会话链接或功能名称",
497
- "allow-clear": ""
498
- }, null, 8, ["modelValue"])]),
499
- _: 1
500
- }), d(m(w), {
501
- field: "occurredAt",
502
- label: "出现时间",
503
- extra: "选填,精确到分钟",
504
- rules: [{
505
- validator: p
506
- }]
507
- }, {
508
- default: v(() => [d(m(j), {
509
- modelValue: l.value.occurredAt,
510
- "onUpdate:modelValue": c[1] || (c[1] = (h) => l.value.occurredAt = h),
511
- "show-time": "",
512
- format: "YYYY-MM-DD HH:mm",
513
- "value-format": "YYYY-MM-DD HH:mm",
514
- placeholder: "请选择出现时间",
515
- "disabled-date": _,
516
- style: {
517
- width: "100%"
518
- }
519
- }, null, 8, ["modelValue"])]),
520
- _: 1
521
- }, 8, ["rules"]), d(m(w), {
522
- field: "detail",
523
- label: "情况说明",
524
- rules: [{
525
- required: !0,
526
- message: "请填写情况说明"
527
- }]
528
- }, {
529
- default: v(() => [d(m(N), {
530
- modelValue: l.value.detail,
531
- "onUpdate:modelValue": c[2] || (c[2] = (h) => l.value.detail = h),
532
- placeholder: "违规情形说明。截图请发至 support@huyooo.com,或登录后在系统反馈中上传附件",
533
- "auto-size": {
534
- minRows: 4
535
- },
536
- "allow-clear": ""
537
- }, null, 8, ["modelValue"])]),
538
- _: 1
539
- }), d(m(w), {
540
- field: "contact",
541
- label: "联系方式",
542
- extra: "选填,便于反馈结果,可匿名",
543
- rules: [{
544
- validator: I
545
- }]
546
- }, {
547
- default: v(() => [d(m(T), {
548
- modelValue: l.value.contact,
549
- "onUpdate:modelValue": c[3] || (c[3] = (h) => l.value.contact = h),
550
- placeholder: "邮箱或 11 位手机号",
551
- "allow-clear": ""
552
- }, null, 8, ["modelValue"])]),
553
- _: 1
554
- }, 8, ["rules"]), d(m(U), {
555
- type: "primary",
556
- loading: a.value,
557
- onClick: L
558
- }, {
559
- default: v(() => [...c[4] || (c[4] = [D(" 提交举报 ", -1)])]),
560
- _: 1
561
- }, 8, ["loading"]), r.value ? (o(), i("div", {
562
- key: 0,
563
- class: F(["form-result", $.value])
564
- }, f(r.value), 3)) : S("", !0)]),
565
- _: 1
566
- }, 8, ["model"]));
567
- }
568
- }), zt = /* @__PURE__ */ y(Ee, [["__scopeId", "data-v-4e6e6216"]]), He = /* @__PURE__ */ b({
569
- __name: "LandingPageContainer",
570
- props: {
571
- flexDirection: {
572
- default: "column"
573
- },
574
- gap: {
575
- default: ""
576
- },
577
- padding: {
578
- default: ""
579
- }
580
- },
581
- setup(t) {
582
- const e = t;
583
- return (a, r) => (o(), i("div", {
584
- class: "landing-page-container",
585
- style: Y({
586
- flexDirection: e.flexDirection,
587
- ...e.gap ? {
588
- gap: e.gap
589
- } : {},
590
- ...e.padding ? {
591
- padding: e.padding
592
- } : {}
593
- })
594
- }, [C(a.$slots, "default", {}, void 0, !0)], 4));
595
- }
596
- }), Rt = /* @__PURE__ */ y(He, [["__scopeId", "data-v-d10fd5c6"]]), Ye = {}, Oe = {
597
- role: "separator",
598
- class: "divider divider-horizontal"
599
- };
600
- function Ge(t, e) {
601
- return o(), i("div", Oe);
602
- }
603
- const B = /* @__PURE__ */ y(Ye, [["render", Ge], ["__scopeId", "data-v-fc6caeb0"]]);
604
- function At(t, e, a = (/* @__PURE__ */ new Date()).getFullYear()) {
605
- return `Copyright © ${a > e ? `${e}-${a}` : `${e}`} ${t}`;
606
- }
607
- const je = {
608
- class: "bottom"
609
- }, We = {
610
- class: "beian-text-wrapper"
611
- }, Je = ["href"], Ke = {
612
- key: 1,
613
- class: "filing-item"
614
- }, Qe = ["href", "target", "rel", "onClick"], Xe = {
615
- class: "copyright-text"
616
- }, Ze = {
617
- key: 0,
618
- class: "socials"
619
- }, et = ["title", "onClick"], tt = {
620
- key: 0,
621
- class: "socialLabel"
622
- }, at = /* @__PURE__ */ b({
623
- __name: "LandingPageFooterContact",
624
- props: {
625
- filings: {
626
- type: Array,
627
- default: () => []
628
- },
629
- /** @deprecated 仅兼容旧调用;优先用 filings */
630
- beianNumber: {
631
- type: String,
632
- default: ""
633
- },
634
- copyrightText: {
635
- type: String,
636
- required: !0
637
- },
638
- beianUrl: {
639
- type: String,
640
- default: ""
641
- },
642
- links: {
643
- type: Array,
644
- required: !0
645
- },
646
- extraLinks: {
647
- type: Array,
648
- default: () => []
649
- }
650
- },
651
- setup(t) {
652
- const e = t, a = W(), r = O(() => {
653
- if (e.filings.length)
654
- return e.filings;
655
- const p = e.beianNumber.trim();
656
- return p ? [{
657
- key: "icp",
658
- label: "ICP备案",
659
- value: p,
660
- href: e.beianUrl || void 0
661
- }] : [];
662
- });
663
- function $(p) {
664
- return /^(https?:|mailto:)/i.test(p);
665
- }
666
- function l(p, I) {
667
- $(I) || (p.preventDefault(), p.stopPropagation(), a.push(I));
668
- }
669
- function _(p) {
670
- if (p.type === "image")
671
- return "";
672
- const n = ([p.content, p.url, p.kind === "email" ? p.label : ""].map((u) => typeof u == "string" ? u.trim() : "").find(Boolean) || "").replace(/^mailto:/i, "");
673
- return n.includes("@") && !n.startsWith("http") ? n : "";
674
- }
675
- return (p, I) => (o(), i("div", je, [s("div", We, [(o(!0), i(x, null, V(r.value, (n) => (o(), i(x, {
676
- key: n.key
677
- }, [n.href ? (o(), i("a", {
678
- key: 0,
679
- class: "filing-item",
680
- href: n.href,
681
- target: "_blank",
682
- rel: "noopener noreferrer"
683
- }, f(n.value), 9, Je)) : (o(), i("span", Ke, f(n.value), 1))], 64))), 128)), (o(!0), i(x, null, V(t.extraLinks, (n) => (o(), i("a", {
684
- key: n.label,
685
- class: "extra-link",
686
- href: n.href,
687
- target: $(n.href) ? "_blank" : void 0,
688
- rel: $(n.href) ? "noopener noreferrer" : void 0,
689
- onClick: (u) => l(u, n.href)
690
- }, f(n.label), 9, Qe))), 128)), s("span", Xe, f(e.copyrightText), 1)]), t.links.length ? (o(), i("div", Ze, [(o(!0), i(x, null, V(t.links, (n, u) => (o(), i("div", {
691
- key: u,
692
- class: F(["socialItem", {
693
- socialItemText: !!_(n)
694
- }]),
695
- title: n.label || _(n) || void 0,
696
- onClick: n.select
697
- }, [d(m(P), {
698
- icon: n.icon,
699
- class: "socialIcon"
700
- }, null, 8, ["icon"]), _(n) ? (o(), i("span", tt, f(_(n)), 1)) : S("", !0)], 10, et))), 128))])) : S("", !0)]));
701
- }
702
- }), Bt = /* @__PURE__ */ y(at, [["__scopeId", "data-v-c0652711"]]), ot = {
703
- class: "FooterLayout"
704
- }, nt = {
705
- class: "body"
706
- }, st = {
707
- class: "logo"
708
- }, it = {
709
- class: "links"
710
- }, lt = /* @__PURE__ */ b({
711
- __name: "LandingPageFooterLayout",
712
- setup(t) {
713
- return (e, a) => (o(), i("div", ot, [d(B), s("div", nt, [s("div", st, [C(e.$slots, "LandingPageBrandInfo", {}, void 0, !0)]), s("div", it, [C(e.$slots, "LandingPageLinkGroup", {}, void 0, !0)])]), d(B), C(e.$slots, "LandingPageFooterContact", {}, void 0, !0)]));
714
- }
715
- }), Mt = /* @__PURE__ */ y(lt, [["__scopeId", "data-v-425841c7"]]), rt = ["href", "target", "rel"], ct = {
716
- key: 1,
717
- class: "Description"
718
- }, dt = /* @__PURE__ */ b({
719
- __name: "LandingPageLink",
720
- props: {
721
- href: {},
722
- target: {}
723
- },
724
- setup(t) {
725
- const e = t;
726
- return (a, r) => e.href ? (o(), i("a", {
727
- key: 0,
728
- class: "Description",
729
- href: e.href,
730
- target: e.target,
731
- rel: e.target === "_blank" ? "noopener noreferrer" : void 0
732
- }, [C(a.$slots, "default", {}, void 0, !0)], 8, rt)) : (o(), i("div", ct, [C(a.$slots, "default", {}, void 0, !0)]));
733
- }
734
- }), qt = /* @__PURE__ */ y(dt, [["__scopeId", "data-v-160922db"]]), ut = {
735
- class: "list"
736
- }, mt = {
737
- class: "title"
738
- }, ft = {
739
- class: "listItemContent"
740
- }, pt = /* @__PURE__ */ b({
741
- __name: "LandingPageLinkGroup",
742
- props: {
743
- title: {
744
- default: ""
745
- }
746
- },
747
- setup(t) {
748
- const e = t;
749
- return (a, r) => (o(), i("div", ut, [s("div", mt, f(e.title), 1), s("div", ft, [C(a.$slots, "item", {}, void 0, !0)])]));
750
- }
751
- }), Nt = /* @__PURE__ */ y(pt, [["__scopeId", "data-v-4f6d9dca"]]);
752
- export {
753
- B as D,
754
- St as L,
755
- Tt as a,
756
- Ft as b,
757
- Rt as c,
758
- Bt as d,
759
- Mt as e,
760
- qt as f,
761
- Nt as g,
762
- X as h,
763
- Pt as i,
764
- zt as j,
765
- Vt as k,
766
- Dt as l,
767
- At as m
768
- };