@marktowin/prototype-core 1.2.17 → 1.2.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { defineComponent as an, computed as x, openBlock as v, createBlock as He, resolveDynamicComponent as bo, createElementBlock as f, Fragment as D, renderList as R, normalizeClass as E, createTextVNode as z, toDisplayString as
|
|
1
|
+
import { defineComponent as an, computed as x, openBlock as v, createBlock as He, resolveDynamicComponent as bo, createElementBlock as f, Fragment as D, renderList as R, normalizeClass as E, createTextVNode as z, toDisplayString as c, createElementVNode as t, normalizeStyle as Be, createCommentVNode as C, ref as w, watch as ze, createVNode as F, Transition as nl, withCtx as ol, unref as i, withModifiers as Ie, withDirectives as N, vModelText as G, createStaticVNode as Ui, reactive as yo, onBeforeUnmount as us, onMounted as ml, vModelSelect as lt, nextTick as Ha, isRef as go, vModelCheckbox as Id, withKeys as Ka } from "vue";
|
|
2
2
|
import { Save as $d, CloudUpload as _d, Download as Pd, X as hn, Plus as Bn, ChevronDown as Dd, ChevronRight as Ad, Trash2 as jn, RefreshCw as rr, FileSpreadsheet as ur, AlertTriangle as Ed, CheckCircle2 as Td, CircleDot as Mi, Bug as Nd, ImagePlus as Fi, Filter as Rd, Search as sl, ArrowLeft as Li, FileJson as cr, ArrowUp as Od, ArrowDown as Bd, Check as dr, CircleAlert as pr, Clipboard as vr, SunMedium as jd, RotateCcw as Ud, PanelTop as fr, BookOpen as Vi, Cloud as Md, Database as Gi, PanelLeft as Fd, MessageSquare as Ld, Keyboard as Vd } from "@lucide/vue";
|
|
3
|
-
import { g as xo, a as ca, s as Gd } from "./index-
|
|
3
|
+
import { g as xo, a as ca, s as Gd } from "./index-77mPoqvO.js";
|
|
4
4
|
const Qo = /* @__PURE__ */ an({
|
|
5
5
|
__name: "ScreenRenderer",
|
|
6
6
|
props: {
|
|
@@ -25,7 +25,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
25
25
|
onClick: (r) => n.$emit("change", s.id)
|
|
26
26
|
}, [
|
|
27
27
|
(v(), He(bo(s.icon), { class: "h-5 w-5" })),
|
|
28
|
-
z(" " +
|
|
28
|
+
z(" " + c(s.label), 1)
|
|
29
29
|
], 10, Hd))), 128))
|
|
30
30
|
]));
|
|
31
31
|
}
|
|
@@ -45,24 +45,24 @@ const Qo = /* @__PURE__ */ an({
|
|
|
45
45
|
setup(e, { emit: n }) {
|
|
46
46
|
const o = n;
|
|
47
47
|
return (s, r) => (v(), f("aside", Jd, [
|
|
48
|
-
t("p", null,
|
|
49
|
-
(v(!0), f(D, null, R(e.options, (
|
|
48
|
+
t("p", null, c(e.title), 1),
|
|
49
|
+
(v(!0), f(D, null, R(e.options, (d) => {
|
|
50
50
|
var g, h;
|
|
51
51
|
return v(), f("button", {
|
|
52
|
-
key:
|
|
52
|
+
key: d.id,
|
|
53
53
|
type: "button",
|
|
54
|
-
class: E({ active: e.activeId ===
|
|
55
|
-
onClick: (b) => o("change",
|
|
54
|
+
class: E({ active: e.activeId === d.id }),
|
|
55
|
+
onClick: (b) => o("change", d.id)
|
|
56
56
|
}, [
|
|
57
|
-
(g = e.highlightedColors) != null && g[
|
|
57
|
+
(g = e.highlightedColors) != null && g[d.id] ? (v(), f("span", {
|
|
58
58
|
key: 0,
|
|
59
59
|
class: "prototype-state-highlight-bookmark",
|
|
60
|
-
style: Be({ backgroundColor: e.highlightedColors[
|
|
60
|
+
style: Be({ backgroundColor: e.highlightedColors[d.id] }),
|
|
61
61
|
"aria-hidden": "true"
|
|
62
62
|
}, null, 4)) : (v(), f("span", Yd)),
|
|
63
|
-
z(" " + d
|
|
63
|
+
z(" " + c(d.label) + " ", 1),
|
|
64
64
|
t("div", Xd, [
|
|
65
|
-
(h = e.countForState) != null && h.call(e,
|
|
65
|
+
(h = e.countForState) != null && h.call(e, d.id) ? (v(), f("b", qd, c(e.countForState(d.id)), 1)) : C("", !0)
|
|
66
66
|
])
|
|
67
67
|
], 10, Wd);
|
|
68
68
|
}), 128))
|
|
@@ -122,7 +122,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
122
122
|
ze(() => o.flows, (_) => {
|
|
123
123
|
r.value = JSON.parse(JSON.stringify(_));
|
|
124
124
|
}, { deep: !0 });
|
|
125
|
-
const
|
|
125
|
+
const d = w(0), g = w(0), h = x(() => r.value[d.value]), b = x(() => {
|
|
126
126
|
var _;
|
|
127
127
|
return ((_ = h.value) == null ? void 0 : _.rows[g.value]) ?? [];
|
|
128
128
|
}), I = w(0.28);
|
|
@@ -144,7 +144,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
144
144
|
we.value.has(_) ? we.value.delete(_) : we.value.add(_);
|
|
145
145
|
}
|
|
146
146
|
function Y(_, P) {
|
|
147
|
-
|
|
147
|
+
d.value = _, g.value = P;
|
|
148
148
|
}
|
|
149
149
|
function $e(_) {
|
|
150
150
|
return o.screens.find((P) => P.id === _);
|
|
@@ -162,7 +162,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
162
162
|
}
|
|
163
163
|
function H(_) {
|
|
164
164
|
var P, K;
|
|
165
|
-
r.value.length <= 1 || (r.value.splice(_, 1),
|
|
165
|
+
r.value.length <= 1 || (r.value.splice(_, 1), d.value >= r.value.length && (d.value = r.value.length - 1), g.value >= (((P = h.value) == null ? void 0 : P.rows.length) ?? 0) && (g.value = Math.max(0, (((K = h.value) == null ? void 0 : K.rows.length) ?? 1) - 1)));
|
|
166
166
|
}
|
|
167
167
|
function rt(_, P) {
|
|
168
168
|
r.value[_].title = P;
|
|
@@ -180,7 +180,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
180
180
|
return (K == null ? void 0 : K.rowLabel) ?? `子流程 ${P + 1}`;
|
|
181
181
|
}
|
|
182
182
|
function ge(_, P) {
|
|
183
|
-
const K = r.value[
|
|
183
|
+
const K = r.value[d.value];
|
|
184
184
|
if (!K) return;
|
|
185
185
|
const be = K.rows[_];
|
|
186
186
|
be && (be.length > 0 ? be[0].rowLabel = P : be.push({ screenId: "", rowLabel: P }));
|
|
@@ -217,12 +217,12 @@ const Qo = /* @__PURE__ */ an({
|
|
|
217
217
|
};
|
|
218
218
|
}
|
|
219
219
|
function he() {
|
|
220
|
-
const _ = r.value[
|
|
220
|
+
const _ = r.value[d.value];
|
|
221
221
|
_ && (_.rows.push([]), g.value = _.rows.length - 1);
|
|
222
222
|
}
|
|
223
223
|
function ce() {
|
|
224
224
|
var _;
|
|
225
|
-
return (_ = r.value[
|
|
225
|
+
return (_ = r.value[d.value]) == null ? void 0 : _.rows[g.value];
|
|
226
226
|
}
|
|
227
227
|
const Je = w(null), te = w(-1), Ne = w("before"), xe = w(-1), ye = w(null), et = x(() => !Je.value || te.value < 0 ? -1 : Ne.value === "before" ? te.value : te.value + 1);
|
|
228
228
|
function X(_, P) {
|
|
@@ -284,7 +284,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
284
284
|
}
|
|
285
285
|
function Re(_, P) {
|
|
286
286
|
var K, be;
|
|
287
|
-
(be = (K = r.value[
|
|
287
|
+
(be = (K = r.value[d.value]) == null ? void 0 : K.rows[_]) == null || be.splice(P, 1);
|
|
288
288
|
}
|
|
289
289
|
const st = w(null);
|
|
290
290
|
let Pe = null;
|
|
@@ -320,14 +320,14 @@ const Qo = /* @__PURE__ */ an({
|
|
|
320
320
|
t("header", ep, [
|
|
321
321
|
t("div", tp, [
|
|
322
322
|
P[4] || (P[4] = t("h2", { class: "text-lg font-semibold text-ink" }, "流程编排", -1)),
|
|
323
|
-
t("span", np,
|
|
323
|
+
t("span", np, c((K = h.value) == null ? void 0 : K.title) + " · 子流程 " + c(g.value + 1) + " / " + c((be = h.value) == null ? void 0 : be.rows.length), 1)
|
|
324
324
|
]),
|
|
325
325
|
F(nl, { name: "toast" }, {
|
|
326
326
|
default: ol(() => [
|
|
327
327
|
st.value ? (v(), f("div", {
|
|
328
328
|
key: 0,
|
|
329
329
|
class: E(["absolute left-1/2 top-full mt-2 -translate-x-1/2 rounded-full px-4 py-1.5 text-xs font-medium shadow-lg z-50", st.value.type === "success" ? "bg-success text-white" : "bg-danger text-white"])
|
|
330
|
-
},
|
|
330
|
+
}, c(st.value.message), 3)) : C("", !0)
|
|
331
331
|
]),
|
|
332
332
|
_: 1
|
|
333
333
|
}),
|
|
@@ -338,7 +338,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
338
338
|
onClick: Ce
|
|
339
339
|
}, [
|
|
340
340
|
F(i($d), { class: "h-4 w-4" }),
|
|
341
|
-
z(" " +
|
|
341
|
+
z(" " + c(j.value ? "保存中…" : "保存到当前会话"), 1)
|
|
342
342
|
], 8, sp),
|
|
343
343
|
t("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",
|
|
@@ -347,7 +347,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
347
347
|
onClick: Ut
|
|
348
348
|
}, [
|
|
349
349
|
F(i(_d), { class: "h-4 w-4" }),
|
|
350
|
-
z(" " +
|
|
350
|
+
z(" " + c(re.value ? "推送中…" : "推送到 Gitee"), 1)
|
|
351
351
|
], 8, ap),
|
|
352
352
|
t("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",
|
|
@@ -378,7 +378,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
378
378
|
t("div", up, [
|
|
379
379
|
(v(!0), f(D, null, R(r.value, (T, q) => (v(), f("div", {
|
|
380
380
|
key: T.id,
|
|
381
|
-
class: E(["rounded-xl border border-line bg-soft overflow-hidden", { "ring-1 ring-ocean":
|
|
381
|
+
class: E(["rounded-xl border border-line bg-soft overflow-hidden", { "ring-1 ring-ocean": d.value === q }])
|
|
382
382
|
}, [
|
|
383
383
|
t("div", {
|
|
384
384
|
class: "flex items-center gap-2 px-3 py-2.5 cursor-pointer hover:bg-canvas transition",
|
|
@@ -404,19 +404,19 @@ const Qo = /* @__PURE__ */ an({
|
|
|
404
404
|
(v(!0), f(D, null, R(T.rows, (Ye, W) => (v(), f("div", {
|
|
405
405
|
key: W,
|
|
406
406
|
class: E(["group/row flex items-center gap-2 py-2 text-xs cursor-pointer hover:bg-canvas transition", [
|
|
407
|
-
|
|
407
|
+
d.value === q && g.value === W ? "pl-[9px] pr-3 bg-ocean/5 border-l-[3px] border-ocean" : "px-3"
|
|
408
408
|
]]),
|
|
409
409
|
onClick: (Xe) => Y(q, W)
|
|
410
410
|
}, [
|
|
411
411
|
t("span", {
|
|
412
|
-
class: E(["h-1.5 w-1.5 rounded-full",
|
|
412
|
+
class: E(["h-1.5 w-1.5 rounded-full", d.value === q && g.value === W ? "bg-ocean" : "bg-muted"])
|
|
413
413
|
}, null, 2),
|
|
414
414
|
t("span", {
|
|
415
|
-
class: E(["flex-1 min-w-0 truncate",
|
|
416
|
-
},
|
|
415
|
+
class: E(["flex-1 min-w-0 truncate", d.value === q && g.value === W ? "text-ink font-medium" : "text-muted"])
|
|
416
|
+
}, c(A(T, W)), 3),
|
|
417
417
|
t("span", {
|
|
418
|
-
class: E(["",
|
|
419
|
-
},
|
|
418
|
+
class: E(["", d.value === q && g.value === W ? "text-ocean" : "text-muted/60"])
|
|
419
|
+
}, c(Ye.length) + " 页", 3),
|
|
420
420
|
t("button", {
|
|
421
421
|
class: "text-muted hover:text-danger transition opacity-0 group-hover/row:opacity-100",
|
|
422
422
|
title: "删除子流程",
|
|
@@ -466,7 +466,7 @@ const Qo = /* @__PURE__ */ an({
|
|
|
466
466
|
{ number: !0 }
|
|
467
467
|
]
|
|
468
468
|
]),
|
|
469
|
-
t("span", kp,
|
|
469
|
+
t("span", kp, c(Math.round(I.value * 100)) + "%", 1)
|
|
470
470
|
]),
|
|
471
471
|
h.value ? (v(), f("button", {
|
|
472
472
|
key: 0,
|
|
@@ -539,13 +539,13 @@ const Qo = /* @__PURE__ */ an({
|
|
|
539
539
|
t("div", Rp, [
|
|
540
540
|
t("span", {
|
|
541
541
|
class: E(["platform-badge is-small", L(T) === "pc" ? "is-pc" : "is-mobile"])
|
|
542
|
-
},
|
|
543
|
-
t("span", Op,
|
|
542
|
+
}, c(L(T) === "pc" ? "P" : "M"), 3),
|
|
543
|
+
t("span", Op, c(((Ye = $e(T.screenId)) == null ? void 0 : Ye.title) ?? T.screenId), 1)
|
|
544
544
|
]),
|
|
545
545
|
t("span", Bp, [
|
|
546
|
-
z(
|
|
546
|
+
z(c(((W = $e(T.screenId)) == null ? void 0 : W.code) ?? ""), 1),
|
|
547
547
|
T.stateId ? (v(), f(D, { key: 0 }, [
|
|
548
|
-
z(" · " +
|
|
548
|
+
z(" · " + c(Se(T).stateLabel), 1)
|
|
549
549
|
], 64)) : C("", !0)
|
|
550
550
|
])
|
|
551
551
|
], 46, Ip);
|
|
@@ -597,10 +597,10 @@ const Qo = /* @__PURE__ */ an({
|
|
|
597
597
|
], 4),
|
|
598
598
|
t("div", Jp, [
|
|
599
599
|
P[14] || (P[14] = t("span", { class: "platform-badge is-small is-mobile" }, "M", -1)),
|
|
600
|
-
t("span", Wp,
|
|
601
|
-
t("span", Yp,
|
|
600
|
+
t("span", Wp, c(T.screen.code), 1),
|
|
601
|
+
t("span", Yp, c(T.screen.title), 1)
|
|
602
602
|
]),
|
|
603
|
-
T.stateLabel ? (v(), f("span", Xp,
|
|
603
|
+
T.stateLabel ? (v(), f("span", Xp, c(T.stateLabel), 1)) : C("", !0)
|
|
604
604
|
], 42, zp))), 128))
|
|
605
605
|
])
|
|
606
606
|
])) : C("", !0),
|
|
@@ -635,10 +635,10 @@ const Qo = /* @__PURE__ */ an({
|
|
|
635
635
|
], 4),
|
|
636
636
|
t("div", nv, [
|
|
637
637
|
P[16] || (P[16] = t("span", { class: "platform-badge is-small is-pc" }, "P", -1)),
|
|
638
|
-
t("span", ov,
|
|
639
|
-
t("span", sv,
|
|
638
|
+
t("span", ov, c(T.screen.code), 1),
|
|
639
|
+
t("span", sv, c(T.screen.title), 1)
|
|
640
640
|
]),
|
|
641
|
-
T.stateLabel ? (v(), f("span", av,
|
|
641
|
+
T.stateLabel ? (v(), f("span", av, c(T.stateLabel), 1)) : C("", !0)
|
|
642
642
|
], 42, Qp))), 128))
|
|
643
643
|
])
|
|
644
644
|
])) : C("", !0)
|
|
@@ -680,13 +680,13 @@ function pa(e, n) {
|
|
|
680
680
|
function gr() {
|
|
681
681
|
const e = /* @__PURE__ */ new Map();
|
|
682
682
|
return async function(o, s) {
|
|
683
|
-
const
|
|
683
|
+
const d = (e.get(o) ?? Promise.resolve()).catch(() => {
|
|
684
684
|
}).then(s);
|
|
685
|
-
e.set(o,
|
|
685
|
+
e.set(o, d);
|
|
686
686
|
try {
|
|
687
|
-
return await
|
|
687
|
+
return await d;
|
|
688
688
|
} finally {
|
|
689
|
-
e.get(o) ===
|
|
689
|
+
e.get(o) === d && e.delete(o);
|
|
690
690
|
}
|
|
691
691
|
};
|
|
692
692
|
}
|
|
@@ -704,15 +704,15 @@ function br(e, n) {
|
|
|
704
704
|
if (!o.length) return null;
|
|
705
705
|
const s = o.find((r) => {
|
|
706
706
|
if (!r || typeof r != "object") return !1;
|
|
707
|
-
const
|
|
708
|
-
return
|
|
707
|
+
const d = r;
|
|
708
|
+
return d.path === n && typeof d.content == "string" && typeof d.sha == "string";
|
|
709
709
|
});
|
|
710
710
|
return s || null;
|
|
711
711
|
}
|
|
712
712
|
const ts = 3;
|
|
713
713
|
function We() {
|
|
714
714
|
var b, I, ee, me, oe, Z, ae;
|
|
715
|
-
const e = xo().collaboration ?? {}, n = ((b = e.provider) == null ? void 0 : b.trim()) ?? "", o = ((I = e.owner) == null ? void 0 : I.trim()) ?? "", s = ((ee = e.repo) == null ? void 0 : ee.trim()) ?? "", r = ((me = e.token) == null ? void 0 : me.trim()) ?? "",
|
|
715
|
+
const e = xo().collaboration ?? {}, n = ((b = e.provider) == null ? void 0 : b.trim()) ?? "", o = ((I = e.owner) == null ? void 0 : I.trim()) ?? "", s = ((ee = e.repo) == null ? void 0 : ee.trim()) ?? "", r = ((me = e.token) == null ? void 0 : me.trim()) ?? "", d = ((oe = e.codeBranch) == null ? void 0 : oe.trim()) ?? "", g = n !== "gitee" || !o || !s || !r, h = !d;
|
|
716
716
|
return {
|
|
717
717
|
provider: n,
|
|
718
718
|
owner: o,
|
|
@@ -720,8 +720,8 @@ function We() {
|
|
|
720
720
|
token: r,
|
|
721
721
|
remoteBranch: ((Z = e.remoteBranch) == null ? void 0 : Z.trim()) || "master",
|
|
722
722
|
projectId: ((ae = e.projectId) == null ? void 0 : ae.trim()) || "prototype-core",
|
|
723
|
-
codeBranch:
|
|
724
|
-
branchKey:
|
|
723
|
+
codeBranch: d,
|
|
724
|
+
branchKey: d ? dv(d) : "unknown",
|
|
725
725
|
remoteReadable: !g && !h,
|
|
726
726
|
remoteWritable: !g && !h,
|
|
727
727
|
unavailableReason: h ? "无法识别代码分支,当前无法推送" : g ? "Gitee 未配置,当前无法推送" : ""
|
|
@@ -746,7 +746,7 @@ function en(e) {
|
|
|
746
746
|
return null;
|
|
747
747
|
}
|
|
748
748
|
}
|
|
749
|
-
function tn(e, n, o, s, r = s ? "synced" : "pending",
|
|
749
|
+
function tn(e, n, o, s, r = s ? "synced" : "pending", d) {
|
|
750
750
|
var h;
|
|
751
751
|
const g = {
|
|
752
752
|
schemaVersion: ts,
|
|
@@ -755,7 +755,7 @@ function tn(e, n, o, s, r = s ? "synced" : "pending", c) {
|
|
|
755
755
|
cachedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
756
756
|
lastRemoteSyncAt: s,
|
|
757
757
|
status: r,
|
|
758
|
-
...
|
|
758
|
+
...d ? { error: d } : {}
|
|
759
759
|
};
|
|
760
760
|
return (h = wn()) == null || h.setItem(Sn(e), JSON.stringify(g)), g;
|
|
761
761
|
}
|
|
@@ -793,14 +793,14 @@ function Wi(e, n) {
|
|
|
793
793
|
const o = { schemaVersion: ts, scopes: n };
|
|
794
794
|
return (s = wn()) == null || s.setItem(Sn(e), JSON.stringify(o)), o;
|
|
795
795
|
}
|
|
796
|
-
function ot(e, n, o, s, r,
|
|
796
|
+
function ot(e, n, o, s, r, d = r ? "synced" : "pending", g) {
|
|
797
797
|
var I;
|
|
798
798
|
const h = ut(e), b = vv(h, n, {
|
|
799
799
|
value: o,
|
|
800
800
|
revision: s,
|
|
801
801
|
cachedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
802
802
|
lastRemoteSyncAt: r,
|
|
803
|
-
status:
|
|
803
|
+
status: d,
|
|
804
804
|
...g ? { error: g } : {}
|
|
805
805
|
});
|
|
806
806
|
return (I = wn()) == null || I.setItem(Sn(e), JSON.stringify(b)), b.scopes[n];
|
|
@@ -854,10 +854,10 @@ async function nn(e) {
|
|
|
854
854
|
if (r.status === 304) continue;
|
|
855
855
|
if (r.status === 404) return null;
|
|
856
856
|
if (!r.ok) throw new Error(`读取 Gitee 文件失败:${r.status}`);
|
|
857
|
-
const
|
|
857
|
+
const d = await r.json(), g = br(d, e);
|
|
858
858
|
if (g) return { value: JSON.parse(gv(g.content)), sha: g.sha, legacy: !1 };
|
|
859
|
-
if (Array.isArray(
|
|
860
|
-
const h =
|
|
859
|
+
if (Array.isArray(d)) return null;
|
|
860
|
+
const h = d && typeof d == "object" ? Object.keys(d).join(",") || "empty" : typeof d;
|
|
861
861
|
throw new Error(`Gitee 文件响应格式异常:${r.status} / ${h}`);
|
|
862
862
|
}
|
|
863
863
|
throw new Error("读取 Gitee 文件失败:304 缓存响应");
|
|
@@ -868,15 +868,15 @@ async function Ht(e, n) {
|
|
|
868
868
|
if (We().codeBranch !== "main") return null;
|
|
869
869
|
const r = yv(e, n);
|
|
870
870
|
if (!r) return null;
|
|
871
|
-
const
|
|
872
|
-
return
|
|
871
|
+
const d = await nn(r);
|
|
872
|
+
return d ? { ...d, legacy: !0 } : null;
|
|
873
873
|
}
|
|
874
874
|
async function $o(e, n, o, s) {
|
|
875
875
|
const r = We();
|
|
876
876
|
if (!r.remoteWritable) return;
|
|
877
|
-
const
|
|
877
|
+
const d = `${Sr}/repos/${encodeURIComponent(r.owner)}/${encodeURIComponent(r.repo)}/contents/${kr(e)}`, g = new URLSearchParams();
|
|
878
878
|
g.set("access_token", r.token), g.set("branch", r.remoteBranch), g.set("content", mv(JSON.stringify(n, null, 2))), g.set("message", s), o && g.set("sha", o);
|
|
879
|
-
const h = await fetch(
|
|
879
|
+
const h = await fetch(d, {
|
|
880
880
|
method: o ? "PUT" : "POST",
|
|
881
881
|
headers: { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" },
|
|
882
882
|
body: g
|
|
@@ -893,15 +893,15 @@ function _o(e, n, o, s) {
|
|
|
893
893
|
}
|
|
894
894
|
async function Ir(e, n, o, s, r) {
|
|
895
895
|
return Io(`${e}:${o}`, async () => {
|
|
896
|
-
const
|
|
897
|
-
return await $o(zt(e, o || void 0), n, (
|
|
896
|
+
const d = await nn(zt(e, o || void 0));
|
|
897
|
+
return await $o(zt(e, o || void 0), n, (d == null ? void 0 : d.sha) ?? null, _o(o || "all", s, r, e)), Ht(e, o || void 0);
|
|
898
898
|
});
|
|
899
899
|
}
|
|
900
900
|
function On(e, n, o, s) {
|
|
901
901
|
const r = `${e}:${n ?? "root"}:initialize`;
|
|
902
902
|
return Io(r, async () => {
|
|
903
|
-
const
|
|
904
|
-
return g ? yr(g.value, o) : (await $o(
|
|
903
|
+
const d = zt(e, n), g = await nn(d);
|
|
904
|
+
return g ? yr(g.value, o) : (await $o(d, o, null, _o(n ?? "all", s, "初始化", e)), "created");
|
|
905
905
|
});
|
|
906
906
|
}
|
|
907
907
|
async function bv() {
|
|
@@ -915,13 +915,13 @@ function wv(e, n) {
|
|
|
915
915
|
}
|
|
916
916
|
async function hl(e, n, o, s) {
|
|
917
917
|
return Io(`${e}:manifest`, async () => {
|
|
918
|
-
var r,
|
|
918
|
+
var r, d;
|
|
919
919
|
for (let g = 0; g < 2; g += 1) {
|
|
920
920
|
const h = await nn(zt(e)), b = !h && We().codeBranch === "main" ? await Ht(e) : null, I = (r = h ?? b) == null ? void 0 : r.value, ee = s.split("__")[0], me = {
|
|
921
921
|
...I ?? n,
|
|
922
922
|
projectId: n.projectId,
|
|
923
923
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
924
|
-
scopes: { ...(I == null ? void 0 : I.scopes) ?? {}, [s]: ((
|
|
924
|
+
scopes: { ...(I == null ? void 0 : I.scopes) ?? {}, [s]: ((d = n.scopes) == null ? void 0 : d[s]) ?? { count: 0, updatedAt: (/* @__PURE__ */ new Date()).toISOString() } },
|
|
925
925
|
screens: { ...(I == null ? void 0 : I.screens) ?? {}, [ee]: n.screens[ee] ?? { count: 0, updatedAt: (/* @__PURE__ */ new Date()).toISOString() } }
|
|
926
926
|
};
|
|
927
927
|
try {
|
|
@@ -942,7 +942,7 @@ function al(e) {
|
|
|
942
942
|
async function Cv(e, n, o, s) {
|
|
943
943
|
return Io(`annotations:${e}`, async () => {
|
|
944
944
|
var b;
|
|
945
|
-
const r = await nn(zt("annotations", e)),
|
|
945
|
+
const r = await nn(zt("annotations", e)), d = !r && We().codeBranch === "main" ? await al(e) : null, g = (b = r ?? d) == null ? void 0 : b.value, h = s(Array.isArray(g) ? g : []);
|
|
946
946
|
return await $o(zt("annotations", e), h, (r == null ? void 0 : r.sha) ?? null, _o(e, n, o, "annotations")), al(e);
|
|
947
947
|
});
|
|
948
948
|
}
|
|
@@ -969,7 +969,7 @@ function yl(e) {
|
|
|
969
969
|
}
|
|
970
970
|
async function xv(e, n, o, s) {
|
|
971
971
|
return Io(`testCases:${e}`, async () => {
|
|
972
|
-
const r = await nn(zt("testCases", e)),
|
|
972
|
+
const r = await nn(zt("testCases", e)), d = r == null ? void 0 : r.value, g = s(Array.isArray(d) ? d : []);
|
|
973
973
|
return await $o(zt("testCases", e), g, (r == null ? void 0 : r.sha) ?? null, _o(e, n, o, "testCases")), yl(e);
|
|
974
974
|
});
|
|
975
975
|
}
|
|
@@ -1015,11 +1015,11 @@ async function Yi(e) {
|
|
|
1015
1015
|
});
|
|
1016
1016
|
if (s.status === 404) return null;
|
|
1017
1017
|
if (!s.ok) throw new Error(`读取 Gitee Bug 文件失败:${s.status}`);
|
|
1018
|
-
const r = await s.json(),
|
|
1019
|
-
if (
|
|
1018
|
+
const r = await s.json(), d = br(r, e);
|
|
1019
|
+
if (d)
|
|
1020
1020
|
return {
|
|
1021
|
-
value: JSON.parse(Av(
|
|
1022
|
-
sha:
|
|
1021
|
+
value: JSON.parse(Av(d.content)),
|
|
1022
|
+
sha: d.sha,
|
|
1023
1023
|
exists: !0,
|
|
1024
1024
|
legacy: e === Or()
|
|
1025
1025
|
};
|
|
@@ -1033,9 +1033,9 @@ async function Br() {
|
|
|
1033
1033
|
async function Tv(e, n, o, s) {
|
|
1034
1034
|
const r = We();
|
|
1035
1035
|
if (!r.remoteWritable) return;
|
|
1036
|
-
const
|
|
1036
|
+
const d = `${Er}/repos/${encodeURIComponent(r.owner)}/${encodeURIComponent(r.repo)}/contents/${Nr(e)}`, g = new URLSearchParams();
|
|
1037
1037
|
g.set("access_token", r.token), g.set("branch", r.remoteBranch), g.set("content", Dv(JSON.stringify(n, null, 2))), g.set("message", s), o && g.set("sha", o);
|
|
1038
|
-
const h = await fetch(
|
|
1038
|
+
const h = await fetch(d, {
|
|
1039
1039
|
method: o ? "PUT" : "POST",
|
|
1040
1040
|
headers: { "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8" },
|
|
1041
1041
|
body: g
|
|
@@ -1068,7 +1068,7 @@ function Rv(e) {
|
|
|
1068
1068
|
}
|
|
1069
1069
|
function Ov(e, n, o = -1) {
|
|
1070
1070
|
const s = na(n);
|
|
1071
|
-
return e.some((r,
|
|
1071
|
+
return e.some((r, d) => d !== o && na(r.id) === s);
|
|
1072
1072
|
}
|
|
1073
1073
|
const jr = ["功能异常", "UI/文案", "流程阻塞", "数据/报告", "设备/蓝牙", "性能/稳定性", "兼容性", "其他"], Ur = ["P0", "P1", "P2", "P3", "P4"], Mr = ["安卓侧", "iOS 侧", "后端"], Fr = ["后端开发", "iOS 开发", "安卓开发", "产品经理", "算法开发", "硬件嵌入式开发"], Lr = ["待处理", "已确认", "修复中", "已修复", "已验证", "无需处理"], Vr = ["待处理", "已确认", "修复中"];
|
|
1074
1074
|
function Bv(e) {
|
|
@@ -1132,11 +1132,11 @@ function Vv(e, n = !0) {
|
|
|
1132
1132
|
if (!(e != null && e.exists)) throw new Error("Gitee Bug 文件不存在,无法导出远端最新数据");
|
|
1133
1133
|
const o = wo(e.value);
|
|
1134
1134
|
if (o.length !== e.value.length) throw new Error("Gitee Bug 数据包含无效记录,已中止导出以避免遗漏");
|
|
1135
|
-
const s = e.value.reduce((h, b) => h + (Array.isArray(b.attachments) ? b.attachments.length : 0), 0), r = e.value.reduce((h, b) => h + (Array.isArray(b.history) ? b.history.length : 0), 0),
|
|
1135
|
+
const s = e.value.reduce((h, b) => h + (Array.isArray(b.attachments) ? b.attachments.length : 0), 0), r = e.value.reduce((h, b) => h + (Array.isArray(b.history) ? b.history.length : 0), 0), d = o.reduce((h, b) => {
|
|
1136
1136
|
var I;
|
|
1137
1137
|
return h + (((I = b.attachments) == null ? void 0 : I.length) ?? 0);
|
|
1138
1138
|
}, 0), g = o.reduce((h, b) => h + b.history.length, 0);
|
|
1139
|
-
if (s !==
|
|
1139
|
+
if (s !== d || r !== g)
|
|
1140
1140
|
throw new Error("Gitee Bug 数据包含无效附件或状态历史,已中止导出以避免遗漏");
|
|
1141
1141
|
return o;
|
|
1142
1142
|
}
|
|
@@ -1174,8 +1174,8 @@ async function zv() {
|
|
|
1174
1174
|
}
|
|
1175
1175
|
}
|
|
1176
1176
|
async function Hv(e, n, o) {
|
|
1177
|
-
const s = (
|
|
1178
|
-
const g = wo(
|
|
1177
|
+
const s = (d) => {
|
|
1178
|
+
const g = wo(d);
|
|
1179
1179
|
return wo(o(g));
|
|
1180
1180
|
}, r = () => {
|
|
1181
1181
|
Ot.value = s(Ot.value), Gv(Ot.value);
|
|
@@ -1183,15 +1183,15 @@ async function Hv(e, n, o) {
|
|
|
1183
1183
|
if (ns.value)
|
|
1184
1184
|
try {
|
|
1185
1185
|
Ft("loading", "正在提交 Gitee Bug 数据");
|
|
1186
|
-
const
|
|
1187
|
-
return Ot.value = wo((
|
|
1188
|
-
} catch (
|
|
1189
|
-
return Ft(
|
|
1186
|
+
const d = await Nv(e, n, s);
|
|
1187
|
+
return Ot.value = wo((d == null ? void 0 : d.value) ?? []), tn("bugs", Ot.value, (d == null ? void 0 : d.sha) ?? null, (/* @__PURE__ */ new Date()).toISOString(), "synced"), Ft("success", "Bug 数据已提交"), !0;
|
|
1188
|
+
} catch (d) {
|
|
1189
|
+
return Ft(d instanceof Cn ? "conflict" : "error", d instanceof Error ? d.message : "Bug 数据提交失败"), !1;
|
|
1190
1190
|
}
|
|
1191
1191
|
try {
|
|
1192
1192
|
return r(), Ft("success", "Bug 数据已保存到本地"), !0;
|
|
1193
|
-
} catch (
|
|
1194
|
-
return Ft("error",
|
|
1193
|
+
} catch (d) {
|
|
1194
|
+
return Ft("error", d instanceof Error ? d.message : "Bug 数据保存失败"), !1;
|
|
1195
1195
|
}
|
|
1196
1196
|
}
|
|
1197
1197
|
async function Kv() {
|
|
@@ -1221,8 +1221,8 @@ function Hr() {
|
|
|
1221
1221
|
}
|
|
1222
1222
|
const Wv = "x-oss-process=image/resize,w_240/quality,q_75";
|
|
1223
1223
|
function Sl() {
|
|
1224
|
-
var
|
|
1225
|
-
const e = xo().oss ?? {}, n = ((
|
|
1224
|
+
var d, g, h, b;
|
|
1225
|
+
const e = xo().oss ?? {}, n = ((d = e.bucket) == null ? void 0 : d.trim()) ?? "", o = (((g = e.baseUrl) == null ? void 0 : g.trim()) ?? "").replace(/\/$/, ""), s = ((h = e.accessKeyId) == null ? void 0 : h.trim()) ?? "", r = ((b = e.accessKeySecret) == null ? void 0 : b.trim()) ?? "";
|
|
1226
1226
|
return !n || !o || !s || !r ? null : { bucket: n, baseUrl: o, accessKeyId: s, accessKeySecret: r };
|
|
1227
1227
|
}
|
|
1228
1228
|
function Yv(e) {
|
|
@@ -1261,11 +1261,11 @@ function Zs(e) {
|
|
|
1261
1261
|
async function ef(e, n) {
|
|
1262
1262
|
const o = Sl();
|
|
1263
1263
|
if (!o) throw new Error("缺少 OSS 上传配置");
|
|
1264
|
-
const s = qv(e, n.size), r = await Xv(s, o.accessKeySecret),
|
|
1265
|
-
|
|
1264
|
+
const s = qv(e, n.size), r = await Xv(s, o.accessKeySecret), d = new FormData();
|
|
1265
|
+
d.set("key", e), d.set("policy", s), d.set("OSSAccessKeyId", o.accessKeyId), d.set("signature", r), d.set("success_action_status", "201"), d.set("Content-Type", n.type || "application/octet-stream"), d.set("file", n);
|
|
1266
1266
|
const g = await fetch(o.baseUrl, {
|
|
1267
1267
|
method: "POST",
|
|
1268
|
-
body:
|
|
1268
|
+
body: d
|
|
1269
1269
|
});
|
|
1270
1270
|
if (!g.ok) throw new Error(`OSS 图片上传失败:${g.status}`);
|
|
1271
1271
|
return {
|
|
@@ -1309,8 +1309,8 @@ function Cl(e, n) {
|
|
|
1309
1309
|
e.autoFilter = { from: "A1", to: `${n}1` };
|
|
1310
1310
|
const o = e.getRow(1);
|
|
1311
1311
|
o.height = 24, o.font = { bold: !0, color: { argb: nf } }, o.alignment = { vertical: "middle", horizontal: "center" }, o.fill = { type: "pattern", pattern: "solid", fgColor: { argb: tf } }, e.eachRow((s, r) => {
|
|
1312
|
-
s.eachCell((
|
|
1313
|
-
|
|
1312
|
+
s.eachCell((d) => {
|
|
1313
|
+
d.alignment = { vertical: "top", wrapText: !0 }, d.border = { bottom: { style: "hair", color: { argb: of } } }, d.value instanceof Date && (d.numFmt = "yyyy-mm-dd hh:mm:ss");
|
|
1314
1314
|
}), r > 1 && !s.height && (s.height = 36);
|
|
1315
1315
|
});
|
|
1316
1316
|
}
|
|
@@ -1366,7 +1366,7 @@ async function df(e, n, o) {
|
|
|
1366
1366
|
{ header: "原图链接", key: "url", width: 48 },
|
|
1367
1367
|
{ header: "缩略图", key: "thumbnail", width: 24 }
|
|
1368
1368
|
];
|
|
1369
|
-
let r = 0,
|
|
1369
|
+
let r = 0, d = 0;
|
|
1370
1370
|
for (const g of n)
|
|
1371
1371
|
for (const h of g.attachments ?? []) {
|
|
1372
1372
|
r += 1;
|
|
@@ -1389,10 +1389,10 @@ async function df(e, n, o) {
|
|
|
1389
1389
|
ext: { width: me, height: oe }
|
|
1390
1390
|
}), b.height = Math.max(36, oe * 0.75 + 8);
|
|
1391
1391
|
} catch {
|
|
1392
|
-
|
|
1392
|
+
d += 1, b.getCell("thumbnail").value = "缩略图读取失败,请打开原图链接";
|
|
1393
1393
|
}
|
|
1394
1394
|
}
|
|
1395
|
-
return Cl(s, "I"), { attachmentCount: r, thumbnailFailureCount:
|
|
1395
|
+
return Cl(s, "I"), { attachmentCount: r, thumbnailFailureCount: d };
|
|
1396
1396
|
}
|
|
1397
1397
|
function pf(e, n) {
|
|
1398
1398
|
const o = e.addWorksheet("状态历史", { views: [{ state: "frozen", ySplit: 1 }] });
|
|
@@ -1417,7 +1417,7 @@ function pf(e, n) {
|
|
|
1417
1417
|
})))), Cl(o, "H");
|
|
1418
1418
|
}
|
|
1419
1419
|
async function vf(e, n = {}) {
|
|
1420
|
-
const { default: o } = await import("
|
|
1420
|
+
const { default: o } = await import("exceljs"), s = new o.Workbook();
|
|
1421
1421
|
s.creator = "@marktowin/prototype-core", s.created = /* @__PURE__ */ new Date(), cf(s, e);
|
|
1422
1422
|
const r = await df(s, e, n.thumbnailLoader ?? uf);
|
|
1423
1423
|
return pf(s, e), { workbook: s, ...r };
|
|
@@ -1431,9 +1431,9 @@ function mf(e, n) {
|
|
|
1431
1431
|
o.href = URL.createObjectURL(e), o.download = n, o.click(), URL.revokeObjectURL(o.href);
|
|
1432
1432
|
}
|
|
1433
1433
|
async function gf(e, n = {}) {
|
|
1434
|
-
const { workbook: o, attachmentCount: s, thumbnailFailureCount: r } = await vf(e, n),
|
|
1434
|
+
const { workbook: o, attachmentCount: s, thumbnailFailureCount: r } = await vf(e, n), d = await o.xlsx.writeBuffer();
|
|
1435
1435
|
return mf(
|
|
1436
|
-
new Blob([
|
|
1436
|
+
new Blob([d], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" }),
|
|
1437
1437
|
ff()
|
|
1438
1438
|
), { bugCount: e.length, attachmentCount: s, thumbnailFailureCount: r };
|
|
1439
1439
|
}
|
|
@@ -1499,7 +1499,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
1499
1499
|
const o = n, {
|
|
1500
1500
|
bugs: s,
|
|
1501
1501
|
bugTypes: r,
|
|
1502
|
-
bugSeverities:
|
|
1502
|
+
bugSeverities: d,
|
|
1503
1503
|
bugSourceSides: g,
|
|
1504
1504
|
bugOwnerRoles: h,
|
|
1505
1505
|
bugStatuses: b,
|
|
@@ -1609,7 +1609,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
1609
1609
|
function yt() {
|
|
1610
1610
|
try {
|
|
1611
1611
|
const y = JSON.parse(window.localStorage.getItem(Ce()) ?? "null"), p = y == null ? void 0 : y.form;
|
|
1612
|
-
return (y == null ? void 0 : y.version) !== Wa || typeof y.submissionId != "string" || !y.submissionId.trim() || !p || typeof p.reporterName != "string" || typeof p.title != "string" || typeof p.sourceSideVersion != "string" || typeof p.description != "string" || !r.includes(p.type) || !
|
|
1612
|
+
return (y == null ? void 0 : y.version) !== Wa || typeof y.submissionId != "string" || !y.submissionId.trim() || !p || typeof p.reporterName != "string" || typeof p.title != "string" || typeof p.sourceSideVersion != "string" || typeof p.description != "string" || !r.includes(p.type) || !d.includes(p.severity) || !g.includes(p.sourceSide) || !h.includes(p.ownerRole) ? null : {
|
|
1613
1613
|
version: Wa,
|
|
1614
1614
|
submissionId: y.submissionId,
|
|
1615
1615
|
form: { ...p },
|
|
@@ -1997,7 +1997,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
1997
1997
|
]),
|
|
1998
1998
|
t("span", {
|
|
1999
1999
|
class: E(["bug-refresh-status", `is-${i(oe)}`])
|
|
2000
|
-
},
|
|
2000
|
+
}, c(i(Z) || "Bug 数据已就绪"), 3)
|
|
2001
2001
|
], 8, wf),
|
|
2002
2002
|
t("button", {
|
|
2003
2003
|
class: "bug-export-btn",
|
|
@@ -2007,11 +2007,11 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2007
2007
|
}, [
|
|
2008
2008
|
t("span", kf, [
|
|
2009
2009
|
F(i(ur), { class: "h-4 w-4" }),
|
|
2010
|
-
t("span", null,
|
|
2010
|
+
t("span", null, c(se.value ? "导出中" : "导出 Excel"), 1)
|
|
2011
2011
|
]),
|
|
2012
2012
|
t("span", {
|
|
2013
2013
|
class: E(["bug-export-status", `is-${st.value}`])
|
|
2014
|
-
},
|
|
2014
|
+
}, c(Re.value || (i(me) ? "读取 Gitee 最新数据" : "未启用 Gitee")), 3)
|
|
2015
2015
|
], 8, Cf)
|
|
2016
2016
|
])
|
|
2017
2017
|
]),
|
|
@@ -2019,24 +2019,24 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2019
2019
|
t("article", If, [
|
|
2020
2020
|
F(i(Ed), { class: "h-5 w-5" }),
|
|
2021
2021
|
p[43] || (p[43] = t("span", null, "未修复", -1)),
|
|
2022
|
-
t("strong", null,
|
|
2022
|
+
t("strong", null, c(i(ee)), 1)
|
|
2023
2023
|
]),
|
|
2024
2024
|
t("article", $f, [
|
|
2025
2025
|
F(i(Td), { class: "h-5 w-5" }),
|
|
2026
2026
|
p[44] || (p[44] = t("span", null, "已修复/验证", -1)),
|
|
2027
|
-
t("strong", null,
|
|
2027
|
+
t("strong", null, c(Fe.value), 1)
|
|
2028
2028
|
]),
|
|
2029
2029
|
t("article", _f, [
|
|
2030
2030
|
F(i(Mi), { class: "h-5 w-5" }),
|
|
2031
2031
|
p[45] || (p[45] = t("span", null, "无需处理", -1)),
|
|
2032
|
-
t("strong", null,
|
|
2032
|
+
t("strong", null, c(ba.value), 1)
|
|
2033
2033
|
]),
|
|
2034
2034
|
t("article", {
|
|
2035
2035
|
class: E(["bug-stat-card sync", `is-${i(oe)}`])
|
|
2036
2036
|
}, [
|
|
2037
2037
|
F(i(Nd), { class: "h-5 w-5" }),
|
|
2038
|
-
t("span", null,
|
|
2039
|
-
t("strong", null,
|
|
2038
|
+
t("span", null, c(i(me) ? "Gitee 同步" : "本地兜底"), 1),
|
|
2039
|
+
t("strong", null, c(i(oe) === "loading" ? "同步中" : i(s).length), 1)
|
|
2040
2040
|
], 2)
|
|
2041
2041
|
]),
|
|
2042
2042
|
t("section", Pf, [
|
|
@@ -2084,7 +2084,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2084
2084
|
(v(!0), f(D, null, R(i(r), (m) => (v(), f("option", {
|
|
2085
2085
|
key: m,
|
|
2086
2086
|
value: m
|
|
2087
|
-
},
|
|
2087
|
+
}, c(m), 9, Nf))), 128))
|
|
2088
2088
|
], 512), [
|
|
2089
2089
|
[lt, A.type]
|
|
2090
2090
|
])
|
|
@@ -2094,10 +2094,10 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2094
2094
|
N(t("select", {
|
|
2095
2095
|
"onUpdate:modelValue": p[5] || (p[5] = (m) => A.severity = m)
|
|
2096
2096
|
}, [
|
|
2097
|
-
(v(!0), f(D, null, R(i(
|
|
2097
|
+
(v(!0), f(D, null, R(i(d), (m) => (v(), f("option", {
|
|
2098
2098
|
key: m,
|
|
2099
2099
|
value: m
|
|
2100
|
-
},
|
|
2100
|
+
}, c(m), 9, Rf))), 128))
|
|
2101
2101
|
], 512), [
|
|
2102
2102
|
[lt, A.severity]
|
|
2103
2103
|
])
|
|
@@ -2110,7 +2110,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2110
2110
|
(v(!0), f(D, null, R(i(g), (m) => (v(), f("option", {
|
|
2111
2111
|
key: m,
|
|
2112
2112
|
value: m
|
|
2113
|
-
},
|
|
2113
|
+
}, c(m), 9, Of))), 128))
|
|
2114
2114
|
], 512), [
|
|
2115
2115
|
[lt, A.sourceSide]
|
|
2116
2116
|
])
|
|
@@ -2134,7 +2134,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2134
2134
|
(v(!0), f(D, null, R(i(h), (m) => (v(), f("option", {
|
|
2135
2135
|
key: m,
|
|
2136
2136
|
value: m
|
|
2137
|
-
},
|
|
2137
|
+
}, c(m), 9, Bf))), 128))
|
|
2138
2138
|
], 512), [
|
|
2139
2139
|
[lt, A.ownerRole]
|
|
2140
2140
|
])
|
|
@@ -2183,14 +2183,14 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2183
2183
|
alt: m.name
|
|
2184
2184
|
}, null, 8, Lf),
|
|
2185
2185
|
t("div", null, [
|
|
2186
|
-
t("b", null,
|
|
2186
|
+
t("b", null, c(m.name), 1),
|
|
2187
2187
|
t("span", null, [
|
|
2188
|
-
z(
|
|
2188
|
+
z(c(In(m.size)), 1),
|
|
2189
2189
|
m.originalSize !== m.size ? (v(), f(D, { key: 0 }, [
|
|
2190
|
-
z(" / 原图 " +
|
|
2190
|
+
z(" / 原图 " + c(In(m.originalSize)), 1)
|
|
2191
2191
|
], 64)) : C("", !0)
|
|
2192
2192
|
]),
|
|
2193
|
-
m.error ? (v(), f("small", Vf,
|
|
2193
|
+
m.error ? (v(), f("small", Vf, c(m.error), 1)) : C("", !0)
|
|
2194
2194
|
]),
|
|
2195
2195
|
t("button", {
|
|
2196
2196
|
type: "button",
|
|
@@ -2201,9 +2201,9 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2201
2201
|
], 8, Gf)
|
|
2202
2202
|
], 2))), 128))
|
|
2203
2203
|
])) : C("", !0),
|
|
2204
|
-
$.value ? (v(), f("p", zf,
|
|
2204
|
+
$.value ? (v(), f("p", zf, c($.value), 1)) : C("", !0)
|
|
2205
2205
|
]),
|
|
2206
|
-
Qe.value ? (v(), f("p", Hf,
|
|
2206
|
+
Qe.value ? (v(), f("p", Hf, c(Qe.value), 1)) : C("", !0),
|
|
2207
2207
|
t("button", {
|
|
2208
2208
|
class: "bug-primary-btn",
|
|
2209
2209
|
type: "submit",
|
|
@@ -2225,7 +2225,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2225
2225
|
(v(!0), f(D, null, R(i(b), (m) => (v(), f("option", {
|
|
2226
2226
|
key: m,
|
|
2227
2227
|
value: m
|
|
2228
|
-
},
|
|
2228
|
+
}, c(m), 9, qf))), 128))
|
|
2229
2229
|
], 512), [
|
|
2230
2230
|
[lt, L.status]
|
|
2231
2231
|
]),
|
|
@@ -2236,7 +2236,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2236
2236
|
(v(!0), f(D, null, R(i(r), (m) => (v(), f("option", {
|
|
2237
2237
|
key: m,
|
|
2238
2238
|
value: m
|
|
2239
|
-
},
|
|
2239
|
+
}, c(m), 9, Zf))), 128))
|
|
2240
2240
|
], 512), [
|
|
2241
2241
|
[lt, L.type]
|
|
2242
2242
|
]),
|
|
@@ -2244,10 +2244,10 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2244
2244
|
"onUpdate:modelValue": p[13] || (p[13] = (m) => L.severity = m)
|
|
2245
2245
|
}, [
|
|
2246
2246
|
p[61] || (p[61] = t("option", { value: "全部" }, "全部等级", -1)),
|
|
2247
|
-
(v(!0), f(D, null, R(i(
|
|
2247
|
+
(v(!0), f(D, null, R(i(d), (m) => (v(), f("option", {
|
|
2248
2248
|
key: m,
|
|
2249
2249
|
value: m
|
|
2250
|
-
},
|
|
2250
|
+
}, c(m), 9, Qf))), 128))
|
|
2251
2251
|
], 512), [
|
|
2252
2252
|
[lt, L.severity]
|
|
2253
2253
|
]),
|
|
@@ -2258,7 +2258,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2258
2258
|
(v(!0), f(D, null, R(i(h), (m) => (v(), f("option", {
|
|
2259
2259
|
key: m,
|
|
2260
2260
|
value: m
|
|
2261
|
-
},
|
|
2261
|
+
}, c(m), 9, em))), 128))
|
|
2262
2262
|
], 512), [
|
|
2263
2263
|
[lt, L.ownerRole]
|
|
2264
2264
|
]),
|
|
@@ -2269,7 +2269,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2269
2269
|
(v(!0), f(D, null, R(i(g), (m) => (v(), f("option", {
|
|
2270
2270
|
key: m,
|
|
2271
2271
|
value: m
|
|
2272
|
-
},
|
|
2272
|
+
}, c(m), 9, tm))), 128))
|
|
2273
2273
|
], 512), [
|
|
2274
2274
|
[lt, L.sourceSide]
|
|
2275
2275
|
]),
|
|
@@ -2280,7 +2280,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2280
2280
|
(v(!0), f(D, null, R(gs.value, (m) => (v(), f("option", {
|
|
2281
2281
|
key: m,
|
|
2282
2282
|
value: m
|
|
2283
|
-
},
|
|
2283
|
+
}, c(m), 9, nm))), 128))
|
|
2284
2284
|
], 512), [
|
|
2285
2285
|
[lt, L.sourceSideVersion]
|
|
2286
2286
|
]),
|
|
@@ -2304,7 +2304,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2304
2304
|
(v(), f(D, null, R(Ue, (m) => t("option", {
|
|
2305
2305
|
key: m.value,
|
|
2306
2306
|
value: m.value
|
|
2307
|
-
},
|
|
2307
|
+
}, c(m.label), 9, am)), 64))
|
|
2308
2308
|
], 512), [
|
|
2309
2309
|
[lt, ct.value]
|
|
2310
2310
|
])
|
|
@@ -2317,7 +2317,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2317
2317
|
(v(), f(D, null, R(H, (m) => t("option", {
|
|
2318
2318
|
key: m,
|
|
2319
2319
|
value: m
|
|
2320
|
-
},
|
|
2320
|
+
}, c(m) + " 条", 9, lm)), 64))
|
|
2321
2321
|
], 512), [
|
|
2322
2322
|
[
|
|
2323
2323
|
lt,
|
|
@@ -2330,14 +2330,14 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2330
2330
|
])
|
|
2331
2331
|
]),
|
|
2332
2332
|
Jn.value.length ? (v(), f("div", im, [
|
|
2333
|
-
t("span", null, "第 " +
|
|
2333
|
+
t("span", null, "第 " + c(Wn.value) + "-" + c(hs.value) + " 条,共 " + c(bt.value.length) + " 条", 1),
|
|
2334
2334
|
t("div", null, [
|
|
2335
2335
|
t("button", {
|
|
2336
2336
|
type: "button",
|
|
2337
2337
|
disabled: he.value <= 1,
|
|
2338
2338
|
onClick: p[20] || (p[20] = (m) => he.value -= 1)
|
|
2339
2339
|
}, "上一页", 8, rm),
|
|
2340
|
-
t("strong", null,
|
|
2340
|
+
t("strong", null, c(he.value) + " / " + c(xn.value), 1),
|
|
2341
2341
|
t("button", {
|
|
2342
2342
|
type: "button",
|
|
2343
2343
|
disabled: he.value >= xn.value,
|
|
@@ -2355,20 +2355,20 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2355
2355
|
}, [
|
|
2356
2356
|
t("div", pm, [
|
|
2357
2357
|
t("div", vm, [
|
|
2358
|
-
t("b", null, "#" +
|
|
2359
|
-
t("span", null,
|
|
2358
|
+
t("b", null, "#" + c(m.id), 1),
|
|
2359
|
+
t("span", null, c(m.type), 1),
|
|
2360
2360
|
t("span", {
|
|
2361
2361
|
class: E(`severity-${Y[m.severity]}`)
|
|
2362
|
-
},
|
|
2363
|
-
t("span", null, "发生侧:" +
|
|
2364
|
-
m.sourceSideVersion ? (v(), f("span", fm, "版本:" +
|
|
2365
|
-
t("span", null, "归属:" +
|
|
2362
|
+
}, c(m.severity), 3),
|
|
2363
|
+
t("span", null, "发生侧:" + c(m.sourceSide), 1),
|
|
2364
|
+
m.sourceSideVersion ? (v(), f("span", fm, "版本:" + c(m.sourceSideVersion), 1)) : C("", !0),
|
|
2365
|
+
t("span", null, "归属:" + c(m.ownerRole), 1),
|
|
2366
2366
|
t("i", {
|
|
2367
2367
|
class: E(`status-${Ae[m.status]}`)
|
|
2368
|
-
},
|
|
2368
|
+
}, c(m.status), 3)
|
|
2369
2369
|
]),
|
|
2370
|
-
t("h2", null,
|
|
2371
|
-
t("p", null,
|
|
2370
|
+
t("h2", null, c(m.title), 1),
|
|
2371
|
+
t("p", null, c(m.description), 1),
|
|
2372
2372
|
(J = m.attachments) != null && J.length ? (v(), f("div", mm, [
|
|
2373
2373
|
(v(!0), f(D, null, R(m.attachments.slice(0, 3), (Ee) => (v(), f("button", {
|
|
2374
2374
|
key: Ee.id,
|
|
@@ -2381,12 +2381,12 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2381
2381
|
loading: "lazy"
|
|
2382
2382
|
}, null, 8, hm)
|
|
2383
2383
|
], 8, gm))), 128)),
|
|
2384
|
-
m.attachments.length > 3 ? (v(), f("span", ym, "+" +
|
|
2384
|
+
m.attachments.length > 3 ? (v(), f("span", ym, "+" + c(m.attachments.length - 3), 1)) : C("", !0)
|
|
2385
2385
|
])) : C("", !0),
|
|
2386
2386
|
t("small", null, [
|
|
2387
|
-
z("提报人:" +
|
|
2387
|
+
z("提报人:" + c(m.reporterName) + " · " + c(Yn(m.createdAt)), 1),
|
|
2388
2388
|
m.fixerName ? (v(), f(D, { key: 0 }, [
|
|
2389
|
-
z(" · 修复人:" +
|
|
2389
|
+
z(" · 修复人:" + c(m.fixerName), 1)
|
|
2390
2390
|
], 64)) : C("", !0)
|
|
2391
2391
|
])
|
|
2392
2392
|
]),
|
|
@@ -2398,14 +2398,14 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2398
2398
|
}), 128))
|
|
2399
2399
|
]),
|
|
2400
2400
|
Jn.value.length ? (v(), f("div", wm, [
|
|
2401
|
-
t("span", null, "第 " +
|
|
2401
|
+
t("span", null, "第 " + c(Wn.value) + "-" + c(hs.value) + " 条,共 " + c(bt.value.length) + " 条", 1),
|
|
2402
2402
|
t("div", null, [
|
|
2403
2403
|
t("button", {
|
|
2404
2404
|
type: "button",
|
|
2405
2405
|
disabled: he.value <= 1,
|
|
2406
2406
|
onClick: p[22] || (p[22] = (m) => he.value -= 1)
|
|
2407
2407
|
}, "上一页", 8, Sm),
|
|
2408
|
-
t("strong", null,
|
|
2408
|
+
t("strong", null, c(he.value) + " / " + c(xn.value), 1),
|
|
2409
2409
|
t("button", {
|
|
2410
2410
|
type: "button",
|
|
2411
2411
|
disabled: he.value >= xn.value,
|
|
@@ -2419,8 +2419,8 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2419
2419
|
t("aside", xm, [
|
|
2420
2420
|
t("div", Im, [
|
|
2421
2421
|
t("div", null, [
|
|
2422
|
-
t("span", null, "#" +
|
|
2423
|
-
t("h2", null,
|
|
2422
|
+
t("span", null, "#" + c(W.value.id), 1),
|
|
2423
|
+
t("h2", null, c(W.value.title), 1)
|
|
2424
2424
|
]),
|
|
2425
2425
|
t("button", {
|
|
2426
2426
|
type: "button",
|
|
@@ -2431,16 +2431,16 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2431
2431
|
])
|
|
2432
2432
|
]),
|
|
2433
2433
|
t("div", $m, [
|
|
2434
|
-
t("span", null,
|
|
2434
|
+
t("span", null, c(W.value.type), 1),
|
|
2435
2435
|
t("span", {
|
|
2436
2436
|
class: E(`severity-${Y[W.value.severity]}`)
|
|
2437
|
-
},
|
|
2438
|
-
t("span", null, "发生侧:" +
|
|
2439
|
-
W.value.sourceSideVersion ? (v(), f("span", _m, "版本:" +
|
|
2440
|
-
t("span", null, "归属:" +
|
|
2437
|
+
}, c(W.value.severity), 3),
|
|
2438
|
+
t("span", null, "发生侧:" + c(W.value.sourceSide), 1),
|
|
2439
|
+
W.value.sourceSideVersion ? (v(), f("span", _m, "版本:" + c(W.value.sourceSideVersion), 1)) : C("", !0),
|
|
2440
|
+
t("span", null, "归属:" + c(W.value.ownerRole), 1),
|
|
2441
2441
|
t("span", {
|
|
2442
2442
|
class: E(`status-${Ae[W.value.status]}`)
|
|
2443
|
-
},
|
|
2443
|
+
}, c(W.value.status), 3)
|
|
2444
2444
|
]),
|
|
2445
2445
|
t("div", Pm, [
|
|
2446
2446
|
t("div", null, [
|
|
@@ -2481,7 +2481,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2481
2481
|
[G, ye.value]
|
|
2482
2482
|
])
|
|
2483
2483
|
]),
|
|
2484
|
-
Ne.value ? (v(), f("p", Am,
|
|
2484
|
+
Ne.value ? (v(), f("p", Am, c(Ne.value), 1)) : C("", !0),
|
|
2485
2485
|
t("div", null, [
|
|
2486
2486
|
t("button", {
|
|
2487
2487
|
type: "button",
|
|
@@ -2530,7 +2530,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2530
2530
|
(v(!0), f(D, null, R(i(r), (m) => (v(), f("option", {
|
|
2531
2531
|
key: m,
|
|
2532
2532
|
value: m
|
|
2533
|
-
},
|
|
2533
|
+
}, c(m), 9, Bm))), 128))
|
|
2534
2534
|
], 8, Om), [
|
|
2535
2535
|
[lt, X.type]
|
|
2536
2536
|
])
|
|
@@ -2541,10 +2541,10 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2541
2541
|
"onUpdate:modelValue": p[28] || (p[28] = (m) => X.severity = m),
|
|
2542
2542
|
disabled: !Oe.value
|
|
2543
2543
|
}, [
|
|
2544
|
-
(v(!0), f(D, null, R(i(
|
|
2544
|
+
(v(!0), f(D, null, R(i(d), (m) => (v(), f("option", {
|
|
2545
2545
|
key: m,
|
|
2546
2546
|
value: m
|
|
2547
|
-
},
|
|
2547
|
+
}, c(m), 9, Um))), 128))
|
|
2548
2548
|
], 8, jm), [
|
|
2549
2549
|
[lt, X.severity]
|
|
2550
2550
|
])
|
|
@@ -2558,7 +2558,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2558
2558
|
(v(!0), f(D, null, R(i(g), (m) => (v(), f("option", {
|
|
2559
2559
|
key: m,
|
|
2560
2560
|
value: m
|
|
2561
|
-
},
|
|
2561
|
+
}, c(m), 9, Fm))), 128))
|
|
2562
2562
|
], 8, Mm), [
|
|
2563
2563
|
[lt, X.sourceSide]
|
|
2564
2564
|
])
|
|
@@ -2584,7 +2584,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2584
2584
|
(v(!0), f(D, null, R(i(h), (m) => (v(), f("option", {
|
|
2585
2585
|
key: m,
|
|
2586
2586
|
value: m
|
|
2587
|
-
},
|
|
2587
|
+
}, c(m), 9, Gm))), 128))
|
|
2588
2588
|
], 8, Vm), [
|
|
2589
2589
|
[lt, X.ownerRole]
|
|
2590
2590
|
])
|
|
@@ -2629,8 +2629,8 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2629
2629
|
}, null, 8, Xm)
|
|
2630
2630
|
], 8, Ym),
|
|
2631
2631
|
t("div", null, [
|
|
2632
|
-
t("b", null,
|
|
2633
|
-
t("span", null,
|
|
2632
|
+
t("b", null, c(m.name), 1),
|
|
2633
|
+
t("span", null, c(In(m.size)), 1)
|
|
2634
2634
|
]),
|
|
2635
2635
|
t("button", {
|
|
2636
2636
|
type: "button",
|
|
@@ -2652,9 +2652,9 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2652
2652
|
alt: m.name
|
|
2653
2653
|
}, null, 8, Qm),
|
|
2654
2654
|
t("div", null, [
|
|
2655
|
-
t("b", null,
|
|
2656
|
-
t("span", null,
|
|
2657
|
-
m.error ? (v(), f("small", eg,
|
|
2655
|
+
t("b", null, c(m.name), 1),
|
|
2656
|
+
t("span", null, c(In(m.size)), 1),
|
|
2657
|
+
m.error ? (v(), f("small", eg, c(m.error), 1)) : C("", !0)
|
|
2658
2658
|
]),
|
|
2659
2659
|
t("button", {
|
|
2660
2660
|
type: "button",
|
|
@@ -2665,9 +2665,9 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2665
2665
|
], 8, tg)
|
|
2666
2666
|
], 2))), 128))
|
|
2667
2667
|
])) : C("", !0),
|
|
2668
|
-
$.value ? (v(), f("p", ng,
|
|
2668
|
+
$.value ? (v(), f("p", ng, c($.value), 1)) : C("", !0)
|
|
2669
2669
|
]),
|
|
2670
|
-
te.value ? (v(), f("p", og,
|
|
2670
|
+
te.value ? (v(), f("p", og, c(te.value), 1)) : C("", !0),
|
|
2671
2671
|
t("div", sg, [
|
|
2672
2672
|
t("button", {
|
|
2673
2673
|
type: "button",
|
|
@@ -2678,8 +2678,8 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2678
2678
|
disabled: i(oe) === "loading"
|
|
2679
2679
|
}, "保存修改", 8, ag)
|
|
2680
2680
|
])
|
|
2681
|
-
], 32)) : (v(), f("p", lg,
|
|
2682
|
-
t("p", ig, "提报人:" +
|
|
2681
|
+
], 32)) : (v(), f("p", lg, c(W.value.description), 1)),
|
|
2682
|
+
t("p", ig, "提报人:" + c(W.value.reporterName) + " · " + c(Yn(W.value.createdAt)), 1),
|
|
2683
2683
|
!et.value && ((V = W.value.attachments) != null && V.length) ? (v(), f("section", rg, [
|
|
2684
2684
|
p[79] || (p[79] = t("h3", null, "问题截图", -1)),
|
|
2685
2685
|
t("div", null, [
|
|
@@ -2693,7 +2693,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2693
2693
|
alt: m.name,
|
|
2694
2694
|
loading: "lazy"
|
|
2695
2695
|
}, null, 8, cg),
|
|
2696
|
-
t("span", null,
|
|
2696
|
+
t("span", null, c(m.name), 1)
|
|
2697
2697
|
], 8, ug))), 128))
|
|
2698
2698
|
])
|
|
2699
2699
|
])) : C("", !0),
|
|
@@ -2713,7 +2713,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2713
2713
|
(v(!0), f(D, null, R(i(b), (m) => (v(), f("option", {
|
|
2714
2714
|
key: m,
|
|
2715
2715
|
value: m
|
|
2716
|
-
},
|
|
2716
|
+
}, c(m), 9, pg))), 128))
|
|
2717
2717
|
], 512), [
|
|
2718
2718
|
[lt, ce.status]
|
|
2719
2719
|
])
|
|
@@ -2749,7 +2749,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2749
2749
|
[G, ce.note]
|
|
2750
2750
|
])
|
|
2751
2751
|
]),
|
|
2752
|
-
Je.value ? (v(), f("p", mg,
|
|
2752
|
+
Je.value ? (v(), f("p", mg, c(Je.value), 1)) : C("", !0),
|
|
2753
2753
|
t("button", {
|
|
2754
2754
|
class: "bug-primary-btn",
|
|
2755
2755
|
type: "submit",
|
|
@@ -2762,10 +2762,10 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2762
2762
|
(v(!0), f(D, null, R(W.value.history, (m) => (v(), f("article", {
|
|
2763
2763
|
key: m.id
|
|
2764
2764
|
}, [
|
|
2765
|
-
t("b", null,
|
|
2766
|
-
t("span", null,
|
|
2767
|
-
m.fixerName ? (v(), f("p", bg, "修复人:" +
|
|
2768
|
-
m.note ? (v(), f("p", wg,
|
|
2765
|
+
t("b", null, c(m.fromStatus) + " → " + c(m.toStatus), 1),
|
|
2766
|
+
t("span", null, c(m.operatorName) + " · " + c(Yn(m.createdAt)), 1),
|
|
2767
|
+
m.fixerName ? (v(), f("p", bg, "修复人:" + c(m.fixerName), 1)) : C("", !0),
|
|
2768
|
+
m.note ? (v(), f("p", wg, c(m.note), 1)) : C("", !0)
|
|
2769
2769
|
]))), 128))
|
|
2770
2770
|
])
|
|
2771
2771
|
])
|
|
@@ -2777,7 +2777,7 @@ const hf = { class: "bug-page" }, yf = { class: "bug-page-head" }, bf = { class:
|
|
|
2777
2777
|
}, [
|
|
2778
2778
|
t("section", Sg, [
|
|
2779
2779
|
t("div", null, [
|
|
2780
|
-
t("p", null,
|
|
2780
|
+
t("p", null, c(Pe.value.name), 1),
|
|
2781
2781
|
t("button", {
|
|
2782
2782
|
type: "button",
|
|
2783
2783
|
"aria-label": "关闭图片预览",
|
|
@@ -2899,12 +2899,12 @@ function Ya(e = "") {
|
|
|
2899
2899
|
function Co(e) {
|
|
2900
2900
|
return (Array.isArray(e) ? e : e && typeof e == "object" && Array.isArray(e.testCases) ? e.testCases : []).flatMap((o) => {
|
|
2901
2901
|
if (!o || typeof o != "object") return [];
|
|
2902
|
-
const s = o, r = String(s.id ?? "").trim(),
|
|
2903
|
-
if (!r || !
|
|
2902
|
+
const s = o, r = String(s.id ?? "").trim(), d = String(s.screenId ?? "").trim();
|
|
2903
|
+
if (!r || !d) return [];
|
|
2904
2904
|
const g = Array.isArray(s.steps) ? s.steps.map((h) => String(h).trim()).filter(Boolean) : [];
|
|
2905
2905
|
return [{
|
|
2906
2906
|
id: r,
|
|
2907
|
-
screenId:
|
|
2907
|
+
screenId: d,
|
|
2908
2908
|
stateId: typeof s.stateId == "string" && s.stateId.trim() ? s.stateId.trim() : void 0,
|
|
2909
2909
|
module: String(s.module ?? "").trim(),
|
|
2910
2910
|
testItem: String(s.testItem ?? "").trim(),
|
|
@@ -2927,10 +2927,10 @@ function Zi(e, n, o) {
|
|
|
2927
2927
|
}
|
|
2928
2928
|
function Kr(e, n, o = (/* @__PURE__ */ new Date()).toISOString()) {
|
|
2929
2929
|
const s = {}, r = {};
|
|
2930
|
-
return n.forEach((
|
|
2930
|
+
return n.forEach((d) => {
|
|
2931
2931
|
var h, b;
|
|
2932
|
-
const g = nt(
|
|
2933
|
-
s[g] = { count: (((h = s[g]) == null ? void 0 : h.count) ?? 0) + 1, updatedAt: o }, r[
|
|
2932
|
+
const g = nt(d.screenId, d.stateId);
|
|
2933
|
+
s[g] = { count: (((h = s[g]) == null ? void 0 : h.count) ?? 0) + 1, updatedAt: o }, r[d.screenId] = { count: (((b = r[d.screenId]) == null ? void 0 : b.count) ?? 0) + 1, updatedAt: o };
|
|
2934
2934
|
}), { projectId: e, updatedAt: o, scopes: s, screens: r };
|
|
2935
2935
|
}
|
|
2936
2936
|
function Jr(e, n, o, s = []) {
|
|
@@ -2953,7 +2953,7 @@ function Jr(e, n, o, s = []) {
|
|
|
2953
2953
|
stateLabel: "默认状态",
|
|
2954
2954
|
known: !0
|
|
2955
2955
|
}];
|
|
2956
|
-
}),
|
|
2956
|
+
}), d = new Set(r.map((h) => h.id)), g = [...new Set(s.map((h) => nt(h.screenId, h.stateId)).filter((h) => !d.has(h)))].map((h) => {
|
|
2957
2957
|
const b = s.find((I) => nt(I.screenId, I.stateId) === h);
|
|
2958
2958
|
return {
|
|
2959
2959
|
id: h,
|
|
@@ -2983,7 +2983,7 @@ function _g(e, n) {
|
|
|
2983
2983
|
testItem: s.testItem,
|
|
2984
2984
|
testPoint: s.testPoint,
|
|
2985
2985
|
preconditions: s.preconditions,
|
|
2986
|
-
steps: s.steps.map((
|
|
2986
|
+
steps: s.steps.map((d, g) => `${g + 1}. ${d}`).join(`
|
|
2987
2987
|
`),
|
|
2988
2988
|
expectedResult: s.expectedResult,
|
|
2989
2989
|
actualResult: s.actualResult
|
|
@@ -3001,7 +3001,7 @@ function Pg(e) {
|
|
|
3001
3001
|
);
|
|
3002
3002
|
}
|
|
3003
3003
|
async function Dg(e, n) {
|
|
3004
|
-
const { default: o } = await import("
|
|
3004
|
+
const { default: o } = await import("exceljs"), s = new o.Workbook();
|
|
3005
3005
|
s.creator = "@marktowin/prototype-core";
|
|
3006
3006
|
const r = s.addWorksheet("测试用例", { views: [{ state: "frozen", ySplit: 1 }] });
|
|
3007
3007
|
r.columns = [
|
|
@@ -3016,8 +3016,8 @@ async function Dg(e, n) {
|
|
|
3016
3016
|
{ header: "预期结果", key: "expectedResult", width: 42 },
|
|
3017
3017
|
{ header: "实际结果", key: "actualResult", width: 32 }
|
|
3018
3018
|
], r.addRows(_g(e, n)), r.autoFilter = { from: "A1", to: "J1" };
|
|
3019
|
-
const
|
|
3020
|
-
return
|
|
3019
|
+
const d = r.getRow(1);
|
|
3020
|
+
return d.height = 24, d.font = { bold: !0, color: { argb: "FFFFFFFF" } }, d.alignment = { vertical: "middle", horizontal: "center" }, d.fill = { type: "pattern", pattern: "solid", fgColor: { argb: "FF1D1D1F" } }, r.eachRow((g, h) => {
|
|
3021
3021
|
h > 1 && (g.height = 54), g.eachCell((b) => {
|
|
3022
3022
|
b.alignment = { vertical: "top", wrapText: !0 }, b.border = { bottom: { style: "hair", color: { argb: "FFE0E0E0" } } };
|
|
3023
3023
|
});
|
|
@@ -3046,11 +3046,11 @@ function ss(e, n) {
|
|
|
3046
3046
|
];
|
|
3047
3047
|
}
|
|
3048
3048
|
function ll(e, n) {
|
|
3049
|
-
const o = (/* @__PURE__ */ new Date()).toISOString(), s = e.split("__")[0], r = Lt.value ?? { projectId: jt.projectId, updatedAt: o, scopes: {}, screens: {} },
|
|
3049
|
+
const o = (/* @__PURE__ */ new Date()).toISOString(), s = e.split("__")[0], r = Lt.value ?? { projectId: jt.projectId, updatedAt: o, scopes: {}, screens: {} }, d = { ...r.scopes ?? {}, [e]: { count: n, updatedAt: o } }, g = Object.entries(d).reduce((h, [b, I]) => h + (b === s || b.startsWith(`${s}__`) ? I.count : 0), 0);
|
|
3050
3050
|
Lt.value = {
|
|
3051
3051
|
...r,
|
|
3052
3052
|
updatedAt: o,
|
|
3053
|
-
scopes:
|
|
3053
|
+
scopes: d,
|
|
3054
3054
|
screens: { ...r.screens, [s]: { count: g, updatedAt: o } }
|
|
3055
3055
|
};
|
|
3056
3056
|
}
|
|
@@ -3069,8 +3069,8 @@ async function Ng(e = "初始化工具") {
|
|
|
3069
3069
|
if (os.value) return;
|
|
3070
3070
|
const n = await Eg(), o = ut("testCases"), s = new Set(Object.keys(o.scopes)), r = Object.values(o.scopes).flatMap((I) => Co(I.value));
|
|
3071
3071
|
on.value = [...n.filter((I) => !s.has(nt(I.screenId, I.stateId))), ...r], gt(s.size ? "local-cache" : "local-seed", "idle", s.size ? "已加载测试用例本地缓存" : "");
|
|
3072
|
-
const
|
|
3073
|
-
if (ko.value =
|
|
3072
|
+
const d = mn.pages[0], g = d ? (b = (h = mn.states[d.id]) == null ? void 0 : h[0]) == null ? void 0 : b.id : void 0;
|
|
3073
|
+
if (ko.value = d ? nt(d.id, g) : "", os.value = !0, !jt.remoteReadable) {
|
|
3074
3074
|
gt(s.size ? "local-cache" : "local-seed", "idle", jt.unavailableReason);
|
|
3075
3075
|
return;
|
|
3076
3076
|
}
|
|
@@ -3095,9 +3095,9 @@ async function kl(e = !1) {
|
|
|
3095
3095
|
try {
|
|
3096
3096
|
const [s, r] = await Promise.all([Ar(), yl(n)]);
|
|
3097
3097
|
Lt.value = (s == null ? void 0 : s.value) ?? Lt.value;
|
|
3098
|
-
const
|
|
3098
|
+
const d = ut("testCases").scopes[n];
|
|
3099
3099
|
if (!r && !((o = s == null ? void 0 : s.value.scopes) != null && o[n])) {
|
|
3100
|
-
if ((
|
|
3100
|
+
if ((d == null ? void 0 : d.status) === "pending") {
|
|
3101
3101
|
gt("local-cache", "idle", "Gitee 当前 Scope 不存在,本地缓存待推送");
|
|
3102
3102
|
return;
|
|
3103
3103
|
}
|
|
@@ -3106,7 +3106,7 @@ async function kl(e = !1) {
|
|
|
3106
3106
|
}
|
|
3107
3107
|
if (!r) throw new Error(`Gitee 测试用例文件不存在:${n}`);
|
|
3108
3108
|
const [g, h] = n.split("__"), b = Co(r.value).map((ee) => ({ ...ee, screenId: g, stateId: h })), I = (/* @__PURE__ */ new Date()).toISOString();
|
|
3109
|
-
if ((
|
|
3109
|
+
if ((d == null ? void 0 : d.status) === "pending") {
|
|
3110
3110
|
gt("local-cache", "idle", "已读取 Gitee,本地缓存仍有待推送修改", I);
|
|
3111
3111
|
return;
|
|
3112
3112
|
}
|
|
@@ -3120,23 +3120,23 @@ async function Og(e, n) {
|
|
|
3120
3120
|
var r;
|
|
3121
3121
|
const o = nt(n.screenId, n.stateId), s = ((r = n.authorName) == null ? void 0 : r.trim()) || "未署名";
|
|
3122
3122
|
if (!jt.remoteWritable) {
|
|
3123
|
-
const
|
|
3124
|
-
ss(o,
|
|
3123
|
+
const d = Zi(on.value.filter((h) => nt(h.screenId, h.stateId) === o), e, n);
|
|
3124
|
+
ss(o, d);
|
|
3125
3125
|
const g = ut("testCases").scopes[o];
|
|
3126
|
-
return ot("testCases", o,
|
|
3126
|
+
return ot("testCases", o, d, (g == null ? void 0 : g.revision) ?? null, (g == null ? void 0 : g.lastRemoteSyncAt) ?? null, "pending"), ll(o, d.length), gt("local-cache", "success", `${jt.unavailableReason || "Gitee 当前不可写"},修改尚未同步`), !0;
|
|
3127
3127
|
}
|
|
3128
3128
|
gt(Fn.value.source, "syncing");
|
|
3129
3129
|
try {
|
|
3130
|
-
const
|
|
3131
|
-
if (!
|
|
3132
|
-
const g = Co(
|
|
3133
|
-
ss(o, g), ll(o, g.length), ot("testCases", o, g,
|
|
3130
|
+
const d = await xv(o, s, e, (I) => Zi(Co(I), e, n));
|
|
3131
|
+
if (!d) throw new Error("测试用例写入后未能回读");
|
|
3132
|
+
const g = Co(d.value).map((I) => ({ ...I, screenId: n.screenId, stateId: n.stateId })), h = (/* @__PURE__ */ new Date()).toISOString();
|
|
3133
|
+
ss(o, g), ll(o, g.length), ot("testCases", o, g, d.sha, h, "synced"), Lt.value || (Lt.value = Kr(jt.projectId, on.value, h));
|
|
3134
3134
|
const b = await Iv(Lt.value, s, o);
|
|
3135
3135
|
if (!b) throw new Error(`测试用例 ${o} 已写入,但 manifest 回读失败`);
|
|
3136
3136
|
return Lt.value = b.value, gt("gitee", "success", "", h), !0;
|
|
3137
|
-
} catch (
|
|
3138
|
-
const g =
|
|
3139
|
-
return gt(Fn.value.source,
|
|
3137
|
+
} catch (d) {
|
|
3138
|
+
const g = d instanceof Error ? d.message : "测试用例保存失败";
|
|
3139
|
+
return gt(Fn.value.source, d instanceof Cn ? "conflict" : "error", g), !1;
|
|
3140
3140
|
}
|
|
3141
3141
|
}
|
|
3142
3142
|
async function Bg() {
|
|
@@ -3145,14 +3145,14 @@ async function Bg() {
|
|
|
3145
3145
|
const e = await Ar();
|
|
3146
3146
|
if (!e) throw new Error("Gitee 测试用例 manifest 不存在,无法确认整体导出范围");
|
|
3147
3147
|
const n = [], o = [], s = ut("testCases");
|
|
3148
|
-
for (const
|
|
3148
|
+
for (const d of Object.keys(e.value.scopes ?? {}))
|
|
3149
3149
|
try {
|
|
3150
|
-
const g = await yl(
|
|
3150
|
+
const g = await yl(d);
|
|
3151
3151
|
if (!g) throw new Error("文件不存在");
|
|
3152
|
-
const [h, b] =
|
|
3153
|
-
o.push(...I), ((r = s.scopes[
|
|
3152
|
+
const [h, b] = d.split("__"), I = Co(g.value).map((ee) => ({ ...ee, screenId: h, stateId: b }));
|
|
3153
|
+
o.push(...I), ((r = s.scopes[d]) == null ? void 0 : r.status) !== "pending" && (ot("testCases", d, I, g.sha, (/* @__PURE__ */ new Date()).toISOString(), "synced"), ss(d, I));
|
|
3154
3154
|
} catch (g) {
|
|
3155
|
-
n.push(`${
|
|
3155
|
+
n.push(`${d}:${g instanceof Error ? g.message : "读取失败"}`);
|
|
3156
3156
|
}
|
|
3157
3157
|
if (n.length) throw new Error(`整体导出已中止,以下 Scope 读取失败:
|
|
3158
3158
|
${n.join(`
|
|
@@ -3204,7 +3204,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3204
3204
|
ca();
|
|
3205
3205
|
const {
|
|
3206
3206
|
testCases: r,
|
|
3207
|
-
testCaseManifest:
|
|
3207
|
+
testCaseManifest: d,
|
|
3208
3208
|
selectedScopeId: g,
|
|
3209
3209
|
sourceState: h,
|
|
3210
3210
|
scopes: b,
|
|
@@ -3365,11 +3365,11 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3365
3365
|
onClick: $[0] || ($[0] = (j) => he() && s("close"))
|
|
3366
3366
|
}, [
|
|
3367
3367
|
F(i(Li)),
|
|
3368
|
-
z(
|
|
3368
|
+
z(c(B.back), 1)
|
|
3369
3369
|
]),
|
|
3370
3370
|
t("div", null, [
|
|
3371
|
-
t("h1", null,
|
|
3372
|
-
t("p", null,
|
|
3371
|
+
t("h1", null, c(B.title), 1),
|
|
3372
|
+
t("p", null, c(B.subtitle), 1)
|
|
3373
3373
|
])
|
|
3374
3374
|
]),
|
|
3375
3375
|
t("div", Fg, [
|
|
@@ -3379,7 +3379,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3379
3379
|
onClick: $[1] || ($[1] = (j) => i(me)(!1))
|
|
3380
3380
|
}, [
|
|
3381
3381
|
F(i(rr)),
|
|
3382
|
-
z(
|
|
3382
|
+
z(c(B.refresh), 1)
|
|
3383
3383
|
], 8, Lg),
|
|
3384
3384
|
t("button", {
|
|
3385
3385
|
type: "button",
|
|
@@ -3387,7 +3387,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3387
3387
|
onClick: $[2] || ($[2] = (j) => de("json"))
|
|
3388
3388
|
}, [
|
|
3389
3389
|
F(i(cr)),
|
|
3390
|
-
z(
|
|
3390
|
+
z(c(B.json), 1)
|
|
3391
3391
|
], 8, Vg),
|
|
3392
3392
|
t("button", {
|
|
3393
3393
|
class: "is-primary",
|
|
@@ -3396,7 +3396,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3396
3396
|
onClick: $[3] || ($[3] = (j) => de("excel"))
|
|
3397
3397
|
}, [
|
|
3398
3398
|
F(i(ur)),
|
|
3399
|
-
z(
|
|
3399
|
+
z(c(B.excel), 1)
|
|
3400
3400
|
], 8, Gg)
|
|
3401
3401
|
])
|
|
3402
3402
|
]),
|
|
@@ -3419,8 +3419,8 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3419
3419
|
key: j.screenId
|
|
3420
3420
|
}, [
|
|
3421
3421
|
t("div", Wg, [
|
|
3422
|
-
t("b", null,
|
|
3423
|
-
t("span", null,
|
|
3422
|
+
t("b", null, c(j.code), 1),
|
|
3423
|
+
t("span", null, c(j.title), 1)
|
|
3424
3424
|
]),
|
|
3425
3425
|
(v(!0), f(D, null, R(j.scopes, (re) => {
|
|
3426
3426
|
var Ce, Ut, yt;
|
|
@@ -3430,8 +3430,8 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3430
3430
|
class: E({ active: re.id === i(g), unknown: !re.known }),
|
|
3431
3431
|
onClick: (Jt) => ce(re)
|
|
3432
3432
|
}, [
|
|
3433
|
-
t("span", null,
|
|
3434
|
-
t("small", null,
|
|
3433
|
+
t("span", null, c(re.stateLabel), 1),
|
|
3434
|
+
t("small", null, c(((yt = (Ut = (Ce = i(d)) == null ? void 0 : Ce.scopes) == null ? void 0 : Ut[re.id]) == null ? void 0 : yt.count) ?? i(r).filter((Jt) => i(nt)(Jt.screenId, Jt.stateId) === re.id).length), 1)
|
|
3435
3435
|
], 10, Yg);
|
|
3436
3436
|
}), 128))
|
|
3437
3437
|
]))), 128))
|
|
@@ -3448,8 +3448,8 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3448
3448
|
]),
|
|
3449
3449
|
t("div", qg, [
|
|
3450
3450
|
t("div", null, [
|
|
3451
|
-
t("p", null,
|
|
3452
|
-
t("h2", null,
|
|
3451
|
+
t("p", null, c((se = ge.value) == null ? void 0 : se.screenCode) + " · " + c((Re = ge.value) == null ? void 0 : Re.screenTitle), 1),
|
|
3452
|
+
t("h2", null, c(Ae.value === "all" ? B.all : (st = ge.value) == null ? void 0 : st.stateLabel), 1)
|
|
3453
3453
|
]),
|
|
3454
3454
|
t("button", {
|
|
3455
3455
|
class: "is-primary",
|
|
@@ -3457,7 +3457,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3457
3457
|
onClick: Je
|
|
3458
3458
|
}, [
|
|
3459
3459
|
F(i(Bn)),
|
|
3460
|
-
z(
|
|
3460
|
+
z(c(B.add), 1)
|
|
3461
3461
|
])
|
|
3462
3462
|
]),
|
|
3463
3463
|
t("div", Zg, [
|
|
@@ -3466,13 +3466,13 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3466
3466
|
type: "button",
|
|
3467
3467
|
class: E({ active: Ae.value === "current" }),
|
|
3468
3468
|
onClick: $[6] || ($[6] = (j) => Ae.value = "current")
|
|
3469
|
-
},
|
|
3469
|
+
}, c(B.current), 3),
|
|
3470
3470
|
t("button", {
|
|
3471
3471
|
type: "button",
|
|
3472
3472
|
class: E({ active: Ae.value === "all" }),
|
|
3473
3473
|
disabled: _e.value,
|
|
3474
3474
|
onClick: X
|
|
3475
|
-
},
|
|
3475
|
+
}, c(B.all), 11, eh)
|
|
3476
3476
|
]),
|
|
3477
3477
|
t("label", th, [
|
|
3478
3478
|
F(i(sl)),
|
|
@@ -3488,21 +3488,21 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3488
3488
|
t("p", {
|
|
3489
3489
|
class: E(["test-case-source", `is-${i(h).status}`])
|
|
3490
3490
|
}, [
|
|
3491
|
-
z(
|
|
3492
|
-
i(h).message ? (v(), f("span", oh, " · " +
|
|
3491
|
+
z(c(ct.value), 1),
|
|
3492
|
+
i(h).message ? (v(), f("span", oh, " · " + c(i(h).message), 1)) : C("", !0)
|
|
3493
3493
|
], 2),
|
|
3494
|
-
ue.value ? (v(), f("p", sh,
|
|
3494
|
+
ue.value ? (v(), f("p", sh, c(ue.value), 1)) : C("", !0),
|
|
3495
3495
|
t("div", ah, [
|
|
3496
3496
|
t("table", lh, [
|
|
3497
3497
|
t("thead", null, [
|
|
3498
3498
|
t("tr", null, [
|
|
3499
|
-
t("th", null,
|
|
3500
|
-
t("th", null,
|
|
3501
|
-
t("th", null,
|
|
3502
|
-
t("th", null,
|
|
3503
|
-
t("th", null,
|
|
3504
|
-
t("th", null,
|
|
3505
|
-
t("th", null,
|
|
3499
|
+
t("th", null, c(B.module), 1),
|
|
3500
|
+
t("th", null, c(B.item), 1),
|
|
3501
|
+
t("th", null, c(B.point), 1),
|
|
3502
|
+
t("th", null, c(B.preconditions), 1),
|
|
3503
|
+
t("th", null, c(B.steps), 1),
|
|
3504
|
+
t("th", null, c(B.expected), 1),
|
|
3505
|
+
t("th", null, c(B.actual), 1),
|
|
3506
3506
|
$[19] || ($[19] = t("th", null, null, -1))
|
|
3507
3507
|
])
|
|
3508
3508
|
]),
|
|
@@ -3514,19 +3514,19 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3514
3514
|
onClick: (Ce) => te(j)
|
|
3515
3515
|
}, [
|
|
3516
3516
|
t("td", null, [
|
|
3517
|
-
t("b", null,
|
|
3518
|
-
Ae.value === "all" ? (v(), f("small", rh,
|
|
3517
|
+
t("b", null, c(j.module), 1),
|
|
3518
|
+
Ae.value === "all" ? (v(), f("small", rh, c((re = i(b)(e.lang).find((Ce) => Ce.id === i(nt)(j.screenId, j.stateId))) == null ? void 0 : re.stateLabel), 1)) : C("", !0)
|
|
3519
3519
|
]),
|
|
3520
|
-
t("td", null,
|
|
3521
|
-
t("td", null,
|
|
3522
|
-
t("td", null,
|
|
3520
|
+
t("td", null, c(j.testItem), 1),
|
|
3521
|
+
t("td", null, c(j.testPoint), 1),
|
|
3522
|
+
t("td", null, c(j.preconditions), 1),
|
|
3523
3523
|
t("td", null, [
|
|
3524
3524
|
t("ol", null, [
|
|
3525
|
-
(v(!0), f(D, null, R(j.steps, (Ce, Ut) => (v(), f("li", { key: Ut },
|
|
3525
|
+
(v(!0), f(D, null, R(j.steps, (Ce, Ut) => (v(), f("li", { key: Ut }, c(Ce), 1))), 128))
|
|
3526
3526
|
])
|
|
3527
3527
|
]),
|
|
3528
|
-
t("td", null,
|
|
3529
|
-
t("td", null,
|
|
3528
|
+
t("td", null, c(j.expectedResult), 1),
|
|
3529
|
+
t("td", null, c(j.actualResult), 1),
|
|
3530
3530
|
t("td", null, [
|
|
3531
3531
|
t("button", {
|
|
3532
3532
|
type: "button",
|
|
@@ -3542,15 +3542,15 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3542
3542
|
]),
|
|
3543
3543
|
Ke.value.length ? C("", !0) : (v(), f("div", ch, [
|
|
3544
3544
|
$[20] || ($[20] = t("span", null, "✓", -1)),
|
|
3545
|
-
t("p", null,
|
|
3545
|
+
t("p", null, c(B.empty), 1)
|
|
3546
3546
|
]))
|
|
3547
3547
|
])
|
|
3548
3548
|
]),
|
|
3549
3549
|
$e.value ? (v(), f("aside", dh, [
|
|
3550
3550
|
t("header", null, [
|
|
3551
3551
|
t("div", null, [
|
|
3552
|
-
t("small", null,
|
|
3553
|
-
t("h2", null,
|
|
3552
|
+
t("small", null, c((Pe = ge.value) == null ? void 0 : Pe.screenCode) + " · " + c((At = ge.value) == null ? void 0 : At.stateLabel), 1),
|
|
3553
|
+
t("h2", null, c(Ue.value ? B.edit : B.create), 1)
|
|
3554
3554
|
]),
|
|
3555
3555
|
t("button", {
|
|
3556
3556
|
type: "button",
|
|
@@ -3562,7 +3562,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3562
3562
|
]),
|
|
3563
3563
|
t("div", vh, [
|
|
3564
3564
|
t("label", null, [
|
|
3565
|
-
t("span", null,
|
|
3565
|
+
t("span", null, c(B.author), 1),
|
|
3566
3566
|
t("input", {
|
|
3567
3567
|
value: e.authorName,
|
|
3568
3568
|
type: "text",
|
|
@@ -3570,7 +3570,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3570
3570
|
}, null, 40, fh)
|
|
3571
3571
|
]),
|
|
3572
3572
|
t("label", null, [
|
|
3573
|
-
t("span", null,
|
|
3573
|
+
t("span", null, c(B.module) + " *", 1),
|
|
3574
3574
|
N(t("input", {
|
|
3575
3575
|
"onUpdate:modelValue": $[10] || ($[10] = (j) => H.module = j),
|
|
3576
3576
|
type: "text"
|
|
@@ -3579,7 +3579,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3579
3579
|
])
|
|
3580
3580
|
]),
|
|
3581
3581
|
t("label", null, [
|
|
3582
|
-
t("span", null,
|
|
3582
|
+
t("span", null, c(B.item) + " *", 1),
|
|
3583
3583
|
N(t("input", {
|
|
3584
3584
|
"onUpdate:modelValue": $[11] || ($[11] = (j) => H.testItem = j),
|
|
3585
3585
|
type: "text"
|
|
@@ -3588,7 +3588,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3588
3588
|
])
|
|
3589
3589
|
]),
|
|
3590
3590
|
t("label", null, [
|
|
3591
|
-
t("span", null,
|
|
3591
|
+
t("span", null, c(B.point) + " *", 1),
|
|
3592
3592
|
N(t("textarea", {
|
|
3593
3593
|
"onUpdate:modelValue": $[12] || ($[12] = (j) => H.testPoint = j),
|
|
3594
3594
|
rows: "3"
|
|
@@ -3597,7 +3597,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3597
3597
|
])
|
|
3598
3598
|
]),
|
|
3599
3599
|
t("label", null, [
|
|
3600
|
-
t("span", null,
|
|
3600
|
+
t("span", null, c(B.preconditions), 1),
|
|
3601
3601
|
N(t("textarea", {
|
|
3602
3602
|
"onUpdate:modelValue": $[13] || ($[13] = (j) => H.preconditions = j),
|
|
3603
3603
|
rows: "3"
|
|
@@ -3606,12 +3606,12 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3606
3606
|
])
|
|
3607
3607
|
]),
|
|
3608
3608
|
t("fieldset", null, [
|
|
3609
|
-
t("legend", null,
|
|
3609
|
+
t("legend", null, c(B.steps) + " *", 1),
|
|
3610
3610
|
(v(!0), f(D, null, R(H.steps, (j, re) => (v(), f("div", {
|
|
3611
3611
|
key: re,
|
|
3612
3612
|
class: "test-case-step"
|
|
3613
3613
|
}, [
|
|
3614
|
-
t("b", null,
|
|
3614
|
+
t("b", null, c(re + 1), 1),
|
|
3615
3615
|
N(t("textarea", {
|
|
3616
3616
|
"onUpdate:modelValue": (Ce) => H.steps[re] = Ce,
|
|
3617
3617
|
rows: "2"
|
|
@@ -3651,11 +3651,11 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3651
3651
|
onClick: $[14] || ($[14] = (j) => H.steps.push(""))
|
|
3652
3652
|
}, [
|
|
3653
3653
|
F(i(Bn)),
|
|
3654
|
-
z(
|
|
3654
|
+
z(c(B.addStep), 1)
|
|
3655
3655
|
])
|
|
3656
3656
|
]),
|
|
3657
3657
|
t("label", null, [
|
|
3658
|
-
t("span", null,
|
|
3658
|
+
t("span", null, c(B.expected) + " *", 1),
|
|
3659
3659
|
N(t("textarea", {
|
|
3660
3660
|
"onUpdate:modelValue": $[15] || ($[15] = (j) => H.expectedResult = j),
|
|
3661
3661
|
rows: "4"
|
|
@@ -3664,7 +3664,7 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3664
3664
|
])
|
|
3665
3665
|
]),
|
|
3666
3666
|
t("label", null, [
|
|
3667
|
-
t("span", null,
|
|
3667
|
+
t("span", null, c(B.actual), 1),
|
|
3668
3668
|
N(t("textarea", {
|
|
3669
3669
|
"onUpdate:modelValue": $[16] || ($[16] = (j) => H.actualResult = j),
|
|
3670
3670
|
rows: "3"
|
|
@@ -3677,13 +3677,13 @@ const jg = { class: "test-case-workbench" }, Ug = { class: "test-case-toolbar" }
|
|
|
3677
3677
|
t("button", {
|
|
3678
3678
|
type: "button",
|
|
3679
3679
|
onClick: $[17] || ($[17] = (j) => Ne())
|
|
3680
|
-
},
|
|
3680
|
+
}, c(B.cancel), 1),
|
|
3681
3681
|
t("button", {
|
|
3682
3682
|
class: "is-primary",
|
|
3683
3683
|
type: "button",
|
|
3684
3684
|
disabled: i(h).status === "syncing",
|
|
3685
3685
|
onClick: ye
|
|
3686
|
-
},
|
|
3686
|
+
}, c(B.save), 9, bh)
|
|
3687
3687
|
])
|
|
3688
3688
|
])) : C("", !0)
|
|
3689
3689
|
], 2)
|
|
@@ -4506,7 +4506,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4506
4506
|
__name: "PrototypeCoreHelpPage",
|
|
4507
4507
|
emits: ["close"],
|
|
4508
4508
|
setup(e) {
|
|
4509
|
-
const n = w("idle"), o = "1.2.
|
|
4509
|
+
const n = w("idle"), o = "1.2.18";
|
|
4510
4510
|
let s;
|
|
4511
4511
|
function r() {
|
|
4512
4512
|
const g = document.createElement("textarea");
|
|
@@ -4514,7 +4514,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4514
4514
|
const h = document.execCommand("copy");
|
|
4515
4515
|
if (g.remove(), !h) throw new Error("浏览器拒绝复制");
|
|
4516
4516
|
}
|
|
4517
|
-
async function
|
|
4517
|
+
async function d() {
|
|
4518
4518
|
var g;
|
|
4519
4519
|
try {
|
|
4520
4520
|
(g = navigator.clipboard) != null && g.writeText ? await navigator.clipboard.writeText(Xa) : r(), n.value = "copied";
|
|
@@ -4534,14 +4534,14 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4534
4534
|
}), (g, h) => (v(), f("section", Sh, [
|
|
4535
4535
|
t("header", Ch, [
|
|
4536
4536
|
t("div", kh, [
|
|
4537
|
-
t("p", xh, "PROTOTYPE CORE · v" +
|
|
4537
|
+
t("p", xh, "PROTOTYPE CORE · v" + c(i(o)), 1),
|
|
4538
4538
|
h[1] || (h[1] = t("h1", null, "消费者原型实施操作手册", -1)),
|
|
4539
4539
|
h[2] || (h[2] = t("p", null, "面向人和 AI 的触发词、标准动作与完成判定。", -1))
|
|
4540
4540
|
]),
|
|
4541
4541
|
t("div", Ih, [
|
|
4542
4542
|
t("button", {
|
|
4543
4543
|
type: "button",
|
|
4544
|
-
onClick:
|
|
4544
|
+
onClick: d
|
|
4545
4545
|
}, [
|
|
4546
4546
|
n.value === "copied" ? (v(), He(i(dr), {
|
|
4547
4547
|
key: 0,
|
|
@@ -4553,7 +4553,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4553
4553
|
key: 2,
|
|
4554
4554
|
class: "h-4 w-4"
|
|
4555
4555
|
})),
|
|
4556
|
-
z(" " +
|
|
4556
|
+
z(" " + c(n.value === "copied" ? "已复制" : n.value === "error" ? "请手动选择复制" : "复制全文"), 1)
|
|
4557
4557
|
]),
|
|
4558
4558
|
t("button", {
|
|
4559
4559
|
class: "is-icon",
|
|
@@ -4567,7 +4567,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4567
4567
|
])
|
|
4568
4568
|
]),
|
|
4569
4569
|
t("div", $h, [
|
|
4570
|
-
t("pre", null,
|
|
4570
|
+
t("pre", null, c(i(Xa)), 1)
|
|
4571
4571
|
])
|
|
4572
4572
|
]));
|
|
4573
4573
|
}
|
|
@@ -4578,7 +4578,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4578
4578
|
__name: "PrototypeCoreThemeGuidePage",
|
|
4579
4579
|
emits: ["close"],
|
|
4580
4580
|
setup(e) {
|
|
4581
|
-
const n = w("idle"), o = "1.2.
|
|
4581
|
+
const n = w("idle"), o = "1.2.18";
|
|
4582
4582
|
let s;
|
|
4583
4583
|
function r() {
|
|
4584
4584
|
const g = document.createElement("textarea");
|
|
@@ -4586,7 +4586,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4586
4586
|
const h = document.execCommand("copy");
|
|
4587
4587
|
if (g.remove(), !h) throw new Error("浏览器拒绝复制");
|
|
4588
4588
|
}
|
|
4589
|
-
async function
|
|
4589
|
+
async function d() {
|
|
4590
4590
|
var g;
|
|
4591
4591
|
try {
|
|
4592
4592
|
(g = navigator.clipboard) != null && g.writeText ? await navigator.clipboard.writeText(qa) : r(), n.value = "copied";
|
|
@@ -4606,14 +4606,14 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4606
4606
|
}), (g, h) => (v(), f("section", Dh, [
|
|
4607
4607
|
t("header", Ah, [
|
|
4608
4608
|
t("div", Eh, [
|
|
4609
|
-
t("p", Th, "PROTOTYPE CORE · v" +
|
|
4609
|
+
t("p", Th, "PROTOTYPE CORE · v" + c(i(o)), 1),
|
|
4610
4610
|
h[1] || (h[1] = t("h1", null, "主题实现准则", -1)),
|
|
4611
4611
|
h[2] || (h[2] = t("p", null, "面向人和 AI 的设计系统 token、使用规则与兼容映射。", -1))
|
|
4612
4612
|
]),
|
|
4613
4613
|
t("div", Nh, [
|
|
4614
4614
|
t("button", {
|
|
4615
4615
|
type: "button",
|
|
4616
|
-
onClick:
|
|
4616
|
+
onClick: d
|
|
4617
4617
|
}, [
|
|
4618
4618
|
n.value === "copied" ? (v(), He(i(dr), {
|
|
4619
4619
|
key: 0,
|
|
@@ -4625,7 +4625,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4625
4625
|
key: 2,
|
|
4626
4626
|
class: "h-4 w-4"
|
|
4627
4627
|
})),
|
|
4628
|
-
z(" " +
|
|
4628
|
+
z(" " + c(n.value === "copied" ? "已复制" : n.value === "error" ? "请手动选择复制" : "复制全文"), 1)
|
|
4629
4629
|
]),
|
|
4630
4630
|
t("button", {
|
|
4631
4631
|
class: "is-icon",
|
|
@@ -4639,7 +4639,7 @@ Git 状态:未提交 / 已提交 / 已推送
|
|
|
4639
4639
|
])
|
|
4640
4640
|
]),
|
|
4641
4641
|
t("div", Rh, [
|
|
4642
|
-
t("pre", null,
|
|
4642
|
+
t("pre", null, c(i(qa)), 1)
|
|
4643
4643
|
])
|
|
4644
4644
|
]));
|
|
4645
4645
|
}
|
|
@@ -4916,8 +4916,8 @@ function ie(e, n, o, s = "", r) {
|
|
|
4916
4916
|
function Pl(e, n, o, s, r) {
|
|
4917
4917
|
var g, h, b;
|
|
4918
4918
|
if (!o || !n) return;
|
|
4919
|
-
const
|
|
4920
|
-
|
|
4919
|
+
const d = e === "flows" ? (g = en("flows")) == null ? void 0 : g.revision : e === "annotations" ? (h = ut("annotations").scopes[r ?? ""]) == null ? void 0 : h.revision : (b = ut("pageDescriptions").scopes[r ?? ""]) == null ? void 0 : b.revision;
|
|
4920
|
+
d && d !== n && (aa.value = `检测到远端${s}更新,已同步到当前页面`);
|
|
4921
4921
|
}
|
|
4922
4922
|
function Dl(e, n) {
|
|
4923
4923
|
ie(e, je.value[e].source, "conflict", n), gn.value = "error", yn.value = n;
|
|
@@ -4958,14 +4958,14 @@ function ku(e) {
|
|
|
4958
4958
|
Object.entries(e.radius ?? {}).forEach(([h, b]) => {
|
|
4959
4959
|
ru.some((I) => I.key === h) && typeof b == "string" && b.trim() && (r[h] = b.trim());
|
|
4960
4960
|
});
|
|
4961
|
-
const
|
|
4961
|
+
const d = { ...ou };
|
|
4962
4962
|
Object.entries(e.spacing ?? {}).forEach(([h, b]) => {
|
|
4963
|
-
h in
|
|
4963
|
+
h in d && typeof b == "string" && b.trim() && (d[h] = b.trim());
|
|
4964
4964
|
});
|
|
4965
4965
|
const g = { ...su };
|
|
4966
4966
|
return Object.entries(e.shadow ?? {}).forEach(([h, b]) => {
|
|
4967
4967
|
h in g && typeof b == "string" && b.trim() && (g[h] = b.trim());
|
|
4968
|
-
}), { colors: n, designColors: o, typography: s, radius: r, spacing:
|
|
4968
|
+
}), { colors: n, designColors: o, typography: s, radius: r, spacing: d, shadow: g };
|
|
4969
4969
|
}
|
|
4970
4970
|
const xu = x(() => [
|
|
4971
4971
|
...au,
|
|
@@ -5046,11 +5046,11 @@ const Iu = {
|
|
|
5046
5046
|
var e;
|
|
5047
5047
|
return ((e = cl.value) == null ? void 0 : e.rows.flatMap(
|
|
5048
5048
|
(n, o) => n.filter((s) => s.screenId).map((s, r) => {
|
|
5049
|
-
const
|
|
5049
|
+
const d = zn.find((g) => g.id === s.screenId) ?? Iu;
|
|
5050
5050
|
return {
|
|
5051
|
-
...
|
|
5051
|
+
...d,
|
|
5052
5052
|
stateId: s.stateId,
|
|
5053
|
-
stateLabel: s.stateId ? Tl(
|
|
5053
|
+
stateLabel: s.stateId ? Tl(d.id, s.stateId) : void 0,
|
|
5054
5054
|
flowRow: o + 1,
|
|
5055
5055
|
flowCol: r + 1,
|
|
5056
5056
|
rowLabel: s.rowLabel,
|
|
@@ -5073,7 +5073,7 @@ function $u(e) {
|
|
|
5073
5073
|
function ps(e, n) {
|
|
5074
5074
|
var s, r;
|
|
5075
5075
|
const o = kn(e);
|
|
5076
|
-
return ((s = o.find((
|
|
5076
|
+
return ((s = o.find((d) => d.id === n)) == null ? void 0 : s.id) ?? ((r = o[0]) == null ? void 0 : r.id);
|
|
5077
5077
|
}
|
|
5078
5078
|
const St = x(() => Il[ft.value]), _u = x(() => ({
|
|
5079
5079
|
...Al.value,
|
|
@@ -5135,7 +5135,7 @@ function fs(e) {
|
|
|
5135
5135
|
function Pu(e) {
|
|
5136
5136
|
var o, s, r;
|
|
5137
5137
|
const n = (s = (o = ht.value) == null ? void 0 : o.scopes) == null ? void 0 : s[e];
|
|
5138
|
-
return (n == null ? void 0 : n.highlighted) === !0 ? n.highlightColor ?? "#ef4444" : ((r = Ze.value.find((
|
|
5138
|
+
return (n == null ? void 0 : n.highlighted) === !0 ? n.highlightColor ?? "#ef4444" : ((r = Ze.value.find((d) => U(d.screenId, d.stateId) === e && d.highlighted === !0)) == null ? void 0 : r.highlightColor) ?? "#ef4444";
|
|
5139
5139
|
}
|
|
5140
5140
|
function Du(e) {
|
|
5141
5141
|
return vs(e).some((n) => fs(n));
|
|
@@ -5244,12 +5244,12 @@ async function Dy() {
|
|
|
5244
5244
|
} catch {
|
|
5245
5245
|
(ue = Vt()) == null || ue.removeItem(il);
|
|
5246
5246
|
}
|
|
5247
|
-
const [s, r,
|
|
5247
|
+
const [s, r, d] = await Promise.all([
|
|
5248
5248
|
ea("flows.json", { flows: [] }),
|
|
5249
5249
|
ea("page-descriptions.json", []),
|
|
5250
5250
|
ea("annotations.json", [])
|
|
5251
5251
|
]), g = {
|
|
5252
|
-
annotations: ra(
|
|
5252
|
+
annotations: ra(d),
|
|
5253
5253
|
pageDescriptions: Ln(r),
|
|
5254
5254
|
flows: Array.isArray(s.flows) && s.flows.length ? s.flows : Gh.flows
|
|
5255
5255
|
}, h = Ji("annotations"), b = Ji("pageDescriptions");
|
|
@@ -5285,58 +5285,58 @@ ze([ft, St], () => {
|
|
|
5285
5285
|
Kn(), ln.value && (Rl(!1), Ol(!1));
|
|
5286
5286
|
});
|
|
5287
5287
|
function ga(e, n, o) {
|
|
5288
|
-
const s = (/* @__PURE__ */ new Date()).toISOString(), r = U(e, n),
|
|
5288
|
+
const s = (/* @__PURE__ */ new Date()).toISOString(), r = U(e, n), d = bn.value ?? {
|
|
5289
5289
|
projectId: De.projectId,
|
|
5290
5290
|
updatedAt: s,
|
|
5291
5291
|
scopes: {},
|
|
5292
5292
|
screens: {}
|
|
5293
5293
|
};
|
|
5294
|
-
|
|
5294
|
+
d.scopes = { ...d.scopes ?? {}, [r]: { count: o, updatedAt: s } };
|
|
5295
5295
|
const g = vs(e).reduce((h, b) => {
|
|
5296
5296
|
var I, ee;
|
|
5297
|
-
return h + (((ee = (I =
|
|
5297
|
+
return h + (((ee = (I = d.scopes) == null ? void 0 : I[b]) == null ? void 0 : ee.count) ?? 0);
|
|
5298
5298
|
}, 0);
|
|
5299
|
-
|
|
5299
|
+
d.screens = { ...d.screens, [e]: { count: g, updatedAt: s } }, d.updatedAt = s, bn.value = d;
|
|
5300
5300
|
}
|
|
5301
5301
|
function ha(e, n, o, s, r) {
|
|
5302
|
-
const
|
|
5302
|
+
const d = (/* @__PURE__ */ new Date()).toISOString(), g = U(e, n), h = ht.value ?? {
|
|
5303
5303
|
projectId: De.projectId,
|
|
5304
|
-
updatedAt:
|
|
5304
|
+
updatedAt: d,
|
|
5305
5305
|
scopes: {},
|
|
5306
5306
|
screens: {}
|
|
5307
5307
|
};
|
|
5308
5308
|
h.scopes = {
|
|
5309
5309
|
...h.scopes ?? {},
|
|
5310
|
-
[g]: s === !0 ? { count: o, updatedAt:
|
|
5310
|
+
[g]: s === !0 ? { count: o, updatedAt: d, highlighted: !0, highlightColor: r ?? "#ef4444" } : { count: o, updatedAt: d }
|
|
5311
5311
|
};
|
|
5312
5312
|
const b = vs(e).reduce((I, ee) => {
|
|
5313
5313
|
var me, oe;
|
|
5314
5314
|
return I + (((oe = (me = h.scopes) == null ? void 0 : me[ee]) == null ? void 0 : oe.count) ?? 0);
|
|
5315
5315
|
}, 0);
|
|
5316
|
-
h.screens = { ...h.screens, [e]: { count: b, updatedAt:
|
|
5316
|
+
h.screens = { ...h.screens, [e]: { count: b, updatedAt: d } }, h.updatedAt = d, ht.value = h;
|
|
5317
5317
|
}
|
|
5318
5318
|
async function Ay(e, n = ps(e, St.value), o = !1) {
|
|
5319
5319
|
const s = await al(U(e, n));
|
|
5320
5320
|
if (!s) return !1;
|
|
5321
5321
|
const r = U(e, n);
|
|
5322
5322
|
Pl("annotations", s.sha, o, "注释", r);
|
|
5323
|
-
const
|
|
5324
|
-
return ot("annotations", r,
|
|
5323
|
+
const d = ra(s.value).map((b) => ({ ...b, screenId: e, stateId: n })), g = [...le.value.filter((b) => U(b.screenId, b.stateId) !== r), ...d], h = (/* @__PURE__ */ new Date()).toISOString();
|
|
5324
|
+
return ot("annotations", r, d, s.sha, h, "synced"), le.value = g, ga(e, n, d.length), ie("annotations", "gitee", "success", s.legacy ? "已读取主分支旧目录" : "", h), !0;
|
|
5325
5325
|
}
|
|
5326
5326
|
async function Ey(e = !1) {
|
|
5327
5327
|
const n = ft.value, o = St.value, s = U(n, o), r = await _r(U(n, o));
|
|
5328
5328
|
if (!r) return !1;
|
|
5329
5329
|
Pl("pageDescriptions", r.sha, e, "页面描述", s);
|
|
5330
|
-
const
|
|
5331
|
-
if (!
|
|
5330
|
+
const d = Ln([{ ...r.value, screenId: n, stateId: o }])[0];
|
|
5331
|
+
if (!d) return;
|
|
5332
5332
|
const g = (/* @__PURE__ */ new Date()).toISOString();
|
|
5333
|
-
Bt("gitee", s,
|
|
5333
|
+
Bt("gitee", s, d);
|
|
5334
5334
|
const h = ut("pageDescriptions").scopes[s];
|
|
5335
5335
|
if ((h == null ? void 0 : h.status) === "pending")
|
|
5336
5336
|
ie("pageDescriptions", "local-cache", "idle", "已读取 Gitee,本地缓存仍有待推送修改", g);
|
|
5337
5337
|
else {
|
|
5338
|
-
const b = [...Ze.value.filter((I) => U(I.screenId, I.stateId) !== s),
|
|
5339
|
-
ot("pageDescriptions", s,
|
|
5338
|
+
const b = [...Ze.value.filter((I) => U(I.screenId, I.stateId) !== s), d];
|
|
5339
|
+
ot("pageDescriptions", s, d, r.sha, g, "synced"), Bt("local-cache", s, d), Ze.value = b, ha(n, o, 1, d.highlighted, d.highlightColor), gu.value || (Hn.value = "gitee"), ie("pageDescriptions", "gitee", "success", r.legacy ? "已读取主分支旧目录" : "", g);
|
|
5340
5340
|
}
|
|
5341
5341
|
return s === sn() && Kn(), !0;
|
|
5342
5342
|
}
|
|
@@ -5353,8 +5353,8 @@ async function Rl(e = !1) {
|
|
|
5353
5353
|
bn.value = (o == null ? void 0 : o.value) ?? bn.value;
|
|
5354
5354
|
const s = await Ay(ft.value, St.value, e), r = U(ft.value, St.value);
|
|
5355
5355
|
if (!s && !((n = o == null ? void 0 : o.value.scopes) != null && n[r])) {
|
|
5356
|
-
const
|
|
5357
|
-
gl("annotations", r), le.value =
|
|
5356
|
+
const d = le.value.filter((h) => U(h.screenId, h.stateId) !== r), g = (/* @__PURE__ */ new Date()).toISOString();
|
|
5357
|
+
gl("annotations", r), le.value = d, ie("annotations", "gitee", "success", "", g);
|
|
5358
5358
|
} else if (!s)
|
|
5359
5359
|
throw new Error("Gitee 当前注释文件不存在");
|
|
5360
5360
|
gn.value = "success", yn.value = "注释已同步";
|
|
@@ -5378,8 +5378,8 @@ async function Ol(e = !1) {
|
|
|
5378
5378
|
const s = await Ey(e), r = sn();
|
|
5379
5379
|
if (!s && !((n = o == null ? void 0 : o.value.scopes) != null && n[r])) {
|
|
5380
5380
|
Bt("gitee", r, null);
|
|
5381
|
-
const
|
|
5382
|
-
(
|
|
5381
|
+
const d = ut("pageDescriptions").scopes[r];
|
|
5382
|
+
(d == null ? void 0 : d.status) === "pending" ? ie("pageDescriptions", "local-cache", "idle", "Gitee 当前 Scope 不存在,本地缓存待推送") : (gl("pageDescriptions", r), Bt("local-cache", r, null), Ze.value = Ze.value.filter((g) => U(g.screenId, g.stateId) !== r), ie("pageDescriptions", "gitee", "success", "", (/* @__PURE__ */ new Date()).toISOString())), Kn();
|
|
5383
5383
|
} else if (!s) throw new Error("Gitee 当前页面描述不存在");
|
|
5384
5384
|
gn.value = "success", yn.value = je.value.pageDescriptions.source === "local-cache" ? "已读取 Gitee,本地缓存待推送" : "页面说明已同步";
|
|
5385
5385
|
} catch (o) {
|
|
@@ -5401,14 +5401,14 @@ async function Eu(e = !1) {
|
|
|
5401
5401
|
}
|
|
5402
5402
|
ie("flows", je.value.flows.source, "syncing");
|
|
5403
5403
|
try {
|
|
5404
|
-
const
|
|
5405
|
-
if (!
|
|
5406
|
-
Pl("flows",
|
|
5404
|
+
const d = await $v(), g = Array.isArray((o = d == null ? void 0 : d.value) == null ? void 0 : o.flows) ? d.value.flows : null;
|
|
5405
|
+
if (!d || !g) throw new Error("Gitee 流程文件不存在");
|
|
5406
|
+
Pl("flows", d.sha, e, "流程");
|
|
5407
5407
|
const h = (/* @__PURE__ */ new Date()).toISOString();
|
|
5408
|
-
tn("flows", g,
|
|
5409
|
-
} catch (
|
|
5408
|
+
tn("flows", g, d.sha, h, "synced"), tt.value = ((s = en("flows")) == null ? void 0 : s.value) ?? g, tt.value.some((b) => b.id === Kt.value) || (Kt.value = ((r = tt.value[0]) == null ? void 0 : r.id) ?? ""), ie("flows", "gitee", "success", "", h);
|
|
5409
|
+
} catch (d) {
|
|
5410
5410
|
const g = en("flows");
|
|
5411
|
-
g && tn("flows", g.value, g.revision, g.lastRemoteSyncAt, "stale",
|
|
5411
|
+
g && tn("flows", g.value, g.revision, g.lastRemoteSyncAt, "stale", d instanceof Error ? d.message : "流程同步失败"), ie("flows", je.value.flows.source, "error", d instanceof Error ? d.message : "流程同步失败");
|
|
5412
5412
|
}
|
|
5413
5413
|
}
|
|
5414
5414
|
}
|
|
@@ -5426,11 +5426,11 @@ function nr(e) {
|
|
|
5426
5426
|
highlightColor: I ? g.highlightColor ?? "#ef4444" : b == null ? void 0 : b.highlightColor
|
|
5427
5427
|
});
|
|
5428
5428
|
});
|
|
5429
|
-
const r = {},
|
|
5429
|
+
const r = {}, d = {};
|
|
5430
5430
|
return s.forEach(({ screenId: g, count: h, highlighted: b, highlightColor: I }, ee) => {
|
|
5431
5431
|
var me;
|
|
5432
|
-
r[ee] = b === !0 ? { count: h, updatedAt: n, highlighted: !0, highlightColor: I ?? "#ef4444" } : { count: h, updatedAt: n },
|
|
5433
|
-
}), { projectId: De.projectId, updatedAt: n, scopes: r, screens:
|
|
5432
|
+
r[ee] = b === !0 ? { count: h, updatedAt: n, highlighted: !0, highlightColor: I ?? "#ef4444" } : { count: h, updatedAt: n }, d[g] = { count: (((me = d[g]) == null ? void 0 : me.count) ?? 0) + h, updatedAt: n };
|
|
5433
|
+
}), { projectId: De.projectId, updatedAt: n, scopes: r, screens: d };
|
|
5434
5434
|
}
|
|
5435
5435
|
async function Ty() {
|
|
5436
5436
|
if (!De.remoteWritable || fn.value === "running") return;
|
|
@@ -5447,19 +5447,19 @@ async function Ty() {
|
|
|
5447
5447
|
}
|
|
5448
5448
|
const n = [], o = /* @__PURE__ */ new Map();
|
|
5449
5449
|
le.value.forEach((r) => {
|
|
5450
|
-
const
|
|
5451
|
-
o.set(
|
|
5452
|
-
}), o.forEach((r,
|
|
5453
|
-
const
|
|
5454
|
-
n.push({ label: `页面描述:${
|
|
5450
|
+
const d = U(r.screenId, r.stateId);
|
|
5451
|
+
o.set(d, [...o.get(d) ?? [], r]);
|
|
5452
|
+
}), o.forEach((r, d) => n.push({ label: `注释:${d}`, run: () => On("annotations", d, r, e) })), n.push({ label: "注释索引", run: () => On("annotations", void 0, nr("annotations"), e) }), Ze.value.forEach((r) => {
|
|
5453
|
+
const d = U(r.screenId, r.stateId);
|
|
5454
|
+
n.push({ label: `页面描述:${d}`, run: () => On("pageDescriptions", d, r, e) });
|
|
5455
5455
|
}), n.push({ label: "页面描述索引", run: () => On("pageDescriptions", void 0, nr("pageDescriptions"), e) }), n.push({ label: "流程", run: () => On("flows", void 0, { version: "1.0.0", flows: tt.value }, e) }), it.value = { current: 0, total: n.length + 1, label: "" };
|
|
5456
5456
|
const s = { created: 0, unchanged: 0, protected: 0, failed: 0 };
|
|
5457
5457
|
for (const r of n) {
|
|
5458
5458
|
it.value = { ...it.value, label: r.label };
|
|
5459
5459
|
try {
|
|
5460
5460
|
s[await r.run()] += 1;
|
|
5461
|
-
} catch (
|
|
5462
|
-
s.failed += 1, console.error("❌ [Gitee 初始化] 文件处理失败", { label: r.label, error:
|
|
5461
|
+
} catch (d) {
|
|
5462
|
+
s.failed += 1, console.error("❌ [Gitee 初始化] 文件处理失败", { label: r.label, error: d });
|
|
5463
5463
|
} finally {
|
|
5464
5464
|
it.value = { ...it.value, current: it.value.current + 1 };
|
|
5465
5465
|
}
|
|
@@ -5481,7 +5481,7 @@ function Tu() {
|
|
|
5481
5481
|
function Ry(e, n) {
|
|
5482
5482
|
if (!fa.value) return;
|
|
5483
5483
|
e.preventDefault(), e.stopPropagation();
|
|
5484
|
-
const o = e.currentTarget, s = o.querySelector(".annotation-layer"), r = o.getBoundingClientRect(),
|
|
5484
|
+
const o = e.currentTarget, s = o.querySelector(".annotation-layer"), r = o.getBoundingClientRect(), d = s == null ? void 0 : s.getBoundingClientRect(), g = d && d.width > 0 && d.height > 0 ? d : r, h = Zr(e.clientX, e.clientY, g);
|
|
5485
5485
|
cs.value = {
|
|
5486
5486
|
screenId: n,
|
|
5487
5487
|
stateId: ps(n, St.value),
|
|
@@ -5498,19 +5498,19 @@ async function ya(e, n, o, s) {
|
|
|
5498
5498
|
try {
|
|
5499
5499
|
const r = await Cv(U(e, n), Dt.value.trim() || "未署名", o, s);
|
|
5500
5500
|
if (!r) return null;
|
|
5501
|
-
const
|
|
5502
|
-
ga(e, n,
|
|
5503
|
-
const g = (/* @__PURE__ */ new Date()).toISOString(), h = [...le.value.filter((b) => U(b.screenId, b.stateId) !== U(e, n)), ...
|
|
5504
|
-
if (ot("annotations", U(e, n),
|
|
5501
|
+
const d = ra(r.value).map((b) => ({ ...b, screenId: e, stateId: n }));
|
|
5502
|
+
ga(e, n, d.length);
|
|
5503
|
+
const g = (/* @__PURE__ */ new Date()).toISOString(), h = [...le.value.filter((b) => U(b.screenId, b.stateId) !== U(e, n)), ...d];
|
|
5504
|
+
if (ot("annotations", U(e, n), d, r.sha, g, "synced"), le.value = h, bn.value)
|
|
5505
5505
|
try {
|
|
5506
5506
|
await kv(bn.value, Dt.value.trim() || "未署名", U(e, n));
|
|
5507
5507
|
} catch (b) {
|
|
5508
|
-
return ie("annotations", "gitee", "error", `注释已保存,但索引同步失败:${b instanceof Error ? b.message : "未知错误"}`, g),
|
|
5508
|
+
return ie("annotations", "gitee", "error", `注释已保存,但索引同步失败:${b instanceof Error ? b.message : "未知错误"}`, g), d;
|
|
5509
5509
|
}
|
|
5510
|
-
return ie("annotations", "gitee", "success", "", g),
|
|
5510
|
+
return ie("annotations", "gitee", "success", "", g), d;
|
|
5511
5511
|
} catch (r) {
|
|
5512
|
-
const
|
|
5513
|
-
r instanceof Cn ? Dl("annotations",
|
|
5512
|
+
const d = r instanceof Error ? r.message : "注释保存失败";
|
|
5513
|
+
r instanceof Cn ? Dl("annotations", d) : ie("annotations", je.value.annotations.source, "error", d);
|
|
5514
5514
|
return;
|
|
5515
5515
|
}
|
|
5516
5516
|
}
|
|
@@ -5559,19 +5559,19 @@ async function jy() {
|
|
|
5559
5559
|
async function Uy(e, n, o) {
|
|
5560
5560
|
const s = le.value.find((b) => b.id === e);
|
|
5561
5561
|
if (!s) return !1;
|
|
5562
|
-
const r = (/* @__PURE__ */ new Date()).toISOString(),
|
|
5562
|
+
const r = (/* @__PURE__ */ new Date()).toISOString(), d = (b) => b.id === e ? {
|
|
5563
5563
|
...b,
|
|
5564
5564
|
x: Math.min(96, Math.max(4, n)),
|
|
5565
5565
|
y: Math.min(96, Math.max(4, o)),
|
|
5566
5566
|
authorName: Dt.value.trim() || b.authorName || "未署名",
|
|
5567
5567
|
updatedAt: r
|
|
5568
|
-
} : b, g =
|
|
5568
|
+
} : b, g = d(s), h = await ya(
|
|
5569
5569
|
s.screenId,
|
|
5570
5570
|
s.stateId,
|
|
5571
5571
|
"编辑",
|
|
5572
|
-
(b) => b.some((I) => I.id === e) ? b.map(
|
|
5572
|
+
(b) => b.some((I) => I.id === e) ? b.map(d) : [...b, g]
|
|
5573
5573
|
);
|
|
5574
|
-
return h === void 0 ? !1 : (le.value = h ? [...le.value.filter((b) => U(b.screenId, b.stateId) !== U(s.screenId, s.stateId)), ...h] : le.value.map(
|
|
5574
|
+
return h === void 0 ? !1 : (le.value = h ? [...le.value.filter((b) => U(b.screenId, b.stateId) !== U(s.screenId, s.stateId)), ...h] : le.value.map(d), h === null && ot("annotations", U(s.screenId, s.stateId), le.value.filter((b) => U(b.screenId, b.stateId) === U(s.screenId, s.stateId)), null, null, "pending"), !0);
|
|
5575
5575
|
}
|
|
5576
5576
|
async function My(e) {
|
|
5577
5577
|
const n = le.value.find((s) => s.id === e);
|
|
@@ -5592,15 +5592,15 @@ function Vy() {
|
|
|
5592
5592
|
}
|
|
5593
5593
|
function Ru(e) {
|
|
5594
5594
|
const n = vs(e).map((o) => {
|
|
5595
|
-
var s, r,
|
|
5596
|
-
return (
|
|
5595
|
+
var s, r, d;
|
|
5596
|
+
return (d = (r = (s = bn.value) == null ? void 0 : s.scopes) == null ? void 0 : r[o]) == null ? void 0 : d.count;
|
|
5597
5597
|
});
|
|
5598
5598
|
return n.some((o) => typeof o == "number") ? n.reduce((o, s) => o + (s ?? 0), 0) : le.value.filter((o) => o.screenId === e).length;
|
|
5599
5599
|
}
|
|
5600
5600
|
function fl(e, n) {
|
|
5601
|
-
var s, r,
|
|
5601
|
+
var s, r, d;
|
|
5602
5602
|
const o = U(e, n);
|
|
5603
|
-
return ((
|
|
5603
|
+
return ((d = (r = (s = bn.value) == null ? void 0 : s.scopes) == null ? void 0 : r[o]) == null ? void 0 : d.count) ?? le.value.filter((g) => U(g.screenId, g.stateId) === o).length;
|
|
5604
5604
|
}
|
|
5605
5605
|
function Bl() {
|
|
5606
5606
|
const e = ft.value, n = St.value, o = (/* @__PURE__ */ new Date()).toISOString(), s = Nl.value;
|
|
@@ -5628,8 +5628,8 @@ async function Ou(e) {
|
|
|
5628
5628
|
if (!s) throw new Error(`页面描述 ${n} 已写入,但 manifest 回读失败`);
|
|
5629
5629
|
const r = Ln([{ ...o.value, screenId: e.screenId, stateId: e.stateId }])[0];
|
|
5630
5630
|
if (!r) throw new Error(`页面描述 ${n} 回读内容无效`);
|
|
5631
|
-
const
|
|
5632
|
-
return ot("pageDescriptions", n, r, o.sha,
|
|
5631
|
+
const d = (/* @__PURE__ */ new Date()).toISOString();
|
|
5632
|
+
return ot("pageDescriptions", n, r, o.sha, d, "synced"), Bt("gitee", n, r), Bt("local-cache", n, r), Ze.value = [...Ze.value.filter((g) => U(g.screenId, g.stateId) !== n), r], ht.value = s.value, ie("pageDescriptions", "gitee", "success", "", d), !0;
|
|
5633
5633
|
} catch (o) {
|
|
5634
5634
|
const s = o instanceof Error ? o.message : "页面描述保存失败";
|
|
5635
5635
|
return o instanceof Cn ? Dl("pageDescriptions", s) : ie("pageDescriptions", je.value.pageDescriptions.source, "error", s), !1;
|
|
@@ -5658,7 +5658,7 @@ async function Bu(e = {}) {
|
|
|
5658
5658
|
Gt.value = { ...Gt.value, "local-seed": vl(n) };
|
|
5659
5659
|
const o = [...new Set(((me = e.scopeIds) == null ? void 0 : me.map((Z) => Z.trim()).filter(Boolean)) ?? [])], s = new Map(n.map((Z) => [U(Z.screenId, Z.stateId), Z])), r = o.filter((Z) => !s.has(Z));
|
|
5660
5660
|
if (r.length) throw new Error(`page-descriptions.json 未找到 Scope:${r.join(", ")}`);
|
|
5661
|
-
const
|
|
5661
|
+
const d = o.length ? o.map((Z) => s.get(Z)) : [...s.values()], g = await $r();
|
|
5662
5662
|
ht.value = (g == null ? void 0 : g.value) ?? {
|
|
5663
5663
|
projectId: De.projectId,
|
|
5664
5664
|
updatedAt: (/* @__PURE__ */ new Date()).toISOString(),
|
|
@@ -5666,7 +5666,7 @@ async function Bu(e = {}) {
|
|
|
5666
5666
|
screens: {}
|
|
5667
5667
|
};
|
|
5668
5668
|
const h = [], b = [], I = [];
|
|
5669
|
-
for (const Z of
|
|
5669
|
+
for (const Z of d) {
|
|
5670
5670
|
const ae = U(Z.screenId, Z.stateId), B = ((oe = Z.authorName) == null ? void 0 : oe.trim()) || Dt.value.trim() || "AI";
|
|
5671
5671
|
try {
|
|
5672
5672
|
const ke = await _r(ae), we = ke ? Ln([{ ...ke.value, screenId: Z.screenId, stateId: Z.stateId }])[0] : void 0;
|
|
@@ -5690,7 +5690,7 @@ async function Bu(e = {}) {
|
|
|
5690
5690
|
}
|
|
5691
5691
|
Kn();
|
|
5692
5692
|
const ee = `JSON 同步完成:成功 ${h.length},跳过 ${b.length},失败 ${I.length}`;
|
|
5693
|
-
return ie("pageDescriptions", "gitee", I.length ? "error" : "success", ee, (/* @__PURE__ */ new Date()).toISOString()), { syncedScopes: h, skippedScopes: b, failedScopes: I, total:
|
|
5693
|
+
return ie("pageDescriptions", "gitee", I.length ? "error" : "success", ee, (/* @__PURE__ */ new Date()).toISOString()), { syncedScopes: h, skippedScopes: b, failedScopes: I, total: d.length };
|
|
5694
5694
|
}
|
|
5695
5695
|
function Hy() {
|
|
5696
5696
|
const e = new Blob([JSON.stringify(le.value, null, 2)], { type: "application/json;charset=utf-8" }), n = document.createElement("a");
|
|
@@ -5725,8 +5725,8 @@ const qy = 88, ju = 152, Zy = 260, Qy = x(() => {
|
|
|
5725
5725
|
n.has(s) || n.set(s, []), n.get(s).push(o);
|
|
5726
5726
|
}), n.forEach((o, s) => {
|
|
5727
5727
|
let r = 0;
|
|
5728
|
-
o.sort((
|
|
5729
|
-
e.set(`${s}-${
|
|
5728
|
+
o.sort((d, g) => (d.flowCol ?? 0) - (g.flowCol ?? 0)).forEach((d) => {
|
|
5729
|
+
e.set(`${s}-${d.flowCol ?? 1}`, r), r += Xy(d.platform) + qy;
|
|
5730
5730
|
});
|
|
5731
5731
|
}), e;
|
|
5732
5732
|
}), Uu = x(() => {
|
|
@@ -5742,7 +5742,7 @@ const qy = 88, ju = 152, Zy = 260, Qy = x(() => {
|
|
|
5742
5742
|
var s, r;
|
|
5743
5743
|
return {
|
|
5744
5744
|
key: `${((s = cl.value) == null ? void 0 : s.id) ?? "empty"}-${o}`,
|
|
5745
|
-
label: ((r = n.find((
|
|
5745
|
+
label: ((r = n.find((d) => d.rowLabel)) == null ? void 0 : r.rowLabel) ?? `子流程 ${o + 1}`,
|
|
5746
5746
|
row: o + 1
|
|
5747
5747
|
};
|
|
5748
5748
|
})) ?? [];
|
|
@@ -5760,8 +5760,8 @@ function ob() {
|
|
|
5760
5760
|
function sb(e) {
|
|
5761
5761
|
const n = e.flowRow ?? 1, o = e.flowCol ?? 1, s = Qy.value.get(`${n}-${o}`) ?? 0;
|
|
5762
5762
|
let r = 0;
|
|
5763
|
-
for (let
|
|
5764
|
-
r += (Uu.value.get(
|
|
5763
|
+
for (let d = 1; d < n; d++)
|
|
5764
|
+
r += (Uu.value.get(d) ?? Ul("mobile")) + ju;
|
|
5765
5765
|
return {
|
|
5766
5766
|
left: `${Vn.value + (Zy + s) * vt.value}px`,
|
|
5767
5767
|
top: `${Gn.value + r * vt.value}px`
|
|
@@ -5790,8 +5790,8 @@ function ub(e) {
|
|
|
5790
5790
|
e.preventDefault();
|
|
5791
5791
|
const n = Mu(vt.value + (e.deltaY > 0 ? -0.04 : 0.04));
|
|
5792
5792
|
if (n === vt.value) return;
|
|
5793
|
-
const o = e.currentTarget.getBoundingClientRect(), s = e.clientX - o.left, r = e.clientY - o.top,
|
|
5794
|
-
vt.value = n, Vn.value = s -
|
|
5793
|
+
const o = e.currentTarget.getBoundingClientRect(), s = e.clientX - o.left, r = e.clientY - o.top, d = (s - Vn.value) / vt.value, g = (r - Gn.value) / vt.value;
|
|
5794
|
+
vt.value = n, Vn.value = s - d * n, Gn.value = r - g * n;
|
|
5795
5795
|
}
|
|
5796
5796
|
function Mu(e) {
|
|
5797
5797
|
return Math.min(0.9, Math.max(0.25, Number(e.toFixed(2))));
|
|
@@ -5806,13 +5806,13 @@ async function cb(e) {
|
|
|
5806
5806
|
const n = JSON.parse(JSON.stringify(e));
|
|
5807
5807
|
if (Fu(n), !yu.value) return !1;
|
|
5808
5808
|
try {
|
|
5809
|
-
const r = await _v(Dt.value.trim() || "未署名", n),
|
|
5810
|
-
if (!r || !
|
|
5809
|
+
const r = await _v(Dt.value.trim() || "未署名", n), d = Array.isArray((o = r == null ? void 0 : r.value) == null ? void 0 : o.flows) ? r.value.flows : null;
|
|
5810
|
+
if (!r || !d) return !1;
|
|
5811
5811
|
const g = (/* @__PURE__ */ new Date()).toISOString();
|
|
5812
|
-
return tn("flows",
|
|
5812
|
+
return tn("flows", d, r.sha, g, "synced"), tt.value = d, wu(!1), tt.value.some((h) => h.id === Kt.value) || (Kt.value = ((s = tt.value[0]) == null ? void 0 : s.id) ?? ""), ie("flows", "gitee", "success", "", g), !0;
|
|
5813
5813
|
} catch (r) {
|
|
5814
|
-
const
|
|
5815
|
-
return r instanceof Cn ? Dl("flows",
|
|
5814
|
+
const d = r instanceof Error ? r.message : "流程推送失败";
|
|
5815
|
+
return r instanceof Cn ? Dl("flows", d) : ie("flows", je.value.flows.source, "error", d), !1;
|
|
5816
5816
|
}
|
|
5817
5817
|
}
|
|
5818
5818
|
function db(e = tt.value) {
|
|
@@ -5974,8 +5974,8 @@ function sr(e, n, o = "") {
|
|
|
5974
5974
|
return !!(e && n && e !== n && n !== o);
|
|
5975
5975
|
}
|
|
5976
5976
|
function ar(e, n, o, s) {
|
|
5977
|
-
const r = new URL(e.endsWith("/") ? e : `${e}/`, o),
|
|
5978
|
-
return
|
|
5977
|
+
const r = new URL(e.endsWith("/") ? e : `${e}/`, o), d = new URL((n == null ? void 0 : n.trim()) || "version.json", r);
|
|
5978
|
+
return d.searchParams.set("ts", String(s)), d;
|
|
5979
5979
|
}
|
|
5980
5980
|
const fb = {
|
|
5981
5981
|
key: 0,
|
|
@@ -6148,7 +6148,7 @@ const fb = {
|
|
|
6148
6148
|
themeDesignColorFields: o,
|
|
6149
6149
|
themeTypographyFields: s,
|
|
6150
6150
|
themeRadiusFields: r,
|
|
6151
|
-
lang:
|
|
6151
|
+
lang: d,
|
|
6152
6152
|
mode: g,
|
|
6153
6153
|
currentScreen: h,
|
|
6154
6154
|
selectedFlowId: b,
|
|
@@ -6401,7 +6401,7 @@ const fb = {
|
|
|
6401
6401
|
]
|
|
6402
6402
|
}
|
|
6403
6403
|
];
|
|
6404
|
-
}), Yl = x(() => _a.value.reduce((u, a) => u + a.items.length, 0)), Xl = x(() => _a.value.reduce((u, a) => u + a.items.filter((l) => l.configured).length, 0)), Pa = x(() => Yl.value - Xl.value), Da = "1.2.
|
|
6404
|
+
}), Yl = x(() => _a.value.reduce((u, a) => u + a.items.length, 0)), Xl = x(() => _a.value.reduce((u, a) => u + a.items.filter((l) => l.configured).length, 0)), Pa = x(() => Yl.value - Xl.value), Da = "1.2.18", Aa = w(""), An = w("idle"), rc = x(() => An.value === "success" && Aa.value !== Da), uc = x(() => An.value === "success" ? `v${Aa.value}` : An.value === "error" ? "版本暂不可用" : "版本检测中");
|
|
6405
6405
|
async function cc() {
|
|
6406
6406
|
if (An.value !== "idle") return;
|
|
6407
6407
|
An.value = "loading";
|
|
@@ -7247,19 +7247,19 @@ Scope:${u}
|
|
|
7247
7247
|
type: "button",
|
|
7248
7248
|
onClick: a[2] || (a[2] = (l) => mo())
|
|
7249
7249
|
}, [
|
|
7250
|
-
t("p", kb,
|
|
7251
|
-
t("p", xb,
|
|
7250
|
+
t("p", kb, c(fc.value), 1),
|
|
7251
|
+
t("p", xb, c(mc.value), 1)
|
|
7252
7252
|
]),
|
|
7253
7253
|
t("div", Ib, [
|
|
7254
7254
|
t("p", null, [
|
|
7255
7255
|
a[97] || (a[97] = t("span", null, "内核当前", -1)),
|
|
7256
|
-
t("b", null, "v" +
|
|
7256
|
+
t("b", null, "v" + c(i(Da)), 1)
|
|
7257
7257
|
]),
|
|
7258
7258
|
t("p", null, [
|
|
7259
7259
|
a[98] || (a[98] = t("span", null, "内核最新", -1)),
|
|
7260
7260
|
t("b", {
|
|
7261
7261
|
class: E({ "text-warning": rc.value })
|
|
7262
|
-
},
|
|
7262
|
+
}, c(uc.value), 3)
|
|
7263
7263
|
])
|
|
7264
7264
|
])
|
|
7265
7265
|
]),
|
|
@@ -7286,7 +7286,7 @@ Scope:${u}
|
|
|
7286
7286
|
onClick: fd
|
|
7287
7287
|
}, [
|
|
7288
7288
|
a[99] || (a[99] = z(" Bug ", -1)),
|
|
7289
|
-
i(Ll) ? (v(), f("span", _b,
|
|
7289
|
+
i(Ll) ? (v(), f("span", _b, c(i(Ll)), 1)) : C("", !0)
|
|
7290
7290
|
], 2),
|
|
7291
7291
|
t("div", Pb, [
|
|
7292
7292
|
t("button", {
|
|
@@ -7304,12 +7304,12 @@ Scope:${u}
|
|
|
7304
7304
|
]),
|
|
7305
7305
|
t("div", Db, [
|
|
7306
7306
|
t("button", {
|
|
7307
|
-
class: E(["mode-btn", { active: i(
|
|
7308
|
-
onClick: a[6] || (a[6] = (l) =>
|
|
7307
|
+
class: E(["mode-btn", { active: i(d) === "zh" }]),
|
|
7308
|
+
onClick: a[6] || (a[6] = (l) => d.value = "zh")
|
|
7309
7309
|
}, "中文", 2),
|
|
7310
7310
|
t("button", {
|
|
7311
|
-
class: E(["mode-btn", { active: i(
|
|
7312
|
-
onClick: a[7] || (a[7] = (l) =>
|
|
7311
|
+
class: E(["mode-btn", { active: i(d) === "en" }]),
|
|
7312
|
+
onClick: a[7] || (a[7] = (l) => d.value = "en")
|
|
7313
7313
|
}, "English", 2)
|
|
7314
7314
|
]),
|
|
7315
7315
|
t("div", Ab, [
|
|
@@ -7358,8 +7358,8 @@ Scope:${u}
|
|
|
7358
7358
|
style: Be({ "--swatch-color": l.designColors.primary })
|
|
7359
7359
|
}, null, 4),
|
|
7360
7360
|
t("span", Bb, [
|
|
7361
|
-
t("b", null,
|
|
7362
|
-
t("small", null,
|
|
7361
|
+
t("b", null, c(i(Pe)(l)), 1),
|
|
7362
|
+
t("small", null, c(i(At)(l)), 1)
|
|
7363
7363
|
])
|
|
7364
7364
|
], 10, Ob))), 128))
|
|
7365
7365
|
]),
|
|
@@ -7398,8 +7398,8 @@ Scope:${u}
|
|
|
7398
7398
|
onInput: (S) => i(In)(l.key, S.target.value)
|
|
7399
7399
|
}, null, 40, Mb),
|
|
7400
7400
|
t("span", null, [
|
|
7401
|
-
t("b", null,
|
|
7402
|
-
t("small", null,
|
|
7401
|
+
t("b", null, c(l.label), 1),
|
|
7402
|
+
t("small", null, c(l.description), 1)
|
|
7403
7403
|
]),
|
|
7404
7404
|
t("input", {
|
|
7405
7405
|
type: "text",
|
|
@@ -7417,8 +7417,8 @@ Scope:${u}
|
|
|
7417
7417
|
class: "theme-token-field"
|
|
7418
7418
|
}, [
|
|
7419
7419
|
t("span", null, [
|
|
7420
|
-
t("b", null,
|
|
7421
|
-
t("small", null,
|
|
7420
|
+
t("b", null, c(l.label), 1),
|
|
7421
|
+
t("small", null, c(l.description), 1)
|
|
7422
7422
|
]),
|
|
7423
7423
|
t("input", {
|
|
7424
7424
|
type: "text",
|
|
@@ -7437,8 +7437,8 @@ Scope:${u}
|
|
|
7437
7437
|
class: "theme-token-field"
|
|
7438
7438
|
}, [
|
|
7439
7439
|
t("span", null, [
|
|
7440
|
-
t("b", null,
|
|
7441
|
-
t("small", null,
|
|
7440
|
+
t("b", null, c(l.label), 1),
|
|
7441
|
+
t("small", null, c(l.description), 1)
|
|
7442
7442
|
]),
|
|
7443
7443
|
t("input", {
|
|
7444
7444
|
type: "text",
|
|
@@ -7460,8 +7460,8 @@ Scope:${u}
|
|
|
7460
7460
|
onInput: (S) => i(Yn)(l.key, S.target.value)
|
|
7461
7461
|
}, null, 40, Kb),
|
|
7462
7462
|
t("span", null, [
|
|
7463
|
-
t("b", null,
|
|
7464
|
-
t("small", null,
|
|
7463
|
+
t("b", null, c(l.label), 1),
|
|
7464
|
+
t("small", null, c(l.description), 1)
|
|
7465
7465
|
]),
|
|
7466
7466
|
t("input", {
|
|
7467
7467
|
type: "text",
|
|
@@ -7486,7 +7486,7 @@ Scope:${u}
|
|
|
7486
7486
|
])),
|
|
7487
7487
|
pe.value === "testCases" ? (v(), He(wh, {
|
|
7488
7488
|
key: 1,
|
|
7489
|
-
lang: i(
|
|
7489
|
+
lang: i(d),
|
|
7490
7490
|
"current-screen-id": i(h),
|
|
7491
7491
|
"current-state-id": i(T),
|
|
7492
7492
|
"author-name": i(Y),
|
|
@@ -7511,7 +7511,7 @@ Scope:${u}
|
|
|
7511
7511
|
onClick: (S) => i(Wt)(l.source)
|
|
7512
7512
|
}, [
|
|
7513
7513
|
(v(), He(bo(l.icon), { "aria-hidden": "true" })),
|
|
7514
|
-
t("span", null,
|
|
7514
|
+
t("span", null, c(l.label), 1)
|
|
7515
7515
|
], 10, qb)), 64))
|
|
7516
7516
|
]),
|
|
7517
7517
|
t("button", {
|
|
@@ -7523,14 +7523,14 @@ Scope:${u}
|
|
|
7523
7523
|
}, [
|
|
7524
7524
|
t("p", null, [
|
|
7525
7525
|
a[107] || (a[107] = t("b", null, "页面结构:", -1)),
|
|
7526
|
-
z(
|
|
7526
|
+
z(c(Nt.value.structure), 1)
|
|
7527
7527
|
]),
|
|
7528
7528
|
t("p", null, [
|
|
7529
7529
|
a[108] || (a[108] = t("b", null, "核心功能:", -1)),
|
|
7530
|
-
z(
|
|
7530
|
+
z(c(Nt.value.features), 1)
|
|
7531
7531
|
])
|
|
7532
7532
|
])
|
|
7533
|
-
])) : (v(), f("p", Zb,
|
|
7533
|
+
])) : (v(), f("p", Zb, c(i(Wn)("heroCopy", i(yt).subtitle)), 1))
|
|
7534
7534
|
])),
|
|
7535
7535
|
t("div", Qb, [
|
|
7536
7536
|
ne.value === "interactive" && !fe.value ? (v(), f("aside", {
|
|
@@ -7547,7 +7547,7 @@ Scope:${u}
|
|
|
7547
7547
|
onClick: Si
|
|
7548
7548
|
}, [
|
|
7549
7549
|
F(i(Fd), { class: "h-4 w-4" }),
|
|
7550
|
-
z(" " +
|
|
7550
|
+
z(" " + c(pn.value ? "展开导航" : "收起导航") + " (N) ", 1)
|
|
7551
7551
|
]),
|
|
7552
7552
|
pn.value ? C("", !0) : (v(), f("div", e1, [
|
|
7553
7553
|
t("div", {
|
|
@@ -7564,7 +7564,7 @@ Scope:${u}
|
|
|
7564
7564
|
t("span", {
|
|
7565
7565
|
class: E(["platform-badge", l.platform === "pc" ? "is-pc" : "is-mobile"]),
|
|
7566
7566
|
"aria-hidden": "true"
|
|
7567
|
-
},
|
|
7567
|
+
}, c(l.platform === "pc" ? "P" : "M"), 3),
|
|
7568
7568
|
(v(), He(bo(l.icon), { class: "h-4 w-4" })),
|
|
7569
7569
|
i(ba)(l.id) ? (v(), f("span", {
|
|
7570
7570
|
key: 0,
|
|
@@ -7572,9 +7572,9 @@ Scope:${u}
|
|
|
7572
7572
|
style: Be({ backgroundColor: i(gs)(l.id) }),
|
|
7573
7573
|
"aria-hidden": "true"
|
|
7574
7574
|
}, null, 4)) : C("", !0),
|
|
7575
|
-
t("span", n1,
|
|
7575
|
+
t("span", n1, c(l.code) + " " + c(l.title), 1),
|
|
7576
7576
|
t("div", o1, [
|
|
7577
|
-
i(Eo)(l.id) ? (v(), f("span", s1,
|
|
7577
|
+
i(Eo)(l.id) ? (v(), f("span", s1, c(i(Eo)(l.id)), 1)) : C("", !0)
|
|
7578
7578
|
])
|
|
7579
7579
|
], 10, t1))), 128))
|
|
7580
7580
|
], 544),
|
|
@@ -7609,7 +7609,7 @@ Scope:${u}
|
|
|
7609
7609
|
]
|
|
7610
7610
|
]),
|
|
7611
7611
|
a[112] || (a[112] = t("span", { class: "text-xs text-muted" }, "6", -1)),
|
|
7612
|
-
t("strong", c1,
|
|
7612
|
+
t("strong", c1, c(i($n)), 1)
|
|
7613
7613
|
])
|
|
7614
7614
|
]),
|
|
7615
7615
|
t("div", d1, [
|
|
@@ -7620,7 +7620,7 @@ Scope:${u}
|
|
|
7620
7620
|
class: "overview-zoom-btn",
|
|
7621
7621
|
onClick: a[16] || (a[16] = (l) => yi(-0.06))
|
|
7622
7622
|
}, "−"),
|
|
7623
|
-
t("strong", v1,
|
|
7623
|
+
t("strong", v1, c(Math.round(i(Yt) * 100)) + "%", 1),
|
|
7624
7624
|
t("button", {
|
|
7625
7625
|
type: "button",
|
|
7626
7626
|
class: "overview-zoom-btn",
|
|
@@ -7665,8 +7665,8 @@ Scope:${u}
|
|
|
7665
7665
|
}, [
|
|
7666
7666
|
a[118] || (a[118] = t("span", { class: "flow-dot" }, null, -1)),
|
|
7667
7667
|
t("span", h1, [
|
|
7668
|
-
t("b", null,
|
|
7669
|
-
t("small", null,
|
|
7668
|
+
t("b", null, c(l.title), 1),
|
|
7669
|
+
t("small", null, c(l.subtitle), 1)
|
|
7670
7670
|
])
|
|
7671
7671
|
], 10, g1))), 128))
|
|
7672
7672
|
])) : C("", !0),
|
|
@@ -7696,7 +7696,7 @@ Scope:${u}
|
|
|
7696
7696
|
{ number: !0 }
|
|
7697
7697
|
]
|
|
7698
7698
|
]),
|
|
7699
|
-
t("strong", null,
|
|
7699
|
+
t("strong", null, c(i(Oe)), 1),
|
|
7700
7700
|
t("button", {
|
|
7701
7701
|
type: "button",
|
|
7702
7702
|
onClick: a[21] || (a[21] = (l) => i(Ds)(-0.06))
|
|
@@ -7734,7 +7734,7 @@ Scope:${u}
|
|
|
7734
7734
|
style: Be(i(Vu)(l.row))
|
|
7735
7735
|
}, [
|
|
7736
7736
|
a[119] || (a[119] = t("span", null, "子流程", -1)),
|
|
7737
|
-
t("strong", null,
|
|
7737
|
+
t("strong", null, c(l.label), 1)
|
|
7738
7738
|
], 4))), 128)),
|
|
7739
7739
|
(v(!0), f(D, null, R(bc.value, (l) => (v(), f("article", {
|
|
7740
7740
|
key: ne.value === "flow" ? `${l.id}-${l.stateId ?? "default"}-${l.flowRow}-${l.flowCol}` : `${l.id}-${l.stateId ?? "default"}`,
|
|
@@ -7806,7 +7806,7 @@ Scope:${u}
|
|
|
7806
7806
|
onPointermove: Oc,
|
|
7807
7807
|
onPointerup: Bc,
|
|
7808
7808
|
onPointercancel: jc
|
|
7809
|
-
},
|
|
7809
|
+
}, c(O + 1), 41, I1)
|
|
7810
7810
|
], 46, x1);
|
|
7811
7811
|
}), 128)),
|
|
7812
7812
|
Sc.value ? (v(), f("div", {
|
|
@@ -7837,11 +7837,11 @@ Scope:${u}
|
|
|
7837
7837
|
t("span", {
|
|
7838
7838
|
class: E(["platform-badge is-small", l.platform === "pc" ? "is-pc" : "is-mobile"]),
|
|
7839
7839
|
"aria-hidden": "true"
|
|
7840
|
-
},
|
|
7840
|
+
}, c(l.platform === "pc" ? "P" : "M"), 3),
|
|
7841
7841
|
l.platform === "mobile" ? (v(), f("br", $1)) : C("", !0),
|
|
7842
|
-
z(" " +
|
|
7842
|
+
z(" " + c(l.code) + " · " + c(l.title), 1),
|
|
7843
7843
|
l.stateLabel ? (v(), f(D, { key: 1 }, [
|
|
7844
|
-
z(" · " +
|
|
7844
|
+
z(" · " + c(l.stateLabel), 1)
|
|
7845
7845
|
], 64)) : C("", !0)
|
|
7846
7846
|
], 2)) : C("", !0)
|
|
7847
7847
|
], 6))), 128))
|
|
@@ -7860,34 +7860,34 @@ Scope:${u}
|
|
|
7860
7860
|
onClick: a[30] || (a[30] = (l) => Se.value = !i(Se))
|
|
7861
7861
|
}, [
|
|
7862
7862
|
F(i(Ld), { class: "h-4 w-4" }),
|
|
7863
|
-
z(" " +
|
|
7863
|
+
z(" " + c(i(Se) ? i(M)("annotationExpand") : i(M)("annotationCollapse")) + " (C) ", 1)
|
|
7864
7864
|
]),
|
|
7865
7865
|
i(Se) ? C("", !0) : (v(), f(D, { key: 0 }, [
|
|
7866
7866
|
t("div", _1, [
|
|
7867
7867
|
t("div", null, [
|
|
7868
|
-
t("p", null,
|
|
7868
|
+
t("p", null, c(i(M)("annotationPanelTitle")), 1),
|
|
7869
7869
|
t("span", null, [
|
|
7870
|
-
z(
|
|
7870
|
+
z(c(i(M)("annotationPanelSubtitle")) + " · " + c(i(yt).code), 1),
|
|
7871
7871
|
uo.value ? (v(), f(D, { key: 0 }, [
|
|
7872
|
-
z(" · " +
|
|
7872
|
+
z(" · " + c(uo.value), 1)
|
|
7873
7873
|
], 64)) : C("", !0)
|
|
7874
7874
|
])
|
|
7875
7875
|
]),
|
|
7876
|
-
t("strong", null,
|
|
7876
|
+
t("strong", null, c(i(B) === "annotations" ? i(Et).length : i(Fe) ? 1 : 0), 1)
|
|
7877
7877
|
]),
|
|
7878
7878
|
t("div", P1, [
|
|
7879
7879
|
t("button", {
|
|
7880
7880
|
type: "button",
|
|
7881
7881
|
class: E({ active: i(B) === "annotations" }),
|
|
7882
7882
|
onClick: a[31] || (a[31] = (l) => B.value = "annotations")
|
|
7883
|
-
},
|
|
7883
|
+
}, c(i(M)("annotationTabNotes")), 3),
|
|
7884
7884
|
t("button", {
|
|
7885
7885
|
type: "button",
|
|
7886
7886
|
class: E({ active: i(B) === "pageDescription" }),
|
|
7887
7887
|
onClick: a[32] || (a[32] = (l) => {
|
|
7888
7888
|
B.value = "pageDescription", i(xt)();
|
|
7889
7889
|
})
|
|
7890
|
-
},
|
|
7890
|
+
}, c(i(M)("annotationTabDescription")), 3)
|
|
7891
7891
|
]),
|
|
7892
7892
|
i(B) === "annotations" ? (v(), f("div", D1, [
|
|
7893
7893
|
t("button", {
|
|
@@ -7895,45 +7895,45 @@ Scope:${u}
|
|
|
7895
7895
|
class: E({ active: i(ce) }),
|
|
7896
7896
|
onClick: a[33] || (a[33] = //@ts-ignore
|
|
7897
7897
|
(...l) => i(Xn) && i(Xn)(...l))
|
|
7898
|
-
},
|
|
7898
|
+
}, c(i(ce) ? i(M)("annotationCancelAdd") : i(M)("annotationAdd")), 3),
|
|
7899
7899
|
t("button", {
|
|
7900
7900
|
type: "button",
|
|
7901
7901
|
onClick: a[34] || (a[34] = (l) => he.value = !i(he))
|
|
7902
|
-
},
|
|
7902
|
+
}, c(i(he) ? i(M)("annotationHidePoints") : i(M)("annotationShowPoints")), 1),
|
|
7903
7903
|
t("button", {
|
|
7904
7904
|
type: "button",
|
|
7905
7905
|
disabled: i(we) === "syncing",
|
|
7906
7906
|
onClick: a[35] || (a[35] = (l) => i(Ps)())
|
|
7907
|
-
},
|
|
7907
|
+
}, c(i(M)("annotationRefresh")), 9, A1),
|
|
7908
7908
|
t("button", {
|
|
7909
7909
|
type: "button",
|
|
7910
7910
|
onClick: a[36] || (a[36] = //@ts-ignore
|
|
7911
7911
|
(...l) => i(Ee) && i(Ee)(...l))
|
|
7912
|
-
},
|
|
7912
|
+
}, c(i(M)("annotationExport")), 1)
|
|
7913
7913
|
])) : (v(), f("div", E1, [
|
|
7914
7914
|
t("button", {
|
|
7915
7915
|
type: "button",
|
|
7916
7916
|
disabled: i(we) === "syncing",
|
|
7917
7917
|
onClick: a[37] || (a[37] = (l) => i(y)())
|
|
7918
|
-
},
|
|
7918
|
+
}, c(i(M)("annotationRefresh")), 9, T1),
|
|
7919
7919
|
t("button", {
|
|
7920
7920
|
type: "button",
|
|
7921
7921
|
onClick: a[38] || (a[38] = //@ts-ignore
|
|
7922
7922
|
(...l) => i(dt) && i(dt)(...l))
|
|
7923
|
-
},
|
|
7923
|
+
}, c(i(M)("pageDescriptionExport")), 1),
|
|
7924
7924
|
t("button", {
|
|
7925
7925
|
type: "button",
|
|
7926
7926
|
class: E({ active: dn.value }),
|
|
7927
7927
|
onClick: Cc
|
|
7928
|
-
},
|
|
7928
|
+
}, c(i(Fe) ? "编辑" : "新增"), 3)
|
|
7929
7929
|
])),
|
|
7930
7930
|
t("div", {
|
|
7931
7931
|
class: E(["annotation-sync-row", `is-${i(we)}`])
|
|
7932
7932
|
}, [
|
|
7933
|
-
t("span", null,
|
|
7933
|
+
t("span", null, c(i(ke) ? i(Ae) : i(M)("annotationRemoteDisabled")), 1)
|
|
7934
7934
|
], 2),
|
|
7935
7935
|
t("label", N1, [
|
|
7936
|
-
t("span", null,
|
|
7936
|
+
t("span", null, c(i(M)("annotationAuthorName")), 1),
|
|
7937
7937
|
N(t("input", {
|
|
7938
7938
|
"onUpdate:modelValue": a[39] || (a[39] = (l) => go(Y) ? Y.value = l : null),
|
|
7939
7939
|
type: "text",
|
|
@@ -7943,7 +7943,7 @@ Scope:${u}
|
|
|
7943
7943
|
])
|
|
7944
7944
|
]),
|
|
7945
7945
|
t("label", O1, [
|
|
7946
|
-
t("span", null,
|
|
7946
|
+
t("span", null, c(i(M)("annotationPollingInterval")), 1),
|
|
7947
7947
|
t("div", B1, [
|
|
7948
7948
|
N(t("input", {
|
|
7949
7949
|
"onUpdate:modelValue": a[40] || (a[40] = (l) => go(Ue) ? Ue.value = l : null),
|
|
@@ -7959,33 +7959,33 @@ Scope:${u}
|
|
|
7959
7959
|
{ number: !0 }
|
|
7960
7960
|
]
|
|
7961
7961
|
]),
|
|
7962
|
-
t("small", null,
|
|
7962
|
+
t("small", null, c(i(M)("annotationPollingUnit")), 1),
|
|
7963
7963
|
t("button", {
|
|
7964
7964
|
type: "button",
|
|
7965
7965
|
disabled: Number(i(Ue)) === i($e),
|
|
7966
7966
|
onClick: a[41] || (a[41] = //@ts-ignore
|
|
7967
7967
|
(...l) => i(J) && i(J)(...l))
|
|
7968
|
-
},
|
|
7968
|
+
}, c(i(M)("annotationPollingSave")), 9, j1)
|
|
7969
7969
|
])
|
|
7970
7970
|
]),
|
|
7971
|
-
i(H) ? (v(), f("p", U1,
|
|
7971
|
+
i(H) ? (v(), f("p", U1, c(i(H)), 1)) : C("", !0),
|
|
7972
7972
|
i(B) === "annotations" ? (v(), f("div", M1, [
|
|
7973
|
-
i(Et).length ? C("", !0) : (v(), f("p", F1,
|
|
7973
|
+
i(Et).length ? C("", !0) : (v(), f("p", F1, c(i(M)("annotationEmpty")), 1)),
|
|
7974
7974
|
(v(!0), f(D, null, R(i(Et), (l, S) => (v(), f("section", {
|
|
7975
7975
|
key: l.id,
|
|
7976
7976
|
onMouseenter: (O) => Mc(l),
|
|
7977
7977
|
onMouseleave: a[42] || (a[42] = //@ts-ignore
|
|
7978
7978
|
(...O) => i(rn) && i(rn)(...O))
|
|
7979
7979
|
}, [
|
|
7980
|
-
t("span", null,
|
|
7980
|
+
t("span", null, c(S + 1), 1),
|
|
7981
7981
|
t("div", null, [
|
|
7982
|
-
t("h3", null,
|
|
7983
|
-
t("p", null,
|
|
7984
|
-
t("small", null,
|
|
7982
|
+
t("h3", null, c(l.featureName), 1),
|
|
7983
|
+
t("p", null, c(l.featureDescription), 1),
|
|
7984
|
+
t("small", null, c(l.specialNote), 1),
|
|
7985
7985
|
l.authorName || l.updatedAt ? (v(), f("small", V1, [
|
|
7986
|
-
z(
|
|
7986
|
+
z(c(l.authorName || "未署名"), 1),
|
|
7987
7987
|
ja(l.updatedAt) ? (v(), f(D, { key: 0 }, [
|
|
7988
|
-
z(" · " +
|
|
7988
|
+
z(" · " + c(ja(l.updatedAt)), 1)
|
|
7989
7989
|
], 64)) : C("", !0)
|
|
7990
7990
|
])) : C("", !0)
|
|
7991
7991
|
]),
|
|
@@ -7994,26 +7994,26 @@ Scope:${u}
|
|
|
7994
7994
|
class: "annotation-list-edit",
|
|
7995
7995
|
type: "button",
|
|
7996
7996
|
onClick: (O) => i(qn)(l.id)
|
|
7997
|
-
},
|
|
7997
|
+
}, c(i(M)("editProfile")), 9, z1),
|
|
7998
7998
|
t("button", {
|
|
7999
7999
|
class: "annotation-list-delete annotation-delete-btn",
|
|
8000
8000
|
type: "button",
|
|
8001
8001
|
disabled: !i(Y).trim(),
|
|
8002
8002
|
title: i(Y).trim() ? "" : "请先输入昵称以删除注释",
|
|
8003
8003
|
onClick: (O) => i($s)(l.id)
|
|
8004
|
-
},
|
|
8004
|
+
}, c(i(M)("annotationDelete")), 9, H1)
|
|
8005
8005
|
])
|
|
8006
8006
|
], 40, L1))), 128))
|
|
8007
8007
|
])) : (v(), f("div", K1, [
|
|
8008
8008
|
i(Fe) ? (v(), f(D, { key: 1 }, [
|
|
8009
|
-
Ks.value ? (v(), f("small", W1,
|
|
8009
|
+
Ks.value ? (v(), f("small", W1, c(Ks.value), 1)) : C("", !0),
|
|
8010
8010
|
(v(!0), f(D, null, R(Tn.value, (l) => (v(), f("section", {
|
|
8011
8011
|
key: l.id
|
|
8012
8012
|
}, [
|
|
8013
|
-
t("h3", null,
|
|
8014
|
-
t("p", null,
|
|
8013
|
+
t("h3", null, c(l.label), 1),
|
|
8014
|
+
t("p", null, c(l.value), 1)
|
|
8015
8015
|
]))), 128))
|
|
8016
|
-
], 64)) : (v(), f("p", J1,
|
|
8016
|
+
], 64)) : (v(), f("p", J1, c(i(M)("pageDescriptionEmpty")), 1))
|
|
8017
8017
|
]))
|
|
8018
8018
|
], 64))
|
|
8019
8019
|
], 2)) : C("", !0),
|
|
@@ -8029,20 +8029,20 @@ Scope:${u}
|
|
|
8029
8029
|
onClick: a[43] || (a[43] = (l) => Xt.value = !Xt.value)
|
|
8030
8030
|
}, [
|
|
8031
8031
|
F(i(Gi), { class: "h-4 w-4" }),
|
|
8032
|
-
z(" " +
|
|
8032
|
+
z(" " + c(Xt.value ? "展开数据源" : "收起数据源") + " (D) ", 1)
|
|
8033
8033
|
]),
|
|
8034
8034
|
Xt.value ? C("", !0) : (v(), f(D, { key: 0 }, [
|
|
8035
8035
|
t("div", Y1, [
|
|
8036
|
-
t("span", X1,
|
|
8037
|
-
t("strong", null,
|
|
8036
|
+
t("span", X1, c(i(ge) === "warning" || i(ge) === "conflict" ? "⚠" : "●"), 1),
|
|
8037
|
+
t("strong", null, c(oc.value), 1),
|
|
8038
8038
|
t("small", null, [
|
|
8039
|
-
z("· " +
|
|
8039
|
+
z("· " + c(ec.value), 1),
|
|
8040
8040
|
Vl.value ? (v(), f(D, { key: 0 }, [
|
|
8041
|
-
z(" · " +
|
|
8041
|
+
z(" · " + c(Vl.value), 1)
|
|
8042
8042
|
], 64)) : C("", !0)
|
|
8043
8043
|
])
|
|
8044
8044
|
]),
|
|
8045
|
-
t("p", null,
|
|
8045
|
+
t("p", null, c(tc.value), 1),
|
|
8046
8046
|
i(ct) ? (v(), f("button", {
|
|
8047
8047
|
key: 0,
|
|
8048
8048
|
class: "collaboration-initialize-btn",
|
|
@@ -8050,7 +8050,7 @@ Scope:${u}
|
|
|
8050
8050
|
disabled: i(Ke) === "running",
|
|
8051
8051
|
onClick: a[44] || (a[44] = //@ts-ignore
|
|
8052
8052
|
(...l) => i(m) && i(m)(...l))
|
|
8053
|
-
},
|
|
8053
|
+
}, c(i(Ke) === "running" ? `${i(L).current}/${i(L).total}` : nc.value ? "检查远端资料" : "初始化到 Gitee"), 9, q1)) : C("", !0),
|
|
8054
8054
|
t("button", {
|
|
8055
8055
|
class: "environment-check-trigger",
|
|
8056
8056
|
type: "button",
|
|
@@ -8070,9 +8070,9 @@ Scope:${u}
|
|
|
8070
8070
|
t("p", {
|
|
8071
8071
|
class: E({ "has-missing": Pa.value > 0 })
|
|
8072
8072
|
}, [
|
|
8073
|
-
z(
|
|
8073
|
+
z(c(Xl.value) + " / " + c(Yl.value) + " 已配置 ", 1),
|
|
8074
8074
|
Pa.value ? (v(), f(D, { key: 0 }, [
|
|
8075
|
-
z(" · 缺失 " +
|
|
8075
|
+
z(" · 缺失 " + c(Pa.value) + " 项", 1)
|
|
8076
8076
|
], 64)) : C("", !0)
|
|
8077
8077
|
], 2)
|
|
8078
8078
|
]),
|
|
@@ -8086,14 +8086,14 @@ Scope:${u}
|
|
|
8086
8086
|
(v(!0), f(D, null, R(_a.value, (l) => (v(), f("section", {
|
|
8087
8087
|
key: l.id
|
|
8088
8088
|
}, [
|
|
8089
|
-
t("h3", null,
|
|
8089
|
+
t("h3", null, c(l.title), 1),
|
|
8090
8090
|
(v(!0), f(D, null, R(l.items, (S) => (v(), f("div", {
|
|
8091
8091
|
key: S.name,
|
|
8092
8092
|
class: E(["environment-check-row", { missing: !S.configured }])
|
|
8093
8093
|
}, [
|
|
8094
|
-
t("span", ew,
|
|
8095
|
-
t("code", null,
|
|
8096
|
-
t("b", null,
|
|
8094
|
+
t("span", ew, c(S.configured ? "✓" : "✕"), 1),
|
|
8095
|
+
t("code", null, c(S.name), 1),
|
|
8096
|
+
t("b", null, c(S.configured ? "已配置" : "请配置"), 1)
|
|
8097
8097
|
], 2))), 128))
|
|
8098
8098
|
]))), 128))
|
|
8099
8099
|
]),
|
|
@@ -8111,7 +8111,7 @@ Scope:${u}
|
|
|
8111
8111
|
onClick: a[48] || (a[48] = (l) => qt.value = !qt.value)
|
|
8112
8112
|
}, [
|
|
8113
8113
|
F(i(Vd), { class: "h-4 w-4" }),
|
|
8114
|
-
z(" " +
|
|
8114
|
+
z(" " + c(qt.value ? "快捷键" : "收起快捷键") + " (K) ", 1)
|
|
8115
8115
|
]),
|
|
8116
8116
|
qt.value ? C("", !0) : (v(), f(D, { key: 0 }, [
|
|
8117
8117
|
a[124] || (a[124] = t("div", { class: "shortcut-panel-head" }, [
|
|
@@ -8122,13 +8122,13 @@ Scope:${u}
|
|
|
8122
8122
|
key: l.title,
|
|
8123
8123
|
class: "shortcut-group"
|
|
8124
8124
|
}, [
|
|
8125
|
-
t("h3", null,
|
|
8125
|
+
t("h3", null, c(l.title), 1),
|
|
8126
8126
|
(v(!0), f(D, null, R(l.items, (S) => (v(), f("div", {
|
|
8127
8127
|
key: S.key,
|
|
8128
8128
|
class: "shortcut-row"
|
|
8129
8129
|
}, [
|
|
8130
|
-
t("kbd", null,
|
|
8131
|
-
t("span", null,
|
|
8130
|
+
t("kbd", null, c(S.key), 1),
|
|
8131
|
+
t("span", null, c(S.label), 1)
|
|
8132
8132
|
]))), 128))
|
|
8133
8133
|
])), 64))
|
|
8134
8134
|
], 64))
|
|
@@ -8153,11 +8153,11 @@ Scope:${u}
|
|
|
8153
8153
|
t("section", ow, [
|
|
8154
8154
|
t("div", sw, [
|
|
8155
8155
|
t("div", null, [
|
|
8156
|
-
t("p", null,
|
|
8156
|
+
t("p", null, c(i(Fe) ? "编辑页面描述" : "新增页面描述"), 1),
|
|
8157
8157
|
t("span", null, [
|
|
8158
|
-
z(
|
|
8158
|
+
z(c(i(yt).code) + " · " + c(i(yt).title), 1),
|
|
8159
8159
|
uo.value ? (v(), f(D, { key: 0 }, [
|
|
8160
|
-
z(" · " +
|
|
8160
|
+
z(" · " + c(uo.value), 1)
|
|
8161
8161
|
], 64)) : C("", !0)
|
|
8162
8162
|
])
|
|
8163
8163
|
]),
|
|
@@ -8171,7 +8171,7 @@ Scope:${u}
|
|
|
8171
8171
|
class: "page-description-form",
|
|
8172
8172
|
onSubmit: Ie(kc, ["prevent"])
|
|
8173
8173
|
}, [
|
|
8174
|
-
i(Fe) ? Ks.value ? (v(), f("small", lw,
|
|
8174
|
+
i(Fe) ? Ks.value ? (v(), f("small", lw, c(Ks.value), 1)) : C("", !0) : (v(), f("p", aw, c(i(M)("pageDescriptionEmpty")), 1)),
|
|
8175
8175
|
t("div", iw, [
|
|
8176
8176
|
t("div", rw, [
|
|
8177
8177
|
(v(), f(D, null, R(ri, (l) => t("button", {
|
|
@@ -8184,10 +8184,10 @@ Scope:${u}
|
|
|
8184
8184
|
}
|
|
8185
8185
|
}, [
|
|
8186
8186
|
(v(), He(bo(l.icon), { "aria-hidden": "true" })),
|
|
8187
|
-
t("span", null,
|
|
8187
|
+
t("span", null, c(l.label), 1)
|
|
8188
8188
|
], 10, uw)), 64))
|
|
8189
8189
|
]),
|
|
8190
|
-
t("small", null,
|
|
8190
|
+
t("small", null, c(Lc.value), 1)
|
|
8191
8191
|
]),
|
|
8192
8192
|
t("fieldset", {
|
|
8193
8193
|
class: "page-description-editor-fields",
|
|
@@ -8230,10 +8230,10 @@ Scope:${u}
|
|
|
8230
8230
|
onClick: Wl
|
|
8231
8231
|
}, "新增")
|
|
8232
8232
|
]),
|
|
8233
|
-
Ro.value ? (v(), f("small", hw,
|
|
8233
|
+
Ro.value ? (v(), f("small", hw, c(Ro.value), 1)) : C("", !0)
|
|
8234
8234
|
])) : C("", !0),
|
|
8235
8235
|
t("label", null, [
|
|
8236
|
-
t("span", null,
|
|
8236
|
+
t("span", null, c(i(M)("pageDescriptionPurpose")), 1),
|
|
8237
8237
|
N(t("textarea", {
|
|
8238
8238
|
"onUpdate:modelValue": a[51] || (a[51] = (l) => i(k).purpose = l),
|
|
8239
8239
|
placeholder: i(M)("pageDescriptionPurposePlaceholder")
|
|
@@ -8242,7 +8242,7 @@ Scope:${u}
|
|
|
8242
8242
|
])
|
|
8243
8243
|
]),
|
|
8244
8244
|
t("label", null, [
|
|
8245
|
-
t("span", null,
|
|
8245
|
+
t("span", null, c(i(M)("pageDescriptionStructure")), 1),
|
|
8246
8246
|
N(t("textarea", {
|
|
8247
8247
|
"onUpdate:modelValue": a[52] || (a[52] = (l) => i(k).structure = l),
|
|
8248
8248
|
placeholder: i(M)("pageDescriptionStructurePlaceholder")
|
|
@@ -8251,7 +8251,7 @@ Scope:${u}
|
|
|
8251
8251
|
])
|
|
8252
8252
|
]),
|
|
8253
8253
|
t("label", null, [
|
|
8254
|
-
t("span", null,
|
|
8254
|
+
t("span", null, c(i(M)("pageDescriptionFeatures")), 1),
|
|
8255
8255
|
N(t("textarea", {
|
|
8256
8256
|
"onUpdate:modelValue": a[53] || (a[53] = (l) => i(k).features = l),
|
|
8257
8257
|
placeholder: i(M)("pageDescriptionFeaturesPlaceholder")
|
|
@@ -8260,7 +8260,7 @@ Scope:${u}
|
|
|
8260
8260
|
])
|
|
8261
8261
|
]),
|
|
8262
8262
|
t("label", null, [
|
|
8263
|
-
t("span", null,
|
|
8263
|
+
t("span", null, c(i(M)("pageDescriptionFlowPosition")), 1),
|
|
8264
8264
|
N(t("textarea", {
|
|
8265
8265
|
"onUpdate:modelValue": a[54] || (a[54] = (l) => i(k).flowPosition = l),
|
|
8266
8266
|
placeholder: i(M)("pageDescriptionFlowPlaceholder")
|
|
@@ -8314,14 +8314,14 @@ Scope:${u}
|
|
|
8314
8314
|
])
|
|
8315
8315
|
])
|
|
8316
8316
|
], 8, cw),
|
|
8317
|
-
eo.value ? (v(), f("small", kw,
|
|
8317
|
+
eo.value ? (v(), f("small", kw, c(eo.value), 1)) : C("", !0),
|
|
8318
8318
|
t("div", {
|
|
8319
8319
|
class: E(["page-description-form-actions", { "has-three-actions": i(de) === "local-cache" }])
|
|
8320
8320
|
}, [
|
|
8321
8321
|
t("button", {
|
|
8322
8322
|
type: "button",
|
|
8323
8323
|
onClick: Oa
|
|
8324
|
-
},
|
|
8324
|
+
}, c(i(M)("annotationCancel")), 1),
|
|
8325
8325
|
i(de) === "gitee" ? (v(), f("button", {
|
|
8326
8326
|
key: 0,
|
|
8327
8327
|
type: "submit",
|
|
@@ -8352,17 +8352,17 @@ Scope:${u}
|
|
|
8352
8352
|
(...l) => i(rn) && i(rn)(...l))
|
|
8353
8353
|
}, [
|
|
8354
8354
|
t("div", $w, [
|
|
8355
|
-
t("b", null,
|
|
8355
|
+
t("b", null, c(i(bt).featureName), 1),
|
|
8356
8356
|
t("button", {
|
|
8357
8357
|
class: "annotation-delete-btn",
|
|
8358
8358
|
type: "button",
|
|
8359
8359
|
disabled: !i(Y).trim(),
|
|
8360
8360
|
title: i(Y).trim() ? "" : "请先输入昵称以删除注释",
|
|
8361
8361
|
onClick: a[60] || (a[60] = (l) => i($s)(i(bt).id))
|
|
8362
|
-
},
|
|
8362
|
+
}, c(i(M)("annotationDelete")), 9, _w)
|
|
8363
8363
|
]),
|
|
8364
|
-
t("p", null,
|
|
8365
|
-
t("small", null,
|
|
8364
|
+
t("p", null, c(i(bt).featureDescription), 1),
|
|
8365
|
+
t("small", null, c(i(bt).specialNote), 1)
|
|
8366
8366
|
], 36)) : C("", !0),
|
|
8367
8367
|
pe.value === "prototype" && i(te) && !fe.value ? (v(), f("div", Pw, [
|
|
8368
8368
|
t("form", {
|
|
@@ -8373,9 +8373,9 @@ Scope:${u}
|
|
|
8373
8373
|
["prevent"]
|
|
8374
8374
|
))
|
|
8375
8375
|
}, [
|
|
8376
|
-
t("h3", null,
|
|
8376
|
+
t("h3", null, c(i(M)("annotationFormTitle")), 1),
|
|
8377
8377
|
t("label", null, [
|
|
8378
|
-
t("span", null,
|
|
8378
|
+
t("span", null, c(i(M)("annotationFeatureName")), 1),
|
|
8379
8379
|
N(t("input", {
|
|
8380
8380
|
"onUpdate:modelValue": a[63] || (a[63] = (l) => i(te).featureName = l),
|
|
8381
8381
|
type: "text",
|
|
@@ -8385,7 +8385,7 @@ Scope:${u}
|
|
|
8385
8385
|
])
|
|
8386
8386
|
]),
|
|
8387
8387
|
t("label", null, [
|
|
8388
|
-
t("span", null,
|
|
8388
|
+
t("span", null, c(i(M)("annotationFeatureDescription")), 1),
|
|
8389
8389
|
N(t("textarea", {
|
|
8390
8390
|
"onUpdate:modelValue": a[64] || (a[64] = (l) => i(te).featureDescription = l),
|
|
8391
8391
|
placeholder: i(M)("annotationDescPlaceholder")
|
|
@@ -8394,7 +8394,7 @@ Scope:${u}
|
|
|
8394
8394
|
])
|
|
8395
8395
|
]),
|
|
8396
8396
|
t("label", null, [
|
|
8397
|
-
t("span", null,
|
|
8397
|
+
t("span", null, c(i(M)("annotationSpecialNote")), 1),
|
|
8398
8398
|
N(t("textarea", {
|
|
8399
8399
|
"onUpdate:modelValue": a[65] || (a[65] = (l) => i(te).specialNote = l),
|
|
8400
8400
|
placeholder: i(M)("annotationNotePlaceholder")
|
|
@@ -8430,10 +8430,10 @@ Scope:${u}
|
|
|
8430
8430
|
onClick: a[68] || (a[68] = (l) => Bs("draft"))
|
|
8431
8431
|
}, "新增")
|
|
8432
8432
|
]),
|
|
8433
|
-
Dn.value ? (v(), f("small", Bw,
|
|
8433
|
+
Dn.value ? (v(), f("small", Bw, c(Dn.value), 1)) : C("", !0)
|
|
8434
8434
|
]),
|
|
8435
8435
|
t("label", null, [
|
|
8436
|
-
t("span", null,
|
|
8436
|
+
t("span", null, c(i(M)("annotationAuthorName")), 1),
|
|
8437
8437
|
N(t("input", {
|
|
8438
8438
|
"onUpdate:modelValue": a[69] || (a[69] = (l) => go(Y) ? Y.value = l : null),
|
|
8439
8439
|
type: "text",
|
|
@@ -8447,11 +8447,11 @@ Scope:${u}
|
|
|
8447
8447
|
type: "button",
|
|
8448
8448
|
onClick: a[70] || (a[70] = //@ts-ignore
|
|
8449
8449
|
(...l) => i(xt) && i(xt)(...l))
|
|
8450
|
-
},
|
|
8450
|
+
}, c(i(M)("annotationCancel")), 1),
|
|
8451
8451
|
t("button", {
|
|
8452
8452
|
type: "submit",
|
|
8453
8453
|
disabled: !i(te).featureName.trim() || !i(te).featureDescription.trim() || !i(te).specialNote.trim() || !i(Y).trim()
|
|
8454
|
-
},
|
|
8454
|
+
}, c(i(M)("annotationSave")), 9, Mw)
|
|
8455
8455
|
])
|
|
8456
8456
|
], 32)
|
|
8457
8457
|
])) : C("", !0),
|
|
@@ -8464,9 +8464,9 @@ Scope:${u}
|
|
|
8464
8464
|
["prevent"]
|
|
8465
8465
|
))
|
|
8466
8466
|
}, [
|
|
8467
|
-
t("h3", null,
|
|
8467
|
+
t("h3", null, c(i(xe) === "edit" ? i(M)("annotationEditTitle") : i(M)("annotationDetailTitle")), 1),
|
|
8468
8468
|
t("label", null, [
|
|
8469
|
-
t("span", null,
|
|
8469
|
+
t("span", null, c(i(M)("annotationFeatureName")), 1),
|
|
8470
8470
|
N(t("input", {
|
|
8471
8471
|
"onUpdate:modelValue": a[72] || (a[72] = (l) => i(ye).featureName = l),
|
|
8472
8472
|
type: "text",
|
|
@@ -8476,7 +8476,7 @@ Scope:${u}
|
|
|
8476
8476
|
])
|
|
8477
8477
|
]),
|
|
8478
8478
|
t("label", null, [
|
|
8479
|
-
t("span", null,
|
|
8479
|
+
t("span", null, c(i(M)("annotationFeatureDescription")), 1),
|
|
8480
8480
|
N(t("textarea", {
|
|
8481
8481
|
"onUpdate:modelValue": a[73] || (a[73] = (l) => i(ye).featureDescription = l),
|
|
8482
8482
|
readonly: i(xe) === "view"
|
|
@@ -8485,7 +8485,7 @@ Scope:${u}
|
|
|
8485
8485
|
])
|
|
8486
8486
|
]),
|
|
8487
8487
|
t("label", null, [
|
|
8488
|
-
t("span", null,
|
|
8488
|
+
t("span", null, c(i(M)("annotationSpecialNote")), 1),
|
|
8489
8489
|
N(t("textarea", {
|
|
8490
8490
|
"onUpdate:modelValue": a[74] || (a[74] = (l) => i(ye).specialNote = l),
|
|
8491
8491
|
readonly: i(xe) === "view"
|
|
@@ -8521,10 +8521,10 @@ Scope:${u}
|
|
|
8521
8521
|
onClick: a[77] || (a[77] = (l) => Bs("editor"))
|
|
8522
8522
|
}, "新增")
|
|
8523
8523
|
]),
|
|
8524
|
-
Dn.value ? (v(), f("small", Ww,
|
|
8524
|
+
Dn.value ? (v(), f("small", Ww, c(Dn.value), 1)) : C("", !0)
|
|
8525
8525
|
])) : C("", !0),
|
|
8526
8526
|
i(xe) === "edit" ? (v(), f("label", Yw, [
|
|
8527
|
-
t("span", null,
|
|
8527
|
+
t("span", null, c(i(M)("annotationAuthorName")), 1),
|
|
8528
8528
|
N(t("input", {
|
|
8529
8529
|
"onUpdate:modelValue": a[78] || (a[78] = (l) => go(Y) ? Y.value = l : null),
|
|
8530
8530
|
type: "text",
|
|
@@ -8540,12 +8540,12 @@ Scope:${u}
|
|
|
8540
8540
|
type: "button",
|
|
8541
8541
|
onClick: a[79] || (a[79] = //@ts-ignore
|
|
8542
8542
|
(...l) => i(Ao) && i(Ao)(...l))
|
|
8543
|
-
},
|
|
8543
|
+
}, c(i(xe) === "edit" ? i(M)("annotationCancel") : i(M)("close")), 1),
|
|
8544
8544
|
i(xe) === "edit" ? (v(), f("button", {
|
|
8545
8545
|
key: 0,
|
|
8546
8546
|
type: "submit",
|
|
8547
8547
|
disabled: !i(ye).featureName.trim() || !i(ye).featureDescription.trim() || !i(ye).specialNote.trim() || !i(Y).trim()
|
|
8548
|
-
},
|
|
8548
|
+
}, c(i(M)("annotationSave")), 9, qw)) : C("", !0)
|
|
8549
8549
|
], 2)
|
|
8550
8550
|
], 32)
|
|
8551
8551
|
])) : C("", !0),
|
|
@@ -8559,9 +8559,9 @@ Scope:${u}
|
|
|
8559
8559
|
t("div", null, [
|
|
8560
8560
|
a[134] || (a[134] = t("p", null, "页面描述", -1)),
|
|
8561
8561
|
t("span", null, [
|
|
8562
|
-
z(
|
|
8562
|
+
z(c(i(yt).code) + " · " + c(i(yt).title), 1),
|
|
8563
8563
|
uo.value ? (v(), f(D, { key: 0 }, [
|
|
8564
|
-
z(" · " +
|
|
8564
|
+
z(" · " + c(uo.value), 1)
|
|
8565
8565
|
], 64)) : C("", !0)
|
|
8566
8566
|
])
|
|
8567
8567
|
]),
|
|
@@ -8594,7 +8594,7 @@ Scope:${u}
|
|
|
8594
8594
|
checked: wt.value.includes(l.id),
|
|
8595
8595
|
onChange: (S) => Kc(l.id)
|
|
8596
8596
|
}, null, 40, tS),
|
|
8597
|
-
t("span", null,
|
|
8597
|
+
t("span", null, c(l.label), 1)
|
|
8598
8598
|
]))), 128))
|
|
8599
8599
|
])
|
|
8600
8600
|
]),
|
|
@@ -8602,12 +8602,12 @@ Scope:${u}
|
|
|
8602
8602
|
Js.value.length ? (v(!0), f(D, { key: 1 }, R(Js.value, (l) => (v(), f("p", {
|
|
8603
8603
|
key: l.id
|
|
8604
8604
|
}, [
|
|
8605
|
-
t("b", null,
|
|
8606
|
-
z(
|
|
8605
|
+
t("b", null, c(l.label) + ":", 1),
|
|
8606
|
+
z(c(l.value), 1)
|
|
8607
8607
|
]))), 128)) : (v(), f("p", oS, "请选择要展示的描述部分。"))
|
|
8608
8608
|
]),
|
|
8609
8609
|
t("div", sS, [
|
|
8610
|
-
t("small", null,
|
|
8610
|
+
t("small", null, c(cn.value), 1),
|
|
8611
8611
|
t("button", {
|
|
8612
8612
|
type: "button",
|
|
8613
8613
|
disabled: !Js.value.length,
|
|
@@ -8650,23 +8650,23 @@ Scope:${u}
|
|
|
8650
8650
|
(v(!0), f(D, null, R(Gc.value, (l) => (v(), f("section", {
|
|
8651
8651
|
key: l.label
|
|
8652
8652
|
}, [
|
|
8653
|
-
t("span", null,
|
|
8654
|
-
t("strong", null,
|
|
8655
|
-
t("small", null,
|
|
8653
|
+
t("span", null, c(l.label), 1),
|
|
8654
|
+
t("strong", null, c(l.value), 1),
|
|
8655
|
+
t("small", null, c(l.detail), 1)
|
|
8656
8656
|
]))), 128))
|
|
8657
8657
|
]),
|
|
8658
8658
|
t("div", cS, [
|
|
8659
8659
|
t("div", dS, [
|
|
8660
8660
|
a[137] || (a[137] = t("p", null, "问题清单", -1)),
|
|
8661
|
-
t("span", null,
|
|
8661
|
+
t("span", null, c(mi.value.filter((l) => l.tone !== "success").length) + " 个待关注项", 1)
|
|
8662
8662
|
]),
|
|
8663
8663
|
t("div", pS, [
|
|
8664
8664
|
(v(!0), f(D, null, R(mi.value, (l) => (v(), f("section", {
|
|
8665
8665
|
key: l.title,
|
|
8666
8666
|
class: E(`is-${l.tone}`)
|
|
8667
8667
|
}, [
|
|
8668
|
-
t("b", null,
|
|
8669
|
-
t("p", null,
|
|
8668
|
+
t("b", null, c(l.title), 1),
|
|
8669
|
+
t("p", null, c(l.detail), 1)
|
|
8670
8670
|
], 2))), 128))
|
|
8671
8671
|
])
|
|
8672
8672
|
])
|
|
@@ -8693,16 +8693,16 @@ Scope:${u}
|
|
|
8693
8693
|
key: l.id,
|
|
8694
8694
|
class: E({ "has-gap": l.describedCount < l.stateCount || !l.inFlow })
|
|
8695
8695
|
}, [
|
|
8696
|
-
t("td", null,
|
|
8696
|
+
t("td", null, c(l.code), 1),
|
|
8697
8697
|
t("td", null, [
|
|
8698
|
-
t("b", null,
|
|
8699
|
-
t("small", null,
|
|
8698
|
+
t("b", null, c(l.title), 1),
|
|
8699
|
+
t("small", null, c(l.id), 1)
|
|
8700
8700
|
]),
|
|
8701
|
-
t("td", null,
|
|
8702
|
-
t("td", null,
|
|
8703
|
-
t("td", null,
|
|
8704
|
-
t("td", null,
|
|
8705
|
-
t("td", null,
|
|
8701
|
+
t("td", null, c(l.stateCount), 1),
|
|
8702
|
+
t("td", null, c(l.inFlow ? `${l.flowCount} 个节点` : "未覆盖"), 1),
|
|
8703
|
+
t("td", null, c(l.descriptionRatio), 1),
|
|
8704
|
+
t("td", null, c(l.annotationCount), 1),
|
|
8705
|
+
t("td", null, c(l.missingDescriptions.length ? l.missingDescriptions.join("、") : "完整"), 1)
|
|
8706
8706
|
], 2))), 128))
|
|
8707
8707
|
])
|
|
8708
8708
|
])
|
|
@@ -8719,7 +8719,7 @@ Scope:${u}
|
|
|
8719
8719
|
t("div", hS, [
|
|
8720
8720
|
t("div", null, [
|
|
8721
8721
|
a[140] || (a[140] = t("h2", { class: "text-lg font-semibold text-ink" }, "更新历史", -1)),
|
|
8722
|
-
t("p", yS, "最近一次更新时间:" +
|
|
8722
|
+
t("p", yS, "最近一次更新时间:" + c(vc.value), 1)
|
|
8723
8723
|
]),
|
|
8724
8724
|
t("button", {
|
|
8725
8725
|
class: "flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-soft text-base font-semibold text-ink",
|
|
@@ -8737,26 +8737,26 @@ Scope:${u}
|
|
|
8737
8737
|
onClick: (S) => od(l.hash)
|
|
8738
8738
|
}, [
|
|
8739
8739
|
t("div", SS, [
|
|
8740
|
-
t("p", CS,
|
|
8740
|
+
t("p", CS, c(l.date), 1),
|
|
8741
8741
|
t("div", kS, [
|
|
8742
|
-
t("code", xS,
|
|
8742
|
+
t("code", xS, c(l.hash), 1),
|
|
8743
8743
|
t("span", {
|
|
8744
8744
|
class: E(["text-sm text-muted transition-transform duration-200", { "rotate-180": Gs.value === l.hash }])
|
|
8745
8745
|
}, "⌄", 2)
|
|
8746
8746
|
])
|
|
8747
8747
|
]),
|
|
8748
|
-
t("p", IS,
|
|
8748
|
+
t("p", IS, c(l.message), 1)
|
|
8749
8749
|
], 8, wS),
|
|
8750
8750
|
Gs.value === l.hash ? (v(), f("div", $S, [
|
|
8751
8751
|
wi(l).length ? (v(), f("div", _S, [
|
|
8752
8752
|
(v(!0), f(D, null, R(wi(l), (S) => (v(), f("p", {
|
|
8753
8753
|
key: `${l.hash}-${S}`,
|
|
8754
8754
|
class: "rounded-[12px] bg-panel px-3 py-2 text-xs leading-5 text-muted"
|
|
8755
|
-
},
|
|
8755
|
+
}, c(S), 1))), 128))
|
|
8756
8756
|
])) : (v(), f("p", PS, "暂无更多修改细节"))
|
|
8757
8757
|
])) : C("", !0)
|
|
8758
8758
|
]))), 128)),
|
|
8759
|
-
i(Vs).length ? C("", !0) : (v(), f("p", DS,
|
|
8759
|
+
i(Vs).length ? C("", !0) : (v(), f("p", DS, c(pc ? "暂无提交记录" : "业务侧尚未接入更新历史,请在 PrototypeProductDefinition.updateHistory 中配置"), 1))
|
|
8760
8760
|
])
|
|
8761
8761
|
])
|
|
8762
8762
|
])) : C("", !0),
|
|
@@ -8801,12 +8801,12 @@ Scope:${u}
|
|
|
8801
8801
|
class: E(["mobile-page-picker-screen", { active: i(h) === l.screen.id }]),
|
|
8802
8802
|
onClick: (S) => l.states.length ? Cd(l.screen.id) : kd(l.screen.id)
|
|
8803
8803
|
}, [
|
|
8804
|
-
t("span", NS,
|
|
8804
|
+
t("span", NS, c(l.screen.code), 1),
|
|
8805
8805
|
t("span", RS, [
|
|
8806
|
-
t("b", null,
|
|
8807
|
-
t("small", null,
|
|
8806
|
+
t("b", null, c(l.screen.title), 1),
|
|
8807
|
+
t("small", null, c(l.screen.subtitle), 1)
|
|
8808
8808
|
]),
|
|
8809
|
-
l.states.length ? (v(), f("span", OS,
|
|
8809
|
+
l.states.length ? (v(), f("span", OS, c(l.states.length), 1)) : C("", !0)
|
|
8810
8810
|
], 10, TS),
|
|
8811
8811
|
l.states.length && (l.forceExpanded || js.value.has(l.screen.id)) ? (v(), f("div", BS, [
|
|
8812
8812
|
(v(!0), f(D, null, R(l.states, (S) => (v(), f("button", {
|
|
@@ -8816,7 +8816,7 @@ Scope:${u}
|
|
|
8816
8816
|
onClick: (O) => xd(l.screen.id, S.id)
|
|
8817
8817
|
}, [
|
|
8818
8818
|
a[142] || (a[142] = t("span", null, null, -1)),
|
|
8819
|
-
z(" " +
|
|
8819
|
+
z(" " + c(S.label), 1)
|
|
8820
8820
|
], 10, jS))), 128))
|
|
8821
8821
|
])) : C("", !0)
|
|
8822
8822
|
]))), 128))
|
|
@@ -8875,7 +8875,7 @@ Scope:${u}
|
|
|
8875
8875
|
class: "primary-btn mt-5 w-full justify-center",
|
|
8876
8876
|
type: "submit"
|
|
8877
8877
|
}, "进入原型", -1)),
|
|
8878
|
-
To.value ? (v(), f("p", bb,
|
|
8878
|
+
To.value ? (v(), f("p", bb, c(To.value), 1)) : C("", !0)
|
|
8879
8879
|
], 32)
|
|
8880
8880
|
]))
|
|
8881
8881
|
], 6));
|