@marktowin/prototype-core 1.0.8 → 1.0.9
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.
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as kn, computed as k, openBlock as v, createBlock as st, resolveDynamicComponent as Bo, createElementBlock as f, Fragment as _, renderList as N, normalizeClass as P, createTextVNode as
|
|
1
|
+
import { defineComponent as kn, computed as k, openBlock as v, createBlock as st, resolveDynamicComponent as Bo, createElementBlock as f, Fragment as _, renderList as N, normalizeClass as P, createTextVNode as G, toDisplayString as p, createElementVNode as e, createCommentVNode as w, ref as b, watch as Ae, createVNode as X, Transition as os, withCtx as as, unref as l, withModifiers as re, withDirectives as A, vModelText as z, normalizeStyle as Pe, createStaticVNode as Kl, reactive as Fn, onBeforeUnmount as ls, vModelSelect as _e, nextTick as ma, onMounted as Ur, isRef as yn, vModelCheckbox as jr } from "vue";
|
|
2
2
|
import { Save as Vr, CloudUpload as Lr, Download as Fr, X as Ao, Plus as Kn, ChevronDown as Kr, ChevronRight as zr, Trash2 as hn, RefreshCw as Gr, AlertTriangle as Hr, CheckCircle2 as Wr, CircleDot as zl, Bug as Yr, ImagePlus as Gl, Filter as Jr, Search as Xr, SunMedium as Zr, RotateCcw as qr, PanelTop as ss, Keyboard as Qr } from "@lucide/vue";
|
|
3
|
-
import { g as Yn, a as eu, s as tu } from "./index-
|
|
3
|
+
import { g as Yn, a as eu, s as tu } from "./index-CZG48yO-.js";
|
|
4
4
|
const zn = /* @__PURE__ */ kn({
|
|
5
5
|
__name: "ScreenRenderer",
|
|
6
6
|
props: {
|
|
@@ -25,18 +25,18 @@ const zn = /* @__PURE__ */ kn({
|
|
|
25
25
|
onClick: (u) => n.$emit("change", r.id)
|
|
26
26
|
}, [
|
|
27
27
|
(v(), st(Bo(r.icon), { class: "h-5 w-5" })),
|
|
28
|
-
|
|
28
|
+
G(" " + p(r.label), 1)
|
|
29
29
|
], 10, ou))), 128))
|
|
30
30
|
]));
|
|
31
31
|
}
|
|
32
|
-
}), lu = { class: "prototype-state-switcher" }, su = ["onClick"], iu = { class: "
|
|
32
|
+
}), lu = { class: "prototype-state-switcher" }, su = ["onClick"], iu = { class: "ml-auto flex items-center gap-2" }, ru = {
|
|
33
33
|
key: 0,
|
|
34
34
|
class: "prototype-state-annotation-count"
|
|
35
|
-
},
|
|
35
|
+
}, uu = {
|
|
36
36
|
key: 1,
|
|
37
37
|
class: "prototype-state-highlight-dot",
|
|
38
38
|
"aria-hidden": "true"
|
|
39
|
-
},
|
|
39
|
+
}, cu = /* @__PURE__ */ kn({
|
|
40
40
|
__name: "PrototypeStateSwitcher",
|
|
41
41
|
props: {
|
|
42
42
|
title: {},
|
|
@@ -59,56 +59,56 @@ const zn = /* @__PURE__ */ kn({
|
|
|
59
59
|
onClick: (I) => s("change", m.id)
|
|
60
60
|
}, [
|
|
61
61
|
u[0] || (u[0] = e("span", null, null, -1)),
|
|
62
|
-
|
|
63
|
-
e("
|
|
64
|
-
(g = t.countForState) != null && g.call(t, m.id) ? (v(), f("b",
|
|
65
|
-
(C = t.highlightedIds) != null && C.has(m.id) ? (v(), f("
|
|
62
|
+
G(" " + p(m.label) + " ", 1),
|
|
63
|
+
e("div", iu, [
|
|
64
|
+
(g = t.countForState) != null && g.call(t, m.id) ? (v(), f("b", ru, p(t.countForState(m.id)), 1)) : w("", !0),
|
|
65
|
+
(C = t.highlightedIds) != null && C.has(m.id) ? (v(), f("div", uu)) : w("", !0)
|
|
66
66
|
])
|
|
67
67
|
], 10, su);
|
|
68
68
|
}), 128))
|
|
69
69
|
]));
|
|
70
70
|
}
|
|
71
|
-
}),
|
|
71
|
+
}), du = { class: "fixed inset-0 z-[200] bg-canvas flex flex-col" }, pu = { class: "flex items-center justify-between px-6 py-3 border-b border-line bg-panel relative" }, vu = { class: "flex items-center gap-3" }, fu = { class: "text-xs text-muted" }, mu = { class: "flex items-center gap-2" }, gu = ["disabled"], bu = ["disabled", "title"], yu = { class: "grid grid-cols-[1fr_3fr_1fr] flex-1 overflow-hidden" }, hu = { class: "min-w-[200px] border-r border-line bg-panel flex flex-col overflow-hidden" }, wu = { class: "p-4 border-b border-line" }, xu = { class: "flex-1 overflow-y-auto p-3 space-y-2" }, Su = ["onClick"], ku = ["value", "onInput"], Cu = ["onClick"], $u = {
|
|
72
72
|
key: 0,
|
|
73
73
|
class: "border-t border-line"
|
|
74
|
-
},
|
|
74
|
+
}, _u = ["onClick"], Iu = ["onClick"], Pu = ["onClick"], Du = { class: "flex-1 flex flex-col bg-canvas min-w-0" }, Au = { class: "flex items-center justify-between px-6 py-3 border-b border-line bg-panel" }, Nu = { class: "flex items-center gap-3" }, Tu = ["value"], Ru = { class: "flex items-center gap-4" }, Eu = { class: "flex items-center gap-2" }, Ou = { class: "text-xs text-muted w-8 text-right" }, Bu = { class: "flex flex-wrap gap-4 content-start min-h-full" }, Mu = ["onDragstart", "onDragover", "onDrop"], Uu = {
|
|
75
75
|
key: 0,
|
|
76
76
|
class: "absolute -left-2 top-1/2 -translate-y-1/2 h-[72%] w-[3px] rounded-full bg-ocean pointer-events-none z-20",
|
|
77
77
|
style: { "box-shadow": "0 0 10px rgb(var(--color-ocean)), 0 0 4px rgb(var(--color-ocean))" }
|
|
78
|
-
},
|
|
78
|
+
}, ju = {
|
|
79
79
|
key: 1,
|
|
80
80
|
class: "absolute -right-2 top-1/2 -translate-y-1/2 h-[72%] w-[3px] rounded-full bg-ocean pointer-events-none z-20",
|
|
81
81
|
style: { "box-shadow": "0 0 10px rgb(var(--color-ocean)), 0 0 4px rgb(var(--color-ocean))" }
|
|
82
|
-
},
|
|
82
|
+
}, Vu = { class: "relative cursor-grab active:cursor-grabbing" }, Lu = {
|
|
83
83
|
key: 0,
|
|
84
84
|
class: "desktop-frame-thumb"
|
|
85
|
-
},
|
|
85
|
+
}, Fu = { class: "desktop-screen-content-thumb" }, Ku = {
|
|
86
86
|
key: 1,
|
|
87
87
|
class: "phone-screen",
|
|
88
88
|
style: { width: "393px", height: "852px" }
|
|
89
|
-
},
|
|
89
|
+
}, zu = {
|
|
90
90
|
class: "screen-content",
|
|
91
91
|
style: { height: "100%", overflow: "hidden", "padding-bottom": "20px" }
|
|
92
|
-
},
|
|
92
|
+
}, Gu = ["onClick"], Hu = { class: "flex items-center justify-center gap-1 max-w-full" }, Wu = { class: "text-center text-[11px] text-ink leading-tight truncate" }, Yu = { class: "text-center text-[10px] text-muted" }, Ju = {
|
|
93
93
|
key: 1,
|
|
94
94
|
class: "flex flex-col items-center justify-center w-full h-48 text-muted relative"
|
|
95
|
-
},
|
|
95
|
+
}, Xu = {
|
|
96
96
|
key: 0,
|
|
97
97
|
class: "absolute inset-x-6 top-0 h-[3px] rounded-full bg-ocean pointer-events-none z-20",
|
|
98
98
|
style: { "box-shadow": "0 0 10px rgb(var(--color-ocean)), 0 0 4px rgb(var(--color-ocean))" }
|
|
99
|
-
},
|
|
99
|
+
}, Zu = { class: "h-16 w-16 rounded-full border-2 border-dashed border-line flex items-center justify-center mb-3" }, qu = { class: "min-w-[200px] border-l border-line bg-panel flex flex-col overflow-hidden" }, Qu = { class: "flex-1 overflow-y-auto p-3 space-y-4" }, ec = { key: 0 }, tc = { class: "grid grid-cols-2 gap-3" }, nc = ["onDragstart"], oc = {
|
|
100
100
|
class: "phone-screen",
|
|
101
101
|
style: { width: "393px", height: "852px" }
|
|
102
|
-
},
|
|
102
|
+
}, ac = {
|
|
103
103
|
class: "screen-content",
|
|
104
104
|
style: { height: "100%", overflow: "hidden", "padding-bottom": "20px" }
|
|
105
|
-
},
|
|
105
|
+
}, lc = { class: "flex items-center gap-1 px-0.5" }, sc = { class: "text-[10px] font-mono text-muted" }, ic = { class: "text-[10px] text-ink leading-tight truncate" }, rc = {
|
|
106
106
|
key: 0,
|
|
107
107
|
class: "px-0.5 text-[10px] leading-tight text-ocean truncate"
|
|
108
|
-
},
|
|
108
|
+
}, uc = { key: 1 }, cc = { class: "grid grid-cols-2 gap-3" }, dc = ["onDragstart"], pc = { class: "desktop-frame-thumb" }, vc = { class: "desktop-screen-content-thumb" }, fc = { class: "flex items-center gap-1 px-0.5" }, mc = { class: "text-[10px] font-mono text-muted" }, gc = { class: "text-[10px] text-ink leading-tight truncate" }, bc = {
|
|
109
109
|
key: 0,
|
|
110
110
|
class: "px-0.5 text-[10px] leading-tight text-ocean truncate"
|
|
111
|
-
},
|
|
111
|
+
}, yc = 0.18, hc = 0.38, Hl = 393, wc = 852, Un = 640, Wl = 360, Yl = 1920, xc = /* @__PURE__ */ kn({
|
|
112
112
|
__name: "FlowEditor",
|
|
113
113
|
props: {
|
|
114
114
|
flows: {},
|
|
@@ -130,7 +130,7 @@ const zn = /* @__PURE__ */ kn({
|
|
|
130
130
|
return x === "pc" ? M.value * Un / Yl : M.value;
|
|
131
131
|
}
|
|
132
132
|
function xe(x) {
|
|
133
|
-
const S = x === "pc" ? Un : Hl, T = x === "pc" ? Wl :
|
|
133
|
+
const S = x === "pc" ? Un : Hl, T = x === "pc" ? Wl : wc;
|
|
134
134
|
return {
|
|
135
135
|
width: `${Math.ceil(S * M.value) + 2}px`,
|
|
136
136
|
height: `${Math.ceil(T * M.value) + 2}px`
|
|
@@ -252,17 +252,17 @@ const zn = /* @__PURE__ */ kn({
|
|
|
252
252
|
} catch {
|
|
253
253
|
return;
|
|
254
254
|
}
|
|
255
|
-
const
|
|
256
|
-
if (!
|
|
255
|
+
const H = Ee();
|
|
256
|
+
if (!H) return;
|
|
257
257
|
const le = T === "before" ? S : S + 1;
|
|
258
258
|
if (D.type === "palette" && D.screenId) {
|
|
259
259
|
const $ = { screenId: D.screenId, stateId: D.stateId };
|
|
260
|
-
|
|
260
|
+
H.splice(le, 0, $);
|
|
261
261
|
} else if (D.type === "sort" && typeof D.fromIndex == "number") {
|
|
262
262
|
const $ = D.fromIndex;
|
|
263
263
|
if ($ === le) return;
|
|
264
|
-
const [$n] =
|
|
265
|
-
|
|
264
|
+
const [$n] = H.splice($, 1), Wt = $ < le ? le - 1 : le;
|
|
265
|
+
H.splice(Wt, 0, $n);
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
function Dt(x) {
|
|
@@ -316,11 +316,11 @@ const zn = /* @__PURE__ */ kn({
|
|
|
316
316
|
}
|
|
317
317
|
return (x, S) => {
|
|
318
318
|
var T, R;
|
|
319
|
-
return v(), f("div",
|
|
320
|
-
e("header",
|
|
321
|
-
e("div",
|
|
319
|
+
return v(), f("div", du, [
|
|
320
|
+
e("header", pu, [
|
|
321
|
+
e("div", vu, [
|
|
322
322
|
S[4] || (S[4] = e("h2", { class: "text-lg font-semibold text-ink" }, "流程编排", -1)),
|
|
323
|
-
e("span",
|
|
323
|
+
e("span", fu, p((T = C.value) == null ? void 0 : T.title) + " · 子流程 " + p(g.value + 1) + " / " + p((R = C.value) == null ? void 0 : R.rows.length), 1)
|
|
324
324
|
]),
|
|
325
325
|
X(os, { name: "toast" }, {
|
|
326
326
|
default: as(() => [
|
|
@@ -331,15 +331,15 @@ const zn = /* @__PURE__ */ kn({
|
|
|
331
331
|
]),
|
|
332
332
|
_: 1
|
|
333
333
|
}),
|
|
334
|
-
e("div",
|
|
334
|
+
e("div", mu, [
|
|
335
335
|
e("button", {
|
|
336
336
|
class: "flex items-center gap-1.5 rounded-lg bg-soft px-3 py-1.5 text-sm font-medium text-ink hover:bg-canvas transition",
|
|
337
337
|
disabled: Fe.value,
|
|
338
338
|
onClick: Ze
|
|
339
339
|
}, [
|
|
340
340
|
X(l(Vr), { class: "h-4 w-4" }),
|
|
341
|
-
|
|
342
|
-
], 8,
|
|
341
|
+
G(" " + p(Fe.value ? "保存中…" : "保存到当前会话"), 1)
|
|
342
|
+
], 8, gu),
|
|
343
343
|
e("button", {
|
|
344
344
|
class: "flex items-center gap-1.5 rounded-lg bg-ink px-3 py-1.5 text-sm font-medium text-white transition hover:bg-ocean disabled:cursor-not-allowed disabled:opacity-40",
|
|
345
345
|
disabled: Ye.value || !t.canPushRemote,
|
|
@@ -347,14 +347,14 @@ const zn = /* @__PURE__ */ kn({
|
|
|
347
347
|
onClick: At
|
|
348
348
|
}, [
|
|
349
349
|
X(l(Lr), { class: "h-4 w-4" }),
|
|
350
|
-
|
|
351
|
-
], 8,
|
|
350
|
+
G(" " + p(Ye.value ? "推送中…" : "推送到 Gitee"), 1)
|
|
351
|
+
], 8, bu),
|
|
352
352
|
e("button", {
|
|
353
353
|
class: "flex items-center gap-1.5 rounded-lg bg-ocean px-3 py-1.5 text-sm font-medium text-white hover:opacity-90 transition",
|
|
354
354
|
onClick: Cn
|
|
355
355
|
}, [
|
|
356
356
|
X(l(Fr), { class: "h-4 w-4" }),
|
|
357
|
-
S[5] || (S[5] =
|
|
357
|
+
S[5] || (S[5] = G(" 导出 JSON ", -1))
|
|
358
358
|
]),
|
|
359
359
|
e("button", {
|
|
360
360
|
class: "flex h-8 w-8 items-center justify-center rounded-full bg-soft text-ink hover:bg-canvas transition",
|
|
@@ -364,97 +364,97 @@ const zn = /* @__PURE__ */ kn({
|
|
|
364
364
|
])
|
|
365
365
|
])
|
|
366
366
|
]),
|
|
367
|
-
e("div",
|
|
368
|
-
e("aside",
|
|
369
|
-
e("div",
|
|
367
|
+
e("div", yu, [
|
|
368
|
+
e("aside", hu, [
|
|
369
|
+
e("div", wu, [
|
|
370
370
|
e("button", {
|
|
371
371
|
class: "flex w-full items-center justify-center gap-2 rounded-xl bg-ocean py-2.5 text-sm font-medium text-white hover:opacity-90 transition",
|
|
372
372
|
onClick: ln
|
|
373
373
|
}, [
|
|
374
374
|
X(l(Kn), { class: "h-4 w-4" }),
|
|
375
|
-
S[6] || (S[6] =
|
|
375
|
+
S[6] || (S[6] = G(" 新建主流程 ", -1))
|
|
376
376
|
])
|
|
377
377
|
]),
|
|
378
|
-
e("div",
|
|
379
|
-
(v(!0), f(_, null, N(u.value, (D,
|
|
378
|
+
e("div", xu, [
|
|
379
|
+
(v(!0), f(_, null, N(u.value, (D, H) => (v(), f("div", {
|
|
380
380
|
key: D.id,
|
|
381
|
-
class: P(["rounded-xl border border-line bg-soft overflow-hidden", { "ring-1 ring-ocean": m.value ===
|
|
381
|
+
class: P(["rounded-xl border border-line bg-soft overflow-hidden", { "ring-1 ring-ocean": m.value === H }])
|
|
382
382
|
}, [
|
|
383
383
|
e("div", {
|
|
384
384
|
class: "flex items-center gap-2 px-3 py-2.5 cursor-pointer hover:bg-canvas transition",
|
|
385
|
-
onClick: (le) => Ne(
|
|
385
|
+
onClick: (le) => Ne(H)
|
|
386
386
|
}, [
|
|
387
|
-
(v(), st(Bo(Ce.value.has(
|
|
387
|
+
(v(), st(Bo(Ce.value.has(H) ? l(Kr) : l(zr)), { class: "h-4 w-4 text-muted" })),
|
|
388
388
|
e("input", {
|
|
389
389
|
value: D.title,
|
|
390
390
|
class: "flex-1 min-w-0 bg-transparent text-sm font-semibold text-ink outline-none",
|
|
391
391
|
onClick: S[0] || (S[0] = re(() => {
|
|
392
392
|
}, ["stop"])),
|
|
393
|
-
onInput: (le) => vt(
|
|
394
|
-
}, null, 40,
|
|
393
|
+
onInput: (le) => vt(H, le.target.value)
|
|
394
|
+
}, null, 40, ku),
|
|
395
395
|
e("button", {
|
|
396
396
|
class: "text-muted hover:text-danger transition",
|
|
397
397
|
title: "删除主流程",
|
|
398
|
-
onClick: re((le) => pt(
|
|
398
|
+
onClick: re((le) => pt(H), ["stop"])
|
|
399
399
|
}, [
|
|
400
400
|
X(l(hn), { class: "h-3.5 w-3.5" })
|
|
401
|
-
], 8,
|
|
402
|
-
], 8,
|
|
403
|
-
Ce.value.has(
|
|
401
|
+
], 8, Cu)
|
|
402
|
+
], 8, Su),
|
|
403
|
+
Ce.value.has(H) ? (v(), f("div", $u, [
|
|
404
404
|
(v(!0), f(_, null, N(D.rows, (le, ge) => (v(), f("div", {
|
|
405
405
|
key: ge,
|
|
406
406
|
class: P(["group/row flex items-center gap-2 py-2 text-xs cursor-pointer hover:bg-canvas transition", [
|
|
407
|
-
m.value ===
|
|
407
|
+
m.value === H && g.value === ge ? "pl-[9px] pr-3 bg-ocean/5 border-l-[3px] border-ocean" : "px-3"
|
|
408
408
|
]]),
|
|
409
|
-
onClick: ($) => Ue(
|
|
409
|
+
onClick: ($) => Ue(H, ge)
|
|
410
410
|
}, [
|
|
411
411
|
e("span", {
|
|
412
|
-
class: P(["h-1.5 w-1.5 rounded-full", m.value ===
|
|
412
|
+
class: P(["h-1.5 w-1.5 rounded-full", m.value === H && g.value === ge ? "bg-ocean" : "bg-muted"])
|
|
413
413
|
}, null, 2),
|
|
414
414
|
e("span", {
|
|
415
|
-
class: P(["flex-1 min-w-0 truncate", m.value ===
|
|
415
|
+
class: P(["flex-1 min-w-0 truncate", m.value === H && g.value === ge ? "text-ink font-medium" : "text-muted"])
|
|
416
416
|
}, p(Xe(D, ge)), 3),
|
|
417
417
|
e("span", {
|
|
418
|
-
class: P(["", m.value ===
|
|
418
|
+
class: P(["", m.value === H && g.value === ge ? "text-ocean" : "text-muted/60"])
|
|
419
419
|
}, p(le.length) + " 页", 3),
|
|
420
420
|
e("button", {
|
|
421
421
|
class: "text-muted hover:text-danger transition opacity-0 group-hover/row:opacity-100",
|
|
422
422
|
title: "删除子流程",
|
|
423
|
-
onClick: re(($) => J(
|
|
423
|
+
onClick: re(($) => J(H, ge), ["stop"])
|
|
424
424
|
}, [
|
|
425
425
|
X(l(hn), { class: "h-3 w-3" })
|
|
426
|
-
], 8,
|
|
427
|
-
], 10,
|
|
426
|
+
], 8, Iu)
|
|
427
|
+
], 10, _u))), 128)),
|
|
428
428
|
e("button", {
|
|
429
429
|
class: "flex w-full items-center gap-1.5 px-3 py-2 text-xs text-ocean hover:bg-canvas transition",
|
|
430
|
-
onClick: (le) => ft(
|
|
430
|
+
onClick: (le) => ft(H)
|
|
431
431
|
}, [
|
|
432
432
|
X(l(Kn), { class: "h-3 w-3" }),
|
|
433
|
-
S[7] || (S[7] =
|
|
434
|
-
], 8,
|
|
433
|
+
S[7] || (S[7] = G(" 添加子流程 ", -1))
|
|
434
|
+
], 8, Pu)
|
|
435
435
|
])) : w("", !0)
|
|
436
436
|
], 2))), 128))
|
|
437
437
|
])
|
|
438
438
|
]),
|
|
439
|
-
e("section",
|
|
440
|
-
e("div",
|
|
441
|
-
e("div",
|
|
439
|
+
e("section", Du, [
|
|
440
|
+
e("div", Au, [
|
|
441
|
+
e("div", Nu, [
|
|
442
442
|
S[8] || (S[8] = e("span", { class: "text-sm text-muted" }, "当前子流程名称", -1)),
|
|
443
443
|
e("input", {
|
|
444
444
|
value: Xe(C.value, g.value),
|
|
445
445
|
class: "rounded-lg border border-line bg-canvas px-3 py-1.5 text-sm text-ink outline-none focus:border-ocean",
|
|
446
446
|
placeholder: "输入子流程名称...",
|
|
447
447
|
onInput: S[1] || (S[1] = (D) => je(g.value, D.target.value))
|
|
448
|
-
}, null, 40,
|
|
448
|
+
}, null, 40, Tu)
|
|
449
449
|
]),
|
|
450
|
-
e("div",
|
|
451
|
-
e("div",
|
|
450
|
+
e("div", Ru, [
|
|
451
|
+
e("div", Eu, [
|
|
452
452
|
S[9] || (S[9] = e("span", { class: "text-xs text-muted" }, "缩略图", -1)),
|
|
453
453
|
A(e("input", {
|
|
454
454
|
"onUpdate:modelValue": S[2] || (S[2] = (D) => M.value = D),
|
|
455
455
|
type: "range",
|
|
456
|
-
min:
|
|
457
|
-
max:
|
|
456
|
+
min: yc,
|
|
457
|
+
max: hc,
|
|
458
458
|
step: "0.01",
|
|
459
459
|
class: "w-20 h-1 accent-ocean cursor-pointer",
|
|
460
460
|
"aria-label": "缩略图缩放"
|
|
@@ -466,7 +466,7 @@ const zn = /* @__PURE__ */ kn({
|
|
|
466
466
|
{ number: !0 }
|
|
467
467
|
]
|
|
468
468
|
]),
|
|
469
|
-
e("span",
|
|
469
|
+
e("span", Ou, p(Math.round(M.value * 100)) + "%", 1)
|
|
470
470
|
]),
|
|
471
471
|
C.value ? (v(), f("button", {
|
|
472
472
|
key: 0,
|
|
@@ -474,7 +474,7 @@ const zn = /* @__PURE__ */ kn({
|
|
|
474
474
|
onClick: ee
|
|
475
475
|
}, [
|
|
476
476
|
X(l(Kn), { class: "h-3.5 w-3.5" }),
|
|
477
|
-
S[10] || (S[10] =
|
|
477
|
+
S[10] || (S[10] = G(" 新增空行 ", -1))
|
|
478
478
|
])) : w("", !0)
|
|
479
479
|
])
|
|
480
480
|
]),
|
|
@@ -484,25 +484,25 @@ const zn = /* @__PURE__ */ kn({
|
|
|
484
484
|
}, ["prevent"])),
|
|
485
485
|
onDrop: Dt
|
|
486
486
|
}, [
|
|
487
|
-
e("div",
|
|
488
|
-
I.value.length > 0 ? (v(!0), f(_, { key: 0 }, N(I.value, (D,
|
|
487
|
+
e("div", Bu, [
|
|
488
|
+
I.value.length > 0 ? (v(!0), f(_, { key: 0 }, N(I.value, (D, H) => {
|
|
489
489
|
var le, ge;
|
|
490
490
|
return v(), f("div", {
|
|
491
|
-
key: `${D.screenId}-${
|
|
491
|
+
key: `${D.screenId}-${H}`,
|
|
492
492
|
class: P(["group relative flex flex-col items-center gap-2", {
|
|
493
|
-
"opacity-40 scale-[0.96]": V.value ===
|
|
493
|
+
"opacity-40 scale-[0.96]": V.value === H,
|
|
494
494
|
"transition-all duration-150": !0
|
|
495
495
|
}]),
|
|
496
496
|
style: Pe({ width: `${oe(D) === "pc" ? Se.value : q.value}px` }),
|
|
497
497
|
draggable: "true",
|
|
498
|
-
onDragstart: ($) => ve($,
|
|
498
|
+
onDragstart: ($) => ve($, H),
|
|
499
499
|
onDragend: fe,
|
|
500
|
-
onDragover: re(($) => Pt($,
|
|
501
|
-
onDrop: ($) => W($,
|
|
500
|
+
onDragover: re(($) => Pt($, H), ["prevent"]),
|
|
501
|
+
onDrop: ($) => W($, H)
|
|
502
502
|
}, [
|
|
503
|
-
ot.value ===
|
|
504
|
-
|
|
505
|
-
e("div",
|
|
503
|
+
ot.value === H ? (v(), f("div", Uu)) : w("", !0),
|
|
504
|
+
H === I.value.length - 1 && ot.value === I.value.length ? (v(), f("div", ju)) : w("", !0),
|
|
505
|
+
e("div", Vu, [
|
|
506
506
|
e("div", {
|
|
507
507
|
class: P(["thumb-frame", { "pc-thumb-frame": oe(D) === "pc" }]),
|
|
508
508
|
style: Pe(xe(oe(D)))
|
|
@@ -511,16 +511,16 @@ const zn = /* @__PURE__ */ kn({
|
|
|
511
511
|
class: "thumb-scale",
|
|
512
512
|
style: Pe({ transform: `scale(${se(oe(D))})` })
|
|
513
513
|
}, [
|
|
514
|
-
oe(D) === "pc" ? (v(), f("div",
|
|
515
|
-
e("div",
|
|
514
|
+
oe(D) === "pc" ? (v(), f("div", Lu, [
|
|
515
|
+
e("div", Fu, [
|
|
516
516
|
D.screenId ? (v(), st(zn, {
|
|
517
517
|
key: 0,
|
|
518
518
|
screen: Le(D)
|
|
519
519
|
}, null, 8, ["screen"])) : w("", !0)
|
|
520
520
|
])
|
|
521
|
-
])) : (v(), f("div",
|
|
521
|
+
])) : (v(), f("div", Ku, [
|
|
522
522
|
S[11] || (S[11] = Kl('<div class="status-bar" data-v-0f3d8899><span data-v-0f3d8899>9:41</span><span class="flex items-center gap-1" data-v-0f3d8899><svg class="h-3 w-3" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-0f3d8899><path d="M12 2a4 4 0 0 0-4 4c0 2.5 3 5.5 4 9 1-3.5 4-6.5 4-9a4 4 0 0 0-4-4Z" data-v-0f3d8899></path><circle cx="12" cy="6" r="1.5" data-v-0f3d8899></circle></svg> 86% </span></div>', 1)),
|
|
523
|
-
e("div",
|
|
523
|
+
e("div", zu, [
|
|
524
524
|
D.screenId ? (v(), st(zn, {
|
|
525
525
|
key: 0,
|
|
526
526
|
screen: Le(D)
|
|
@@ -531,27 +531,27 @@ const zn = /* @__PURE__ */ kn({
|
|
|
531
531
|
], 6),
|
|
532
532
|
e("button", {
|
|
533
533
|
class: "absolute -right-1.5 -top-1.5 flex h-5 w-5 items-center justify-center rounded-full bg-danger text-white shadow-sm transition hover:scale-110",
|
|
534
|
-
onClick: ($) => mt(g.value,
|
|
534
|
+
onClick: ($) => mt(g.value, H)
|
|
535
535
|
}, [
|
|
536
536
|
X(l(Ao), { class: "h-3 w-3" })
|
|
537
|
-
], 8,
|
|
537
|
+
], 8, Gu)
|
|
538
538
|
]),
|
|
539
|
-
e("div",
|
|
539
|
+
e("div", Hu, [
|
|
540
540
|
e("span", {
|
|
541
541
|
class: P(["platform-badge is-small", oe(D) === "pc" ? "is-pc" : "is-mobile"])
|
|
542
542
|
}, p(oe(D) === "pc" ? "P" : "M"), 3),
|
|
543
|
-
e("span",
|
|
543
|
+
e("span", Wu, p(((le = dt(D.screenId)) == null ? void 0 : le.title) ?? D.screenId), 1)
|
|
544
544
|
]),
|
|
545
|
-
e("span",
|
|
546
|
-
|
|
545
|
+
e("span", Yu, [
|
|
546
|
+
G(p(((ge = dt(D.screenId)) == null ? void 0 : ge.code) ?? ""), 1),
|
|
547
547
|
D.stateId ? (v(), f(_, { key: 0 }, [
|
|
548
|
-
|
|
548
|
+
G(" · " + p(Le(D).stateLabel), 1)
|
|
549
549
|
], 64)) : w("", !0)
|
|
550
550
|
])
|
|
551
|
-
], 46,
|
|
552
|
-
}), 128)) : (v(), f("div",
|
|
553
|
-
ae.value ? (v(), f("div",
|
|
554
|
-
e("div",
|
|
551
|
+
], 46, Mu);
|
|
552
|
+
}), 128)) : (v(), f("div", Ju, [
|
|
553
|
+
ae.value ? (v(), f("div", Xu)) : w("", !0),
|
|
554
|
+
e("div", Zu, [
|
|
555
555
|
X(l(Kn), { class: "h-6 w-6" })
|
|
556
556
|
]),
|
|
557
557
|
S[12] || (S[12] = e("p", { class: "text-sm" }, "从右侧拖拽页面到此处", -1))
|
|
@@ -559,22 +559,22 @@ const zn = /* @__PURE__ */ kn({
|
|
|
559
559
|
])
|
|
560
560
|
], 32)
|
|
561
561
|
]),
|
|
562
|
-
e("aside",
|
|
562
|
+
e("aside", qu, [
|
|
563
563
|
S[18] || (S[18] = e("div", { class: "p-4 border-b border-line" }, [
|
|
564
564
|
e("h3", { class: "text-sm font-semibold text-ink" }, "状态库"),
|
|
565
565
|
e("p", { class: "text-xs text-muted mt-1" }, "拖拽页面状态到中间画布")
|
|
566
566
|
], -1)),
|
|
567
|
-
e("div",
|
|
568
|
-
Ve.value.length ? (v(), f("div",
|
|
567
|
+
e("div", Qu, [
|
|
568
|
+
Ve.value.length ? (v(), f("div", ec, [
|
|
569
569
|
S[15] || (S[15] = e("p", { class: "mb-2 text-xs font-semibold text-muted" }, "移动端", -1)),
|
|
570
|
-
e("div",
|
|
570
|
+
e("div", tc, [
|
|
571
571
|
(v(!0), f(_, null, N(Ve.value, (D) => (v(), f("div", {
|
|
572
572
|
key: D.key,
|
|
573
573
|
class: P(["group flex flex-col gap-1 p-2 rounded-xl border border-line bg-soft hover:border-ocean hover:shadow-sm transition cursor-grab active:cursor-grabbing", {
|
|
574
574
|
"opacity-40 ring-2 ring-ocean/40": U.value === D.key
|
|
575
575
|
}]),
|
|
576
576
|
draggable: "true",
|
|
577
|
-
onDragstart: (
|
|
577
|
+
onDragstart: (H) => ie(H, D),
|
|
578
578
|
onDragend: fe
|
|
579
579
|
}, [
|
|
580
580
|
e("div", {
|
|
@@ -585,9 +585,9 @@ const zn = /* @__PURE__ */ kn({
|
|
|
585
585
|
class: "thumb-scale",
|
|
586
586
|
style: Pe({ transform: `scale(${M.value})` })
|
|
587
587
|
}, [
|
|
588
|
-
e("div",
|
|
588
|
+
e("div", oc, [
|
|
589
589
|
S[13] || (S[13] = Kl('<div class="status-bar" data-v-0f3d8899><span data-v-0f3d8899>9:41</span><span class="flex items-center gap-1" data-v-0f3d8899><svg class="h-3 w-3" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" data-v-0f3d8899><path d="M12 2a4 4 0 0 0-4 4c0 2.5 3 5.5 4 9 1-3.5 4-6.5 4-9a4 4 0 0 0-4-4Z" data-v-0f3d8899></path><circle cx="12" cy="6" r="1.5" data-v-0f3d8899></circle></svg> 86% </span></div>', 1)),
|
|
590
|
-
e("div",
|
|
590
|
+
e("div", ac, [
|
|
591
591
|
X(zn, {
|
|
592
592
|
screen: Z(D)
|
|
593
593
|
}, null, 8, ["screen"])
|
|
@@ -595,25 +595,25 @@ const zn = /* @__PURE__ */ kn({
|
|
|
595
595
|
])
|
|
596
596
|
], 4)
|
|
597
597
|
], 4),
|
|
598
|
-
e("div",
|
|
598
|
+
e("div", lc, [
|
|
599
599
|
S[14] || (S[14] = e("span", { class: "platform-badge is-small is-mobile" }, "M", -1)),
|
|
600
|
-
e("span",
|
|
601
|
-
e("span",
|
|
600
|
+
e("span", sc, p(D.screen.code), 1),
|
|
601
|
+
e("span", ic, p(D.screen.title), 1)
|
|
602
602
|
]),
|
|
603
|
-
D.stateLabel ? (v(), f("span",
|
|
604
|
-
], 42,
|
|
603
|
+
D.stateLabel ? (v(), f("span", rc, p(D.stateLabel), 1)) : w("", !0)
|
|
604
|
+
], 42, nc))), 128))
|
|
605
605
|
])
|
|
606
606
|
])) : w("", !0),
|
|
607
|
-
ce.value.length ? (v(), f("div",
|
|
607
|
+
ce.value.length ? (v(), f("div", uc, [
|
|
608
608
|
S[17] || (S[17] = e("p", { class: "mb-2 text-xs font-semibold text-muted" }, "PC 端", -1)),
|
|
609
|
-
e("div",
|
|
609
|
+
e("div", cc, [
|
|
610
610
|
(v(!0), f(_, null, N(ce.value, (D) => (v(), f("div", {
|
|
611
611
|
key: D.key,
|
|
612
612
|
class: P(["group flex flex-col gap-1 p-2 rounded-xl border border-line bg-soft hover:border-ocean hover:shadow-sm transition cursor-grab active:cursor-grabbing", {
|
|
613
613
|
"opacity-40 ring-2 ring-ocean/40": U.value === D.key
|
|
614
614
|
}]),
|
|
615
615
|
draggable: "true",
|
|
616
|
-
onDragstart: (
|
|
616
|
+
onDragstart: (H) => ie(H, D),
|
|
617
617
|
onDragend: fe
|
|
618
618
|
}, [
|
|
619
619
|
e("div", {
|
|
@@ -624,8 +624,8 @@ const zn = /* @__PURE__ */ kn({
|
|
|
624
624
|
class: "thumb-scale",
|
|
625
625
|
style: Pe({ transform: `scale(${Je.value})` })
|
|
626
626
|
}, [
|
|
627
|
-
e("div",
|
|
628
|
-
e("div",
|
|
627
|
+
e("div", pc, [
|
|
628
|
+
e("div", vc, [
|
|
629
629
|
X(zn, {
|
|
630
630
|
screen: Z(D)
|
|
631
631
|
}, null, 8, ["screen"])
|
|
@@ -633,13 +633,13 @@ const zn = /* @__PURE__ */ kn({
|
|
|
633
633
|
])
|
|
634
634
|
], 4)
|
|
635
635
|
], 4),
|
|
636
|
-
e("div",
|
|
636
|
+
e("div", fc, [
|
|
637
637
|
S[16] || (S[16] = e("span", { class: "platform-badge is-small is-pc" }, "P", -1)),
|
|
638
|
-
e("span",
|
|
639
|
-
e("span",
|
|
638
|
+
e("span", mc, p(D.screen.code), 1),
|
|
639
|
+
e("span", gc, p(D.screen.title), 1)
|
|
640
640
|
]),
|
|
641
|
-
D.stateLabel ? (v(), f("span",
|
|
642
|
-
], 42,
|
|
641
|
+
D.stateLabel ? (v(), f("span", bc, p(D.stateLabel), 1)) : w("", !0)
|
|
642
|
+
], 42, dc))), 128))
|
|
643
643
|
])
|
|
644
644
|
])) : w("", !0)
|
|
645
645
|
])
|
|
@@ -653,8 +653,8 @@ const zn = /* @__PURE__ */ kn({
|
|
|
653
653
|
for (const [r, u] of n)
|
|
654
654
|
s[r] = u;
|
|
655
655
|
return s;
|
|
656
|
-
},
|
|
657
|
-
function
|
|
656
|
+
}, Sc = /* @__PURE__ */ is(xc, [["__scopeId", "data-v-0f3d8899"]]);
|
|
657
|
+
function kc(t) {
|
|
658
658
|
if (t === "main") return "main";
|
|
659
659
|
let n = 2166136261;
|
|
660
660
|
for (const r of t)
|
|
@@ -711,7 +711,7 @@ function ye() {
|
|
|
711
711
|
remoteBranch: ((Se = t.remoteBranch) == null ? void 0 : Se.trim()) || "master",
|
|
712
712
|
projectId: ((ke = t.projectId) == null ? void 0 : ke.trim()) || "prototype-core",
|
|
713
713
|
codeBranch: m,
|
|
714
|
-
branchKey: m ?
|
|
714
|
+
branchKey: m ? kc(m) : "unknown",
|
|
715
715
|
remoteReadable: !g && !C,
|
|
716
716
|
remoteWritable: !g && !C,
|
|
717
717
|
unavailableReason: C ? "无法识别代码分支,当前无法推送" : g ? "Gitee 未配置,当前无法推送" : ""
|
|
@@ -747,14 +747,14 @@ function We(t, n, s, r) {
|
|
|
747
747
|
};
|
|
748
748
|
return (m = vs()) == null || m.setItem(fs(t), JSON.stringify(u)), u;
|
|
749
749
|
}
|
|
750
|
-
const ms = "https://gitee.com/api/v5",
|
|
750
|
+
const ms = "https://gitee.com/api/v5", Cc = us(), gs = ye().remoteReadable;
|
|
751
751
|
function bs(t) {
|
|
752
752
|
return t.split("/").map(encodeURIComponent).join("/");
|
|
753
753
|
}
|
|
754
|
-
function
|
|
754
|
+
function $c(t) {
|
|
755
755
|
return btoa(unescape(encodeURIComponent(t)));
|
|
756
756
|
}
|
|
757
|
-
function
|
|
757
|
+
function _c(t) {
|
|
758
758
|
return decodeURIComponent(escape(atob(t.replace(/\s/g, ""))));
|
|
759
759
|
}
|
|
760
760
|
function ys() {
|
|
@@ -764,7 +764,7 @@ function ys() {
|
|
|
764
764
|
function hs() {
|
|
765
765
|
return `projects/${ye().projectId}/bugs/bugs.json`;
|
|
766
766
|
}
|
|
767
|
-
function
|
|
767
|
+
function Ic(t, n) {
|
|
768
768
|
const s = ye();
|
|
769
769
|
return ["docs: update product bugs", "", `提交人:${t}`, `代码分支:${s.codeBranch}`, `数据分支:${s.branchKey}`, `操作:${n}`].join(`
|
|
770
770
|
`);
|
|
@@ -783,7 +783,7 @@ async function Jl(t) {
|
|
|
783
783
|
const u = await r.json(), m = ds(u, t);
|
|
784
784
|
if (m)
|
|
785
785
|
return {
|
|
786
|
-
value: JSON.parse(
|
|
786
|
+
value: JSON.parse(_c(m.content)),
|
|
787
787
|
sha: m.sha,
|
|
788
788
|
exists: !0,
|
|
789
789
|
legacy: t === hs()
|
|
@@ -795,11 +795,11 @@ async function ws() {
|
|
|
795
795
|
const t = await Jl(ys());
|
|
796
796
|
return t || (ye().codeBranch !== "main" ? null : Jl(hs()));
|
|
797
797
|
}
|
|
798
|
-
async function
|
|
798
|
+
async function Pc(t, n, s, r) {
|
|
799
799
|
const u = ye();
|
|
800
800
|
if (!u.remoteWritable) return;
|
|
801
801
|
const m = `${ms}/repos/${encodeURIComponent(u.owner)}/${encodeURIComponent(u.repo)}/contents/${bs(t)}`, g = new URLSearchParams();
|
|
802
|
-
g.set("access_token", u.token), g.set("branch", u.remoteBranch), g.set("content",
|
|
802
|
+
g.set("access_token", u.token), g.set("branch", u.remoteBranch), g.set("content", $c(JSON.stringify(n, null, 2))), g.set("message", r), s && g.set("sha", s);
|
|
803
803
|
const C = await fetch(m, {
|
|
804
804
|
method: s ? "PUT" : "POST",
|
|
805
805
|
headers: { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" },
|
|
@@ -808,17 +808,17 @@ async function Dc(t, n, s, r) {
|
|
|
808
808
|
if (C.status === 409 || C.status === 422) throw new Error("远端已有新的 Bug 数据,请刷新后再提交");
|
|
809
809
|
if (!C.ok) throw new Error(`提交 Gitee Bug 文件失败:${C.status}`);
|
|
810
810
|
}
|
|
811
|
-
async function
|
|
811
|
+
async function Dc() {
|
|
812
812
|
const t = await ws();
|
|
813
813
|
return t ? {
|
|
814
814
|
...t,
|
|
815
815
|
value: Array.isArray(t.value) ? t.value : []
|
|
816
816
|
} : null;
|
|
817
817
|
}
|
|
818
|
-
async function
|
|
819
|
-
return
|
|
818
|
+
async function Ac(t, n, s) {
|
|
819
|
+
return Cc("bugs:all", async () => {
|
|
820
820
|
const r = await ws(), u = s(Array.isArray(r == null ? void 0 : r.value) ? r.value : []);
|
|
821
|
-
return await
|
|
821
|
+
return await Pc(ys(), u, r != null && r.legacy ? null : (r == null ? void 0 : r.sha) ?? null, Ic(t, n)), u;
|
|
822
822
|
});
|
|
823
823
|
}
|
|
824
824
|
const xs = ["功能异常", "UI/文案", "流程阻塞", "数据/报告", "设备/蓝牙", "性能/稳定性", "兼容性", "其他"], Ss = ["P0", "P1", "P2", "P3", "P4"], ks = ["安卓侧", "iOS 侧", "后端"], Cs = ["后端开发", "iOS 开发", "安卓开发", "产品经理", "算法开发", "硬件嵌入式开发"], $s = ["待处理", "已确认", "修复中", "已修复", "已验证", "无需处理"], _s = ["待处理", "已确认", "修复中"], Ge = b([]), To = b(gs), Is = b(gs ? "loading" : "idle"), Oa = b("");
|
|
@@ -837,22 +837,22 @@ function ka() {
|
|
|
837
837
|
"bugs"
|
|
838
838
|
);
|
|
839
839
|
}
|
|
840
|
-
function
|
|
840
|
+
function Nc(t) {
|
|
841
841
|
return typeof t == "string" && xs.includes(t);
|
|
842
842
|
}
|
|
843
|
-
function
|
|
843
|
+
function Tc(t) {
|
|
844
844
|
return typeof t == "string" && Ss.includes(t);
|
|
845
845
|
}
|
|
846
|
-
function
|
|
846
|
+
function Rc(t) {
|
|
847
847
|
return typeof t == "string" && ks.includes(t);
|
|
848
848
|
}
|
|
849
|
-
function
|
|
849
|
+
function Ec(t) {
|
|
850
850
|
return typeof t == "string" && Cs.includes(t);
|
|
851
851
|
}
|
|
852
852
|
function ba(t) {
|
|
853
853
|
return typeof t == "string" && $s.includes(t);
|
|
854
854
|
}
|
|
855
|
-
function
|
|
855
|
+
function Oc(t) {
|
|
856
856
|
if (!t || typeof t != "object") return null;
|
|
857
857
|
const n = t;
|
|
858
858
|
return typeof n.id != "string" || !n.id.trim() || typeof n.name != "string" || !n.name.trim() || typeof n.objectKey != "string" || !n.objectKey.trim() || typeof n.url != "string" || !n.url.trim() || typeof n.mimeType != "string" || !n.mimeType.startsWith("image/") || typeof n.uploaderName != "string" || !n.uploaderName.trim() ? null : {
|
|
@@ -867,17 +867,17 @@ function Bc(t) {
|
|
|
867
867
|
createdAt: typeof n.createdAt == "string" && n.createdAt ? n.createdAt : (/* @__PURE__ */ new Date()).toISOString()
|
|
868
868
|
};
|
|
869
869
|
}
|
|
870
|
-
function
|
|
870
|
+
function Bc(t) {
|
|
871
871
|
if (!t || typeof t != "object") return null;
|
|
872
872
|
const n = t;
|
|
873
|
-
if (typeof n.id != "string" || !n.id.trim() || typeof n.title != "string" || !n.title.trim() || !
|
|
873
|
+
if (typeof n.id != "string" || !n.id.trim() || typeof n.title != "string" || !n.title.trim() || !Nc(n.type) || !Ec(n.ownerRole) || !ba(n.status) || typeof n.description != "string" || !n.description.trim() || typeof n.reporterName != "string" || !n.reporterName.trim()) return null;
|
|
874
874
|
const s = typeof n.createdAt == "string" && n.createdAt ? n.createdAt : (/* @__PURE__ */ new Date()).toISOString(), r = typeof n.updatedAt == "string" && n.updatedAt ? n.updatedAt : s;
|
|
875
875
|
return {
|
|
876
876
|
id: n.id,
|
|
877
877
|
title: n.title.trim(),
|
|
878
878
|
type: n.type,
|
|
879
|
-
severity:
|
|
880
|
-
sourceSide:
|
|
879
|
+
severity: Tc(n.severity) ? n.severity : "P2",
|
|
880
|
+
sourceSide: Rc(n.sourceSide) ? n.sourceSide : "后端",
|
|
881
881
|
sourceSideVersion: typeof n.sourceSideVersion == "string" && n.sourceSideVersion.trim() ? n.sourceSideVersion.trim() : void 0,
|
|
882
882
|
ownerRole: n.ownerRole,
|
|
883
883
|
status: n.status,
|
|
@@ -886,12 +886,12 @@ function Mc(t) {
|
|
|
886
886
|
fixerName: typeof n.fixerName == "string" ? n.fixerName.trim() : void 0,
|
|
887
887
|
createdAt: s,
|
|
888
888
|
updatedAt: r,
|
|
889
|
-
attachments: Array.isArray(n.attachments) ? n.attachments.map(
|
|
889
|
+
attachments: Array.isArray(n.attachments) ? n.attachments.map(Oc).filter((u) => !!u) : [],
|
|
890
890
|
history: Array.isArray(n.history) ? n.history.filter((u) => u && typeof u == "object").map((u) => u).filter((u) => typeof u.id == "string" && ba(u.fromStatus) && ba(u.toStatus) && typeof u.operatorName == "string" && typeof u.createdAt == "string") : []
|
|
891
891
|
};
|
|
892
892
|
}
|
|
893
893
|
function wn(t) {
|
|
894
|
-
return Array.isArray(t) ? t.map(
|
|
894
|
+
return Array.isArray(t) ? t.map(Bc).filter((n) => !!n).sort((n, s) => s.updatedAt.localeCompare(n.updatedAt)) : [];
|
|
895
895
|
}
|
|
896
896
|
function Ca(t) {
|
|
897
897
|
var n;
|
|
@@ -904,7 +904,7 @@ async function Ds() {
|
|
|
904
904
|
if (To.value)
|
|
905
905
|
try {
|
|
906
906
|
$t("loading", "正在同步 Gitee Bug 数据");
|
|
907
|
-
const s = await
|
|
907
|
+
const s = await Dc();
|
|
908
908
|
Ge.value = wn((s == null ? void 0 : s.value) ?? []), Ca(Ge.value), $t("success", "已同步 Gitee Bug 数据");
|
|
909
909
|
return;
|
|
910
910
|
} catch (s) {
|
|
@@ -921,7 +921,7 @@ async function Ds() {
|
|
|
921
921
|
Ge.value = [];
|
|
922
922
|
Oa.value || $t("idle", "当前使用本地 Bug 数据");
|
|
923
923
|
}
|
|
924
|
-
async function
|
|
924
|
+
async function Mc() {
|
|
925
925
|
if (!Xl) {
|
|
926
926
|
Xl = !0;
|
|
927
927
|
try {
|
|
@@ -931,22 +931,22 @@ async function Uc() {
|
|
|
931
931
|
}
|
|
932
932
|
}
|
|
933
933
|
}
|
|
934
|
-
async function
|
|
934
|
+
async function Uc(t, n, s) {
|
|
935
935
|
const r = () => {
|
|
936
936
|
Ge.value = wn(s(Ge.value)), Ca(Ge.value);
|
|
937
937
|
};
|
|
938
938
|
if (To.value)
|
|
939
939
|
try {
|
|
940
940
|
$t("loading", "正在提交 Gitee Bug 数据");
|
|
941
|
-
const u = await
|
|
941
|
+
const u = await Ac(t, n, (m) => wn(s(wn(m))));
|
|
942
942
|
return Ge.value = wn(u ?? []), Ca(Ge.value), $t("success", "Bug 数据已提交"), !0;
|
|
943
943
|
} catch (u) {
|
|
944
944
|
return $t("error", u instanceof Error ? u.message : "Bug 数据提交失败"), !1;
|
|
945
945
|
}
|
|
946
946
|
return r(), $t("success", "Bug 数据已保存到本地"), !0;
|
|
947
947
|
}
|
|
948
|
-
const
|
|
949
|
-
function
|
|
948
|
+
const jc = k(() => Ge.value.filter((t) => _s.includes(t.status)).length);
|
|
949
|
+
function Vc(t) {
|
|
950
950
|
const n = t.reduce((s, r) => {
|
|
951
951
|
const u = /^BUG-(\d+)$/i.exec(r.id.trim());
|
|
952
952
|
return u ? Math.max(s, Number.parseInt(u[1], 10) || 0) : s;
|
|
@@ -962,33 +962,33 @@ function As() {
|
|
|
962
962
|
bugOwnerRoles: Cs,
|
|
963
963
|
bugStatuses: $s,
|
|
964
964
|
unresolvedBugStatuses: _s,
|
|
965
|
-
unresolvedBugCount:
|
|
965
|
+
unresolvedBugCount: jc,
|
|
966
966
|
bugRemoteReady: To,
|
|
967
967
|
bugSyncStatus: Is,
|
|
968
968
|
bugSyncMessage: Oa,
|
|
969
|
-
initializeBugs:
|
|
969
|
+
initializeBugs: Mc,
|
|
970
970
|
refreshBugs: Ds,
|
|
971
|
-
persistBugs:
|
|
972
|
-
nextBugId:
|
|
971
|
+
persistBugs: Uc,
|
|
972
|
+
nextBugId: Vc
|
|
973
973
|
};
|
|
974
974
|
}
|
|
975
|
-
const
|
|
975
|
+
const Lc = "x-oss-process=image/resize,w_240/quality,q_75";
|
|
976
976
|
function Ba() {
|
|
977
977
|
var m, g, C, I;
|
|
978
978
|
const t = Yn().oss ?? {}, n = ((m = t.bucket) == null ? void 0 : m.trim()) ?? "", s = (((g = t.baseUrl) == null ? void 0 : g.trim()) ?? "").replace(/\/$/, ""), r = ((C = t.accessKeyId) == null ? void 0 : C.trim()) ?? "", u = ((I = t.accessKeySecret) == null ? void 0 : I.trim()) ?? "";
|
|
979
979
|
return !n || !s || !r || !u ? null : { bucket: n, baseUrl: s, accessKeyId: r, accessKeySecret: u };
|
|
980
980
|
}
|
|
981
|
-
function
|
|
981
|
+
function Fc(t) {
|
|
982
982
|
let n = "";
|
|
983
983
|
return new Uint8Array(t).forEach((r) => {
|
|
984
984
|
n += String.fromCharCode(r);
|
|
985
985
|
}), btoa(n);
|
|
986
986
|
}
|
|
987
|
-
async function
|
|
987
|
+
async function Kc(t, n) {
|
|
988
988
|
const s = new TextEncoder(), r = await crypto.subtle.importKey("raw", s.encode(n), { name: "HMAC", hash: "SHA-1" }, !1, ["sign"]), u = await crypto.subtle.sign("HMAC", r, s.encode(t));
|
|
989
|
-
return
|
|
989
|
+
return Fc(u);
|
|
990
990
|
}
|
|
991
|
-
function
|
|
991
|
+
function zc(t, n) {
|
|
992
992
|
const s = new Date(Date.now() + 6e5).toISOString();
|
|
993
993
|
return btoa(
|
|
994
994
|
JSON.stringify({
|
|
@@ -1001,20 +1001,20 @@ function Gc(t, n) {
|
|
|
1001
1001
|
})
|
|
1002
1002
|
);
|
|
1003
1003
|
}
|
|
1004
|
-
function
|
|
1004
|
+
function Gc() {
|
|
1005
1005
|
return !!Ba();
|
|
1006
1006
|
}
|
|
1007
|
-
function
|
|
1007
|
+
function Hc(t) {
|
|
1008
1008
|
const n = Ba();
|
|
1009
1009
|
return n ? `${n.baseUrl}/${t.split("/").map(encodeURIComponent).join("/")}` : "";
|
|
1010
1010
|
}
|
|
1011
1011
|
function ya(t) {
|
|
1012
|
-
return t ? `${t}${t.includes("?") ? "&" : "?"}${
|
|
1012
|
+
return t ? `${t}${t.includes("?") ? "&" : "?"}${Lc}` : "";
|
|
1013
1013
|
}
|
|
1014
|
-
async function
|
|
1014
|
+
async function Wc(t, n) {
|
|
1015
1015
|
const s = Ba();
|
|
1016
1016
|
if (!s) throw new Error("缺少 OSS 上传配置");
|
|
1017
|
-
const r =
|
|
1017
|
+
const r = zc(t, n.size), u = await Kc(r, s.accessKeySecret), m = new FormData();
|
|
1018
1018
|
m.set("key", t), m.set("policy", r), m.set("OSSAccessKeyId", s.accessKeyId), m.set("signature", u), m.set("success_action_status", "201"), m.set("Content-Type", n.type || "application/octet-stream"), m.set("file", n);
|
|
1019
1019
|
const g = await fetch(s.baseUrl, {
|
|
1020
1020
|
method: "POST",
|
|
@@ -1023,55 +1023,55 @@ async function Yc(t, n) {
|
|
|
1023
1023
|
if (!g.ok) throw new Error(`OSS 图片上传失败:${g.status}`);
|
|
1024
1024
|
return {
|
|
1025
1025
|
objectKey: t,
|
|
1026
|
-
url:
|
|
1026
|
+
url: Hc(t)
|
|
1027
1027
|
};
|
|
1028
1028
|
}
|
|
1029
|
-
const
|
|
1029
|
+
const Yc = { class: "bug-page" }, Jc = { class: "bug-page-head" }, Xc = ["disabled"], Zc = { class: "bug-refresh-main" }, qc = { class: "bug-stat-grid" }, Qc = { class: "bug-stat-card danger" }, ed = { class: "bug-stat-card success" }, td = { class: "bug-stat-card muted" }, nd = { class: "bug-workspace" }, od = { id: "bug-source-side-version-options" }, ad = ["value"], ld = { class: "bug-section-title" }, sd = { class: "bug-form-row" }, id = ["value"], rd = ["value"], ud = ["value"], cd = ["value"], dd = { class: "bug-image-uploader" }, pd = { class: "bug-section-title" }, vd = ["disabled"], fd = {
|
|
1030
1030
|
key: 0,
|
|
1031
1031
|
class: "bug-pending-images"
|
|
1032
|
-
},
|
|
1032
|
+
}, md = ["src", "alt"], gd = { key: 0 }, bd = ["disabled", "onClick"], yd = {
|
|
1033
1033
|
key: 1,
|
|
1034
1034
|
class: "bug-form-error"
|
|
1035
|
-
},
|
|
1035
|
+
}, hd = {
|
|
1036
1036
|
key: 0,
|
|
1037
1037
|
class: "bug-form-error"
|
|
1038
|
-
},
|
|
1038
|
+
}, wd = ["disabled"], xd = { class: "bug-list-panel" }, Sd = { class: "bug-filter-bar" }, kd = { class: "bug-section-title" }, Cd = { class: "bug-filter-grid" }, $d = ["value"], _d = ["value"], Id = ["value"], Pd = ["value"], Dd = ["value"], Ad = ["value"], Nd = { class: "bug-search-field" }, Td = { class: "bug-list-controls" }, Rd = ["value"], Ed = ["value"], Od = { class: "bug-list" }, Bd = {
|
|
1039
1039
|
key: 0,
|
|
1040
1040
|
class: "bug-empty"
|
|
1041
|
-
},
|
|
1041
|
+
}, Md = { class: "bug-list-main" }, Ud = { class: "bug-list-meta" }, jd = { key: 0 }, Vd = {
|
|
1042
1042
|
key: 0,
|
|
1043
1043
|
class: "bug-list-images"
|
|
1044
|
-
},
|
|
1044
|
+
}, Ld = ["onClick"], Fd = ["src", "alt"], Kd = { key: 0 }, zd = ["onClick"], Gd = {
|
|
1045
1045
|
key: 0,
|
|
1046
1046
|
class: "bug-pagination"
|
|
1047
|
-
},
|
|
1047
|
+
}, Hd = ["disabled"], Wd = ["disabled"], Yd = { class: "bug-detail-panel" }, Jd = { class: "bug-detail-head" }, Xd = { class: "bug-detail-summary" }, Zd = { key: 0 }, qd = { class: "bug-detail-actions" }, Qd = { key: 1 }, ep = {
|
|
1048
1048
|
key: 0,
|
|
1049
1049
|
class: "bug-form-error"
|
|
1050
|
-
},
|
|
1050
|
+
}, tp = ["disabled"], np = { class: "bug-form-row" }, op = ["value"], ap = ["value"], lp = ["value"], sp = ["value"], ip = { class: "bug-edit-images" }, rp = { class: "bug-section-title" }, up = ["disabled"], cp = {
|
|
1051
1051
|
key: 0,
|
|
1052
1052
|
class: "bug-edit-existing-images"
|
|
1053
|
-
},
|
|
1053
|
+
}, dp = ["onClick"], pp = ["src", "alt"], vp = ["onClick"], fp = {
|
|
1054
1054
|
key: 1,
|
|
1055
1055
|
class: "bug-pending-images"
|
|
1056
|
-
},
|
|
1056
|
+
}, mp = ["src", "alt"], gp = { key: 0 }, bp = ["disabled", "onClick"], yp = {
|
|
1057
1057
|
key: 2,
|
|
1058
1058
|
class: "bug-image-hint"
|
|
1059
|
-
},
|
|
1059
|
+
}, hp = {
|
|
1060
1060
|
key: 0,
|
|
1061
1061
|
class: "bug-form-error"
|
|
1062
|
-
},
|
|
1062
|
+
}, wp = { class: "bug-edit-actions" }, xp = ["disabled"], Sp = {
|
|
1063
1063
|
key: 2,
|
|
1064
1064
|
class: "bug-detail-description"
|
|
1065
|
-
},
|
|
1065
|
+
}, kp = { class: "bug-detail-meta" }, Cp = {
|
|
1066
1066
|
key: 3,
|
|
1067
1067
|
class: "bug-detail-images"
|
|
1068
|
-
},
|
|
1068
|
+
}, $p = ["onClick"], _p = ["src", "alt"], Ip = { class: "bug-section-title" }, Pp = ["value"], Dp = { class: "bug-form-row" }, Ap = ["placeholder"], Np = {
|
|
1069
1069
|
key: 0,
|
|
1070
1070
|
class: "bug-form-error"
|
|
1071
|
-
},
|
|
1071
|
+
}, Tp = ["disabled"], Rp = { class: "bug-history" }, Ep = {
|
|
1072
1072
|
key: 0,
|
|
1073
1073
|
class: "bug-empty"
|
|
1074
|
-
},
|
|
1074
|
+
}, Op = { key: 0 }, Bp = { key: 1 }, Mp = { class: "bug-image-preview-dialog" }, Up = ["src", "alt"], Zl = "prototype-core-annotation-author", jn = 10, jp = /* @__PURE__ */ kn({
|
|
1075
1075
|
__name: "BugReportPage",
|
|
1076
1076
|
emits: ["close"],
|
|
1077
1077
|
setup(t, { emit: n }) {
|
|
@@ -1164,7 +1164,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1164
1164
|
sourceSideVersion: "",
|
|
1165
1165
|
ownerRole: "后端开发",
|
|
1166
1166
|
description: ""
|
|
1167
|
-
}), U = b([]), ot = b(null), ie = b([]), ve = b(""), fe = b(null), Pt =
|
|
1167
|
+
}), U = b([]), ot = b(null), ie = b([]), ve = b(""), fe = b(null), Pt = Gc(), W = k(() => r.value.find((h) => h.id === je.value) ?? null), Dt = k(() => !!(W.value && !["已验证", "无需处理"].includes(W.value.status))), mt = k(() => r.value.filter((h) => h.status === "已修复" || h.status === "已验证").length), gt = k(() => r.value.filter((h) => h.status === "无需处理").length), bt = k(
|
|
1168
1168
|
() => Array.from(new Set(r.value.map((h) => {
|
|
1169
1169
|
var d;
|
|
1170
1170
|
return (d = h.sourceSideVersion) == null ? void 0 : d.trim();
|
|
@@ -1212,7 +1212,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1212
1212
|
status: "ready"
|
|
1213
1213
|
};
|
|
1214
1214
|
}
|
|
1215
|
-
async function
|
|
1215
|
+
async function H(h) {
|
|
1216
1216
|
ve.value = "";
|
|
1217
1217
|
const d = h.filter((L) => L.type.startsWith("image/"));
|
|
1218
1218
|
if (!d.length) return;
|
|
@@ -1231,12 +1231,12 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1231
1231
|
}
|
|
1232
1232
|
function le(h) {
|
|
1233
1233
|
const d = h.target;
|
|
1234
|
-
|
|
1234
|
+
H(Array.from(d.files ?? [])), d.value = "";
|
|
1235
1235
|
}
|
|
1236
1236
|
function ge(h) {
|
|
1237
1237
|
var O;
|
|
1238
1238
|
const d = Array.from(((O = h.clipboardData) == null ? void 0 : O.items) ?? []).filter((c) => c.kind === "file" && c.type.startsWith("image/")).map((c) => c.getAsFile()).filter((c) => !!c);
|
|
1239
|
-
d.length && (h.preventDefault(),
|
|
1239
|
+
d.length && (h.preventDefault(), H(d));
|
|
1240
1240
|
}
|
|
1241
1241
|
function $(h) {
|
|
1242
1242
|
const d = ie.value.find((O) => O.id === h);
|
|
@@ -1252,7 +1252,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1252
1252
|
for (const c of ie.value) {
|
|
1253
1253
|
c.status = "uploading", c.error = "";
|
|
1254
1254
|
try {
|
|
1255
|
-
const L = await
|
|
1255
|
+
const L = await Wc(R(h, c), c.file);
|
|
1256
1256
|
c.status = "uploaded", O.push({
|
|
1257
1257
|
id: `att-${Date.now()}-${Math.random().toString(16).slice(2)}`,
|
|
1258
1258
|
name: c.name,
|
|
@@ -1416,8 +1416,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1416
1416
|
}
|
|
1417
1417
|
return (h, d) => {
|
|
1418
1418
|
var O;
|
|
1419
|
-
return v(), f("main",
|
|
1420
|
-
e("header",
|
|
1419
|
+
return v(), f("main", Yc, [
|
|
1420
|
+
e("header", Jc, [
|
|
1421
1421
|
e("div", null, [
|
|
1422
1422
|
e("button", {
|
|
1423
1423
|
class: "bug-back-btn",
|
|
@@ -1434,27 +1434,27 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1434
1434
|
onClick: d[1] || (d[1] = //@ts-ignore
|
|
1435
1435
|
(...c) => l(ke) && l(ke)(...c))
|
|
1436
1436
|
}, [
|
|
1437
|
-
e("span",
|
|
1437
|
+
e("span", Zc, [
|
|
1438
1438
|
X(l(Gr), { class: "h-4 w-4" }),
|
|
1439
1439
|
d[39] || (d[39] = e("span", null, "刷新", -1))
|
|
1440
1440
|
]),
|
|
1441
1441
|
e("span", {
|
|
1442
1442
|
class: P(["bug-refresh-status", `is-${l(q)}`])
|
|
1443
1443
|
}, p(l(Se) || "Bug 数据已就绪"), 3)
|
|
1444
|
-
], 8,
|
|
1444
|
+
], 8, Xc)
|
|
1445
1445
|
]),
|
|
1446
|
-
e("section",
|
|
1447
|
-
e("article",
|
|
1446
|
+
e("section", qc, [
|
|
1447
|
+
e("article", Qc, [
|
|
1448
1448
|
X(l(Hr), { class: "h-5 w-5" }),
|
|
1449
1449
|
d[40] || (d[40] = e("span", null, "未修复", -1)),
|
|
1450
1450
|
e("strong", null, p(l(se)), 1)
|
|
1451
1451
|
]),
|
|
1452
|
-
e("article",
|
|
1452
|
+
e("article", ed, [
|
|
1453
1453
|
X(l(Wr), { class: "h-5 w-5" }),
|
|
1454
1454
|
d[41] || (d[41] = e("span", null, "已修复/验证", -1)),
|
|
1455
1455
|
e("strong", null, p(mt.value), 1)
|
|
1456
1456
|
]),
|
|
1457
|
-
e("article",
|
|
1457
|
+
e("article", td, [
|
|
1458
1458
|
X(l(zl), { class: "h-5 w-5" }),
|
|
1459
1459
|
d[42] || (d[42] = e("span", null, "无需处理", -1)),
|
|
1460
1460
|
e("strong", null, p(gt.value), 1)
|
|
@@ -1467,19 +1467,19 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1467
1467
|
e("strong", null, p(l(q) === "loading" ? "同步中" : l(r).length), 1)
|
|
1468
1468
|
], 2)
|
|
1469
1469
|
]),
|
|
1470
|
-
e("section",
|
|
1470
|
+
e("section", nd, [
|
|
1471
1471
|
e("form", {
|
|
1472
1472
|
class: "bug-submit-panel",
|
|
1473
1473
|
onSubmit: re(no, ["prevent"]),
|
|
1474
1474
|
onPaste: ge
|
|
1475
1475
|
}, [
|
|
1476
|
-
e("datalist",
|
|
1476
|
+
e("datalist", od, [
|
|
1477
1477
|
(v(!0), f(_, null, N(bt.value, (c) => (v(), f("option", {
|
|
1478
1478
|
key: c,
|
|
1479
1479
|
value: c
|
|
1480
|
-
}, null, 8,
|
|
1480
|
+
}, null, 8, ad))), 128))
|
|
1481
1481
|
]),
|
|
1482
|
-
e("div",
|
|
1482
|
+
e("div", ld, [
|
|
1483
1483
|
X(l(Kn), { class: "h-4 w-4" }),
|
|
1484
1484
|
d[43] || (d[43] = e("span", null, "提报 Bug", -1))
|
|
1485
1485
|
]),
|
|
@@ -1503,7 +1503,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1503
1503
|
[z, J.title]
|
|
1504
1504
|
])
|
|
1505
1505
|
]),
|
|
1506
|
-
e("div",
|
|
1506
|
+
e("div", sd, [
|
|
1507
1507
|
e("label", null, [
|
|
1508
1508
|
d[46] || (d[46] = e("span", null, "类型", -1)),
|
|
1509
1509
|
A(e("select", {
|
|
@@ -1512,7 +1512,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1512
1512
|
(v(!0), f(_, null, N(l(u), (c) => (v(), f("option", {
|
|
1513
1513
|
key: c,
|
|
1514
1514
|
value: c
|
|
1515
|
-
}, p(c), 9,
|
|
1515
|
+
}, p(c), 9, id))), 128))
|
|
1516
1516
|
], 512), [
|
|
1517
1517
|
[_e, J.type]
|
|
1518
1518
|
])
|
|
@@ -1525,7 +1525,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1525
1525
|
(v(!0), f(_, null, N(l(m), (c) => (v(), f("option", {
|
|
1526
1526
|
key: c,
|
|
1527
1527
|
value: c
|
|
1528
|
-
}, p(c), 9,
|
|
1528
|
+
}, p(c), 9, rd))), 128))
|
|
1529
1529
|
], 512), [
|
|
1530
1530
|
[_e, J.severity]
|
|
1531
1531
|
])
|
|
@@ -1538,7 +1538,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1538
1538
|
(v(!0), f(_, null, N(l(g), (c) => (v(), f("option", {
|
|
1539
1539
|
key: c,
|
|
1540
1540
|
value: c
|
|
1541
|
-
}, p(c), 9,
|
|
1541
|
+
}, p(c), 9, ud))), 128))
|
|
1542
1542
|
], 512), [
|
|
1543
1543
|
[_e, J.sourceSide]
|
|
1544
1544
|
])
|
|
@@ -1562,7 +1562,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1562
1562
|
(v(!0), f(_, null, N(l(C), (c) => (v(), f("option", {
|
|
1563
1563
|
key: c,
|
|
1564
1564
|
value: c
|
|
1565
|
-
}, p(c), 9,
|
|
1565
|
+
}, p(c), 9, cd))), 128))
|
|
1566
1566
|
], 512), [
|
|
1567
1567
|
[_e, J.ownerRole]
|
|
1568
1568
|
])
|
|
@@ -1577,8 +1577,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1577
1577
|
[z, J.description]
|
|
1578
1578
|
])
|
|
1579
1579
|
]),
|
|
1580
|
-
e("section",
|
|
1581
|
-
e("div",
|
|
1580
|
+
e("section", dd, [
|
|
1581
|
+
e("div", pd, [
|
|
1582
1582
|
X(l(Gl), { class: "h-4 w-4" }),
|
|
1583
1583
|
d[52] || (d[52] = e("span", null, "问题截图", -1))
|
|
1584
1584
|
]),
|
|
@@ -1590,7 +1590,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1590
1590
|
var L;
|
|
1591
1591
|
return (L = ot.value) == null ? void 0 : L.click();
|
|
1592
1592
|
})
|
|
1593
|
-
}, " 选择图片 / 粘贴截图 ", 8,
|
|
1593
|
+
}, " 选择图片 / 粘贴截图 ", 8, vd),
|
|
1594
1594
|
e("input", {
|
|
1595
1595
|
ref_key: "imageInputRef",
|
|
1596
1596
|
ref: ot,
|
|
@@ -1601,7 +1601,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1601
1601
|
onChange: le
|
|
1602
1602
|
}, null, 544),
|
|
1603
1603
|
d[53] || (d[53] = e("p", { class: "bug-image-hint" }, "支持 png、jpg、webp;最多 10 张;图片将按原文件直接上传 OSS。", -1)),
|
|
1604
|
-
ie.value.length ? (v(), f("div",
|
|
1604
|
+
ie.value.length ? (v(), f("div", fd, [
|
|
1605
1605
|
(v(!0), f(_, null, N(ie.value, (c) => (v(), f("article", {
|
|
1606
1606
|
key: c.id,
|
|
1607
1607
|
class: P(`is-${c.status}`)
|
|
@@ -1609,16 +1609,16 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1609
1609
|
e("img", {
|
|
1610
1610
|
src: c.previewUrl,
|
|
1611
1611
|
alt: c.name
|
|
1612
|
-
}, null, 8,
|
|
1612
|
+
}, null, 8, md),
|
|
1613
1613
|
e("div", null, [
|
|
1614
1614
|
e("b", null, p(c.name), 1),
|
|
1615
1615
|
e("span", null, [
|
|
1616
|
-
|
|
1616
|
+
G(p(x(c.size)), 1),
|
|
1617
1617
|
c.originalSize !== c.size ? (v(), f(_, { key: 0 }, [
|
|
1618
|
-
|
|
1618
|
+
G(" / 原图 " + p(x(c.originalSize)), 1)
|
|
1619
1619
|
], 64)) : w("", !0)
|
|
1620
1620
|
]),
|
|
1621
|
-
c.error ? (v(), f("small",
|
|
1621
|
+
c.error ? (v(), f("small", gd, p(c.error), 1)) : w("", !0)
|
|
1622
1622
|
]),
|
|
1623
1623
|
e("button", {
|
|
1624
1624
|
type: "button",
|
|
@@ -1626,25 +1626,25 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1626
1626
|
onClick: (L) => $(c.id)
|
|
1627
1627
|
}, [
|
|
1628
1628
|
X(l(hn), { class: "h-4 w-4" })
|
|
1629
|
-
], 8,
|
|
1629
|
+
], 8, bd)
|
|
1630
1630
|
], 2))), 128))
|
|
1631
1631
|
])) : w("", !0),
|
|
1632
|
-
ve.value ? (v(), f("p",
|
|
1632
|
+
ve.value ? (v(), f("p", yd, p(ve.value), 1)) : w("", !0)
|
|
1633
1633
|
]),
|
|
1634
|
-
Xe.value ? (v(), f("p",
|
|
1634
|
+
Xe.value ? (v(), f("p", hd, p(Xe.value), 1)) : w("", !0),
|
|
1635
1635
|
e("button", {
|
|
1636
1636
|
class: "bug-primary-btn",
|
|
1637
1637
|
type: "submit",
|
|
1638
1638
|
disabled: l(q) === "loading"
|
|
1639
|
-
}, "提交 Bug", 8,
|
|
1639
|
+
}, "提交 Bug", 8, wd)
|
|
1640
1640
|
], 32),
|
|
1641
|
-
e("section",
|
|
1642
|
-
e("div",
|
|
1643
|
-
e("div",
|
|
1641
|
+
e("section", xd, [
|
|
1642
|
+
e("div", Sd, [
|
|
1643
|
+
e("div", kd, [
|
|
1644
1644
|
X(l(Jr), { class: "h-4 w-4" }),
|
|
1645
1645
|
d[54] || (d[54] = e("span", null, "筛选", -1))
|
|
1646
1646
|
]),
|
|
1647
|
-
e("div",
|
|
1647
|
+
e("div", Cd, [
|
|
1648
1648
|
A(e("select", {
|
|
1649
1649
|
"onUpdate:modelValue": d[11] || (d[11] = (c) => E.status = c)
|
|
1650
1650
|
}, [
|
|
@@ -1653,7 +1653,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1653
1653
|
(v(!0), f(_, null, N(l(I), (c) => (v(), f("option", {
|
|
1654
1654
|
key: c,
|
|
1655
1655
|
value: c
|
|
1656
|
-
}, p(c), 9,
|
|
1656
|
+
}, p(c), 9, $d))), 128))
|
|
1657
1657
|
], 512), [
|
|
1658
1658
|
[_e, E.status]
|
|
1659
1659
|
]),
|
|
@@ -1664,7 +1664,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1664
1664
|
(v(!0), f(_, null, N(l(u), (c) => (v(), f("option", {
|
|
1665
1665
|
key: c,
|
|
1666
1666
|
value: c
|
|
1667
|
-
}, p(c), 9,
|
|
1667
|
+
}, p(c), 9, _d))), 128))
|
|
1668
1668
|
], 512), [
|
|
1669
1669
|
[_e, E.type]
|
|
1670
1670
|
]),
|
|
@@ -1675,7 +1675,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1675
1675
|
(v(!0), f(_, null, N(l(m), (c) => (v(), f("option", {
|
|
1676
1676
|
key: c,
|
|
1677
1677
|
value: c
|
|
1678
|
-
}, p(c), 9,
|
|
1678
|
+
}, p(c), 9, Id))), 128))
|
|
1679
1679
|
], 512), [
|
|
1680
1680
|
[_e, E.severity]
|
|
1681
1681
|
]),
|
|
@@ -1686,7 +1686,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1686
1686
|
(v(!0), f(_, null, N(l(C), (c) => (v(), f("option", {
|
|
1687
1687
|
key: c,
|
|
1688
1688
|
value: c
|
|
1689
|
-
}, p(c), 9,
|
|
1689
|
+
}, p(c), 9, Pd))), 128))
|
|
1690
1690
|
], 512), [
|
|
1691
1691
|
[_e, E.ownerRole]
|
|
1692
1692
|
]),
|
|
@@ -1697,7 +1697,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1697
1697
|
(v(!0), f(_, null, N(l(g), (c) => (v(), f("option", {
|
|
1698
1698
|
key: c,
|
|
1699
1699
|
value: c
|
|
1700
|
-
}, p(c), 9,
|
|
1700
|
+
}, p(c), 9, Dd))), 128))
|
|
1701
1701
|
], 512), [
|
|
1702
1702
|
[_e, E.sourceSide]
|
|
1703
1703
|
]),
|
|
@@ -1708,11 +1708,11 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1708
1708
|
(v(!0), f(_, null, N(bt.value, (c) => (v(), f("option", {
|
|
1709
1709
|
key: c,
|
|
1710
1710
|
value: c
|
|
1711
|
-
}, p(c), 9,
|
|
1711
|
+
}, p(c), 9, Ad))), 128))
|
|
1712
1712
|
], 512), [
|
|
1713
1713
|
[_e, E.sourceSideVersion]
|
|
1714
1714
|
]),
|
|
1715
|
-
e("label",
|
|
1715
|
+
e("label", Nd, [
|
|
1716
1716
|
X(l(Xr), { class: "h-4 w-4" }),
|
|
1717
1717
|
A(e("input", {
|
|
1718
1718
|
"onUpdate:modelValue": d[17] || (d[17] = (c) => E.keyword = c),
|
|
@@ -1723,7 +1723,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1723
1723
|
])
|
|
1724
1724
|
])
|
|
1725
1725
|
]),
|
|
1726
|
-
e("div",
|
|
1726
|
+
e("div", Td, [
|
|
1727
1727
|
e("label", null, [
|
|
1728
1728
|
d[62] || (d[62] = e("span", null, "排序", -1)),
|
|
1729
1729
|
A(e("select", {
|
|
@@ -1732,7 +1732,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1732
1732
|
(v(), f(_, null, N(dt, (c) => e("option", {
|
|
1733
1733
|
key: c.value,
|
|
1734
1734
|
value: c.value
|
|
1735
|
-
}, p(c.label), 9,
|
|
1735
|
+
}, p(c.label), 9, Rd)), 64))
|
|
1736
1736
|
], 512), [
|
|
1737
1737
|
[_e, Ve.value]
|
|
1738
1738
|
])
|
|
@@ -1745,7 +1745,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1745
1745
|
(v(), f(_, null, N(ln, (c) => e("option", {
|
|
1746
1746
|
key: c,
|
|
1747
1747
|
value: c
|
|
1748
|
-
}, p(c) + " 条", 9,
|
|
1748
|
+
}, p(c) + " 条", 9, Ed)), 64))
|
|
1749
1749
|
], 512), [
|
|
1750
1750
|
[
|
|
1751
1751
|
_e,
|
|
@@ -1757,23 +1757,23 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1757
1757
|
])
|
|
1758
1758
|
])
|
|
1759
1759
|
]),
|
|
1760
|
-
e("div",
|
|
1761
|
-
at.value.length ? w("", !0) : (v(), f("p",
|
|
1760
|
+
e("div", Od, [
|
|
1761
|
+
at.value.length ? w("", !0) : (v(), f("p", Bd, "当前筛选条件下暂无 Bug。")),
|
|
1762
1762
|
(v(!0), f(_, null, N(Ze.value, (c) => {
|
|
1763
1763
|
var L;
|
|
1764
1764
|
return v(), f("article", {
|
|
1765
1765
|
key: c.id,
|
|
1766
1766
|
class: P(["bug-list-item", `is-${Ce[c.status]}`])
|
|
1767
1767
|
}, [
|
|
1768
|
-
e("div",
|
|
1769
|
-
e("div",
|
|
1768
|
+
e("div", Md, [
|
|
1769
|
+
e("div", Ud, [
|
|
1770
1770
|
e("b", null, "#" + p(c.id), 1),
|
|
1771
1771
|
e("span", null, p(c.type), 1),
|
|
1772
1772
|
e("span", {
|
|
1773
1773
|
class: P(`severity-${Ne[c.severity]}`)
|
|
1774
1774
|
}, p(c.severity), 3),
|
|
1775
1775
|
e("span", null, "发生侧:" + p(c.sourceSide), 1),
|
|
1776
|
-
c.sourceSideVersion ? (v(), f("span",
|
|
1776
|
+
c.sourceSideVersion ? (v(), f("span", jd, "版本:" + p(c.sourceSideVersion), 1)) : w("", !0),
|
|
1777
1777
|
e("span", null, "归属:" + p(c.ownerRole), 1),
|
|
1778
1778
|
e("i", {
|
|
1779
1779
|
class: P(`status-${Ce[c.status]}`)
|
|
@@ -1781,7 +1781,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1781
1781
|
]),
|
|
1782
1782
|
e("h2", null, p(c.title), 1),
|
|
1783
1783
|
e("p", null, p(c.description), 1),
|
|
1784
|
-
(L = c.attachments) != null && L.length ? (v(), f("div",
|
|
1784
|
+
(L = c.attachments) != null && L.length ? (v(), f("div", Vd, [
|
|
1785
1785
|
(v(!0), f(_, null, N(c.attachments.slice(0, 3), (be) => (v(), f("button", {
|
|
1786
1786
|
key: be.id,
|
|
1787
1787
|
type: "button",
|
|
@@ -1791,38 +1791,38 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1791
1791
|
src: l(ya)(be.url),
|
|
1792
1792
|
alt: be.name,
|
|
1793
1793
|
loading: "lazy"
|
|
1794
|
-
}, null, 8,
|
|
1795
|
-
], 8,
|
|
1796
|
-
c.attachments.length > 3 ? (v(), f("span",
|
|
1794
|
+
}, null, 8, Fd)
|
|
1795
|
+
], 8, Ld))), 128)),
|
|
1796
|
+
c.attachments.length > 3 ? (v(), f("span", Kd, "+" + p(c.attachments.length - 3), 1)) : w("", !0)
|
|
1797
1797
|
])) : w("", !0),
|
|
1798
1798
|
e("small", null, [
|
|
1799
|
-
|
|
1799
|
+
G("提报人:" + p(c.reporterName) + " · " + p(Ht(c.createdAt)), 1),
|
|
1800
1800
|
c.fixerName ? (v(), f(_, { key: 0 }, [
|
|
1801
|
-
|
|
1801
|
+
G(" · 修复人:" + p(c.fixerName), 1)
|
|
1802
1802
|
], 64)) : w("", !0)
|
|
1803
1803
|
])
|
|
1804
1804
|
]),
|
|
1805
1805
|
e("button", {
|
|
1806
1806
|
type: "button",
|
|
1807
1807
|
onClick: (be) => oo(c)
|
|
1808
|
-
}, "查看/变更状态", 8,
|
|
1808
|
+
}, "查看/变更状态", 8, zd)
|
|
1809
1809
|
], 2);
|
|
1810
1810
|
}), 128))
|
|
1811
1811
|
]),
|
|
1812
|
-
at.value.length ? (v(), f("div",
|
|
1812
|
+
at.value.length ? (v(), f("div", Gd, [
|
|
1813
1813
|
e("span", null, "第 " + p(At.value) + "-" + p(Cn.value) + " 条,共 " + p(Fe.value.length) + " 条", 1),
|
|
1814
1814
|
e("div", null, [
|
|
1815
1815
|
e("button", {
|
|
1816
1816
|
type: "button",
|
|
1817
1817
|
disabled: oe.value <= 1,
|
|
1818
1818
|
onClick: d[20] || (d[20] = (c) => oe.value -= 1)
|
|
1819
|
-
}, "上一页", 8,
|
|
1819
|
+
}, "上一页", 8, Hd),
|
|
1820
1820
|
e("strong", null, p(oe.value) + " / " + p(Ye.value), 1),
|
|
1821
1821
|
e("button", {
|
|
1822
1822
|
type: "button",
|
|
1823
1823
|
disabled: oe.value >= Ye.value,
|
|
1824
1824
|
onClick: d[21] || (d[21] = (c) => oe.value += 1)
|
|
1825
|
-
}, "下一页", 8,
|
|
1825
|
+
}, "下一页", 8, Wd)
|
|
1826
1826
|
])
|
|
1827
1827
|
])) : w("", !0)
|
|
1828
1828
|
])
|
|
@@ -1832,8 +1832,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1832
1832
|
class: "bug-detail-backdrop",
|
|
1833
1833
|
onClick: re(Yt, ["self"])
|
|
1834
1834
|
}, [
|
|
1835
|
-
e("aside",
|
|
1836
|
-
e("div",
|
|
1835
|
+
e("aside", Yd, [
|
|
1836
|
+
e("div", Jd, [
|
|
1837
1837
|
e("div", null, [
|
|
1838
1838
|
e("span", null, "#" + p(W.value.id), 1),
|
|
1839
1839
|
e("h2", null, p(W.value.title), 1)
|
|
@@ -1846,26 +1846,26 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1846
1846
|
X(l(Ao), { class: "h-5 w-5" })
|
|
1847
1847
|
])
|
|
1848
1848
|
]),
|
|
1849
|
-
e("div",
|
|
1849
|
+
e("div", Xd, [
|
|
1850
1850
|
e("span", null, p(W.value.type), 1),
|
|
1851
1851
|
e("span", {
|
|
1852
1852
|
class: P(`severity-${Ne[W.value.severity]}`)
|
|
1853
1853
|
}, p(W.value.severity), 3),
|
|
1854
1854
|
e("span", null, "发生侧:" + p(W.value.sourceSide), 1),
|
|
1855
|
-
W.value.sourceSideVersion ? (v(), f("span",
|
|
1855
|
+
W.value.sourceSideVersion ? (v(), f("span", Zd, "版本:" + p(W.value.sourceSideVersion), 1)) : w("", !0),
|
|
1856
1856
|
e("span", null, "归属:" + p(W.value.ownerRole), 1),
|
|
1857
1857
|
e("span", {
|
|
1858
1858
|
class: P(`status-${Ce[W.value.status]}`)
|
|
1859
1859
|
}, p(W.value.status), 3)
|
|
1860
1860
|
]),
|
|
1861
|
-
e("div",
|
|
1861
|
+
e("div", qd, [
|
|
1862
1862
|
e("div", null, [
|
|
1863
1863
|
Dt.value && !De.value ? (v(), f("button", {
|
|
1864
1864
|
key: 0,
|
|
1865
1865
|
class: "bug-edit-entry-btn",
|
|
1866
1866
|
type: "button",
|
|
1867
1867
|
onClick: ao
|
|
1868
|
-
}, "编辑 Bug")) : Dt.value ? w("", !0) : (v(), f("span",
|
|
1868
|
+
}, "编辑 Bug")) : Dt.value ? w("", !0) : (v(), f("span", Qd, "已完结 Bug 不支持编辑"))
|
|
1869
1869
|
]),
|
|
1870
1870
|
De.value ? w("", !0) : (v(), f("button", {
|
|
1871
1871
|
key: 0,
|
|
@@ -1874,7 +1874,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1874
1874
|
onClick: Ho
|
|
1875
1875
|
}, [
|
|
1876
1876
|
X(l(hn), { class: "h-4 w-4" }),
|
|
1877
|
-
d[64] || (d[64] =
|
|
1877
|
+
d[64] || (d[64] = G(" 删除 Bug ", -1))
|
|
1878
1878
|
]))
|
|
1879
1879
|
]),
|
|
1880
1880
|
ae.value ? (v(), f("form", {
|
|
@@ -1897,7 +1897,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1897
1897
|
[z, ne.value]
|
|
1898
1898
|
])
|
|
1899
1899
|
]),
|
|
1900
|
-
Ee.value ? (v(), f("p",
|
|
1900
|
+
Ee.value ? (v(), f("p", ep, p(Ee.value), 1)) : w("", !0),
|
|
1901
1901
|
e("div", null, [
|
|
1902
1902
|
e("button", {
|
|
1903
1903
|
type: "button",
|
|
@@ -1906,7 +1906,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1906
1906
|
e("button", {
|
|
1907
1907
|
type: "submit",
|
|
1908
1908
|
disabled: l(q) === "loading"
|
|
1909
|
-
}, "确认删除", 8,
|
|
1909
|
+
}, "确认删除", 8, tp)
|
|
1910
1910
|
])
|
|
1911
1911
|
], 32)) : w("", !0),
|
|
1912
1912
|
De.value ? (v(), f("form", {
|
|
@@ -1924,7 +1924,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1924
1924
|
[z, V.title]
|
|
1925
1925
|
])
|
|
1926
1926
|
]),
|
|
1927
|
-
e("div",
|
|
1927
|
+
e("div", np, [
|
|
1928
1928
|
e("label", null, [
|
|
1929
1929
|
d[68] || (d[68] = e("span", null, "类型", -1)),
|
|
1930
1930
|
A(e("select", {
|
|
@@ -1933,7 +1933,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1933
1933
|
(v(!0), f(_, null, N(l(u), (c) => (v(), f("option", {
|
|
1934
1934
|
key: c,
|
|
1935
1935
|
value: c
|
|
1936
|
-
}, p(c), 9,
|
|
1936
|
+
}, p(c), 9, op))), 128))
|
|
1937
1937
|
], 512), [
|
|
1938
1938
|
[_e, V.type]
|
|
1939
1939
|
])
|
|
@@ -1946,7 +1946,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1946
1946
|
(v(!0), f(_, null, N(l(m), (c) => (v(), f("option", {
|
|
1947
1947
|
key: c,
|
|
1948
1948
|
value: c
|
|
1949
|
-
}, p(c), 9,
|
|
1949
|
+
}, p(c), 9, ap))), 128))
|
|
1950
1950
|
], 512), [
|
|
1951
1951
|
[_e, V.severity]
|
|
1952
1952
|
])
|
|
@@ -1959,7 +1959,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1959
1959
|
(v(!0), f(_, null, N(l(g), (c) => (v(), f("option", {
|
|
1960
1960
|
key: c,
|
|
1961
1961
|
value: c
|
|
1962
|
-
}, p(c), 9,
|
|
1962
|
+
}, p(c), 9, lp))), 128))
|
|
1963
1963
|
], 512), [
|
|
1964
1964
|
[_e, V.sourceSide]
|
|
1965
1965
|
])
|
|
@@ -1983,7 +1983,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1983
1983
|
(v(!0), f(_, null, N(l(C), (c) => (v(), f("option", {
|
|
1984
1984
|
key: c,
|
|
1985
1985
|
value: c
|
|
1986
|
-
}, p(c), 9,
|
|
1986
|
+
}, p(c), 9, sp))), 128))
|
|
1987
1987
|
], 512), [
|
|
1988
1988
|
[_e, V.ownerRole]
|
|
1989
1989
|
])
|
|
@@ -1997,8 +1997,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
1997
1997
|
[z, V.description]
|
|
1998
1998
|
])
|
|
1999
1999
|
]),
|
|
2000
|
-
e("section",
|
|
2001
|
-
e("div",
|
|
2000
|
+
e("section", ip, [
|
|
2001
|
+
e("div", rp, [
|
|
2002
2002
|
X(l(Gl), { class: "h-4 w-4" }),
|
|
2003
2003
|
d[74] || (d[74] = e("span", null, "问题截图", -1))
|
|
2004
2004
|
]),
|
|
@@ -2010,8 +2010,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2010
2010
|
var L;
|
|
2011
2011
|
return (L = ot.value) == null ? void 0 : L.click();
|
|
2012
2012
|
})
|
|
2013
|
-
}, " 添加图片 / 粘贴截图 ", 8,
|
|
2014
|
-
U.value.length ? (v(), f("div",
|
|
2013
|
+
}, " 添加图片 / 粘贴截图 ", 8, up),
|
|
2014
|
+
U.value.length ? (v(), f("div", cp, [
|
|
2015
2015
|
(v(!0), f(_, null, N(U.value, (c) => (v(), f("article", {
|
|
2016
2016
|
key: c.id
|
|
2017
2017
|
}, [
|
|
@@ -2024,8 +2024,8 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2024
2024
|
src: l(ya)(c.url),
|
|
2025
2025
|
alt: c.name,
|
|
2026
2026
|
loading: "lazy"
|
|
2027
|
-
}, null, 8,
|
|
2028
|
-
], 8,
|
|
2027
|
+
}, null, 8, pp)
|
|
2028
|
+
], 8, dp),
|
|
2029
2029
|
e("div", null, [
|
|
2030
2030
|
e("b", null, p(c.name), 1),
|
|
2031
2031
|
e("span", null, p(x(c.size)), 1)
|
|
@@ -2036,10 +2036,10 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2036
2036
|
onClick: (L) => $n(c.id)
|
|
2037
2037
|
}, [
|
|
2038
2038
|
X(l(hn), { class: "h-4 w-4" })
|
|
2039
|
-
], 8,
|
|
2039
|
+
], 8, vp)
|
|
2040
2040
|
]))), 128))
|
|
2041
2041
|
])) : w("", !0),
|
|
2042
|
-
ie.value.length ? (v(), f("div",
|
|
2042
|
+
ie.value.length ? (v(), f("div", fp, [
|
|
2043
2043
|
(v(!0), f(_, null, N(ie.value, (c) => (v(), f("article", {
|
|
2044
2044
|
key: c.id,
|
|
2045
2045
|
class: P(`is-${c.status}`)
|
|
@@ -2047,11 +2047,11 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2047
2047
|
e("img", {
|
|
2048
2048
|
src: c.previewUrl,
|
|
2049
2049
|
alt: c.name
|
|
2050
|
-
}, null, 8,
|
|
2050
|
+
}, null, 8, mp),
|
|
2051
2051
|
e("div", null, [
|
|
2052
2052
|
e("b", null, p(c.name), 1),
|
|
2053
2053
|
e("span", null, p(x(c.size)), 1),
|
|
2054
|
-
c.error ? (v(), f("small",
|
|
2054
|
+
c.error ? (v(), f("small", gp, p(c.error), 1)) : w("", !0)
|
|
2055
2055
|
]),
|
|
2056
2056
|
e("button", {
|
|
2057
2057
|
type: "button",
|
|
@@ -2059,13 +2059,13 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2059
2059
|
onClick: (L) => $(c.id)
|
|
2060
2060
|
}, [
|
|
2061
2061
|
X(l(hn), { class: "h-4 w-4" })
|
|
2062
|
-
], 8,
|
|
2062
|
+
], 8, bp)
|
|
2063
2063
|
], 2))), 128))
|
|
2064
2064
|
])) : w("", !0),
|
|
2065
|
-
ve.value ? (v(), f("p",
|
|
2065
|
+
ve.value ? (v(), f("p", yp, p(ve.value), 1)) : w("", !0)
|
|
2066
2066
|
]),
|
|
2067
|
-
ee.value ? (v(), f("p",
|
|
2068
|
-
e("div",
|
|
2067
|
+
ee.value ? (v(), f("p", hp, p(ee.value), 1)) : w("", !0),
|
|
2068
|
+
e("div", wp, [
|
|
2069
2069
|
e("button", {
|
|
2070
2070
|
type: "button",
|
|
2071
2071
|
onClick: Go
|
|
@@ -2073,11 +2073,11 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2073
2073
|
e("button", {
|
|
2074
2074
|
type: "submit",
|
|
2075
2075
|
disabled: l(q) === "loading"
|
|
2076
|
-
}, "保存修改", 8,
|
|
2076
|
+
}, "保存修改", 8, xp)
|
|
2077
2077
|
])
|
|
2078
|
-
], 32)) : (v(), f("p",
|
|
2079
|
-
e("p",
|
|
2080
|
-
!De.value && ((O = W.value.attachments) != null && O.length) ? (v(), f("section",
|
|
2078
|
+
], 32)) : (v(), f("p", Sp, p(W.value.description), 1)),
|
|
2079
|
+
e("p", kp, "提报人:" + p(W.value.reporterName) + " · " + p(Ht(W.value.createdAt)), 1),
|
|
2080
|
+
!De.value && ((O = W.value.attachments) != null && O.length) ? (v(), f("section", Cp, [
|
|
2081
2081
|
d[75] || (d[75] = e("h3", null, "问题截图", -1)),
|
|
2082
2082
|
e("div", null, [
|
|
2083
2083
|
(v(!0), f(_, null, N(W.value.attachments, (c) => (v(), f("button", {
|
|
@@ -2089,16 +2089,16 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2089
2089
|
src: l(ya)(c.url),
|
|
2090
2090
|
alt: c.name,
|
|
2091
2091
|
loading: "lazy"
|
|
2092
|
-
}, null, 8,
|
|
2092
|
+
}, null, 8, _p),
|
|
2093
2093
|
e("span", null, p(c.name), 1)
|
|
2094
|
-
], 8,
|
|
2094
|
+
], 8, $p))), 128))
|
|
2095
2095
|
])
|
|
2096
2096
|
])) : w("", !0),
|
|
2097
2097
|
e("form", {
|
|
2098
2098
|
class: "bug-status-form",
|
|
2099
2099
|
onSubmit: re(lo, ["prevent"])
|
|
2100
2100
|
}, [
|
|
2101
|
-
e("div",
|
|
2101
|
+
e("div", Ip, [
|
|
2102
2102
|
X(l(zl), { class: "h-4 w-4" }),
|
|
2103
2103
|
d[76] || (d[76] = e("span", null, "状态变更", -1))
|
|
2104
2104
|
]),
|
|
@@ -2110,12 +2110,12 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2110
2110
|
(v(!0), f(_, null, N(l(I), (c) => (v(), f("option", {
|
|
2111
2111
|
key: c,
|
|
2112
2112
|
value: c
|
|
2113
|
-
}, p(c), 9,
|
|
2113
|
+
}, p(c), 9, Pp))), 128))
|
|
2114
2114
|
], 512), [
|
|
2115
2115
|
[_e, Z.status]
|
|
2116
2116
|
])
|
|
2117
2117
|
]),
|
|
2118
|
-
e("div",
|
|
2118
|
+
e("div", Dp, [
|
|
2119
2119
|
e("label", null, [
|
|
2120
2120
|
d[78] || (d[78] = e("span", null, "操作人姓名", -1)),
|
|
2121
2121
|
A(e("input", {
|
|
@@ -2132,7 +2132,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2132
2132
|
"onUpdate:modelValue": d[33] || (d[33] = (c) => Z.fixerName = c),
|
|
2133
2133
|
type: "text",
|
|
2134
2134
|
placeholder: Z.status === "已修复" ? "已修复时必填" : "选填"
|
|
2135
|
-
}, null, 8,
|
|
2135
|
+
}, null, 8, Ap), [
|
|
2136
2136
|
[z, Z.fixerName]
|
|
2137
2137
|
])
|
|
2138
2138
|
])
|
|
@@ -2146,23 +2146,23 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2146
2146
|
[z, Z.note]
|
|
2147
2147
|
])
|
|
2148
2148
|
]),
|
|
2149
|
-
Le.value ? (v(), f("p",
|
|
2149
|
+
Le.value ? (v(), f("p", Np, p(Le.value), 1)) : w("", !0),
|
|
2150
2150
|
e("button", {
|
|
2151
2151
|
class: "bug-primary-btn",
|
|
2152
2152
|
type: "submit",
|
|
2153
2153
|
disabled: l(q) === "loading"
|
|
2154
|
-
}, "提交状态变更", 8,
|
|
2154
|
+
}, "提交状态变更", 8, Tp)
|
|
2155
2155
|
], 32),
|
|
2156
|
-
e("section",
|
|
2156
|
+
e("section", Rp, [
|
|
2157
2157
|
d[81] || (d[81] = e("h3", null, "处理记录", -1)),
|
|
2158
|
-
W.value.history.length ? w("", !0) : (v(), f("p",
|
|
2158
|
+
W.value.history.length ? w("", !0) : (v(), f("p", Ep, "暂无状态变更记录。")),
|
|
2159
2159
|
(v(!0), f(_, null, N(W.value.history, (c) => (v(), f("article", {
|
|
2160
2160
|
key: c.id
|
|
2161
2161
|
}, [
|
|
2162
2162
|
e("b", null, p(c.fromStatus) + " → " + p(c.toStatus), 1),
|
|
2163
2163
|
e("span", null, p(c.operatorName) + " · " + p(Ht(c.createdAt)), 1),
|
|
2164
|
-
c.fixerName ? (v(), f("p",
|
|
2165
|
-
c.note ? (v(), f("p",
|
|
2164
|
+
c.fixerName ? (v(), f("p", Op, "修复人:" + p(c.fixerName), 1)) : w("", !0),
|
|
2165
|
+
c.note ? (v(), f("p", Bp, p(c.note), 1)) : w("", !0)
|
|
2166
2166
|
]))), 128))
|
|
2167
2167
|
])
|
|
2168
2168
|
])
|
|
@@ -2172,7 +2172,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2172
2172
|
class: "bug-image-preview-backdrop",
|
|
2173
2173
|
onClick: d[36] || (d[36] = re((c) => fe.value = null, ["self"]))
|
|
2174
2174
|
}, [
|
|
2175
|
-
e("section",
|
|
2175
|
+
e("section", Mp, [
|
|
2176
2176
|
e("div", null, [
|
|
2177
2177
|
e("p", null, p(fe.value.name), 1),
|
|
2178
2178
|
e("button", {
|
|
@@ -2186,7 +2186,7 @@ const Jc = { class: "bug-page" }, Xc = { class: "bug-page-head" }, Zc = ["disabl
|
|
|
2186
2186
|
e("img", {
|
|
2187
2187
|
src: fe.value.url,
|
|
2188
2188
|
alt: fe.value.name
|
|
2189
|
-
}, null, 8,
|
|
2189
|
+
}, null, 8, Up)
|
|
2190
2190
|
])
|
|
2191
2191
|
])) : w("", !0)
|
|
2192
2192
|
]);
|
|
@@ -2202,20 +2202,20 @@ const Ts = ye().remoteReadable;
|
|
|
2202
2202
|
function Rs(t) {
|
|
2203
2203
|
return t.split("/").map(encodeURIComponent).join("/");
|
|
2204
2204
|
}
|
|
2205
|
-
function
|
|
2205
|
+
function Vp(t) {
|
|
2206
2206
|
return btoa(unescape(encodeURIComponent(t)));
|
|
2207
2207
|
}
|
|
2208
|
-
function
|
|
2208
|
+
function Lp(t) {
|
|
2209
2209
|
return decodeURIComponent(escape(atob(t.replace(/\s/g, ""))));
|
|
2210
2210
|
}
|
|
2211
|
-
function
|
|
2211
|
+
function Fp(t) {
|
|
2212
2212
|
return t === "pageDescriptions" ? "page-descriptions" : t;
|
|
2213
2213
|
}
|
|
2214
2214
|
function jt(t, n) {
|
|
2215
2215
|
const s = ye(), r = `projects/${s.projectId}/branches/${s.branchKey}`;
|
|
2216
|
-
return t === "flows" ? `${r}/flows.json` : `${r}/${
|
|
2216
|
+
return t === "flows" ? `${r}/flows.json` : `${r}/${Fp(t)}/${n ?? "manifest"}.json`;
|
|
2217
2217
|
}
|
|
2218
|
-
function
|
|
2218
|
+
function Kp(t, n) {
|
|
2219
2219
|
const s = ye();
|
|
2220
2220
|
return t === "flows" ? null : t === "annotations" && !n ? `projects/${s.projectId}/manifest.json` : t === "annotations" ? `projects/${s.projectId}/annotations/${n}.json` : n ? `projects/${s.projectId}/page-descriptions/${n}.json` : `projects/${s.projectId}/page-descriptions/manifest.json`;
|
|
2221
2221
|
}
|
|
@@ -2237,7 +2237,7 @@ async function Vt(t) {
|
|
|
2237
2237
|
if (u.status === 404) return null;
|
|
2238
2238
|
if (!u.ok) throw new Error(`读取 Gitee 文件失败:${u.status}`);
|
|
2239
2239
|
const m = await u.json(), g = ds(m, t);
|
|
2240
|
-
if (g) return { value: JSON.parse(
|
|
2240
|
+
if (g) return { value: JSON.parse(Lp(g.content)), sha: g.sha, legacy: !1 };
|
|
2241
2241
|
if (Array.isArray(m)) return null;
|
|
2242
2242
|
const C = m && typeof m == "object" ? Object.keys(m).join(",") || "empty" : typeof m;
|
|
2243
2243
|
throw new Error(`Gitee 文件响应格式异常:${u.status} / ${C}`);
|
|
@@ -2248,7 +2248,7 @@ async function Lt(t, n) {
|
|
|
2248
2248
|
const s = await Vt(jt(t, n));
|
|
2249
2249
|
if (s) return s;
|
|
2250
2250
|
if (ye().codeBranch !== "main") return null;
|
|
2251
|
-
const u =
|
|
2251
|
+
const u = Kp(t, n);
|
|
2252
2252
|
if (!u) return null;
|
|
2253
2253
|
const m = await Vt(u);
|
|
2254
2254
|
return m ? { ...m, legacy: !0 } : null;
|
|
@@ -2257,7 +2257,7 @@ async function Zn(t, n, s, r) {
|
|
|
2257
2257
|
const u = ye();
|
|
2258
2258
|
if (!u.remoteWritable) return;
|
|
2259
2259
|
const m = `${Ns}/repos/${encodeURIComponent(u.owner)}/${encodeURIComponent(u.repo)}/contents/${Rs(t)}`, g = new URLSearchParams();
|
|
2260
|
-
g.set("access_token", u.token), g.set("branch", u.remoteBranch), g.set("content",
|
|
2260
|
+
g.set("access_token", u.token), g.set("branch", u.remoteBranch), g.set("content", Vp(JSON.stringify(n, null, 2))), g.set("message", r), s && g.set("sha", s);
|
|
2261
2261
|
const C = await fetch(m, {
|
|
2262
2262
|
method: s ? "PUT" : "POST",
|
|
2263
2263
|
headers: { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" },
|
|
@@ -2283,10 +2283,10 @@ function Vn(t, n, s, r) {
|
|
|
2283
2283
|
return g ? cs(g.value, s) : (await Zn(m, s, null, qn(n ?? "all", r, "初始化", t)), "created");
|
|
2284
2284
|
});
|
|
2285
2285
|
}
|
|
2286
|
-
async function
|
|
2286
|
+
async function zp() {
|
|
2287
2287
|
return !!await Vt(Es());
|
|
2288
2288
|
}
|
|
2289
|
-
function
|
|
2289
|
+
function Gp(t, n) {
|
|
2290
2290
|
return Jn("initialization:marker", async () => {
|
|
2291
2291
|
const s = Es(), r = await Vt(s);
|
|
2292
2292
|
return r ? cs(r.value, t) : (await Zn(s, t, null, qn("all", n, "初始化完成", "flows")), "created");
|
|
@@ -2312,50 +2312,50 @@ async function Bs(t, n, s, r) {
|
|
|
2312
2312
|
return null;
|
|
2313
2313
|
});
|
|
2314
2314
|
}
|
|
2315
|
-
function
|
|
2315
|
+
function Hp() {
|
|
2316
2316
|
return Lt("annotations");
|
|
2317
2317
|
}
|
|
2318
2318
|
function $a(t) {
|
|
2319
2319
|
return Lt("annotations", t);
|
|
2320
2320
|
}
|
|
2321
|
-
async function
|
|
2321
|
+
async function Wp(t, n, s, r) {
|
|
2322
2322
|
return Jn(`annotations:${t}`, async () => {
|
|
2323
2323
|
var I;
|
|
2324
2324
|
const u = await Vt(jt("annotations", t)), m = !u && ye().codeBranch === "main" ? await $a(t) : null, g = (I = u ?? m) == null ? void 0 : I.value, C = r(Array.isArray(g) ? g : []);
|
|
2325
2325
|
return await Zn(jt("annotations", t), C, (u == null ? void 0 : u.sha) ?? null, qn(t, n, s, "annotations")), $a(t);
|
|
2326
2326
|
});
|
|
2327
2327
|
}
|
|
2328
|
-
async function
|
|
2328
|
+
async function Yp(t, n, s) {
|
|
2329
2329
|
return Bs("annotations", t, n, s);
|
|
2330
2330
|
}
|
|
2331
|
-
function
|
|
2331
|
+
function Jp() {
|
|
2332
2332
|
return Lt("pageDescriptions");
|
|
2333
2333
|
}
|
|
2334
|
-
function
|
|
2334
|
+
function Xp(t) {
|
|
2335
2335
|
return Lt("pageDescriptions", t);
|
|
2336
2336
|
}
|
|
2337
|
-
function
|
|
2337
|
+
function Zp(t, n, s) {
|
|
2338
2338
|
return Os("pageDescriptions", s, t, n, "保存");
|
|
2339
2339
|
}
|
|
2340
|
-
function
|
|
2340
|
+
function qp(t, n, s) {
|
|
2341
2341
|
return Bs("pageDescriptions", t, n, s);
|
|
2342
2342
|
}
|
|
2343
|
-
function
|
|
2343
|
+
function Qp() {
|
|
2344
2344
|
return Lt("flows");
|
|
2345
2345
|
}
|
|
2346
|
-
function
|
|
2346
|
+
function ev(t, n) {
|
|
2347
2347
|
return Os("flows", { version: "1.0.0", flows: n }, "", t, "保存");
|
|
2348
2348
|
}
|
|
2349
|
-
const
|
|
2350
|
-
function
|
|
2351
|
-
return v(), f("section",
|
|
2349
|
+
const tv = {}, nv = { class: "flex min-h-full flex-col items-center justify-center bg-canvas px-8 text-center text-ink" };
|
|
2350
|
+
function ov(t, n) {
|
|
2351
|
+
return v(), f("section", nv, [...n[0] || (n[0] = [
|
|
2352
2352
|
e("div", { class: "rounded-[28px] border border-line bg-panel px-7 py-8 shadow-sm" }, [
|
|
2353
2353
|
e("p", { class: "text-lg font-semibold" }, "暂无原型页面"),
|
|
2354
2354
|
e("p", { class: "mt-2 text-sm leading-6 text-muted" }, "请先在产品注册表中配置页面、状态与流程。")
|
|
2355
2355
|
], -1)
|
|
2356
2356
|
])]);
|
|
2357
2357
|
}
|
|
2358
|
-
const
|
|
2358
|
+
const av = /* @__PURE__ */ is(tv, [["render", ov]]), { copy: lv, pages: Ms, states: Us, flows: sv, extendContext: ha } = eu(), tt = {
|
|
2359
2359
|
ocean: "#1d1d1f",
|
|
2360
2360
|
ink: "#1d1d1f",
|
|
2361
2361
|
muted: "#747579",
|
|
@@ -2369,7 +2369,7 @@ const lv = /* @__PURE__ */ is(nv, [["render", av]]), { copy: sv, pages: Ms, stat
|
|
|
2369
2369
|
dark: "#232326",
|
|
2370
2370
|
device: "#1d1d1f",
|
|
2371
2371
|
head: "#f5f5f7"
|
|
2372
|
-
},
|
|
2372
|
+
}, iv = [
|
|
2373
2373
|
{ id: "default", nameKey: "themeDefault", descriptionKey: "themeDefaultDesc", colors: tt },
|
|
2374
2374
|
{
|
|
2375
2375
|
id: "warm",
|
|
@@ -2415,11 +2415,11 @@ const lv = /* @__PURE__ */ is(nv, [["render", av]]), { copy: sv, pages: Ms, stat
|
|
|
2415
2415
|
{ key: "dark", labelKey: "themeColorDark", descKey: "themeColorDarkDesc" },
|
|
2416
2416
|
{ key: "device", labelKey: "themeColorDevice", descKey: "themeColorDeviceDesc" },
|
|
2417
2417
|
{ key: "head", labelKey: "themeColorHead", descKey: "themeColorHeadDesc" }
|
|
2418
|
-
], _a = "prototype-core-custom-theme", Vs = "prototype-core-annotation-author", Ls = "prototype-core-collaboration-polling-interval-v2", Fs = 60, Ks = 10, zs = 300, Gs = b("zh"), Ia = b("interactive"), Re = b("splash"), ut = b(""), ct = b("default"), _t = b({ ...tt }),
|
|
2418
|
+
], _a = "prototype-core-custom-theme", Vs = "prototype-core-annotation-author", Ls = "prototype-core-collaboration-polling-interval-v2", Fs = 60, Ks = 10, zs = 300, Gs = b("zh"), Ia = b("interactive"), Re = b("splash"), ut = b(""), ct = b("default"), _t = b({ ...tt }), rv = b(!1), uv = b(null), Te = b(0.42), nn = b(360), on = b(150), Mo = b(!1), Gn = b({ x: 0, y: 0, panX: 0, panY: 0 }), wa = Ms.find((t) => t.platform === "mobile" && t.hasTabBar), Ma = b((wa == null ? void 0 : wa.id) ?? ""), Ua = Fn({});
|
|
2419
2419
|
Object.entries(Us).forEach(([t, n]) => {
|
|
2420
2420
|
n.length && (Ua[t] = n[0].id);
|
|
2421
2421
|
});
|
|
2422
|
-
const
|
|
2422
|
+
const cv = b("annotations"), It = b(Ts), Ut = b("idle"), Ft = b(Ts ? "云端协作已启用" : "本地兜底模式"), nt = b(""), xn = b(Fs), Ro = b(String(Fs)), Pa = b(""), dv = b(!1), pv = b(!0), Uo = b(!1), jo = b(""), Qn = b(null), ja = b(""), eo = b("view"), Sn = b({ featureName: "", featureDescription: "", specialNote: "" }), Y = b([]), Kt = b(null), Me = b([]), zt = b(null), Va = b({
|
|
2423
2423
|
highlighted: !1,
|
|
2424
2424
|
purpose: "",
|
|
2425
2425
|
structure: "",
|
|
@@ -2434,7 +2434,7 @@ const dv = b("annotations"), It = b(Ts), Ut = b("idle"), Ft = b(Ts ? "云端协
|
|
|
2434
2434
|
annotations: { source: "local-seed", status: "idle" },
|
|
2435
2435
|
pageDescriptions: { source: "local-seed", status: "idle" },
|
|
2436
2436
|
flows: { source: "local-seed", status: "idle" }
|
|
2437
|
-
}), Mt = b("idle"), Ie = b({ current: 0, total: 0, label: "" }), tn = b(""),
|
|
2437
|
+
}), Mt = b("idle"), Ie = b({ current: 0, total: 0, label: "" }), tn = b(""), vv = b(!1), Ws = k(() => It.value && we.remoteWritable), fv = b(1), mv = b(3), Wn = b(null), an = Ms;
|
|
2438
2438
|
function it() {
|
|
2439
2439
|
return typeof window > "u" ? null : window.localStorage;
|
|
2440
2440
|
}
|
|
@@ -2445,7 +2445,7 @@ function Js(t) {
|
|
|
2445
2445
|
var n, s;
|
|
2446
2446
|
Ys.value = t, t ? (n = it()) == null || n.setItem(Da, "true") : (s = it()) == null || s.removeItem(Da);
|
|
2447
2447
|
}
|
|
2448
|
-
const
|
|
2448
|
+
const gv = k(() => {
|
|
2449
2449
|
var r;
|
|
2450
2450
|
const t = Object.values(me.value);
|
|
2451
2451
|
if (t.some((u) => u.status === "conflict")) return "数据冲突";
|
|
@@ -2456,17 +2456,17 @@ const bv = k(() => {
|
|
|
2456
2456
|
}), Xs = k(() => {
|
|
2457
2457
|
const t = Object.values(me.value);
|
|
2458
2458
|
return t.some((n) => n.status === "conflict") ? "conflict" : !we.remoteWritable || t.some((n) => n.status === "error") ? "warning" : t.some((n) => n.status === "syncing") ? "syncing" : t.every((n) => n.source === "gitee") ? "remote" : "local";
|
|
2459
|
-
}),
|
|
2459
|
+
}), bv = k(() => {
|
|
2460
2460
|
const t = Object.values(me.value).map((n) => n.syncedAt).filter((n) => !!n).sort();
|
|
2461
2461
|
return t[t.length - 1] ?? "";
|
|
2462
|
-
}),
|
|
2462
|
+
}), yv = k(() => {
|
|
2463
2463
|
if (Mt.value === "running") return `正在初始化 Gitee · ${Ie.value.current} / ${Ie.value.total}`;
|
|
2464
2464
|
if (tn.value) return tn.value;
|
|
2465
2465
|
if (!we.remoteWritable) return we.unavailableReason;
|
|
2466
2466
|
if (Xs.value === "conflict") return "远端已更新,请处理本地草稿";
|
|
2467
2467
|
const t = Object.values(me.value).find((n) => n.status === "error");
|
|
2468
2468
|
return (t == null ? void 0 : t.message) || "注释 / 页面描述 / 流程";
|
|
2469
|
-
}),
|
|
2469
|
+
}), hv = k(() => we.remoteWritable && Mt.value !== "running");
|
|
2470
2470
|
function te(t, n, s, r = "", u) {
|
|
2471
2471
|
me.value = {
|
|
2472
2472
|
...me.value,
|
|
@@ -2476,42 +2476,42 @@ function te(t, n, s, r = "", u) {
|
|
|
2476
2476
|
function La(t, n) {
|
|
2477
2477
|
te(t, me.value[t].source, "conflict", n), Ut.value = "error", Ft.value = n;
|
|
2478
2478
|
}
|
|
2479
|
-
function
|
|
2479
|
+
function wv(t, n) {
|
|
2480
2480
|
Hn.value = { ...Hn.value, [t]: n };
|
|
2481
2481
|
}
|
|
2482
2482
|
function Zs(t) {
|
|
2483
|
-
return
|
|
2483
|
+
return lv[Gs.value][t] ?? t;
|
|
2484
2484
|
}
|
|
2485
2485
|
function Fa(t) {
|
|
2486
2486
|
return /^#[0-9a-fA-F]{6}$/.test(t);
|
|
2487
2487
|
}
|
|
2488
|
-
function
|
|
2488
|
+
function xv(t) {
|
|
2489
2489
|
const n = t.replace("#", ""), s = Number.parseInt(n, 16);
|
|
2490
2490
|
return Number.isNaN(s) ? "0 0 0" : `${s >> 16 & 255} ${s >> 8 & 255} ${s & 255}`;
|
|
2491
2491
|
}
|
|
2492
2492
|
const qs = k(() => [
|
|
2493
|
-
...
|
|
2493
|
+
...iv,
|
|
2494
2494
|
{ id: "custom", nameKey: "themeCustom", descriptionKey: "themeCustomDesc", colors: _t.value }
|
|
2495
2495
|
]), Qs = k(() => {
|
|
2496
2496
|
var t;
|
|
2497
2497
|
return ((t = qs.value.find((n) => n.id === ct.value)) == null ? void 0 : t.colors) ?? tt;
|
|
2498
|
-
}),
|
|
2499
|
-
() => Object.fromEntries(Object.entries(Qs.value).map(([t, n]) => [`--color-${t}`,
|
|
2498
|
+
}), Sv = k(
|
|
2499
|
+
() => Object.fromEntries(Object.entries(Qs.value).map(([t, n]) => [`--color-${t}`, xv(n)]))
|
|
2500
2500
|
);
|
|
2501
|
-
function
|
|
2501
|
+
function kv(t) {
|
|
2502
2502
|
ct.value = t;
|
|
2503
2503
|
}
|
|
2504
|
-
function
|
|
2504
|
+
function Cv(t, n) {
|
|
2505
2505
|
Fa(n) && (_t.value = { ..._t.value, [t]: n }, ct.value = "custom");
|
|
2506
2506
|
}
|
|
2507
|
-
function
|
|
2507
|
+
function $v() {
|
|
2508
2508
|
_t.value = { ...tt }, ct.value = "default";
|
|
2509
2509
|
}
|
|
2510
|
-
function
|
|
2510
|
+
function _v() {
|
|
2511
2511
|
const t = new Blob([JSON.stringify({ selectedThemeId: "custom", colors: _t.value }, null, 2)], { type: "application/json;charset=utf-8" }), n = document.createElement("a");
|
|
2512
2512
|
n.href = URL.createObjectURL(t), n.download = "prototype-core-theme.json", n.click(), URL.revokeObjectURL(n.href);
|
|
2513
2513
|
}
|
|
2514
|
-
function
|
|
2514
|
+
function Iv(t) {
|
|
2515
2515
|
var r;
|
|
2516
2516
|
const n = (r = t.target.files) == null ? void 0 : r[0];
|
|
2517
2517
|
if (!n) return;
|
|
@@ -2534,7 +2534,7 @@ const ei = {
|
|
|
2534
2534
|
title: "暂无原型页面",
|
|
2535
2535
|
subtitle: "等待产品注册",
|
|
2536
2536
|
icon: ss,
|
|
2537
|
-
component:
|
|
2537
|
+
component: av,
|
|
2538
2538
|
hasTabBar: !1
|
|
2539
2539
|
}, Ka = k(() => an.find((t) => t.id === Re.value) ?? an[0] ?? ei), Aa = k(() => he.value.find((t) => t.id === ut.value) ?? he.value[0] ?? null), za = k(
|
|
2540
2540
|
() => {
|
|
@@ -2574,7 +2574,7 @@ const He = k(() => Ua[Re.value]), ni = k(() => ({
|
|
|
2574
2574
|
...Ka.value,
|
|
2575
2575
|
stateId: He.value,
|
|
2576
2576
|
stateLabel: He.value ? Ga(Re.value, He.value) : void 0
|
|
2577
|
-
})),
|
|
2577
|
+
})), Pv = k(() => Ka.value.platform), Dv = k(
|
|
2578
2578
|
() => an.flatMap((t) => {
|
|
2579
2579
|
const n = Gt(t.id);
|
|
2580
2580
|
return n.length ? n.map((s) => ({
|
|
@@ -2583,7 +2583,7 @@ const He = k(() => Ua[Re.value]), ni = k(() => ({
|
|
|
2583
2583
|
stateLabel: s.label
|
|
2584
2584
|
})) : [{ ...t }];
|
|
2585
2585
|
})
|
|
2586
|
-
),
|
|
2586
|
+
), Av = k(() => Ia.value === "overview" ? Dv.value : Ia.value === "flow" ? za.value : [ni.value]), Nv = k(() => Gt(Re.value));
|
|
2587
2587
|
function Na(t, n) {
|
|
2588
2588
|
const s = n === void 0 ? Re.value : t, r = n ?? t;
|
|
2589
2589
|
Ua[s] = r;
|
|
@@ -2593,7 +2593,7 @@ function Eo(t) {
|
|
|
2593
2593
|
const n = an.find((s) => s.id === t);
|
|
2594
2594
|
n != null && n.hasTabBar && (Ma.value = t);
|
|
2595
2595
|
}
|
|
2596
|
-
function
|
|
2596
|
+
function Tv(t) {
|
|
2597
2597
|
Eo(t);
|
|
2598
2598
|
const n = He.value, s = n ? Ra(t, n) : di(t), r = Gt(t).find((u) => Ra(t, u.id) > 0);
|
|
2599
2599
|
s <= 0 && r && Na(t, r.id);
|
|
@@ -2620,14 +2620,14 @@ function Fo(t) {
|
|
|
2620
2620
|
function li(t) {
|
|
2621
2621
|
return Vo(t).some((n) => Fo(n));
|
|
2622
2622
|
}
|
|
2623
|
-
function
|
|
2623
|
+
function Rv(t) {
|
|
2624
2624
|
const n = Gt(t), s = /* @__PURE__ */ new Set();
|
|
2625
2625
|
return n.forEach((r) => {
|
|
2626
2626
|
Fo(B(t, r.id)) && s.add(r.id);
|
|
2627
2627
|
}), s;
|
|
2628
2628
|
}
|
|
2629
|
-
const
|
|
2630
|
-
function
|
|
2629
|
+
const Ev = k(() => Rv(Re.value)), Ov = k(() => li(Re.value)), Bv = k(() => Fo(Lo())), si = k(() => Y.value.find((t) => t.id === ja.value) ?? null), Mv = k(() => Y.value.find((t) => t.id === jo.value) ?? null);
|
|
2630
|
+
function Uv(t) {
|
|
2631
2631
|
return { left: `${t.x}%`, top: `${t.y}%` };
|
|
2632
2632
|
}
|
|
2633
2633
|
function Ha() {
|
|
@@ -2695,7 +2695,7 @@ async function xa(t, n) {
|
|
|
2695
2695
|
return n;
|
|
2696
2696
|
}
|
|
2697
2697
|
}
|
|
2698
|
-
async function
|
|
2698
|
+
async function jv() {
|
|
2699
2699
|
var Se, ke, Je, ue, Ce;
|
|
2700
2700
|
const t = (Se = it()) == null ? void 0 : Se.getItem(Vs);
|
|
2701
2701
|
t && (nt.value = t);
|
|
@@ -2714,7 +2714,7 @@ async function Vv() {
|
|
|
2714
2714
|
]), g = {
|
|
2715
2715
|
annotations: Wa(m),
|
|
2716
2716
|
pageDescriptions: ii(u),
|
|
2717
|
-
flows: Array.isArray(r.flows) && r.flows.length ? r.flows :
|
|
2717
|
+
flows: Array.isArray(r.flows) && r.flows.length ? r.flows : sv.flows
|
|
2718
2718
|
}, C = rt("annotations"), I = rt("pageDescriptions"), M = rt("flows"), se = ga(C, g.annotations), xe = ga(I, g.pageDescriptions), q = ga(M, g.flows);
|
|
2719
2719
|
Y.value = se.value, Me.value = xe.value, he.value = q.value, te("annotations", se.source, "idle"), te("pageDescriptions", xe.source, "idle"), te("flows", q.source, "idle"), ut.value = ((Ce = he.value[0]) == null ? void 0 : Ce.id) ?? "", It.value ? await Oo(!1) : Ft.value = we.unavailableReason, Ha(), Hs.value = !0;
|
|
2720
2720
|
}
|
|
@@ -2760,16 +2760,16 @@ function Ta(t, n, s, r) {
|
|
|
2760
2760
|
}, 0);
|
|
2761
2761
|
g.screens = { ...g.screens, [t]: { count: C, updatedAt: u } }, g.updatedAt = u, zt.value = g;
|
|
2762
2762
|
}
|
|
2763
|
-
async function
|
|
2763
|
+
async function Vv(t, n = to(t, He.value)) {
|
|
2764
2764
|
var g;
|
|
2765
2765
|
const s = await $a(B(t, n));
|
|
2766
2766
|
if (!s) return !1;
|
|
2767
2767
|
const r = Wa(s.value).map((C) => ({ ...C, screenId: t, stateId: n })), u = [...Y.value.filter((C) => B(C.screenId, C.stateId) !== B(t, n)), ...r], m = (/* @__PURE__ */ new Date()).toISOString();
|
|
2768
2768
|
return We("annotations", u, s.sha, m), Y.value = ((g = rt("annotations")) == null ? void 0 : g.value) ?? u, Ko(t, n, r.length), te("annotations", "gitee", "success", s.legacy ? "已读取主分支旧目录" : "", m), !0;
|
|
2769
2769
|
}
|
|
2770
|
-
async function
|
|
2770
|
+
async function Lv() {
|
|
2771
2771
|
var C;
|
|
2772
|
-
const t = Re.value, n = He.value, s = B(t, n), r = await
|
|
2772
|
+
const t = Re.value, n = He.value, s = B(t, n), r = await Xp(B(t, n));
|
|
2773
2773
|
if (!r) return !1;
|
|
2774
2774
|
const u = ii([{ ...r.value, screenId: t, stateId: n }])[0];
|
|
2775
2775
|
if (!u) return;
|
|
@@ -2785,9 +2785,9 @@ async function Ya(t = !1) {
|
|
|
2785
2785
|
}
|
|
2786
2786
|
Ut.value = "syncing", te("annotations", me.value.annotations.source, "syncing");
|
|
2787
2787
|
try {
|
|
2788
|
-
const r = await
|
|
2788
|
+
const r = await Hp();
|
|
2789
2789
|
Kt.value = (r == null ? void 0 : r.value) ?? Kt.value;
|
|
2790
|
-
const u = await
|
|
2790
|
+
const u = await Vv(Re.value, He.value), m = B(Re.value, He.value);
|
|
2791
2791
|
if (!u && r && !((n = r.value.scopes) != null && n[m])) {
|
|
2792
2792
|
const g = Y.value.filter((I) => B(I.screenId, I.stateId) !== m), C = (/* @__PURE__ */ new Date()).toISOString();
|
|
2793
2793
|
We("annotations", g, r.sha, C), Y.value = ((s = rt("annotations")) == null ? void 0 : s.value) ?? g, te("annotations", "gitee", "success", "", C);
|
|
@@ -2807,8 +2807,8 @@ async function Ja(t = !1) {
|
|
|
2807
2807
|
}
|
|
2808
2808
|
Ut.value = "syncing", te("pageDescriptions", me.value.pageDescriptions.source, "syncing");
|
|
2809
2809
|
try {
|
|
2810
|
-
const n = await
|
|
2811
|
-
if (zt.value = (n == null ? void 0 : n.value) ?? zt.value, !await
|
|
2810
|
+
const n = await Jp();
|
|
2811
|
+
if (zt.value = (n == null ? void 0 : n.value) ?? zt.value, !await Lv()) throw new Error("Gitee 当前页面描述不存在");
|
|
2812
2812
|
Ut.value = "success", Ft.value = "页面说明已同步";
|
|
2813
2813
|
} catch (n) {
|
|
2814
2814
|
Ut.value = "error", Ft.value = "页面说明同步失败", te("pageDescriptions", me.value.pageDescriptions.source, "error", n instanceof Error ? n.message : "页面描述同步失败");
|
|
@@ -2828,7 +2828,7 @@ async function ri(t = !1) {
|
|
|
2828
2828
|
}
|
|
2829
2829
|
te("flows", me.value.flows.source, "syncing");
|
|
2830
2830
|
try {
|
|
2831
|
-
const m = await
|
|
2831
|
+
const m = await Qp(), g = Array.isArray((s = m == null ? void 0 : m.value) == null ? void 0 : s.flows) ? m.value.flows : null;
|
|
2832
2832
|
if (!m || !g) throw new Error("Gitee 流程文件不存在");
|
|
2833
2833
|
const C = (/* @__PURE__ */ new Date()).toISOString();
|
|
2834
2834
|
We("flows", g, m.sha, C), he.value = ((r = rt("flows")) == null ? void 0 : r.value) ?? g, he.value.some((I) => I.id === ut.value) || (ut.value = ((u = he.value[0]) == null ? void 0 : u.id) ?? ""), te("flows", "gitee", "success", "", C);
|
|
@@ -2856,12 +2856,12 @@ function Ql(t) {
|
|
|
2856
2856
|
u[M] = I === !0 ? { count: C, updatedAt: n, highlighted: !0 } : { count: C, updatedAt: n }, m[g] = { count: (((se = m[g]) == null ? void 0 : se.count) ?? 0) + C, updatedAt: n };
|
|
2857
2857
|
}), { projectId: we.projectId, updatedAt: n, scopes: u, screens: m };
|
|
2858
2858
|
}
|
|
2859
|
-
async function
|
|
2859
|
+
async function Fv() {
|
|
2860
2860
|
if (!we.remoteWritable || Mt.value === "running") return;
|
|
2861
2861
|
const t = nt.value.trim() || "初始化工具";
|
|
2862
2862
|
Mt.value = "running", tn.value = "", Ie.value = { current: 0, total: 1, label: "检查初始化状态" };
|
|
2863
2863
|
try {
|
|
2864
|
-
if (await
|
|
2864
|
+
if (await zp()) {
|
|
2865
2865
|
Mt.value = "success", Ie.value = { current: 1, total: 1, label: "远端已初始化" }, tn.value = "远端已初始化:未逐文件检查,未产生重复提交", await Oo(!1);
|
|
2866
2866
|
return;
|
|
2867
2867
|
}
|
|
@@ -2890,19 +2890,19 @@ async function Kv() {
|
|
|
2890
2890
|
}
|
|
2891
2891
|
if (Ie.value = { ...Ie.value, label: r.failed ? "存在失败,暂不写完成标记" : "写入初始化完成标记" }, !r.failed)
|
|
2892
2892
|
try {
|
|
2893
|
-
r[await
|
|
2893
|
+
r[await Gp({ schemaVersion: 1, branchKey: we.branchKey, completedAt: (/* @__PURE__ */ new Date()).toISOString(), fileCount: n.length }, t)] += 1;
|
|
2894
2894
|
} catch (u) {
|
|
2895
2895
|
r.failed += 1, console.error("❌ [Gitee 初始化] 完成标记写入失败", { error: u });
|
|
2896
2896
|
}
|
|
2897
2897
|
Ie.value = { ...Ie.value, current: Ie.value.current + 1 }, Mt.value = r.failed ? "partial" : "success", tn.value = r.failed ? `初始化部分完成:新建 ${r.created},跳过 ${r.unchanged + r.protected},失败 ${r.failed}` : r.created ? `初始化成功:新建 ${r.created},跳过 ${r.unchanged + r.protected}` : `远端已初始化:未重复创建,检查 ${r.unchanged + r.protected}`, await Oo(!1);
|
|
2898
2898
|
}
|
|
2899
|
-
function
|
|
2899
|
+
function Kv() {
|
|
2900
2900
|
Uo.value = !0, Qn.value = null;
|
|
2901
2901
|
}
|
|
2902
2902
|
function ui() {
|
|
2903
2903
|
Uo.value = !1, Qn.value = null, eo.value = "view";
|
|
2904
2904
|
}
|
|
2905
|
-
function
|
|
2905
|
+
function zv(t, n) {
|
|
2906
2906
|
if (!Uo.value) return;
|
|
2907
2907
|
const s = t.currentTarget, r = s.getBoundingClientRect(), u = s.querySelector(".annotation-layer"), m = (u == null ? void 0 : u.scrollWidth) ?? r.width, g = (u == null ? void 0 : u.scrollHeight) ?? r.height;
|
|
2908
2908
|
Qn.value = {
|
|
@@ -2918,10 +2918,10 @@ function Gv(t, n) {
|
|
|
2918
2918
|
async function zo(t, n, s, r) {
|
|
2919
2919
|
if (!It.value) return null;
|
|
2920
2920
|
try {
|
|
2921
|
-
const u = await
|
|
2921
|
+
const u = await Wp(B(t, n), nt.value.trim() || "未署名", s, r);
|
|
2922
2922
|
if (!u) return null;
|
|
2923
2923
|
const m = Wa(u.value).map((I) => ({ ...I, screenId: t, stateId: n }));
|
|
2924
|
-
Ko(t, n, m.length), Kt.value && await
|
|
2924
|
+
Ko(t, n, m.length), Kt.value && await Yp(Kt.value, nt.value.trim() || "未署名", B(t, n));
|
|
2925
2925
|
const g = (/* @__PURE__ */ new Date()).toISOString(), C = [...Y.value.filter((I) => B(I.screenId, I.stateId) !== B(t, n)), ...m];
|
|
2926
2926
|
return We("annotations", C, u.sha, g), te("annotations", "gitee", "success", "", g), m;
|
|
2927
2927
|
} catch (u) {
|
|
@@ -2930,7 +2930,7 @@ async function zo(t, n, s, r) {
|
|
|
2930
2930
|
return;
|
|
2931
2931
|
}
|
|
2932
2932
|
}
|
|
2933
|
-
async function
|
|
2933
|
+
async function Gv() {
|
|
2934
2934
|
const t = Qn.value;
|
|
2935
2935
|
if (!t) return;
|
|
2936
2936
|
const n = (/* @__PURE__ */ new Date()).toISOString(), s = {
|
|
@@ -2945,7 +2945,7 @@ async function Hv() {
|
|
|
2945
2945
|
}, r = await zo(t.screenId, t.stateId, "新增", (u) => [...u, s]);
|
|
2946
2946
|
r !== void 0 && (r ? Y.value = [...Y.value.filter((u) => B(u.screenId, u.stateId) !== B(t.screenId, t.stateId)), ...r] : (Y.value = [...Y.value, s], Ko(t.screenId, t.stateId, oi.value.length), We("annotations", Y.value, null, null), te("annotations", "local-cache", "success", we.unavailableReason)), ui());
|
|
2947
2947
|
}
|
|
2948
|
-
function
|
|
2948
|
+
function Hv(t) {
|
|
2949
2949
|
const n = Y.value.find((s) => s.id === t);
|
|
2950
2950
|
n && (ja.value = t, Sn.value = {
|
|
2951
2951
|
featureName: n.featureName,
|
|
@@ -2956,7 +2956,7 @@ function Wv(t) {
|
|
|
2956
2956
|
function ci() {
|
|
2957
2957
|
ja.value = "", eo.value = "view";
|
|
2958
2958
|
}
|
|
2959
|
-
async function
|
|
2959
|
+
async function Wv() {
|
|
2960
2960
|
const t = si.value;
|
|
2961
2961
|
if (!t) return;
|
|
2962
2962
|
const n = (/* @__PURE__ */ new Date()).toISOString(), s = (u) => u.id === t.id ? {
|
|
@@ -2969,7 +2969,7 @@ async function Yv() {
|
|
|
2969
2969
|
} : u, r = await zo(t.screenId, t.stateId, "编辑", (u) => u.map(s));
|
|
2970
2970
|
r !== void 0 && (Y.value = r ? [...Y.value.filter((u) => B(u.screenId, u.stateId) !== B(t.screenId, t.stateId)), ...r] : Y.value.map(s), r === null && We("annotations", Y.value, null, null), ci());
|
|
2971
2971
|
}
|
|
2972
|
-
async function
|
|
2972
|
+
async function Yv(t, n, s) {
|
|
2973
2973
|
const r = Y.value.find((I) => I.id === t);
|
|
2974
2974
|
if (!r) return !1;
|
|
2975
2975
|
const u = (/* @__PURE__ */ new Date()).toISOString(), m = (I) => I.id === t ? {
|
|
@@ -2986,19 +2986,19 @@ async function Jv(t, n, s) {
|
|
|
2986
2986
|
);
|
|
2987
2987
|
return C === void 0 ? !1 : (Y.value = C ? [...Y.value.filter((I) => B(I.screenId, I.stateId) !== B(r.screenId, r.stateId)), ...C] : Y.value.map(m), C === null && We("annotations", Y.value, null, null), !0);
|
|
2988
2988
|
}
|
|
2989
|
-
async function
|
|
2989
|
+
async function Jv(t) {
|
|
2990
2990
|
const n = Y.value.find((r) => r.id === t);
|
|
2991
2991
|
if (!n) return;
|
|
2992
2992
|
const s = await zo(n.screenId, n.stateId, "删除", (r) => r.filter((u) => u.id !== t));
|
|
2993
2993
|
s !== void 0 && (Y.value = s ? [...Y.value.filter((r) => B(r.screenId, r.stateId) !== B(n.screenId, n.stateId)), ...s] : Y.value.filter((r) => r.id !== t), s === null && We("annotations", Y.value, null, null), Ko(n.screenId, n.stateId, Y.value.filter((r) => B(r.screenId, r.stateId) === B(n.screenId, n.stateId)).length));
|
|
2994
2994
|
}
|
|
2995
|
-
function
|
|
2995
|
+
function Xv(t) {
|
|
2996
2996
|
Wn.value && window.clearTimeout(Wn.value), jo.value = t;
|
|
2997
2997
|
}
|
|
2998
|
-
function
|
|
2998
|
+
function Zv() {
|
|
2999
2999
|
Wn.value && window.clearTimeout(Wn.value);
|
|
3000
3000
|
}
|
|
3001
|
-
function
|
|
3001
|
+
function qv() {
|
|
3002
3002
|
Wn.value = window.setTimeout(() => {
|
|
3003
3003
|
jo.value = "";
|
|
3004
3004
|
}, 160);
|
|
@@ -3015,7 +3015,7 @@ function Ra(t, n) {
|
|
|
3015
3015
|
const s = B(t, n);
|
|
3016
3016
|
return ((m = (u = (r = Kt.value) == null ? void 0 : r.scopes) == null ? void 0 : u[s]) == null ? void 0 : m.count) ?? Y.value.filter((g) => B(g.screenId, g.stateId) === s).length;
|
|
3017
3017
|
}
|
|
3018
|
-
async function
|
|
3018
|
+
async function Qv() {
|
|
3019
3019
|
var u;
|
|
3020
3020
|
const t = Re.value, n = He.value, s = (/* @__PURE__ */ new Date()).toISOString(), r = {
|
|
3021
3021
|
screenId: t,
|
|
@@ -3026,9 +3026,9 @@ async function ef() {
|
|
|
3026
3026
|
};
|
|
3027
3027
|
if (It.value)
|
|
3028
3028
|
try {
|
|
3029
|
-
const m = await
|
|
3029
|
+
const m = await Zp(B(t, n), r.authorName ?? "未署名", r);
|
|
3030
3030
|
if (!m) return !1;
|
|
3031
|
-
Ta(t, n, 1, r.highlighted), zt.value && await
|
|
3031
|
+
Ta(t, n, 1, r.highlighted), zt.value && await qp(zt.value, r.authorName ?? "未署名", B(t, n));
|
|
3032
3032
|
const g = [...Me.value.filter((I) => B(I.screenId, I.stateId) !== B(t, n)), r], C = (/* @__PURE__ */ new Date()).toISOString();
|
|
3033
3033
|
return We("pageDescriptions", g, m.sha, C), Me.value = ((u = rt("pageDescriptions")) == null ? void 0 : u.value) ?? g, te("pageDescriptions", "gitee", "success", "", C), !0;
|
|
3034
3034
|
} catch (m) {
|
|
@@ -3037,15 +3037,15 @@ async function ef() {
|
|
|
3037
3037
|
}
|
|
3038
3038
|
return Me.value = [...Me.value.filter((m) => B(m.screenId, m.stateId) !== B(t, n)), r], We("pageDescriptions", Me.value, null, null), te("pageDescriptions", "local-cache", "success", we.unavailableReason), Ta(t, n, 1, r.highlighted), !0;
|
|
3039
3039
|
}
|
|
3040
|
-
function
|
|
3040
|
+
function ef() {
|
|
3041
3041
|
const t = new Blob([JSON.stringify(Y.value, null, 2)], { type: "application/json;charset=utf-8" }), n = document.createElement("a");
|
|
3042
3042
|
n.href = URL.createObjectURL(t), n.download = "annotations.json", n.click(), URL.revokeObjectURL(n.href);
|
|
3043
3043
|
}
|
|
3044
|
-
function
|
|
3044
|
+
function tf() {
|
|
3045
3045
|
const t = new Blob([JSON.stringify(Me.value, null, 2)], { type: "application/json;charset=utf-8" }), n = document.createElement("a");
|
|
3046
3046
|
n.href = URL.createObjectURL(t), n.download = "page-descriptions.json", n.click(), URL.revokeObjectURL(n.href);
|
|
3047
3047
|
}
|
|
3048
|
-
function
|
|
3048
|
+
function nf() {
|
|
3049
3049
|
var n;
|
|
3050
3050
|
const t = Number(Ro.value);
|
|
3051
3051
|
if (!Number.isFinite(t)) {
|
|
@@ -3054,16 +3054,16 @@ function of() {
|
|
|
3054
3054
|
}
|
|
3055
3055
|
xn.value = Math.min(zs, Math.max(Ks, t)), Ro.value = String(xn.value), (n = it()) == null || n.setItem(Ls, String(xn.value)), Pa.value = "已保存同步间隔";
|
|
3056
3056
|
}
|
|
3057
|
-
const
|
|
3057
|
+
const of = k(() => ({
|
|
3058
3058
|
"--flow-zoom": String(Te.value)
|
|
3059
|
-
})),
|
|
3060
|
-
function
|
|
3059
|
+
})), af = k(() => `${Math.round(Te.value * 100)}%`);
|
|
3060
|
+
function lf(t) {
|
|
3061
3061
|
return t === "pc" ? 640 : 393;
|
|
3062
3062
|
}
|
|
3063
3063
|
function Xa(t) {
|
|
3064
3064
|
return t === "pc" ? 360 : 902;
|
|
3065
3065
|
}
|
|
3066
|
-
const
|
|
3066
|
+
const sf = 88, pi = 152, rf = 260, uf = k(() => {
|
|
3067
3067
|
const t = /* @__PURE__ */ new Map(), n = /* @__PURE__ */ new Map();
|
|
3068
3068
|
return za.value.forEach((s) => {
|
|
3069
3069
|
const r = s.flowRow ?? 1;
|
|
@@ -3071,7 +3071,7 @@ const rf = 88, pi = 152, uf = 260, cf = k(() => {
|
|
|
3071
3071
|
}), n.forEach((s, r) => {
|
|
3072
3072
|
let u = 0;
|
|
3073
3073
|
s.sort((m, g) => (m.flowCol ?? 0) - (g.flowCol ?? 0)).forEach((m) => {
|
|
3074
|
-
t.set(`${r}-${m.flowCol ?? 1}`, u), u +=
|
|
3074
|
+
t.set(`${r}-${m.flowCol ?? 1}`, u), u += lf(m.platform) + sf;
|
|
3075
3075
|
});
|
|
3076
3076
|
}), t;
|
|
3077
3077
|
}), vi = k(() => {
|
|
@@ -3080,7 +3080,7 @@ const rf = 88, pi = 152, uf = 260, cf = k(() => {
|
|
|
3080
3080
|
const s = n.flowRow ?? 1, r = Xa(n.platform);
|
|
3081
3081
|
t.set(s, Math.max(t.get(s) ?? 0, r));
|
|
3082
3082
|
}), t;
|
|
3083
|
-
}),
|
|
3083
|
+
}), cf = k(
|
|
3084
3084
|
() => {
|
|
3085
3085
|
var t;
|
|
3086
3086
|
return ((t = Aa.value) == null ? void 0 : t.rows.map((n, s) => {
|
|
@@ -3093,26 +3093,26 @@ const rf = 88, pi = 152, uf = 260, cf = k(() => {
|
|
|
3093
3093
|
})) ?? [];
|
|
3094
3094
|
}
|
|
3095
3095
|
);
|
|
3096
|
-
function
|
|
3096
|
+
function df(t) {
|
|
3097
3097
|
ut.value = t;
|
|
3098
3098
|
}
|
|
3099
|
-
function
|
|
3099
|
+
function pf(t) {
|
|
3100
3100
|
Te.value = fi(Te.value + t);
|
|
3101
3101
|
}
|
|
3102
|
-
function
|
|
3102
|
+
function vf() {
|
|
3103
3103
|
nn.value = 360, on.value = 150, Te.value = 0.42;
|
|
3104
3104
|
}
|
|
3105
|
-
function
|
|
3106
|
-
const n = t.flowRow ?? 1, s = t.flowCol ?? 1, r =
|
|
3105
|
+
function ff(t) {
|
|
3106
|
+
const n = t.flowRow ?? 1, s = t.flowCol ?? 1, r = uf.value.get(`${n}-${s}`) ?? 0;
|
|
3107
3107
|
let u = 0;
|
|
3108
3108
|
for (let m = 1; m < n; m++)
|
|
3109
3109
|
u += (vi.value.get(m) ?? Xa("mobile")) + pi;
|
|
3110
3110
|
return {
|
|
3111
|
-
left: `${nn.value + (
|
|
3111
|
+
left: `${nn.value + (rf + r) * Te.value}px`,
|
|
3112
3112
|
top: `${on.value + u * Te.value}px`
|
|
3113
3113
|
};
|
|
3114
3114
|
}
|
|
3115
|
-
function
|
|
3115
|
+
function mf(t) {
|
|
3116
3116
|
let n = 0;
|
|
3117
3117
|
for (let s = 1; s < t; s++)
|
|
3118
3118
|
n += (vi.value.get(s) ?? Xa("mobile")) + pi;
|
|
@@ -3122,16 +3122,16 @@ function gf(t) {
|
|
|
3122
3122
|
transform: `scale(${Te.value})`
|
|
3123
3123
|
};
|
|
3124
3124
|
}
|
|
3125
|
-
function
|
|
3125
|
+
function gf(t) {
|
|
3126
3126
|
t.target.closest("button, input, select, textarea, video") || (Mo.value = !0, Gn.value = { x: t.clientX, y: t.clientY, panX: nn.value, panY: on.value });
|
|
3127
3127
|
}
|
|
3128
|
-
function
|
|
3128
|
+
function bf(t) {
|
|
3129
3129
|
Mo.value && (nn.value = Gn.value.panX + t.clientX - Gn.value.x, on.value = Gn.value.panY + t.clientY - Gn.value.y);
|
|
3130
3130
|
}
|
|
3131
|
-
function
|
|
3131
|
+
function yf() {
|
|
3132
3132
|
Mo.value = !1;
|
|
3133
3133
|
}
|
|
3134
|
-
function
|
|
3134
|
+
function hf(t) {
|
|
3135
3135
|
t.preventDefault();
|
|
3136
3136
|
const n = fi(Te.value + (t.deltaY > 0 ? -0.04 : 0.04));
|
|
3137
3137
|
if (n === Te.value) return;
|
|
@@ -3146,12 +3146,12 @@ function mi(t) {
|
|
|
3146
3146
|
const n = JSON.parse(JSON.stringify(t)), s = rt("flows");
|
|
3147
3147
|
return We("flows", n, (s == null ? void 0 : s.revision) ?? null, (s == null ? void 0 : s.lastRemoteSyncAt) ?? null), he.value = n, Js(!0), he.value.some((u) => u.id === ut.value) || (ut.value = ((r = he.value[0]) == null ? void 0 : r.id) ?? ""), te("flows", "local-cache", "success", we.unavailableReason), !0;
|
|
3148
3148
|
}
|
|
3149
|
-
async function
|
|
3149
|
+
async function wf(t) {
|
|
3150
3150
|
var s, r;
|
|
3151
3151
|
const n = JSON.parse(JSON.stringify(t));
|
|
3152
3152
|
if (mi(n), !Ws.value) return !1;
|
|
3153
3153
|
try {
|
|
3154
|
-
const u = await
|
|
3154
|
+
const u = await ev(nt.value.trim() || "未署名", n), m = Array.isArray((s = u == null ? void 0 : u.value) == null ? void 0 : s.flows) ? u.value.flows : null;
|
|
3155
3155
|
if (!u || !m) return !1;
|
|
3156
3156
|
const g = (/* @__PURE__ */ new Date()).toISOString();
|
|
3157
3157
|
return We("flows", m, u.sha, g), he.value = m, Js(!1), he.value.some((C) => C.id === ut.value) || (ut.value = ((r = he.value[0]) == null ? void 0 : r.id) ?? ""), te("flows", "gitee", "success", "", g), !0;
|
|
@@ -3160,14 +3160,14 @@ async function xf(t) {
|
|
|
3160
3160
|
return u instanceof Xn ? La("flows", m) : te("flows", me.value.flows.source, "error", m), !1;
|
|
3161
3161
|
}
|
|
3162
3162
|
}
|
|
3163
|
-
function
|
|
3163
|
+
function xf(t = he.value) {
|
|
3164
3164
|
const n = new Blob([JSON.stringify({ version: "1.0.0", flows: t }, null, 2)], { type: "application/json;charset=utf-8" }), s = document.createElement("a");
|
|
3165
3165
|
s.href = URL.createObjectURL(n), s.download = "flows.json", s.click(), URL.revokeObjectURL(s.href);
|
|
3166
3166
|
}
|
|
3167
|
-
function
|
|
3168
|
-
return { saveFlowsToSession: mi, pushFlowsToGitee:
|
|
3167
|
+
function Sf() {
|
|
3168
|
+
return { saveFlowsToSession: mi, pushFlowsToGitee: wf, exportFlows: xf };
|
|
3169
3169
|
}
|
|
3170
|
-
function
|
|
3170
|
+
function kf() {
|
|
3171
3171
|
const t = {
|
|
3172
3172
|
...(ha == null ? void 0 : ha({ go: Eo, goTab: ql, setPrototypeState: Na })) ?? {},
|
|
3173
3173
|
PanelTop: ss,
|
|
@@ -3179,12 +3179,12 @@ function Cf() {
|
|
|
3179
3179
|
currentScreen: Re,
|
|
3180
3180
|
selectedFlowId: ut,
|
|
3181
3181
|
selectedThemeId: ct,
|
|
3182
|
-
showThemePanel:
|
|
3183
|
-
themeImportInput:
|
|
3182
|
+
showThemePanel: rv,
|
|
3183
|
+
themeImportInput: uv,
|
|
3184
3184
|
flowZoom: Te,
|
|
3185
3185
|
isFlowPanning: Mo,
|
|
3186
3186
|
selectedTab: Ma,
|
|
3187
|
-
activeCollaborationTab:
|
|
3187
|
+
activeCollaborationTab: cv,
|
|
3188
3188
|
annotationRemoteReady: It,
|
|
3189
3189
|
annotationSyncStatus: Ut,
|
|
3190
3190
|
annotationSyncLabel: Ft,
|
|
@@ -3195,16 +3195,16 @@ function Cf() {
|
|
|
3195
3195
|
collaborationInitialized: Hs,
|
|
3196
3196
|
collaborationContext: we,
|
|
3197
3197
|
collaborationSources: me,
|
|
3198
|
-
collaborationSourceLabel:
|
|
3198
|
+
collaborationSourceLabel: gv,
|
|
3199
3199
|
collaborationSourceTone: Xs,
|
|
3200
|
-
collaborationSourceDetail:
|
|
3201
|
-
collaborationLastSyncedAt:
|
|
3200
|
+
collaborationSourceDetail: yv,
|
|
3201
|
+
collaborationLastSyncedAt: bv,
|
|
3202
3202
|
collaborationBootstrapStatus: Mt,
|
|
3203
3203
|
collaborationBootstrapProgress: Ie,
|
|
3204
3204
|
collaborationBootstrapMessage: tn,
|
|
3205
|
-
canInitializeRemote:
|
|
3206
|
-
annotationPanelCollapsed:
|
|
3207
|
-
annotationPointsVisible:
|
|
3205
|
+
canInitializeRemote: hv,
|
|
3206
|
+
annotationPanelCollapsed: dv,
|
|
3207
|
+
annotationPointsVisible: pv,
|
|
3208
3208
|
isPlacingAnnotation: Uo,
|
|
3209
3209
|
hoveredAnnotationId: jo,
|
|
3210
3210
|
annotationDraft: Qn,
|
|
@@ -3216,117 +3216,117 @@ function Cf() {
|
|
|
3216
3216
|
pageDescriptionEditor: Va,
|
|
3217
3217
|
activeThemeColors: Qs,
|
|
3218
3218
|
themeOptions: qs,
|
|
3219
|
-
themeStyle:
|
|
3219
|
+
themeStyle: Sv,
|
|
3220
3220
|
screens: an,
|
|
3221
3221
|
mainFlows: he,
|
|
3222
|
-
showFlowEditor:
|
|
3222
|
+
showFlowEditor: vv,
|
|
3223
3223
|
canPushFlowsToRemote: Ws,
|
|
3224
3224
|
currentMeta: Ka,
|
|
3225
3225
|
currentDisplayScreen: ni,
|
|
3226
|
-
currentScreenPlatform:
|
|
3227
|
-
flowRows:
|
|
3228
|
-
visibleScreens:
|
|
3229
|
-
prototypeStateOptions:
|
|
3226
|
+
currentScreenPlatform: Pv,
|
|
3227
|
+
flowRows: cf,
|
|
3228
|
+
visibleScreens: Av,
|
|
3229
|
+
prototypeStateOptions: Nv,
|
|
3230
3230
|
activePrototypeStateId: He,
|
|
3231
3231
|
getPrototypeStateOptions: Gt,
|
|
3232
3232
|
getPrototypeStateLabel: Ga,
|
|
3233
3233
|
normalizePrototypeStateId: to,
|
|
3234
|
-
flowGridStyle:
|
|
3235
|
-
flowZoomPercent:
|
|
3234
|
+
flowGridStyle: of,
|
|
3235
|
+
flowZoomPercent: af,
|
|
3236
3236
|
currentScreenAnnotations: oi,
|
|
3237
3237
|
currentPageDescription: ai,
|
|
3238
3238
|
isScopeHighlighted: Fo,
|
|
3239
3239
|
isScreenHighlighted: li,
|
|
3240
|
-
activeScreenHighlightedStateIds:
|
|
3241
|
-
activeScreenHighlighted:
|
|
3242
|
-
activeScopeHighlighted:
|
|
3243
|
-
hoveredAnnotation:
|
|
3244
|
-
initializePrototype:
|
|
3240
|
+
activeScreenHighlightedStateIds: Ev,
|
|
3241
|
+
activeScreenHighlighted: Ov,
|
|
3242
|
+
activeScopeHighlighted: Bv,
|
|
3243
|
+
hoveredAnnotation: Mv,
|
|
3244
|
+
initializePrototype: jv,
|
|
3245
3245
|
t: Zs,
|
|
3246
|
-
selectTheme:
|
|
3247
|
-
updateCustomThemeColor:
|
|
3248
|
-
resetCustomTheme:
|
|
3249
|
-
exportCustomTheme:
|
|
3250
|
-
importCustomTheme:
|
|
3246
|
+
selectTheme: kv,
|
|
3247
|
+
updateCustomThemeColor: Cv,
|
|
3248
|
+
resetCustomTheme: $v,
|
|
3249
|
+
exportCustomTheme: _v,
|
|
3250
|
+
importCustomTheme: Iv,
|
|
3251
3251
|
setPrototypeState: Na,
|
|
3252
3252
|
go: Eo,
|
|
3253
|
-
goToAnnotatedScreen:
|
|
3253
|
+
goToAnnotatedScreen: Tv,
|
|
3254
3254
|
goTab: ql,
|
|
3255
|
-
startAnnotationPlacement:
|
|
3255
|
+
startAnnotationPlacement: Kv,
|
|
3256
3256
|
cancelAnnotationDraft: ui,
|
|
3257
|
-
handleAnnotationCanvasClick:
|
|
3258
|
-
saveAnnotationDraft:
|
|
3259
|
-
openAnnotationDialog:
|
|
3257
|
+
handleAnnotationCanvasClick: zv,
|
|
3258
|
+
saveAnnotationDraft: Gv,
|
|
3259
|
+
openAnnotationDialog: Hv,
|
|
3260
3260
|
closeAnnotationDialog: ci,
|
|
3261
|
-
saveAnnotationEdit:
|
|
3262
|
-
updateAnnotationPosition:
|
|
3263
|
-
keepAnnotationPopover:
|
|
3264
|
-
scheduleHideAnnotationPopover:
|
|
3265
|
-
showAnnotationPopover:
|
|
3266
|
-
removeAnnotation:
|
|
3261
|
+
saveAnnotationEdit: Wv,
|
|
3262
|
+
updateAnnotationPosition: Yv,
|
|
3263
|
+
keepAnnotationPopover: Zv,
|
|
3264
|
+
scheduleHideAnnotationPopover: qv,
|
|
3265
|
+
showAnnotationPopover: Xv,
|
|
3266
|
+
removeAnnotation: Jv,
|
|
3267
3267
|
annotationCountByScreen: di,
|
|
3268
3268
|
annotationCountByState: Ra,
|
|
3269
3269
|
refreshPrototypeAnnotations: Ya,
|
|
3270
3270
|
refreshPageDescriptions: Ja,
|
|
3271
3271
|
refreshFlows: ri,
|
|
3272
3272
|
refreshAllCollaborationData: Oo,
|
|
3273
|
-
setCollaborationEditing:
|
|
3274
|
-
initializeRemoteCollaborationData:
|
|
3275
|
-
saveAnnotationPollingInterval:
|
|
3276
|
-
exportAnnotations:
|
|
3277
|
-
saveCurrentPageDescription:
|
|
3278
|
-
exportPageDescriptions:
|
|
3279
|
-
annotationPointStyle:
|
|
3280
|
-
selectFlow:
|
|
3281
|
-
stepFlowZoom:
|
|
3282
|
-
resetFlowView:
|
|
3283
|
-
flowNodeStyle:
|
|
3284
|
-
flowRowLabelStyle:
|
|
3285
|
-
startFlowPan:
|
|
3286
|
-
moveFlowPan:
|
|
3287
|
-
stopFlowPan:
|
|
3288
|
-
zoomFlowAtPoint:
|
|
3289
|
-
overviewZoom:
|
|
3290
|
-
overviewColumns:
|
|
3273
|
+
setCollaborationEditing: wv,
|
|
3274
|
+
initializeRemoteCollaborationData: Fv,
|
|
3275
|
+
saveAnnotationPollingInterval: nf,
|
|
3276
|
+
exportAnnotations: ef,
|
|
3277
|
+
saveCurrentPageDescription: Qv,
|
|
3278
|
+
exportPageDescriptions: tf,
|
|
3279
|
+
annotationPointStyle: Uv,
|
|
3280
|
+
selectFlow: df,
|
|
3281
|
+
stepFlowZoom: pf,
|
|
3282
|
+
resetFlowView: vf,
|
|
3283
|
+
flowNodeStyle: ff,
|
|
3284
|
+
flowRowLabelStyle: mf,
|
|
3285
|
+
startFlowPan: gf,
|
|
3286
|
+
moveFlowPan: bf,
|
|
3287
|
+
stopFlowPan: yf,
|
|
3288
|
+
zoomFlowAtPoint: hf,
|
|
3289
|
+
overviewZoom: fv,
|
|
3290
|
+
overviewColumns: mv
|
|
3291
3291
|
};
|
|
3292
3292
|
return tu(t), t;
|
|
3293
3293
|
}
|
|
3294
|
-
var
|
|
3295
|
-
const
|
|
3294
|
+
var Cf = [];
|
|
3295
|
+
const $f = {
|
|
3296
3296
|
key: 0,
|
|
3297
3297
|
class: "flex min-h-screen items-center justify-center px-5 py-10"
|
|
3298
|
-
},
|
|
3298
|
+
}, _f = { class: "mt-6 space-y-3 text-left" }, If = { class: "block" }, Pf = { class: "block" }, Df = {
|
|
3299
3299
|
key: 0,
|
|
3300
3300
|
class: "mt-4 text-sm font-semibold text-red-500"
|
|
3301
|
-
},
|
|
3301
|
+
}, Af = {
|
|
3302
3302
|
key: 0,
|
|
3303
3303
|
class: "update-banner"
|
|
3304
|
-
},
|
|
3304
|
+
}, Nf = {
|
|
3305
3305
|
key: 1,
|
|
3306
3306
|
class: "top-chrome"
|
|
3307
|
-
},
|
|
3307
|
+
}, Tf = { class: "apple-subnav" }, Rf = { class: "project-identity" }, Ef = { class: "text-[21px] font-semibold leading-none" }, Of = { class: "mt-1 text-xs text-muted" }, Bf = {
|
|
3308
3308
|
class: "core-version-stack",
|
|
3309
3309
|
"aria-label": "原型内核版本"
|
|
3310
|
-
},
|
|
3310
|
+
}, Mf = { class: "flex flex-wrap items-center justify-end gap-x-1.5 gap-y-2" }, Uf = {
|
|
3311
3311
|
key: 0,
|
|
3312
3312
|
class: "bug-nav-badge"
|
|
3313
|
-
},
|
|
3313
|
+
}, jf = { class: "top-control-group flex rounded-full bg-panel ring-1 ring-line" }, Vf = { class: "top-control-group flex rounded-full bg-panel ring-1 ring-line" }, Lf = { class: "top-control-group relative flex rounded-full bg-panel ring-1 ring-line" }, Ff = {
|
|
3314
3314
|
key: 0,
|
|
3315
3315
|
class: "theme-popover"
|
|
3316
|
-
},
|
|
3316
|
+
}, Kf = { class: "flex items-start justify-between gap-3" }, zf = { class: "text-sm font-semibold text-ink" }, Gf = { class: "mt-1 text-xs leading-5 text-muted" }, Hf = { class: "mt-3 flex flex-wrap gap-2" }, Wf = ["onClick"], Yf = { class: "min-w-0" }, Jf = { class: "mt-3 flex gap-2" }, Xf = { class: "theme-color-grid" }, Zf = ["value", "onInput"], qf = ["value", "onInput"], Qf = {
|
|
3317
3317
|
key: 0,
|
|
3318
3318
|
class: "apple-hero-copy"
|
|
3319
|
-
},
|
|
3319
|
+
}, em = { key: 1 }, tm = { class: "flex flex-col gap-6 lg:flex-row" }, nm = {
|
|
3320
3320
|
key: 0,
|
|
3321
3321
|
class: "interactive-side-nav-scroll-wrap"
|
|
3322
|
-
},
|
|
3322
|
+
}, om = ["onClick"], am = { class: "flex-1 text-left" }, lm = { class: "ml-auto flex items-center gap-2" }, sm = {
|
|
3323
3323
|
key: 0,
|
|
3324
3324
|
class: "annotation-nav-badge"
|
|
3325
|
-
},
|
|
3325
|
+
}, im = {
|
|
3326
3326
|
key: 1,
|
|
3327
3327
|
class: "screen-highlight-dot",
|
|
3328
3328
|
"aria-hidden": "true"
|
|
3329
|
-
},
|
|
3329
|
+
}, rm = {
|
|
3330
3330
|
key: 0,
|
|
3331
3331
|
class: "side-nav-scroll-hint-top",
|
|
3332
3332
|
viewBox: "0 0 24 24",
|
|
@@ -3335,7 +3335,7 @@ const _f = {
|
|
|
3335
3335
|
"stroke-width": "2.5",
|
|
3336
3336
|
"stroke-linecap": "round",
|
|
3337
3337
|
"stroke-linejoin": "round"
|
|
3338
|
-
},
|
|
3338
|
+
}, um = {
|
|
3339
3339
|
key: 1,
|
|
3340
3340
|
class: "side-nav-scroll-hint-bottom",
|
|
3341
3341
|
viewBox: "0 0 24 24",
|
|
@@ -3344,96 +3344,96 @@ const _f = {
|
|
|
3344
3344
|
"stroke-width": "2.5",
|
|
3345
3345
|
"stroke-linecap": "round",
|
|
3346
3346
|
"stroke-linejoin": "round"
|
|
3347
|
-
},
|
|
3347
|
+
}, cm = {
|
|
3348
3348
|
key: 1,
|
|
3349
3349
|
class: "apple-side-nav overview-side-nav"
|
|
3350
|
-
},
|
|
3350
|
+
}, dm = { class: "px-2 pb-4" }, pm = { class: "flex items-center gap-3" }, vm = { class: "min-w-5 text-center text-xs font-semibold text-ink" }, fm = { class: "px-2" }, mm = { class: "flex items-center gap-2" }, gm = { class: "min-w-10 text-center text-xs font-semibold text-ink" }, bm = {
|
|
3351
3351
|
key: 2,
|
|
3352
3352
|
class: "apple-side-nav flow-side-nav lg:w-80"
|
|
3353
|
-
},
|
|
3353
|
+
}, ym = { class: "flex items-center justify-between px-2 pb-3" }, hm = ["onClick"], wm = { class: "min-w-0 flex-1 text-left" }, xm = {
|
|
3354
3354
|
key: 0,
|
|
3355
3355
|
class: "flow-toolbar"
|
|
3356
|
-
},
|
|
3356
|
+
}, Sm = { class: "flow-zoom-controls" }, km = {
|
|
3357
3357
|
key: 0,
|
|
3358
3358
|
class: "status-bar"
|
|
3359
|
-
},
|
|
3359
|
+
}, Cm = ["onClickCapture"], $m = { class: "screen-scroll-wrapper" }, _m = {
|
|
3360
3360
|
key: 0,
|
|
3361
3361
|
class: "annotation-layer"
|
|
3362
|
-
},
|
|
3362
|
+
}, Im = ["data-annotation-id", "onMouseenter"], Pm = ["disabled", "onClick", "onPointerdown"], Dm = { key: 0 }, Am = { class: "annotation-panel-head" }, Nm = { class: "annotation-panel-tabs" }, Tm = {
|
|
3363
3363
|
key: 0,
|
|
3364
3364
|
class: "annotation-panel-actions"
|
|
3365
|
-
},
|
|
3365
|
+
}, Rm = ["disabled"], Em = {
|
|
3366
3366
|
key: 1,
|
|
3367
3367
|
class: "annotation-panel-actions description-actions"
|
|
3368
|
-
},
|
|
3368
|
+
}, Om = ["disabled"], Bm = { class: "annotation-author-field" }, Mm = ["placeholder"], Um = { class: "annotation-polling-field" }, jm = { class: "annotation-polling-control" }, Vm = ["disabled"], Lm = { class: "annotation-polling-notice" }, Fm = {
|
|
3369
3369
|
key: 2,
|
|
3370
3370
|
class: "annotation-list"
|
|
3371
|
-
},
|
|
3371
|
+
}, Km = {
|
|
3372
3372
|
key: 0,
|
|
3373
3373
|
class: "annotation-empty"
|
|
3374
|
-
},
|
|
3374
|
+
}, zm = ["onMouseenter"], Gm = { key: 0 }, Hm = { class: "annotation-list-actions" }, Wm = ["onClick"], Ym = ["disabled", "title", "onClick"], Jm = {
|
|
3375
3375
|
key: 3,
|
|
3376
3376
|
class: "page-description-view"
|
|
3377
|
-
},
|
|
3377
|
+
}, Xm = {
|
|
3378
3378
|
key: 0,
|
|
3379
3379
|
class: "annotation-empty"
|
|
3380
|
-
},
|
|
3380
|
+
}, Zm = {
|
|
3381
3381
|
key: 0,
|
|
3382
3382
|
class: "page-description-meta"
|
|
3383
|
-
},
|
|
3383
|
+
}, qm = { class: "collaboration-source-title" }, Qm = { "aria-hidden": "true" }, eg = ["disabled"], tg = {
|
|
3384
3384
|
class: "environment-check-panel",
|
|
3385
3385
|
role: "dialog",
|
|
3386
3386
|
"aria-modal": "true",
|
|
3387
3387
|
"aria-labelledby": "environment-check-title"
|
|
3388
|
-
},
|
|
3388
|
+
}, ng = { class: "environment-check-groups" }, og = { "aria-hidden": "true" }, ag = {
|
|
3389
3389
|
key: 0,
|
|
3390
3390
|
class: "interaction-mode-toast",
|
|
3391
3391
|
role: "status"
|
|
3392
|
-
},
|
|
3392
|
+
}, lg = { class: "page-description-dialog" }, sg = { class: "page-description-dialog-head" }, ig = {
|
|
3393
3393
|
key: 0,
|
|
3394
3394
|
class: "annotation-empty"
|
|
3395
|
-
},
|
|
3395
|
+
}, rg = {
|
|
3396
3396
|
key: 1,
|
|
3397
3397
|
class: "page-description-meta"
|
|
3398
|
-
},
|
|
3398
|
+
}, ug = { class: "page-description-highlight-field" }, cg = ["placeholder"], dg = ["placeholder"], pg = ["placeholder"], vg = ["placeholder"], fg = ["placeholder"], mg = { class: "page-description-form-actions" }, gg = ["disabled"], bg = { class: "annotation-popover-head" }, yg = ["disabled", "title"], hg = {
|
|
3399
3399
|
key: 10,
|
|
3400
3400
|
class: "annotation-form-backdrop"
|
|
3401
|
-
},
|
|
3401
|
+
}, wg = ["placeholder"], xg = ["placeholder"], Sg = ["placeholder"], kg = ["placeholder"], Cg = { class: "annotation-form-actions" }, $g = ["disabled"], _g = {
|
|
3402
3402
|
key: 11,
|
|
3403
3403
|
class: "annotation-form-backdrop"
|
|
3404
|
-
},
|
|
3404
|
+
}, Ig = ["readonly"], Pg = ["readonly"], Dg = ["readonly"], Ag = { key: 0 }, Ng = ["placeholder"], Tg = ["disabled"], Rg = { class: "page-description-summary-dialog" }, Eg = { class: "page-description-summary-head" }, Og = {
|
|
3405
3405
|
class: "page-description-summary-options",
|
|
3406
3406
|
"aria-label": "选择展示的页面描述部分"
|
|
3407
|
-
},
|
|
3407
|
+
}, Bg = ["checked", "onChange"], Mg = { class: "page-description-summary-body" }, Ug = {
|
|
3408
3408
|
key: 0,
|
|
3409
3409
|
class: "page-description-summary-empty"
|
|
3410
|
-
},
|
|
3410
|
+
}, jg = { class: "page-description-summary-actions" }, Vg = ["disabled"], Lg = {
|
|
3411
3411
|
class: "prototype-health-panel",
|
|
3412
3412
|
role: "dialog",
|
|
3413
3413
|
"aria-modal": "true",
|
|
3414
3414
|
"aria-label": "原型健康检查"
|
|
3415
|
-
},
|
|
3415
|
+
}, Fg = { class: "prototype-health-head" }, Kg = { class: "prototype-health-tabs" }, zg = { class: "prototype-health-stat-grid" }, Gg = { class: "prototype-health-section" }, Hg = { class: "prototype-health-section-head" }, Wg = { class: "prototype-health-issues" }, Yg = {
|
|
3416
3416
|
key: 1,
|
|
3417
3417
|
class: "prototype-health-section prototype-health-matrix-section"
|
|
3418
|
-
},
|
|
3418
|
+
}, Jg = { class: "prototype-health-table-wrap" }, Xg = { class: "prototype-health-table" }, Zg = { class: "w-full max-w-xl rounded-[24px] border border-line bg-panel p-5 text-left shadow-[0_24px_70px_rgb(0_0_0/0.18)]" }, qg = { class: "flex items-start justify-between gap-4" }, Qg = { class: "mt-1 text-xs text-muted" }, e1 = { class: "mt-4 max-h-[60vh] space-y-3 overflow-y-auto pr-1" }, t1 = ["onClick"], n1 = { class: "flex items-center justify-between gap-3" }, o1 = { class: "text-sm font-semibold text-ink" }, a1 = { class: "flex shrink-0 items-center gap-2" }, l1 = { class: "rounded-full bg-panel px-2 py-1 text-xs text-muted" }, s1 = { class: "mt-2 text-sm leading-5 text-muted" }, i1 = {
|
|
3419
3419
|
key: 0,
|
|
3420
3420
|
class: "border-t border-line bg-panel/60 px-3 py-3"
|
|
3421
|
-
},
|
|
3421
|
+
}, r1 = {
|
|
3422
3422
|
key: 0,
|
|
3423
3423
|
class: "space-y-2"
|
|
3424
|
-
},
|
|
3424
|
+
}, u1 = {
|
|
3425
3425
|
key: 1,
|
|
3426
3426
|
class: "rounded-[12px] bg-panel px-3 py-2 text-xs leading-5 text-muted"
|
|
3427
|
-
},
|
|
3427
|
+
}, c1 = {
|
|
3428
3428
|
key: 0,
|
|
3429
3429
|
class: "rounded-[16px] bg-soft p-3 text-sm text-muted"
|
|
3430
|
-
},
|
|
3430
|
+
}, d1 = { class: "mobile-page-picker" }, p1 = { class: "mobile-page-picker-list" }, v1 = ["onClick"], f1 = { class: "mobile-page-picker-code" }, m1 = { class: "mobile-page-picker-copy" }, g1 = {
|
|
3431
3431
|
key: 0,
|
|
3432
3432
|
class: "mobile-page-picker-count"
|
|
3433
|
-
},
|
|
3433
|
+
}, b1 = {
|
|
3434
3434
|
key: 0,
|
|
3435
3435
|
class: "mobile-page-picker-states"
|
|
3436
|
-
},
|
|
3436
|
+
}, y1 = ["onClick"], es = "prototype-core-authenticated", Ln = "prototype-core-page-description-summary-sections", Do = "prototype-core-panel-state-v1", ts = 393, h1 = 852, w1 = 24, Sa = 1920, x1 = 1080, S1 = 640, k1 = 60 * 1e3, I1 = /* @__PURE__ */ kn({
|
|
3437
3437
|
__name: "App",
|
|
3438
3438
|
setup(t) {
|
|
3439
3439
|
var Ll;
|
|
@@ -3500,7 +3500,7 @@ const _f = {
|
|
|
3500
3500
|
currentScreenAnnotations: T,
|
|
3501
3501
|
currentPageDescription: R,
|
|
3502
3502
|
isScreenHighlighted: D,
|
|
3503
|
-
activeScreenHighlightedStateIds:
|
|
3503
|
+
activeScreenHighlightedStateIds: H,
|
|
3504
3504
|
hoveredAnnotation: le,
|
|
3505
3505
|
initializePrototype: ge,
|
|
3506
3506
|
t: $,
|
|
@@ -3548,7 +3548,7 @@ const _f = {
|
|
|
3548
3548
|
zoomFlowAtPoint: ki,
|
|
3549
3549
|
overviewZoom: wt,
|
|
3550
3550
|
overviewColumns: Xt
|
|
3551
|
-
} =
|
|
3551
|
+
} = kf(), { saveFlowsToSession: Ci, pushFlowsToGitee: $i, exportFlows: _i } = Sf(), { unresolvedBugCount: ll, initializeBugs: Ii } = As(), Pi = k(
|
|
3552
3552
|
() => fe.filter((i) => i.platform === "mobile" && i.hasTabBar).map((i) => ({ id: i.id, label: i.title, icon: i.icon }))
|
|
3553
3553
|
), Jo = {
|
|
3554
3554
|
gitee: "Gitee",
|
|
@@ -3617,7 +3617,7 @@ const _f = {
|
|
|
3617
3617
|
]
|
|
3618
3618
|
}
|
|
3619
3619
|
];
|
|
3620
|
-
}), rl = k(() => Zo.value.reduce((i, o) => i + o.items.length, 0)), ul = k(() => Zo.value.reduce((i, o) => i + o.items.filter((a) => a.configured).length, 0)), qo = k(() => rl.value - ul.value), Qo = "1.0.
|
|
3620
|
+
}), rl = k(() => Zo.value.reduce((i, o) => i + o.items.length, 0)), ul = k(() => Zo.value.reduce((i, o) => i + o.items.filter((a) => a.configured).length, 0)), qo = k(() => rl.value - ul.value), Qo = "1.0.9", ea = b(""), qt = b("idle"), Ei = k(() => qt.value === "success" && ea.value !== Qo), Oi = k(() => qt.value === "success" ? `v${ea.value}` : qt.value === "error" ? "版本暂不可用" : "版本检测中");
|
|
3621
3621
|
async function Bi() {
|
|
3622
3622
|
if (qt.value !== "idle") return;
|
|
3623
3623
|
qt.value = "loading";
|
|
@@ -3663,7 +3663,7 @@ const _f = {
|
|
|
3663
3663
|
}
|
|
3664
3664
|
window.localStorage.setItem(es, "true"), Dn.value = !0, so.value = "", io.value = "", vl();
|
|
3665
3665
|
}
|
|
3666
|
-
const mo =
|
|
3666
|
+
const mo = Cf, Et = b(!1), go = b(((Ll = mo[0]) == null ? void 0 : Ll.hash) ?? ""), Ui = k(() => {
|
|
3667
3667
|
var i;
|
|
3668
3668
|
return ((i = mo[0]) == null ? void 0 : i.date) ?? "暂无记录";
|
|
3669
3669
|
}), de = b("prototype"), fl = b(null), Rn = b(!1), En = b(!1), Ot = b(!1), St = b(!1), kt = b(!0), ta = b(!1), ml = b(!1), Q = k(
|
|
@@ -4000,21 +4000,21 @@ const _f = {
|
|
|
4000
4000
|
ze.value = Qt.value.map((o) => o.id).filter((o) => !i.has(o)), window.localStorage.setItem(Ln, JSON.stringify(ze.value));
|
|
4001
4001
|
}
|
|
4002
4002
|
const ra = k(() => {
|
|
4003
|
-
const i = Math.max(1, Xt.value), a = ((oa.value || window.innerWidth) -
|
|
4003
|
+
const i = Math.max(1, Xt.value), a = ((oa.value || window.innerWidth) - w1 * (i - 1)) / i;
|
|
4004
4004
|
return Math.min(1, Math.max(0.36, Number((a / ts).toFixed(3))));
|
|
4005
|
-
}), $l = k(() => Math.round(ts * ra.value * 100) / 100), fr = k(() => Math.round(
|
|
4005
|
+
}), $l = k(() => Math.round(ts * ra.value * 100) / 100), fr = k(() => Math.round(h1 * ra.value * 100) / 100);
|
|
4006
4006
|
function mr() {
|
|
4007
4007
|
if (Be.value)
|
|
4008
4008
|
return Math.min(Sa, On.value, Math.max(0, yo.value - 48) * 16 / 9);
|
|
4009
4009
|
if (K.value === "overview") return $l.value;
|
|
4010
|
-
if (K.value === "flow") return
|
|
4010
|
+
if (K.value === "flow") return S1;
|
|
4011
4011
|
const i = oa.value || On.value;
|
|
4012
4012
|
return Math.min(1440, i, Math.max(0, yo.value - 120) * 16 / 9);
|
|
4013
4013
|
}
|
|
4014
4014
|
function gr(i) {
|
|
4015
4015
|
const o = K.value === "flow" ? hi(i) : {};
|
|
4016
4016
|
if (i.platform !== "pc") return o;
|
|
4017
|
-
const a = Math.max(1, mr()), y = a *
|
|
4017
|
+
const a = Math.max(1, mr()), y = a * x1 / Sa;
|
|
4018
4018
|
return {
|
|
4019
4019
|
...o,
|
|
4020
4020
|
"--desktop-display-width": `${a}px`,
|
|
@@ -4219,7 +4219,7 @@ const _f = {
|
|
|
4219
4219
|
dt.value && Ol();
|
|
4220
4220
|
});
|
|
4221
4221
|
function Dr() {
|
|
4222
|
-
Co || (Bl(), Co = window.setInterval(Bl,
|
|
4222
|
+
Co || (Bl(), Co = window.setInterval(Bl, k1));
|
|
4223
4223
|
}
|
|
4224
4224
|
async function Bl() {
|
|
4225
4225
|
var o, a;
|
|
@@ -4364,7 +4364,7 @@ const _f = {
|
|
|
4364
4364
|
style: Pe(l(ve))
|
|
4365
4365
|
}, [
|
|
4366
4366
|
Dn.value ? (v(), f(_, { key: 1 }, [
|
|
4367
|
-
ko.value && !Q.value ? (v(), f("div",
|
|
4367
|
+
ko.value && !Q.value ? (v(), f("div", Af, [
|
|
4368
4368
|
e("div", { class: "update-banner-inner" }, [
|
|
4369
4369
|
o[88] || (o[88] = e("p", null, "🔔 检测到新版本,刷新后即可使用最新页面", -1)),
|
|
4370
4370
|
e("div", { class: "update-banner-actions" }, [
|
|
@@ -4380,18 +4380,18 @@ const _f = {
|
|
|
4380
4380
|
])
|
|
4381
4381
|
])
|
|
4382
4382
|
])) : w("", !0),
|
|
4383
|
-
Q.value ? w("", !0) : (v(), f("div",
|
|
4384
|
-
e("div",
|
|
4385
|
-
e("div",
|
|
4383
|
+
Q.value ? w("", !0) : (v(), f("div", Nf, [
|
|
4384
|
+
e("div", Tf, [
|
|
4385
|
+
e("div", Rf, [
|
|
4386
4386
|
e("button", {
|
|
4387
4387
|
class: "project-title-btn",
|
|
4388
4388
|
type: "button",
|
|
4389
4389
|
onClick: o[2] || (o[2] = (a) => bn())
|
|
4390
4390
|
}, [
|
|
4391
|
-
e("p",
|
|
4392
|
-
e("p",
|
|
4391
|
+
e("p", Ef, p(l($)("prototypeTitle")), 1),
|
|
4392
|
+
e("p", Of, p(l($)("prototypeSubtitle")), 1)
|
|
4393
4393
|
]),
|
|
4394
|
-
e("div",
|
|
4394
|
+
e("div", Bf, [
|
|
4395
4395
|
e("p", null, [
|
|
4396
4396
|
o[89] || (o[89] = e("span", null, "当前", -1)),
|
|
4397
4397
|
e("b", null, "v" + p(l(Qo)), 1)
|
|
@@ -4404,7 +4404,7 @@ const _f = {
|
|
|
4404
4404
|
])
|
|
4405
4405
|
])
|
|
4406
4406
|
]),
|
|
4407
|
-
e("div",
|
|
4407
|
+
e("div", Mf, [
|
|
4408
4408
|
o[92] || (o[92] = e("a", {
|
|
4409
4409
|
class: "mode-btn top-level-mode-btn rounded-full bg-panel ring-1 ring-line",
|
|
4410
4410
|
href: "https://altimodo-doc.doc.gominex.com/",
|
|
@@ -4423,10 +4423,10 @@ const _f = {
|
|
|
4423
4423
|
class: P(["mode-btn bug-nav-btn rounded-full bg-panel ring-1 ring-line", { active: de.value === "bugs" }]),
|
|
4424
4424
|
onClick: Tr
|
|
4425
4425
|
}, [
|
|
4426
|
-
o[91] || (o[91] =
|
|
4427
|
-
l(ll) ? (v(), f("span",
|
|
4426
|
+
o[91] || (o[91] = G(" Bug ", -1)),
|
|
4427
|
+
l(ll) ? (v(), f("span", Uf, p(l(ll)), 1)) : w("", !0)
|
|
4428
4428
|
], 2),
|
|
4429
|
-
e("div",
|
|
4429
|
+
e("div", jf, [
|
|
4430
4430
|
e("button", {
|
|
4431
4431
|
class: P(["mode-btn", { active: de.value === "prototype" && l(r) === "interactive" }]),
|
|
4432
4432
|
onClick: o[3] || (o[3] = (a) => bn("interactive"))
|
|
@@ -4440,7 +4440,7 @@ const _f = {
|
|
|
4440
4440
|
onClick: o[5] || (o[5] = (a) => bn("flow"))
|
|
4441
4441
|
}, "流程模式", 2)
|
|
4442
4442
|
]),
|
|
4443
|
-
e("div",
|
|
4443
|
+
e("div", Vf, [
|
|
4444
4444
|
e("button", {
|
|
4445
4445
|
class: P(["mode-btn", { active: l(s) === "zh" }]),
|
|
4446
4446
|
onClick: o[6] || (o[6] = (a) => s.value = "zh")
|
|
@@ -4450,7 +4450,7 @@ const _f = {
|
|
|
4450
4450
|
onClick: o[7] || (o[7] = (a) => s.value = "en")
|
|
4451
4451
|
}, "English", 2)
|
|
4452
4452
|
]),
|
|
4453
|
-
e("div",
|
|
4453
|
+
e("div", Lf, [
|
|
4454
4454
|
e("button", {
|
|
4455
4455
|
class: P(["mode-btn flex items-center gap-2", { active: l(C) }]),
|
|
4456
4456
|
onClick: o[8] || (o[8] = (a) => C.value = !l(C))
|
|
@@ -4459,13 +4459,13 @@ const _f = {
|
|
|
4459
4459
|
class: "theme-swatch",
|
|
4460
4460
|
style: Pe({ "--swatch-color": l(ot).ocean })
|
|
4461
4461
|
}, null, 4),
|
|
4462
|
-
|
|
4462
|
+
G(" " + p(l($)("themeButton")), 1)
|
|
4463
4463
|
], 2),
|
|
4464
|
-
l(C) ? (v(), f("div",
|
|
4465
|
-
e("div",
|
|
4464
|
+
l(C) ? (v(), f("div", Ff, [
|
|
4465
|
+
e("div", Kf, [
|
|
4466
4466
|
e("div", null, [
|
|
4467
|
-
e("p",
|
|
4468
|
-
e("p",
|
|
4467
|
+
e("p", zf, p(l($)("themeTitle")), 1),
|
|
4468
|
+
e("p", Gf, p(l($)("themeDescription")), 1)
|
|
4469
4469
|
]),
|
|
4470
4470
|
e("button", {
|
|
4471
4471
|
class: "text-xs font-semibold text-ocean",
|
|
@@ -4473,7 +4473,7 @@ const _f = {
|
|
|
4473
4473
|
(...a) => l(lt) && l(lt)(...a))
|
|
4474
4474
|
}, p(l($)("themeReset")), 1)
|
|
4475
4475
|
]),
|
|
4476
|
-
e("div",
|
|
4476
|
+
e("div", Hf, [
|
|
4477
4477
|
(v(!0), f(_, null, N(l(ie), (a) => (v(), f("button", {
|
|
4478
4478
|
key: a.id,
|
|
4479
4479
|
class: P(["theme-scheme-btn", { active: l(g) === a.id }]),
|
|
@@ -4483,13 +4483,13 @@ const _f = {
|
|
|
4483
4483
|
class: "theme-swatch",
|
|
4484
4484
|
style: Pe({ "--swatch-color": a.colors.ocean })
|
|
4485
4485
|
}, null, 4),
|
|
4486
|
-
e("span",
|
|
4486
|
+
e("span", Yf, [
|
|
4487
4487
|
e("b", null, p(l($)(a.nameKey)), 1),
|
|
4488
4488
|
e("small", null, p(l($)(a.descriptionKey)), 1)
|
|
4489
4489
|
])
|
|
4490
|
-
], 10,
|
|
4490
|
+
], 10, Wf))), 128))
|
|
4491
4491
|
]),
|
|
4492
|
-
e("div",
|
|
4492
|
+
e("div", Jf, [
|
|
4493
4493
|
e("button", {
|
|
4494
4494
|
class: "theme-file-btn",
|
|
4495
4495
|
onClick: o[10] || (o[10] = //@ts-ignore
|
|
@@ -4512,7 +4512,7 @@ const _f = {
|
|
|
4512
4512
|
(...a) => l(oo) && l(oo)(...a))
|
|
4513
4513
|
}, null, 544)
|
|
4514
4514
|
]),
|
|
4515
|
-
e("div",
|
|
4515
|
+
e("div", Xf, [
|
|
4516
4516
|
(v(!0), f(_, null, N(l(n), (a) => (v(), f("label", {
|
|
4517
4517
|
key: a.key,
|
|
4518
4518
|
class: "theme-color-field"
|
|
@@ -4521,7 +4521,7 @@ const _f = {
|
|
|
4521
4521
|
type: "color",
|
|
4522
4522
|
value: l(ot)[a.key],
|
|
4523
4523
|
onInput: (y) => l(Wt)(a.key, y.target.value)
|
|
4524
|
-
}, null, 40,
|
|
4524
|
+
}, null, 40, Zf),
|
|
4525
4525
|
e("span", null, [
|
|
4526
4526
|
e("b", null, p(l($)(a.labelKey)), 1),
|
|
4527
4527
|
e("small", null, p(l($)(a.descKey)), 1)
|
|
@@ -4530,7 +4530,7 @@ const _f = {
|
|
|
4530
4530
|
type: "text",
|
|
4531
4531
|
value: l(ot)[a.key],
|
|
4532
4532
|
onInput: (y) => l(Wt)(a.key, y.target.value)
|
|
4533
|
-
}, null, 40,
|
|
4533
|
+
}, null, 40, qf)
|
|
4534
4534
|
]))), 128))
|
|
4535
4535
|
])
|
|
4536
4536
|
])) : w("", !0)
|
|
@@ -4538,7 +4538,7 @@ const _f = {
|
|
|
4538
4538
|
])
|
|
4539
4539
|
])
|
|
4540
4540
|
])),
|
|
4541
|
-
de.value === "bugs" && !Q.value ? (v(), st(
|
|
4541
|
+
de.value === "bugs" && !Q.value ? (v(), st(jp, {
|
|
4542
4542
|
key: 2,
|
|
4543
4543
|
onClose: pa
|
|
4544
4544
|
})) : w("", !0),
|
|
@@ -4546,7 +4546,7 @@ const _f = {
|
|
|
4546
4546
|
key: 3,
|
|
4547
4547
|
class: P(["prototype-stage mx-auto flex w-full flex-col gap-6 px-4 py-6 lg:px-8", K.value === "overview" ? "max-w-none" : K.value === "interactive" && l(bt) === "pc" ? "max-w-[1504px]" : "max-w-7xl"])
|
|
4548
4548
|
}, [
|
|
4549
|
-
Q.value ? w("", !0) : (v(), f("section",
|
|
4549
|
+
Q.value ? w("", !0) : (v(), f("section", Qf, [
|
|
4550
4550
|
K.value === "interactive" ? (v(), f("button", {
|
|
4551
4551
|
key: 0,
|
|
4552
4552
|
class: "page-description-summary",
|
|
@@ -4557,15 +4557,15 @@ const _f = {
|
|
|
4557
4557
|
}, [
|
|
4558
4558
|
e("p", null, [
|
|
4559
4559
|
o[93] || (o[93] = e("b", null, "页面结构:", -1)),
|
|
4560
|
-
|
|
4560
|
+
G(p(et.value.structure), 1)
|
|
4561
4561
|
]),
|
|
4562
4562
|
e("p", null, [
|
|
4563
4563
|
o[94] || (o[94] = e("b", null, "核心功能:", -1)),
|
|
4564
|
-
|
|
4564
|
+
G(p(et.value.features), 1)
|
|
4565
4565
|
])
|
|
4566
|
-
])) : (v(), f("p",
|
|
4566
|
+
])) : (v(), f("p", em, p(l($)("heroCopy")), 1))
|
|
4567
4567
|
])),
|
|
4568
|
-
e("div",
|
|
4568
|
+
e("div", tm, [
|
|
4569
4569
|
K.value === "interactive" && !Q.value ? (v(), f("aside", {
|
|
4570
4570
|
key: 0,
|
|
4571
4571
|
class: P(["apple-side-nav interactive-side-nav", {
|
|
@@ -4579,7 +4579,7 @@ const _f = {
|
|
|
4579
4579
|
type: "button",
|
|
4580
4580
|
onClick: Al
|
|
4581
4581
|
}, p(Ot.value ? "展开导航" : "收起导航"), 1),
|
|
4582
|
-
Ot.value ? w("", !0) : (v(), f("div",
|
|
4582
|
+
Ot.value ? w("", !0) : (v(), f("div", nm, [
|
|
4583
4583
|
e("div", {
|
|
4584
4584
|
ref_key: "interactiveSideNavRef",
|
|
4585
4585
|
ref: fl,
|
|
@@ -4596,26 +4596,26 @@ const _f = {
|
|
|
4596
4596
|
"aria-hidden": "true"
|
|
4597
4597
|
}, p(a.platform === "pc" ? "P" : "M"), 3),
|
|
4598
4598
|
(v(), st(Bo(a.icon), { class: "h-4 w-4" })),
|
|
4599
|
-
e("span",
|
|
4600
|
-
e("
|
|
4601
|
-
l(yt)(a.id) ? (v(), f("span",
|
|
4602
|
-
l(D)(a.id) ? (v(), f("span",
|
|
4599
|
+
e("span", am, p(a.code) + " " + p(a.title), 1),
|
|
4600
|
+
e("div", lm, [
|
|
4601
|
+
l(yt)(a.id) ? (v(), f("span", sm, p(l(yt)(a.id)), 1)) : w("", !0),
|
|
4602
|
+
l(D)(a.id) ? (v(), f("span", im)) : w("", !0)
|
|
4603
4603
|
])
|
|
4604
|
-
], 10,
|
|
4604
|
+
], 10, om))), 128))
|
|
4605
4605
|
], 544),
|
|
4606
|
-
Rn.value ? (v(), f("svg",
|
|
4606
|
+
Rn.value ? (v(), f("svg", rm, [...o[95] || (o[95] = [
|
|
4607
4607
|
e("path", { d: "M12 19V5M5 12l7-7 7 7" }, null, -1)
|
|
4608
4608
|
])])) : w("", !0),
|
|
4609
|
-
En.value ? (v(), f("svg",
|
|
4609
|
+
En.value ? (v(), f("svg", um, [...o[96] || (o[96] = [
|
|
4610
4610
|
e("path", { d: "M12 5v14M5 12l7 7 7-7" }, null, -1)
|
|
4611
4611
|
])])) : w("", !0)
|
|
4612
4612
|
]))
|
|
4613
4613
|
], 2)) : w("", !0),
|
|
4614
|
-
K.value === "overview" ? (v(), f("aside",
|
|
4614
|
+
K.value === "overview" ? (v(), f("aside", cm, [
|
|
4615
4615
|
o[101] || (o[101] = e("p", { class: "px-2 pb-3 text-sm font-semibold text-muted" }, "显示设置", -1)),
|
|
4616
|
-
e("div",
|
|
4616
|
+
e("div", dm, [
|
|
4617
4617
|
o[99] || (o[99] = e("label", { class: "mb-2 block text-xs font-semibold text-muted" }, "每行数量", -1)),
|
|
4618
|
-
e("div",
|
|
4618
|
+
e("div", pm, [
|
|
4619
4619
|
o[97] || (o[97] = e("span", { class: "text-xs text-muted" }, "3", -1)),
|
|
4620
4620
|
A(e("input", {
|
|
4621
4621
|
"onUpdate:modelValue": o[14] || (o[14] = (a) => yn(Xt) ? Xt.value = a : null),
|
|
@@ -4634,18 +4634,18 @@ const _f = {
|
|
|
4634
4634
|
]
|
|
4635
4635
|
]),
|
|
4636
4636
|
o[98] || (o[98] = e("span", { class: "text-xs text-muted" }, "6", -1)),
|
|
4637
|
-
e("strong",
|
|
4637
|
+
e("strong", vm, p(l(Xt)), 1)
|
|
4638
4638
|
])
|
|
4639
4639
|
]),
|
|
4640
|
-
e("div",
|
|
4640
|
+
e("div", fm, [
|
|
4641
4641
|
o[100] || (o[100] = e("label", { class: "mb-2 block text-xs font-semibold text-muted" }, "缩放", -1)),
|
|
4642
|
-
e("div",
|
|
4642
|
+
e("div", mm, [
|
|
4643
4643
|
e("button", {
|
|
4644
4644
|
type: "button",
|
|
4645
4645
|
class: "overview-zoom-btn",
|
|
4646
4646
|
onClick: o[15] || (o[15] = (a) => Il(-0.06))
|
|
4647
4647
|
}, "−"),
|
|
4648
|
-
e("strong",
|
|
4648
|
+
e("strong", gm, p(Math.round(l(wt) * 100)) + "%", 1),
|
|
4649
4649
|
e("button", {
|
|
4650
4650
|
type: "button",
|
|
4651
4651
|
class: "overview-zoom-btn",
|
|
@@ -4661,8 +4661,8 @@ const _f = {
|
|
|
4661
4661
|
])
|
|
4662
4662
|
])
|
|
4663
4663
|
])) : w("", !0),
|
|
4664
|
-
K.value === "flow" ? (v(), f("aside",
|
|
4665
|
-
e("div",
|
|
4664
|
+
K.value === "flow" ? (v(), f("aside", bm, [
|
|
4665
|
+
e("div", ym, [
|
|
4666
4666
|
o[103] || (o[103] = e("p", { class: "text-sm font-semibold text-muted" }, "主流程", -1)),
|
|
4667
4667
|
e("button", {
|
|
4668
4668
|
class: "flex items-center gap-1 rounded-lg bg-soft px-2.5 py-1 text-xs font-medium text-ink hover:bg-canvas transition",
|
|
@@ -4680,7 +4680,7 @@ const _f = {
|
|
|
4680
4680
|
e("path", { d: "M12 20h9" }),
|
|
4681
4681
|
e("path", { d: "M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" })
|
|
4682
4682
|
], -1),
|
|
4683
|
-
|
|
4683
|
+
G(" 编辑流程 ", -1)
|
|
4684
4684
|
])])
|
|
4685
4685
|
]),
|
|
4686
4686
|
(v(!0), f(_, null, N(l(Pt), (a) => (v(), f("button", {
|
|
@@ -4689,19 +4689,19 @@ const _f = {
|
|
|
4689
4689
|
onClick: (y) => l(yi)(a.id)
|
|
4690
4690
|
}, [
|
|
4691
4691
|
o[104] || (o[104] = e("span", { class: "flow-dot" }, null, -1)),
|
|
4692
|
-
e("span",
|
|
4692
|
+
e("span", wm, [
|
|
4693
4693
|
e("b", null, p(a.title), 1),
|
|
4694
4694
|
e("small", null, p(a.subtitle), 1)
|
|
4695
4695
|
])
|
|
4696
|
-
], 10,
|
|
4696
|
+
], 10, hm))), 128))
|
|
4697
4697
|
])) : w("", !0),
|
|
4698
4698
|
e("section", {
|
|
4699
4699
|
ref_key: "overviewStageRef",
|
|
4700
4700
|
ref: bo,
|
|
4701
4701
|
class: "flex-1 relative"
|
|
4702
4702
|
}, [
|
|
4703
|
-
K.value === "flow" ? (v(), f("div",
|
|
4704
|
-
e("div",
|
|
4703
|
+
K.value === "flow" ? (v(), f("div", xm, [
|
|
4704
|
+
e("div", Sm, [
|
|
4705
4705
|
e("button", {
|
|
4706
4706
|
type: "button",
|
|
4707
4707
|
onClick: o[18] || (o[18] = (a) => l(nl)(0.06))
|
|
@@ -4779,19 +4779,19 @@ const _f = {
|
|
|
4779
4779
|
"overview-desktop-scale": K.value === "overview" && a.platform === "pc"
|
|
4780
4780
|
}])
|
|
4781
4781
|
}, [
|
|
4782
|
-
K.value === "interactive" && !Q.value && a.platform === "mobile" && l(Ye).length && l(Ze) ? (v(), st(
|
|
4782
|
+
K.value === "interactive" && !Q.value && a.platform === "mobile" && l(Ye).length && l(Ze) ? (v(), st(cu, {
|
|
4783
4783
|
key: 0,
|
|
4784
4784
|
title: l($)("prototypeStateSwitch"),
|
|
4785
4785
|
options: l(Ye),
|
|
4786
4786
|
"active-id": l(Ze),
|
|
4787
4787
|
"count-for-state": (y) => l(Ke)(l(u), y),
|
|
4788
|
-
"highlighted-ids": l(
|
|
4788
|
+
"highlighted-ids": l(H),
|
|
4789
4789
|
onChange: o[22] || (o[22] = (y) => l(Yt)(l(u), y))
|
|
4790
4790
|
}, null, 8, ["title", "options", "active-id", "count-for-state", "highlighted-ids"])) : w("", !0),
|
|
4791
4791
|
e("div", {
|
|
4792
4792
|
class: P(a.platform === "pc" ? "desktop-frame" : "phone-screen")
|
|
4793
4793
|
}, [
|
|
4794
|
-
a.platform === "mobile" && !Q.value ? (v(), f("div",
|
|
4794
|
+
a.platform === "mobile" && !Q.value ? (v(), f("div", km, [...o[106] || (o[106] = [
|
|
4795
4795
|
e("span", null, "9:41", -1),
|
|
4796
4796
|
e("span", null, "86%", -1)
|
|
4797
4797
|
])])) : w("", !0),
|
|
@@ -4803,9 +4803,9 @@ const _f = {
|
|
|
4803
4803
|
}]),
|
|
4804
4804
|
onClickCapture: (y) => !Q.value && l(Wo)(y, a.id)
|
|
4805
4805
|
}, [
|
|
4806
|
-
e("div",
|
|
4806
|
+
e("div", $m, [
|
|
4807
4807
|
X(zn, { screen: a }, null, 8, ["screen"]),
|
|
4808
|
-
K.value === "interactive" && !Q.value && !Be.value && l(q) === "annotations" && l(oe) ? (v(), f("div",
|
|
4808
|
+
K.value === "interactive" && !Q.value && !Be.value && l(q) === "annotations" && l(oe) ? (v(), f("div", _m, [
|
|
4809
4809
|
(v(!0), f(_, null, N(l(T), (y, j) => {
|
|
4810
4810
|
var F;
|
|
4811
4811
|
return v(), f("div", {
|
|
@@ -4831,8 +4831,8 @@ const _f = {
|
|
|
4831
4831
|
onPointermove: nr,
|
|
4832
4832
|
onPointerup: or,
|
|
4833
4833
|
onPointercancel: ar
|
|
4834
|
-
}, p(j + 1), 41,
|
|
4835
|
-
], 46,
|
|
4834
|
+
}, p(j + 1), 41, Pm)
|
|
4835
|
+
], 46, Im);
|
|
4836
4836
|
}), 128)),
|
|
4837
4837
|
Ki.value ? (v(), f("div", {
|
|
4838
4838
|
key: 0,
|
|
@@ -4846,7 +4846,7 @@ const _f = {
|
|
|
4846
4846
|
])], 4)) : w("", !0)
|
|
4847
4847
|
])) : w("", !0)
|
|
4848
4848
|
])
|
|
4849
|
-
], 42,
|
|
4849
|
+
], 42, Cm),
|
|
4850
4850
|
a.platform === "mobile" && a.hasTabBar ? (v(), st(au, {
|
|
4851
4851
|
key: 1,
|
|
4852
4852
|
active: l(xe),
|
|
@@ -4863,10 +4863,10 @@ const _f = {
|
|
|
4863
4863
|
class: P(["platform-badge is-small", a.platform === "pc" ? "is-pc" : "is-mobile"]),
|
|
4864
4864
|
"aria-hidden": "true"
|
|
4865
4865
|
}, p(a.platform === "pc" ? "P" : "M"), 3),
|
|
4866
|
-
a.platform === "mobile" ? (v(), f("br",
|
|
4867
|
-
|
|
4866
|
+
a.platform === "mobile" ? (v(), f("br", Dm)) : w("", !0),
|
|
4867
|
+
G(" " + p(a.code) + " · " + p(a.title), 1),
|
|
4868
4868
|
a.stateLabel ? (v(), f(_, { key: 1 }, [
|
|
4869
|
-
|
|
4869
|
+
G(" · " + p(a.stateLabel), 1)
|
|
4870
4870
|
], 64)) : w("", !0)
|
|
4871
4871
|
], 2)) : w("", !0)
|
|
4872
4872
|
], 6))), 128))
|
|
@@ -4885,19 +4885,19 @@ const _f = {
|
|
|
4885
4885
|
onClick: o[29] || (o[29] = (a) => ce.value = !l(ce))
|
|
4886
4886
|
}, p(l(ce) ? l($)("annotationExpand") : l($)("annotationCollapse")), 1),
|
|
4887
4887
|
l(ce) ? w("", !0) : (v(), f(_, { key: 0 }, [
|
|
4888
|
-
e("div",
|
|
4888
|
+
e("div", Am, [
|
|
4889
4889
|
e("div", null, [
|
|
4890
4890
|
e("p", null, p(l($)("annotationPanelTitle")), 1),
|
|
4891
4891
|
e("span", null, [
|
|
4892
|
-
|
|
4892
|
+
G(p(l($)("annotationPanelSubtitle")) + " · " + p(l(mt).code), 1),
|
|
4893
4893
|
fn.value ? (v(), f(_, { key: 0 }, [
|
|
4894
|
-
|
|
4894
|
+
G(" · " + p(fn.value), 1)
|
|
4895
4895
|
], 64)) : w("", !0)
|
|
4896
4896
|
])
|
|
4897
4897
|
]),
|
|
4898
4898
|
e("strong", null, p(l(q) === "annotations" ? l(T).length : l(R) ? 1 : 0), 1)
|
|
4899
4899
|
]),
|
|
4900
|
-
e("div",
|
|
4900
|
+
e("div", Nm, [
|
|
4901
4901
|
e("button", {
|
|
4902
4902
|
type: "button",
|
|
4903
4903
|
class: P({ active: l(q) === "annotations" }),
|
|
@@ -4911,7 +4911,7 @@ const _f = {
|
|
|
4911
4911
|
})
|
|
4912
4912
|
}, p(l($)("annotationTabDescription")), 3)
|
|
4913
4913
|
]),
|
|
4914
|
-
l(q) === "annotations" ? (v(), f("div",
|
|
4914
|
+
l(q) === "annotations" ? (v(), f("div", Tm, [
|
|
4915
4915
|
e("button", {
|
|
4916
4916
|
type: "button",
|
|
4917
4917
|
class: P({ active: l(Z) }),
|
|
@@ -4926,18 +4926,18 @@ const _f = {
|
|
|
4926
4926
|
type: "button",
|
|
4927
4927
|
disabled: l(ke) === "syncing",
|
|
4928
4928
|
onClick: o[34] || (o[34] = (a) => l(ht)())
|
|
4929
|
-
}, p(l($)("annotationRefresh")), 9,
|
|
4929
|
+
}, p(l($)("annotationRefresh")), 9, Rm),
|
|
4930
4930
|
e("button", {
|
|
4931
4931
|
type: "button",
|
|
4932
4932
|
onClick: o[35] || (o[35] = //@ts-ignore
|
|
4933
4933
|
(...a) => l(Qa) && l(Qa)(...a))
|
|
4934
4934
|
}, p(l($)("annotationExport")), 1)
|
|
4935
|
-
])) : (v(), f("div",
|
|
4935
|
+
])) : (v(), f("div", Em, [
|
|
4936
4936
|
e("button", {
|
|
4937
4937
|
type: "button",
|
|
4938
4938
|
disabled: l(ke) === "syncing",
|
|
4939
4939
|
onClick: o[36] || (o[36] = (a) => l(rn)())
|
|
4940
|
-
}, p(l($)("annotationRefresh")), 9,
|
|
4940
|
+
}, p(l($)("annotationRefresh")), 9, Om),
|
|
4941
4941
|
e("button", {
|
|
4942
4942
|
type: "button",
|
|
4943
4943
|
onClick: o[37] || (o[37] = //@ts-ignore
|
|
@@ -4954,19 +4954,19 @@ const _f = {
|
|
|
4954
4954
|
}, [
|
|
4955
4955
|
e("span", null, p(l(Se) ? l(Je) : l($)("annotationRemoteDisabled")), 1)
|
|
4956
4956
|
], 2),
|
|
4957
|
-
e("label",
|
|
4957
|
+
e("label", Bm, [
|
|
4958
4958
|
e("span", null, p(l($)("annotationAuthorName")), 1),
|
|
4959
4959
|
A(e("input", {
|
|
4960
4960
|
"onUpdate:modelValue": o[38] || (o[38] = (a) => yn(ue) ? ue.value = a : null),
|
|
4961
4961
|
type: "text",
|
|
4962
4962
|
placeholder: l($)("annotationAuthorPlaceholder")
|
|
4963
|
-
}, null, 8,
|
|
4963
|
+
}, null, 8, Mm), [
|
|
4964
4964
|
[z, l(ue)]
|
|
4965
4965
|
])
|
|
4966
4966
|
]),
|
|
4967
|
-
e("label",
|
|
4967
|
+
e("label", Um, [
|
|
4968
4968
|
e("span", null, p(l($)("annotationPollingInterval")), 1),
|
|
4969
|
-
e("div",
|
|
4969
|
+
e("div", jm, [
|
|
4970
4970
|
A(e("input", {
|
|
4971
4971
|
"onUpdate:modelValue": o[39] || (o[39] = (a) => yn(Ne) ? Ne.value = a : null),
|
|
4972
4972
|
min: "10",
|
|
@@ -4987,12 +4987,12 @@ const _f = {
|
|
|
4987
4987
|
disabled: Number(l(Ne)) === l(Ce),
|
|
4988
4988
|
onClick: o[40] || (o[40] = //@ts-ignore
|
|
4989
4989
|
(...a) => l(qa) && l(qa)(...a))
|
|
4990
|
-
}, p(l($)("annotationPollingSave")), 9,
|
|
4990
|
+
}, p(l($)("annotationPollingSave")), 9, Vm)
|
|
4991
4991
|
])
|
|
4992
4992
|
]),
|
|
4993
|
-
e("p",
|
|
4994
|
-
l(q) === "annotations" ? (v(), f("div",
|
|
4995
|
-
l(T).length ? w("", !0) : (v(), f("p",
|
|
4993
|
+
e("p", Lm, p(l(Ue)), 1),
|
|
4994
|
+
l(q) === "annotations" ? (v(), f("div", Fm, [
|
|
4995
|
+
l(T).length ? w("", !0) : (v(), f("p", Km, p(l($)("annotationEmpty")), 1)),
|
|
4996
4996
|
(v(!0), f(_, null, N(l(T), (a, y) => (v(), f("section", {
|
|
4997
4997
|
key: a.id,
|
|
4998
4998
|
onMouseenter: (j) => sr(a),
|
|
@@ -5004,38 +5004,38 @@ const _f = {
|
|
|
5004
5004
|
e("h3", null, p(a.featureName), 1),
|
|
5005
5005
|
e("p", null, p(a.featureDescription), 1),
|
|
5006
5006
|
e("small", null, p(a.specialNote), 1),
|
|
5007
|
-
a.authorName || a.updatedAt ? (v(), f("small",
|
|
5008
|
-
|
|
5007
|
+
a.authorName || a.updatedAt ? (v(), f("small", Gm, [
|
|
5008
|
+
G(p(a.authorName || "未署名"), 1),
|
|
5009
5009
|
ia(a.updatedAt) ? (v(), f(_, { key: 0 }, [
|
|
5010
|
-
|
|
5010
|
+
G(" · " + p(ia(a.updatedAt)), 1)
|
|
5011
5011
|
], 64)) : w("", !0)
|
|
5012
5012
|
])) : w("", !0)
|
|
5013
5013
|
]),
|
|
5014
|
-
e("div",
|
|
5014
|
+
e("div", Hm, [
|
|
5015
5015
|
e("button", {
|
|
5016
5016
|
class: "annotation-list-edit",
|
|
5017
5017
|
type: "button",
|
|
5018
5018
|
onClick: (j) => l(In)(a.id)
|
|
5019
|
-
}, p(l($)("editProfile")), 9,
|
|
5019
|
+
}, p(l($)("editProfile")), 9, Wm),
|
|
5020
5020
|
e("button", {
|
|
5021
5021
|
class: "annotation-list-delete annotation-delete-btn",
|
|
5022
5022
|
type: "button",
|
|
5023
5023
|
disabled: !l(ue).trim(),
|
|
5024
5024
|
title: l(ue).trim() ? "" : "请先输入昵称以删除注释",
|
|
5025
5025
|
onClick: (j) => l(be)(a.id)
|
|
5026
|
-
}, p(l($)("annotationDelete")), 9,
|
|
5026
|
+
}, p(l($)("annotationDelete")), 9, Ym)
|
|
5027
5027
|
])
|
|
5028
|
-
], 40,
|
|
5029
|
-
])) : (v(), f("div",
|
|
5028
|
+
], 40, zm))), 128))
|
|
5029
|
+
])) : (v(), f("div", Jm, [
|
|
5030
5030
|
l(R) ? (v(), f(_, { key: 1 }, [
|
|
5031
|
-
wo.value ? (v(), f("small",
|
|
5031
|
+
wo.value ? (v(), f("small", Zm, p(wo.value), 1)) : w("", !0),
|
|
5032
5032
|
(v(!0), f(_, null, N(Qt.value, (a) => (v(), f("section", {
|
|
5033
5033
|
key: a.id
|
|
5034
5034
|
}, [
|
|
5035
5035
|
e("h3", null, p(a.label), 1),
|
|
5036
5036
|
e("p", null, p(a.value), 1)
|
|
5037
5037
|
]))), 128))
|
|
5038
|
-
], 64)) : (v(), f("p",
|
|
5038
|
+
], 64)) : (v(), f("p", Xm, p(l($)("pageDescriptionEmpty")), 1))
|
|
5039
5039
|
]))
|
|
5040
5040
|
], 64))
|
|
5041
5041
|
], 2)) : w("", !0),
|
|
@@ -5051,13 +5051,13 @@ const _f = {
|
|
|
5051
5051
|
onClick: o[42] || (o[42] = (a) => St.value = !St.value)
|
|
5052
5052
|
}, p(St.value ? "展开数据源" : "收起数据源"), 1),
|
|
5053
5053
|
St.value ? w("", !0) : (v(), f(_, { key: 0 }, [
|
|
5054
|
-
e("div",
|
|
5055
|
-
e("span",
|
|
5054
|
+
e("div", qm, [
|
|
5055
|
+
e("span", Qm, p(l(ft) === "warning" || l(ft) === "conflict" ? "⚠" : "●"), 1),
|
|
5056
5056
|
e("strong", null, p(Ti.value), 1),
|
|
5057
5057
|
e("small", null, [
|
|
5058
|
-
|
|
5058
|
+
G("· " + p(Di.value), 1),
|
|
5059
5059
|
sl.value ? (v(), f(_, { key: 0 }, [
|
|
5060
|
-
|
|
5060
|
+
G(" · " + p(sl.value), 1)
|
|
5061
5061
|
], 64)) : w("", !0)
|
|
5062
5062
|
])
|
|
5063
5063
|
]),
|
|
@@ -5069,7 +5069,7 @@ const _f = {
|
|
|
5069
5069
|
disabled: l(je) === "running",
|
|
5070
5070
|
onClick: o[43] || (o[43] = //@ts-ignore
|
|
5071
5071
|
(...a) => l(Za) && l(Za)(...a))
|
|
5072
|
-
}, p(l(je) === "running" ? `${l(E).current}/${l(E).total}` : Ni.value ? "检查远端资料" : "初始化到 Gitee"), 9,
|
|
5072
|
+
}, p(l(je) === "running" ? `${l(E).current}/${l(E).total}` : Ni.value ? "检查远端资料" : "初始化到 Gitee"), 9, eg)) : w("", !0),
|
|
5073
5073
|
e("button", {
|
|
5074
5074
|
class: "environment-check-trigger",
|
|
5075
5075
|
type: "button",
|
|
@@ -5082,16 +5082,16 @@ const _f = {
|
|
|
5082
5082
|
class: "environment-check-backdrop",
|
|
5083
5083
|
onClick: o[46] || (o[46] = re((a) => Zt.value = !1, ["self"]))
|
|
5084
5084
|
}, [
|
|
5085
|
-
e("section",
|
|
5085
|
+
e("section", tg, [
|
|
5086
5086
|
e("header", null, [
|
|
5087
5087
|
e("div", null, [
|
|
5088
5088
|
o[108] || (o[108] = e("h2", { id: "environment-check-title" }, "环境变量检查", -1)),
|
|
5089
5089
|
e("p", {
|
|
5090
5090
|
class: P({ "has-missing": qo.value > 0 })
|
|
5091
5091
|
}, [
|
|
5092
|
-
|
|
5092
|
+
G(p(ul.value) + " / " + p(rl.value) + " 已配置 ", 1),
|
|
5093
5093
|
qo.value ? (v(), f(_, { key: 0 }, [
|
|
5094
|
-
|
|
5094
|
+
G(" · 缺失 " + p(qo.value) + " 项", 1)
|
|
5095
5095
|
], 64)) : w("", !0)
|
|
5096
5096
|
], 2)
|
|
5097
5097
|
]),
|
|
@@ -5101,7 +5101,7 @@ const _f = {
|
|
|
5101
5101
|
onClick: o[45] || (o[45] = (a) => Zt.value = !1)
|
|
5102
5102
|
}, "×")
|
|
5103
5103
|
]),
|
|
5104
|
-
e("div",
|
|
5104
|
+
e("div", ng, [
|
|
5105
5105
|
(v(!0), f(_, null, N(Zo.value, (a) => (v(), f("section", {
|
|
5106
5106
|
key: a.id
|
|
5107
5107
|
}, [
|
|
@@ -5110,7 +5110,7 @@ const _f = {
|
|
|
5110
5110
|
key: y.name,
|
|
5111
5111
|
class: P(["environment-check-row", { missing: !y.configured }])
|
|
5112
5112
|
}, [
|
|
5113
|
-
e("span",
|
|
5113
|
+
e("span", og, p(y.configured ? "✓" : "✕"), 1),
|
|
5114
5114
|
e("code", null, p(y.name), 1),
|
|
5115
5115
|
e("b", null, p(y.configured ? "已配置" : "请配置"), 1)
|
|
5116
5116
|
], 2))), 128))
|
|
@@ -5130,7 +5130,7 @@ const _f = {
|
|
|
5130
5130
|
onClick: o[47] || (o[47] = (a) => kt.value = !kt.value)
|
|
5131
5131
|
}, [
|
|
5132
5132
|
X(l(Qr), { class: "h-4 w-4" }),
|
|
5133
|
-
|
|
5133
|
+
G(" " + p(kt.value ? "快捷键" : "收起快捷键"), 1)
|
|
5134
5134
|
]),
|
|
5135
5135
|
kt.value ? w("", !0) : (v(), f(_, { key: 0 }, [
|
|
5136
5136
|
o[110] || (o[110] = e("div", { class: "shortcut-panel-head" }, [
|
|
@@ -5154,7 +5154,7 @@ const _f = {
|
|
|
5154
5154
|
], 2)) : w("", !0),
|
|
5155
5155
|
X(os, { name: "shortcut-toast" }, {
|
|
5156
5156
|
default: as(() => [
|
|
5157
|
-
de.value === "prototype" && ta.value && !Q.value && !Be.value ? (v(), f("div",
|
|
5157
|
+
de.value === "prototype" && ta.value && !Q.value && !Be.value ? (v(), f("div", ag, " 按快捷键 P 可以进入/退出演示模式 ")) : w("", !0)
|
|
5158
5158
|
]),
|
|
5159
5159
|
_: 1
|
|
5160
5160
|
}),
|
|
@@ -5163,14 +5163,14 @@ const _f = {
|
|
|
5163
5163
|
class: "page-description-dialog-backdrop",
|
|
5164
5164
|
onClick: re(aa, ["self"])
|
|
5165
5165
|
}, [
|
|
5166
|
-
e("section",
|
|
5167
|
-
e("div",
|
|
5166
|
+
e("section", lg, [
|
|
5167
|
+
e("div", sg, [
|
|
5168
5168
|
e("div", null, [
|
|
5169
5169
|
e("p", null, p(l(R) ? "编辑页面描述" : "新增页面描述"), 1),
|
|
5170
5170
|
e("span", null, [
|
|
5171
|
-
|
|
5171
|
+
G(p(l(mt).code) + " · " + p(l(mt).title), 1),
|
|
5172
5172
|
fn.value ? (v(), f(_, { key: 0 }, [
|
|
5173
|
-
|
|
5173
|
+
G(" · " + p(fn.value), 1)
|
|
5174
5174
|
], 64)) : w("", !0)
|
|
5175
5175
|
])
|
|
5176
5176
|
]),
|
|
@@ -5184,8 +5184,8 @@ const _f = {
|
|
|
5184
5184
|
class: "page-description-form",
|
|
5185
5185
|
onSubmit: re(Gi, ["prevent"])
|
|
5186
5186
|
}, [
|
|
5187
|
-
l(R) ? wo.value ? (v(), f("small",
|
|
5188
|
-
e("label",
|
|
5187
|
+
l(R) ? wo.value ? (v(), f("small", rg, p(wo.value), 1)) : w("", !0) : (v(), f("p", ig, p(l($)("pageDescriptionEmpty")), 1)),
|
|
5188
|
+
e("label", ug, [
|
|
5189
5189
|
A(e("input", {
|
|
5190
5190
|
"onUpdate:modelValue": o[48] || (o[48] = (a) => l(U).highlighted = a),
|
|
5191
5191
|
type: "checkbox"
|
|
@@ -5199,7 +5199,7 @@ const _f = {
|
|
|
5199
5199
|
A(e("textarea", {
|
|
5200
5200
|
"onUpdate:modelValue": o[49] || (o[49] = (a) => l(U).purpose = a),
|
|
5201
5201
|
placeholder: l($)("pageDescriptionPurposePlaceholder")
|
|
5202
|
-
}, null, 8,
|
|
5202
|
+
}, null, 8, cg), [
|
|
5203
5203
|
[z, l(U).purpose]
|
|
5204
5204
|
])
|
|
5205
5205
|
]),
|
|
@@ -5208,7 +5208,7 @@ const _f = {
|
|
|
5208
5208
|
A(e("textarea", {
|
|
5209
5209
|
"onUpdate:modelValue": o[50] || (o[50] = (a) => l(U).structure = a),
|
|
5210
5210
|
placeholder: l($)("pageDescriptionStructurePlaceholder")
|
|
5211
|
-
}, null, 8,
|
|
5211
|
+
}, null, 8, dg), [
|
|
5212
5212
|
[z, l(U).structure]
|
|
5213
5213
|
])
|
|
5214
5214
|
]),
|
|
@@ -5217,7 +5217,7 @@ const _f = {
|
|
|
5217
5217
|
A(e("textarea", {
|
|
5218
5218
|
"onUpdate:modelValue": o[51] || (o[51] = (a) => l(U).features = a),
|
|
5219
5219
|
placeholder: l($)("pageDescriptionFeaturesPlaceholder")
|
|
5220
|
-
}, null, 8,
|
|
5220
|
+
}, null, 8, pg), [
|
|
5221
5221
|
[z, l(U).features]
|
|
5222
5222
|
])
|
|
5223
5223
|
]),
|
|
@@ -5226,7 +5226,7 @@ const _f = {
|
|
|
5226
5226
|
A(e("textarea", {
|
|
5227
5227
|
"onUpdate:modelValue": o[52] || (o[52] = (a) => l(U).flowPosition = a),
|
|
5228
5228
|
placeholder: l($)("pageDescriptionFlowPlaceholder")
|
|
5229
|
-
}, null, 8,
|
|
5229
|
+
}, null, 8, vg), [
|
|
5230
5230
|
[z, l(U).flowPosition]
|
|
5231
5231
|
])
|
|
5232
5232
|
]),
|
|
@@ -5271,11 +5271,11 @@ const _f = {
|
|
|
5271
5271
|
A(e("textarea", {
|
|
5272
5272
|
"onUpdate:modelValue": o[57] || (o[57] = (a) => l(U).developmentNotes = a),
|
|
5273
5273
|
placeholder: l($)("pageDescriptionDevelopmentPlaceholder")
|
|
5274
|
-
}, null, 8,
|
|
5274
|
+
}, null, 8, fg), [
|
|
5275
5275
|
[z, l(U).developmentNotes]
|
|
5276
5276
|
])
|
|
5277
5277
|
]),
|
|
5278
|
-
e("div",
|
|
5278
|
+
e("div", mg, [
|
|
5279
5279
|
e("button", {
|
|
5280
5280
|
type: "button",
|
|
5281
5281
|
onClick: aa
|
|
@@ -5283,7 +5283,7 @@ const _f = {
|
|
|
5283
5283
|
e("button", {
|
|
5284
5284
|
type: "submit",
|
|
5285
5285
|
disabled: l(ke) === "syncing"
|
|
5286
|
-
}, p(l($)("pageDescriptionSave")), 9,
|
|
5286
|
+
}, p(l($)("pageDescriptionSave")), 9, gg)
|
|
5287
5287
|
])
|
|
5288
5288
|
], 32)
|
|
5289
5289
|
])
|
|
@@ -5297,7 +5297,7 @@ const _f = {
|
|
|
5297
5297
|
onMouseleave: o[60] || (o[60] = //@ts-ignore
|
|
5298
5298
|
(...a) => l(c) && l(c)(...a))
|
|
5299
5299
|
}, [
|
|
5300
|
-
e("div",
|
|
5300
|
+
e("div", bg, [
|
|
5301
5301
|
e("b", null, p(l(le).featureName), 1),
|
|
5302
5302
|
e("button", {
|
|
5303
5303
|
class: "annotation-delete-btn",
|
|
@@ -5305,12 +5305,12 @@ const _f = {
|
|
|
5305
5305
|
disabled: !l(ue).trim(),
|
|
5306
5306
|
title: l(ue).trim() ? "" : "请先输入昵称以删除注释",
|
|
5307
5307
|
onClick: o[58] || (o[58] = (a) => l(be)(l(le).id))
|
|
5308
|
-
}, p(l($)("annotationDelete")), 9,
|
|
5308
|
+
}, p(l($)("annotationDelete")), 9, yg)
|
|
5309
5309
|
]),
|
|
5310
5310
|
e("p", null, p(l(le).featureDescription), 1),
|
|
5311
5311
|
e("small", null, p(l(le).specialNote), 1)
|
|
5312
5312
|
], 36)) : w("", !0),
|
|
5313
|
-
de.value === "prototype" && l(ee) && !Q.value ? (v(), f("div",
|
|
5313
|
+
de.value === "prototype" && l(ee) && !Q.value ? (v(), f("div", hg, [
|
|
5314
5314
|
e("form", {
|
|
5315
5315
|
class: "annotation-form",
|
|
5316
5316
|
onSubmit: o[66] || (o[66] = re(
|
|
@@ -5326,7 +5326,7 @@ const _f = {
|
|
|
5326
5326
|
"onUpdate:modelValue": o[61] || (o[61] = (a) => l(ee).featureName = a),
|
|
5327
5327
|
type: "text",
|
|
5328
5328
|
placeholder: l($)("annotationNamePlaceholder")
|
|
5329
|
-
}, null, 8,
|
|
5329
|
+
}, null, 8, wg), [
|
|
5330
5330
|
[z, l(ee).featureName]
|
|
5331
5331
|
])
|
|
5332
5332
|
]),
|
|
@@ -5335,7 +5335,7 @@ const _f = {
|
|
|
5335
5335
|
A(e("textarea", {
|
|
5336
5336
|
"onUpdate:modelValue": o[62] || (o[62] = (a) => l(ee).featureDescription = a),
|
|
5337
5337
|
placeholder: l($)("annotationDescPlaceholder")
|
|
5338
|
-
}, null, 8,
|
|
5338
|
+
}, null, 8, xg), [
|
|
5339
5339
|
[z, l(ee).featureDescription]
|
|
5340
5340
|
])
|
|
5341
5341
|
]),
|
|
@@ -5344,7 +5344,7 @@ const _f = {
|
|
|
5344
5344
|
A(e("textarea", {
|
|
5345
5345
|
"onUpdate:modelValue": o[63] || (o[63] = (a) => l(ee).specialNote = a),
|
|
5346
5346
|
placeholder: l($)("annotationNotePlaceholder")
|
|
5347
|
-
}, null, 8,
|
|
5347
|
+
}, null, 8, Sg), [
|
|
5348
5348
|
[z, l(ee).specialNote]
|
|
5349
5349
|
])
|
|
5350
5350
|
]),
|
|
@@ -5354,11 +5354,11 @@ const _f = {
|
|
|
5354
5354
|
"onUpdate:modelValue": o[64] || (o[64] = (a) => yn(ue) ? ue.value = a : null),
|
|
5355
5355
|
type: "text",
|
|
5356
5356
|
placeholder: l($)("annotationAuthorPlaceholder")
|
|
5357
|
-
}, null, 8,
|
|
5357
|
+
}, null, 8, kg), [
|
|
5358
5358
|
[z, l(ue)]
|
|
5359
5359
|
])
|
|
5360
5360
|
]),
|
|
5361
|
-
e("div",
|
|
5361
|
+
e("div", Cg, [
|
|
5362
5362
|
e("button", {
|
|
5363
5363
|
type: "button",
|
|
5364
5364
|
onClick: o[65] || (o[65] = //@ts-ignore
|
|
@@ -5367,11 +5367,11 @@ const _f = {
|
|
|
5367
5367
|
e("button", {
|
|
5368
5368
|
type: "submit",
|
|
5369
5369
|
disabled: !l(ee).featureName.trim() || !l(ee).featureDescription.trim() || !l(ee).specialNote.trim() || !l(ue).trim()
|
|
5370
|
-
}, p(l($)("annotationSave")), 9,
|
|
5370
|
+
}, p(l($)("annotationSave")), 9, $g)
|
|
5371
5371
|
])
|
|
5372
5372
|
], 32)
|
|
5373
5373
|
])) : w("", !0),
|
|
5374
|
-
de.value === "prototype" && l(Ee) && !Q.value ? (v(), f("div",
|
|
5374
|
+
de.value === "prototype" && l(Ee) && !Q.value ? (v(), f("div", _g, [
|
|
5375
5375
|
e("form", {
|
|
5376
5376
|
class: "annotation-form",
|
|
5377
5377
|
onSubmit: o[72] || (o[72] = re(
|
|
@@ -5387,7 +5387,7 @@ const _f = {
|
|
|
5387
5387
|
"onUpdate:modelValue": o[67] || (o[67] = (a) => l(ne).featureName = a),
|
|
5388
5388
|
type: "text",
|
|
5389
5389
|
readonly: l(ae) === "view"
|
|
5390
|
-
}, null, 8,
|
|
5390
|
+
}, null, 8, Ig), [
|
|
5391
5391
|
[z, l(ne).featureName]
|
|
5392
5392
|
])
|
|
5393
5393
|
]),
|
|
@@ -5396,7 +5396,7 @@ const _f = {
|
|
|
5396
5396
|
A(e("textarea", {
|
|
5397
5397
|
"onUpdate:modelValue": o[68] || (o[68] = (a) => l(ne).featureDescription = a),
|
|
5398
5398
|
readonly: l(ae) === "view"
|
|
5399
|
-
}, null, 8,
|
|
5399
|
+
}, null, 8, Pg), [
|
|
5400
5400
|
[z, l(ne).featureDescription]
|
|
5401
5401
|
])
|
|
5402
5402
|
]),
|
|
@@ -5405,17 +5405,17 @@ const _f = {
|
|
|
5405
5405
|
A(e("textarea", {
|
|
5406
5406
|
"onUpdate:modelValue": o[69] || (o[69] = (a) => l(ne).specialNote = a),
|
|
5407
5407
|
readonly: l(ae) === "view"
|
|
5408
|
-
}, null, 8,
|
|
5408
|
+
}, null, 8, Dg), [
|
|
5409
5409
|
[z, l(ne).specialNote]
|
|
5410
5410
|
])
|
|
5411
5411
|
]),
|
|
5412
|
-
l(ae) === "edit" ? (v(), f("label",
|
|
5412
|
+
l(ae) === "edit" ? (v(), f("label", Ag, [
|
|
5413
5413
|
e("span", null, p(l($)("annotationAuthorName")), 1),
|
|
5414
5414
|
A(e("input", {
|
|
5415
5415
|
"onUpdate:modelValue": o[70] || (o[70] = (a) => yn(ue) ? ue.value = a : null),
|
|
5416
5416
|
type: "text",
|
|
5417
5417
|
placeholder: l($)("annotationAuthorPlaceholder")
|
|
5418
|
-
}, null, 8,
|
|
5418
|
+
}, null, 8, Ng), [
|
|
5419
5419
|
[z, l(ue)]
|
|
5420
5420
|
])
|
|
5421
5421
|
])) : w("", !0),
|
|
@@ -5431,7 +5431,7 @@ const _f = {
|
|
|
5431
5431
|
key: 0,
|
|
5432
5432
|
type: "submit",
|
|
5433
5433
|
disabled: !l(ne).featureName.trim() || !l(ne).featureDescription.trim() || !l(ne).specialNote.trim() || !l(ue).trim()
|
|
5434
|
-
}, p(l($)("annotationSave")), 9,
|
|
5434
|
+
}, p(l($)("annotationSave")), 9, Tg)) : w("", !0)
|
|
5435
5435
|
], 2)
|
|
5436
5436
|
], 32)
|
|
5437
5437
|
])) : w("", !0),
|
|
@@ -5440,14 +5440,14 @@ const _f = {
|
|
|
5440
5440
|
class: "page-description-summary-backdrop",
|
|
5441
5441
|
onClick: o[74] || (o[74] = re((a) => qe.value = !1, ["self"]))
|
|
5442
5442
|
}, [
|
|
5443
|
-
e("section",
|
|
5444
|
-
e("div",
|
|
5443
|
+
e("section", Rg, [
|
|
5444
|
+
e("div", Eg, [
|
|
5445
5445
|
e("div", null, [
|
|
5446
5446
|
o[117] || (o[117] = e("p", null, "页面描述", -1)),
|
|
5447
5447
|
e("span", null, [
|
|
5448
|
-
|
|
5448
|
+
G(p(l(mt).code) + " · " + p(l(mt).title), 1),
|
|
5449
5449
|
fn.value ? (v(), f(_, { key: 0 }, [
|
|
5450
|
-
|
|
5450
|
+
G(" · " + p(fn.value), 1)
|
|
5451
5451
|
], 64)) : w("", !0)
|
|
5452
5452
|
])
|
|
5453
5453
|
]),
|
|
@@ -5457,7 +5457,7 @@ const _f = {
|
|
|
5457
5457
|
onClick: o[73] || (o[73] = (a) => qe.value = !1)
|
|
5458
5458
|
}, "×")
|
|
5459
5459
|
]),
|
|
5460
|
-
e("div",
|
|
5460
|
+
e("div", Og, [
|
|
5461
5461
|
o[118] || (o[118] = e("div", { class: "page-description-summary-options-head" }, [
|
|
5462
5462
|
e("p", null, "展示内容")
|
|
5463
5463
|
], -1)),
|
|
@@ -5479,26 +5479,26 @@ const _f = {
|
|
|
5479
5479
|
type: "checkbox",
|
|
5480
5480
|
checked: ze.value.includes(a.id),
|
|
5481
5481
|
onChange: (y) => dr(a.id)
|
|
5482
|
-
}, null, 40,
|
|
5482
|
+
}, null, 40, Bg),
|
|
5483
5483
|
e("span", null, p(a.label), 1)
|
|
5484
5484
|
]))), 128))
|
|
5485
5485
|
])
|
|
5486
5486
|
]),
|
|
5487
|
-
e("div",
|
|
5487
|
+
e("div", Mg, [
|
|
5488
5488
|
xo.value.length ? (v(!0), f(_, { key: 1 }, N(xo.value, (a) => (v(), f("p", {
|
|
5489
5489
|
key: a.id
|
|
5490
5490
|
}, [
|
|
5491
5491
|
e("b", null, p(a.label) + ":", 1),
|
|
5492
|
-
|
|
5493
|
-
]))), 128)) : (v(), f("p",
|
|
5492
|
+
G(p(a.value), 1)
|
|
5493
|
+
]))), 128)) : (v(), f("p", Ug, "请选择要展示的描述部分。"))
|
|
5494
5494
|
]),
|
|
5495
|
-
e("div",
|
|
5495
|
+
e("div", jg, [
|
|
5496
5496
|
e("small", null, p(Tt.value), 1),
|
|
5497
5497
|
e("button", {
|
|
5498
5498
|
type: "button",
|
|
5499
5499
|
disabled: !xo.value.length,
|
|
5500
5500
|
onClick: ur
|
|
5501
|
-
}, "复制选中内容", 8,
|
|
5501
|
+
}, "复制选中内容", 8, Vg)
|
|
5502
5502
|
])
|
|
5503
5503
|
])
|
|
5504
5504
|
])) : w("", !0),
|
|
@@ -5507,8 +5507,8 @@ const _f = {
|
|
|
5507
5507
|
class: "prototype-health-backdrop",
|
|
5508
5508
|
onClick: o[78] || (o[78] = re((a) => Nt.value = !1, ["self"]))
|
|
5509
5509
|
}, [
|
|
5510
|
-
e("section",
|
|
5511
|
-
e("div",
|
|
5510
|
+
e("section", Lg, [
|
|
5511
|
+
e("div", Fg, [
|
|
5512
5512
|
o[119] || (o[119] = e("div", null, [
|
|
5513
5513
|
e("p", null, "原型健康检查"),
|
|
5514
5514
|
e("span", null, "页面描述覆盖率优先读取云端 manifest;云端文件全量检查请运行 pnpm validate:remote")
|
|
@@ -5519,7 +5519,7 @@ const _f = {
|
|
|
5519
5519
|
onClick: o[75] || (o[75] = (a) => Nt.value = !1)
|
|
5520
5520
|
}, "×")
|
|
5521
5521
|
]),
|
|
5522
|
-
e("div",
|
|
5522
|
+
e("div", Kg, [
|
|
5523
5523
|
e("button", {
|
|
5524
5524
|
type: "button",
|
|
5525
5525
|
class: P({ active: An.value === "overview" }),
|
|
@@ -5532,7 +5532,7 @@ const _f = {
|
|
|
5532
5532
|
}, "页面/状态矩阵", 2)
|
|
5533
5533
|
]),
|
|
5534
5534
|
An.value === "overview" ? (v(), f(_, { key: 0 }, [
|
|
5535
|
-
e("div",
|
|
5535
|
+
e("div", zg, [
|
|
5536
5536
|
(v(!0), f(_, null, N(rr.value, (a) => (v(), f("section", {
|
|
5537
5537
|
key: a.label
|
|
5538
5538
|
}, [
|
|
@@ -5541,12 +5541,12 @@ const _f = {
|
|
|
5541
5541
|
e("small", null, p(a.detail), 1)
|
|
5542
5542
|
]))), 128))
|
|
5543
5543
|
]),
|
|
5544
|
-
e("div",
|
|
5545
|
-
e("div",
|
|
5544
|
+
e("div", Gg, [
|
|
5545
|
+
e("div", Hg, [
|
|
5546
5546
|
o[120] || (o[120] = e("p", null, "问题清单", -1)),
|
|
5547
5547
|
e("span", null, p(Cl.value.filter((a) => a.tone !== "success").length) + " 个待关注项", 1)
|
|
5548
5548
|
]),
|
|
5549
|
-
e("div",
|
|
5549
|
+
e("div", Wg, [
|
|
5550
5550
|
(v(!0), f(_, null, N(Cl.value, (a) => (v(), f("section", {
|
|
5551
5551
|
key: a.title,
|
|
5552
5552
|
class: P(`is-${a.tone}`)
|
|
@@ -5556,13 +5556,13 @@ const _f = {
|
|
|
5556
5556
|
], 2))), 128))
|
|
5557
5557
|
])
|
|
5558
5558
|
])
|
|
5559
|
-
], 64)) : (v(), f("div",
|
|
5559
|
+
], 64)) : (v(), f("div", Yg, [
|
|
5560
5560
|
o[122] || (o[122] = e("div", { class: "prototype-health-section-head" }, [
|
|
5561
5561
|
e("p", null, "页面/状态矩阵"),
|
|
5562
5562
|
e("span", null, "按页面聚合状态、流程覆盖、描述覆盖和注释数量")
|
|
5563
5563
|
], -1)),
|
|
5564
|
-
e("div",
|
|
5565
|
-
e("table",
|
|
5564
|
+
e("div", Jg, [
|
|
5565
|
+
e("table", Xg, [
|
|
5566
5566
|
o[121] || (o[121] = e("thead", null, [
|
|
5567
5567
|
e("tr", null, [
|
|
5568
5568
|
e("th", null, "编号"),
|
|
@@ -5601,18 +5601,18 @@ const _f = {
|
|
|
5601
5601
|
class: "fixed inset-0 z-[130] flex items-center justify-center bg-black/35 px-4",
|
|
5602
5602
|
onClick: o[80] || (o[80] = re((a) => Et.value = !1, ["self"]))
|
|
5603
5603
|
}, [
|
|
5604
|
-
e("section",
|
|
5605
|
-
e("div",
|
|
5604
|
+
e("section", Zg, [
|
|
5605
|
+
e("div", qg, [
|
|
5606
5606
|
e("div", null, [
|
|
5607
5607
|
o[123] || (o[123] = e("h2", { class: "text-lg font-semibold text-ink" }, "更新历史", -1)),
|
|
5608
|
-
e("p",
|
|
5608
|
+
e("p", Qg, "最近一次更新时间:" + p(Ui.value), 1)
|
|
5609
5609
|
]),
|
|
5610
5610
|
e("button", {
|
|
5611
5611
|
class: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-soft text-base font-semibold text-ink",
|
|
5612
5612
|
onClick: o[79] || (o[79] = (a) => Et.value = !1)
|
|
5613
5613
|
}, " × ")
|
|
5614
5614
|
]),
|
|
5615
|
-
e("div",
|
|
5615
|
+
e("div", e1, [
|
|
5616
5616
|
(v(!0), f(_, null, N(l(mo), (a) => (v(), f("section", {
|
|
5617
5617
|
key: a.hash,
|
|
5618
5618
|
class: "overflow-hidden rounded-[16px] bg-soft transition"
|
|
@@ -5622,27 +5622,27 @@ const _f = {
|
|
|
5622
5622
|
class: "w-full p-3 text-left",
|
|
5623
5623
|
onClick: (y) => Sr(a.hash)
|
|
5624
5624
|
}, [
|
|
5625
|
-
e("div",
|
|
5626
|
-
e("p",
|
|
5627
|
-
e("div",
|
|
5628
|
-
e("code",
|
|
5625
|
+
e("div", n1, [
|
|
5626
|
+
e("p", o1, p(a.date), 1),
|
|
5627
|
+
e("div", a1, [
|
|
5628
|
+
e("code", l1, p(a.hash), 1),
|
|
5629
5629
|
e("span", {
|
|
5630
5630
|
class: P(["text-sm text-muted transition-transform duration-200", { "rotate-180": go.value === a.hash }])
|
|
5631
5631
|
}, "⌄", 2)
|
|
5632
5632
|
])
|
|
5633
5633
|
]),
|
|
5634
|
-
e("p",
|
|
5635
|
-
], 8,
|
|
5636
|
-
go.value === a.hash ? (v(), f("div",
|
|
5637
|
-
Dl(a).length ? (v(), f("div",
|
|
5634
|
+
e("p", s1, p(a.message), 1)
|
|
5635
|
+
], 8, t1),
|
|
5636
|
+
go.value === a.hash ? (v(), f("div", i1, [
|
|
5637
|
+
Dl(a).length ? (v(), f("div", r1, [
|
|
5638
5638
|
(v(!0), f(_, null, N(Dl(a), (y) => (v(), f("p", {
|
|
5639
5639
|
key: `${a.hash}-${y}`,
|
|
5640
5640
|
class: "rounded-[12px] bg-panel px-3 py-2 text-xs leading-5 text-muted"
|
|
5641
5641
|
}, p(y), 1))), 128))
|
|
5642
|
-
])) : (v(), f("p",
|
|
5642
|
+
])) : (v(), f("p", u1, "暂无更多修改细节"))
|
|
5643
5643
|
])) : w("", !0)
|
|
5644
5644
|
]))), 128)),
|
|
5645
|
-
l(mo).length ? w("", !0) : (v(), f("p",
|
|
5645
|
+
l(mo).length ? w("", !0) : (v(), f("p", c1, "暂无提交记录"))
|
|
5646
5646
|
])
|
|
5647
5647
|
])
|
|
5648
5648
|
])) : w("", !0),
|
|
@@ -5651,7 +5651,7 @@ const _f = {
|
|
|
5651
5651
|
class: "mobile-page-picker-backdrop",
|
|
5652
5652
|
onClick: re(Io, ["self"])
|
|
5653
5653
|
}, [
|
|
5654
|
-
e("section",
|
|
5654
|
+
e("section", d1, [
|
|
5655
5655
|
o[126] || (o[126] = e("div", { class: "mobile-page-picker-handle" }, null, -1)),
|
|
5656
5656
|
e("header", { class: "mobile-page-picker-head" }, [
|
|
5657
5657
|
o[124] || (o[124] = e("div", null, [
|
|
@@ -5671,7 +5671,7 @@ const _f = {
|
|
|
5671
5671
|
}, null, 512), [
|
|
5672
5672
|
[z, Nn.value]
|
|
5673
5673
|
]),
|
|
5674
|
-
e("div",
|
|
5674
|
+
e("div", p1, [
|
|
5675
5675
|
(v(!0), f(_, null, N(Fi.value, (a) => (v(), f("section", {
|
|
5676
5676
|
key: a.screen.id,
|
|
5677
5677
|
class: "mobile-page-picker-item"
|
|
@@ -5681,14 +5681,14 @@ const _f = {
|
|
|
5681
5681
|
class: P(["mobile-page-picker-screen", { active: l(u) === a.screen.id }]),
|
|
5682
5682
|
onClick: (y) => a.states.length ? Or(a.screen.id) : Br(a.screen.id)
|
|
5683
5683
|
}, [
|
|
5684
|
-
e("span",
|
|
5685
|
-
e("span",
|
|
5684
|
+
e("span", f1, p(a.screen.code), 1),
|
|
5685
|
+
e("span", m1, [
|
|
5686
5686
|
e("b", null, p(a.screen.title), 1),
|
|
5687
5687
|
e("small", null, p(a.screen.subtitle), 1)
|
|
5688
5688
|
]),
|
|
5689
|
-
a.states.length ? (v(), f("span",
|
|
5690
|
-
], 10,
|
|
5691
|
-
a.states.length && (a.forceExpanded || uo.value.has(a.screen.id)) ? (v(), f("div",
|
|
5689
|
+
a.states.length ? (v(), f("span", g1, p(a.states.length), 1)) : w("", !0)
|
|
5690
|
+
], 10, v1),
|
|
5691
|
+
a.states.length && (a.forceExpanded || uo.value.has(a.screen.id)) ? (v(), f("div", b1, [
|
|
5692
5692
|
(v(!0), f(_, null, N(a.states, (y) => (v(), f("button", {
|
|
5693
5693
|
key: y.id,
|
|
5694
5694
|
type: "button",
|
|
@@ -5696,8 +5696,8 @@ const _f = {
|
|
|
5696
5696
|
onClick: (j) => Mr(a.screen.id, y.id)
|
|
5697
5697
|
}, [
|
|
5698
5698
|
o[125] || (o[125] = e("span", null, null, -1)),
|
|
5699
|
-
|
|
5700
|
-
], 10,
|
|
5699
|
+
G(" " + p(y.label), 1)
|
|
5700
|
+
], 10, y1))), 128))
|
|
5701
5701
|
])) : w("", !0)
|
|
5702
5702
|
]))), 128))
|
|
5703
5703
|
])
|
|
@@ -5709,7 +5709,7 @@ const _f = {
|
|
|
5709
5709
|
class: "presentation-exit-btn",
|
|
5710
5710
|
onClick: na
|
|
5711
5711
|
}, " 退出演示 (Esc) ")) : w("", !0),
|
|
5712
|
-
de.value === "prototype" && l(W) && !Q.value ? (v(), st(
|
|
5712
|
+
de.value === "prototype" && l(W) && !Q.value ? (v(), st(Sc, {
|
|
5713
5713
|
key: 17,
|
|
5714
5714
|
flows: l(Pt),
|
|
5715
5715
|
screens: l(fe),
|
|
@@ -5720,15 +5720,15 @@ const _f = {
|
|
|
5720
5720
|
onPush: Wi,
|
|
5721
5721
|
onExport: l(_i)
|
|
5722
5722
|
}, null, 8, ["flows", "screens", "state-options-by-screen", "can-push-remote", "onExport"])) : w("", !0)
|
|
5723
|
-
], 64)) : (v(), f("section",
|
|
5723
|
+
], 64)) : (v(), f("section", $f, [
|
|
5724
5724
|
e("form", {
|
|
5725
5725
|
class: "w-full max-w-sm rounded-[28px] border border-line bg-panel p-6 text-center shadow-soft",
|
|
5726
5726
|
onSubmit: re(Mi, ["prevent"])
|
|
5727
5727
|
}, [
|
|
5728
5728
|
o[85] || (o[85] = e("h1", { class: "text-2xl font-semibold text-ink" }, "产品原型访问", -1)),
|
|
5729
5729
|
o[86] || (o[86] = e("p", { class: "mt-2 text-sm leading-6 text-muted" }, "请输入访问账号和密码", -1)),
|
|
5730
|
-
e("div",
|
|
5731
|
-
e("label",
|
|
5730
|
+
e("div", _f, [
|
|
5731
|
+
e("label", If, [
|
|
5732
5732
|
o[83] || (o[83] = e("span", { class: "text-xs font-semibold text-muted" }, "账号", -1)),
|
|
5733
5733
|
A(e("input", {
|
|
5734
5734
|
"onUpdate:modelValue": o[0] || (o[0] = (a) => so.value = a),
|
|
@@ -5739,7 +5739,7 @@ const _f = {
|
|
|
5739
5739
|
[z, so.value]
|
|
5740
5740
|
])
|
|
5741
5741
|
]),
|
|
5742
|
-
e("label",
|
|
5742
|
+
e("label", Pf, [
|
|
5743
5743
|
o[84] || (o[84] = e("span", { class: "text-xs font-semibold text-muted" }, "密码", -1)),
|
|
5744
5744
|
A(e("input", {
|
|
5745
5745
|
"onUpdate:modelValue": o[1] || (o[1] = (a) => io.value = a),
|
|
@@ -5755,12 +5755,12 @@ const _f = {
|
|
|
5755
5755
|
class: "primary-btn mt-5 w-full justify-center",
|
|
5756
5756
|
type: "submit"
|
|
5757
5757
|
}, "进入原型", -1)),
|
|
5758
|
-
Pn.value ? (v(), f("p",
|
|
5758
|
+
Pn.value ? (v(), f("p", Df, p(Pn.value), 1)) : w("", !0)
|
|
5759
5759
|
], 32)
|
|
5760
5760
|
]))
|
|
5761
5761
|
], 6));
|
|
5762
5762
|
}
|
|
5763
5763
|
});
|
|
5764
5764
|
export {
|
|
5765
|
-
|
|
5765
|
+
I1 as default
|
|
5766
5766
|
};
|