@yuku123/z-team-component 0.2.53 → 0.2.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{ChangeLogView-Dm7C3S14.js → ChangeLogView-Cstbioyw.js} +137 -137
- package/dist/{ComponentDoc-y1NfPcHG.js → ComponentDoc-yvIrAz9-.js} +3 -3
- package/dist/{InvitationManagementPage-Btw9iVOl.js → InvitationManagementPage-CIouC3Fn.js} +1 -1
- package/dist/{OnboardingPage-wF0OrgfD.js → OnboardingPage-DScwVCi-.js} +2 -2
- package/dist/{ScheduledTasks-CzzgG3n8.js → ScheduledTasks-Dd2lJrBF.js} +2924 -2892
- package/dist/{SystemShell-BSCmnOxf.js → SystemShell-DtvyWy0u.js} +1 -1
- package/dist/{admin-logs-vR556ORQ.js → admin-logs-B9KS6VJz.js} +2 -2
- package/dist/{api-Jfnj1ybB.js → api-CALqShkO.js} +1 -0
- package/dist/{api-Bs0qYxjL.js → api-CdVRdA0g.js} +1 -1
- package/dist/createWorkspaceWsHandler-CL5-4wFp.js +13037 -0
- package/dist/{index-yS7XIUis.js → index-4YxdJwFm.js} +3 -3
- package/dist/{index-CnEWSsKt.js → index-7Pe_xBrh.js} +1 -1
- package/dist/{index-DroZE6Bv.js → index-C2Wkg1b5.js} +3 -3
- package/dist/{index-BbkE7r8M.js → index-C3B7CbHo.js} +610 -529
- package/dist/{index-BkX0I2aB.js → index-C6S3MIu4.js} +56 -56
- package/dist/{index-B3LhKHBx.js → index-CGWttFLb.js} +41 -35
- package/dist/{index-Di_vaPxC.js → index-CKS65_Dw.js} +3 -3
- package/dist/{index-Ck_D109M.js → index-CLWgeKwr.js} +2 -2
- package/dist/{index-BXiuxhgz.js → index-C_2o9qgM.js} +2 -2
- package/dist/{index-tADa82Fa.js → index-CgQH7-9F.js} +3 -3
- package/dist/{index-Dj5_8ulz.js → index-D6V-4vNa.js} +5 -5
- package/dist/{index-BtWtVMgY.js → index-DC5lxCN8.js} +6 -6
- package/dist/{index-CYViRXQo.js → index-DET70T3j.js} +1 -1
- package/dist/{index-DqUOCs_a.js → index-DEx5rtXv.js} +2 -2
- package/dist/{index-C5WSr14Z.js → index-DJOyOVn_.js} +87 -74
- package/dist/{index-DmZdGNnh.js → index-DKeYG0Fu.js} +4 -4
- package/dist/index-DLQoecEe.js +1143 -0
- package/dist/{index-BNShjps9.js → index-DLyAy3cr.js} +7 -7
- package/dist/{index-Onqu_VQO.js → index-DOygBsXO.js} +1121 -1123
- package/dist/index-TDZM-Zv3.js +9287 -0
- package/dist/{index-JLtVgwZv.js → index-aw72ID7y.js} +1 -1
- package/dist/{index-gxEdw4X4.js → index-lftFkqfI.js} +4 -4
- package/dist/{index-JMzBzwiO.js → index-usrA11ZG.js} +618 -617
- package/dist/index.js +1 -1
- package/dist/{instance-B0DZJnee.js → instance-f3C-1qYl.js} +1 -1
- package/dist/pages.js +1 -1
- package/dist/{schedule-D3jTrI1R.js → schedule-DfkgwPdE.js} +1 -1
- package/dist/{send-default-agent-team-message-CbqHaohM.js → send-default-agent-team-message-d_ECdczr.js} +1 -1
- package/dist/{sso-user-Dw_wwYa-.js → sso-user-HcsSzg8P.js} +1 -1
- package/dist/{training-CETtJBNQ.js → training-DnNQN0An.js} +1 -1
- package/dist/{useAppStore-s-CLa-nF.js → useAppStore-kRZEA5WZ.js} +1 -1
- package/dist/{webide-6j4OVoNA.js → webide-DPjFYxLl.js} +1526 -1526
- package/dist/z-team-component.css +2 -2
- package/package.json +1 -1
- package/dist/SmartWorkbench.module-xRRmpTTw.js +0 -85
- package/dist/createWorkspaceWsHandler-obuYWncQ.js +0 -12820
- package/dist/index-CxrBnzg2.js +0 -1182
- package/dist/index-DUmgSTQu.js +0 -9179
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import { h as
|
|
3
|
-
import { message as
|
|
1
|
+
import { jsxs as n, jsx as a, Fragment as te } from "react/jsx-runtime";
|
|
2
|
+
import { h as ve, j as ae, r as Ne, k as Te } from "./api-CALqShkO.js";
|
|
3
|
+
import { message as ie, Button as V, DatePicker as De, Spin as j, Empty as ne, Tag as re } from "antd";
|
|
4
4
|
import S from "dayjs";
|
|
5
5
|
import "./echarts-B1OU1xr4.js";
|
|
6
|
-
import { useState as
|
|
6
|
+
import { useState as p, useCallback as x, useEffect as I, useMemo as H, useRef as se } from "react";
|
|
7
7
|
import * as Se from "echarts/core";
|
|
8
|
-
const we = "
|
|
8
|
+
const we = "_screen_irfbu_12", Ce = "_banner_irfbu_49", Le = "_shareBtn_irfbu_60", Be = "_bannerInner_irfbu_88", xe = "_bannerLeft_irfbu_97", Ie = "_bannerTitle_irfbu_103", Re = "_bannerSubtitle_irfbu_111", Ae = "_stats_irfbu_117", He = "_statItem_irfbu_124", Ee = "_statNum_irfbu_131", Oe = "_statLabel_irfbu_139", ke = "_statDivider_irfbu_144", We = "_chartSection_irfbu_151", $e = "_chartInner_irfbu_157", Me = "_chartHeader_irfbu_165", Ve = "_chartHeaderLeft_irfbu_173", je = "_chartRangeWrap_irfbu_179", ze = "_rangeBtns_irfbu_186", Pe = "_rangeBtn_irfbu_186", Ge = "_rangeBtnActive_irfbu_211", qe = "_chartRangePicker_irfbu_224", Fe = "_chartTitle_irfbu_238", Ye = "_chartSubtitle_irfbu_245", Ke = "_chartBody_irfbu_251", Xe = "_chartLoading_irfbu_255", Ze = "_chartEmpty_irfbu_256", Je = "_main_irfbu_266", Qe = "_timeline_irfbu_277", Ue = "_timelineHeader_irfbu_289", et = "_timelineScroll_irfbu_298", tt = "_timelineItem_irfbu_304", at = "_timelineItemActive_irfbu_319", it = "_timelineDot_irfbu_324", nt = "_timelineContent_irfbu_339", rt = "_timelineTop_irfbu_344", st = "_versionTag_irfbu_351", ct = "_versionDate_irfbu_357", lt = "_timelineSummary_irfbu_362", ot = "_timelineMeta_irfbu_372", dt = "_latestBadge_irfbu_378", mt = "_detail_irfbu_392", ht = "_detailHeader_irfbu_404", ut = "_detailTitleRow_irfbu_410", ft = "_detailVersion_irfbu_416", _t = "_detailDate_irfbu_423", pt = "_detailSummary_irfbu_428", gt = "_detailScroll_irfbu_435", bt = "_pointGrid_irfbu_442", yt = "_pointCard_irfbu_448", vt = "_pointHead_irfbu_463", Nt = "_pointTitle_irfbu_471", Tt = "_pointHeadRight_irfbu_479", Dt = "_committerTag_irfbu_488", St = "_pointTag_irfbu_499", wt = "_pointDetail_irfbu_505", Ct = "_loadingWrap_irfbu_513", Lt = "_emptyWrap_irfbu_520", Bt = "_authBox_irfbu_530", xt = "_authHint_irfbu_534", It = "_embedScreen_irfbu_543", e = {
|
|
9
9
|
screen: we,
|
|
10
10
|
banner: Ce,
|
|
11
11
|
shareBtn: Le,
|
|
@@ -38,8 +38,8 @@ const we = "_screen_12g84_2", Ce = "_banner_12g84_14", Le = "_shareBtn_12g84_22"
|
|
|
38
38
|
timelineScroll: et,
|
|
39
39
|
timelineItem: tt,
|
|
40
40
|
timelineItemActive: at,
|
|
41
|
-
timelineDot:
|
|
42
|
-
timelineContent:
|
|
41
|
+
timelineDot: it,
|
|
42
|
+
timelineContent: nt,
|
|
43
43
|
timelineTop: rt,
|
|
44
44
|
versionTag: st,
|
|
45
45
|
versionDate: ct,
|
|
@@ -48,14 +48,14 @@ const we = "_screen_12g84_2", Ce = "_banner_12g84_14", Le = "_shareBtn_12g84_22"
|
|
|
48
48
|
latestBadge: dt,
|
|
49
49
|
detail: mt,
|
|
50
50
|
detailHeader: ht,
|
|
51
|
-
detailTitleRow:
|
|
52
|
-
detailVersion:
|
|
53
|
-
detailDate:
|
|
54
|
-
detailSummary:
|
|
55
|
-
detailScroll:
|
|
56
|
-
pointGrid:
|
|
57
|
-
pointCard:
|
|
58
|
-
pointHead:
|
|
51
|
+
detailTitleRow: ut,
|
|
52
|
+
detailVersion: ft,
|
|
53
|
+
detailDate: _t,
|
|
54
|
+
detailSummary: pt,
|
|
55
|
+
detailScroll: gt,
|
|
56
|
+
pointGrid: bt,
|
|
57
|
+
pointCard: yt,
|
|
58
|
+
pointHead: vt,
|
|
59
59
|
pointTitle: Nt,
|
|
60
60
|
pointHeadRight: Tt,
|
|
61
61
|
committerTag: Dt,
|
|
@@ -79,57 +79,57 @@ const we = "_screen_12g84_2", Ce = "_banner_12g84_14", Le = "_shareBtn_12g84_22"
|
|
|
79
79
|
重构: "#722ed1",
|
|
80
80
|
其他: "#8c8c8c"
|
|
81
81
|
}, ce = 8;
|
|
82
|
-
function At(
|
|
83
|
-
const w = String((
|
|
82
|
+
function At(u) {
|
|
83
|
+
const w = String((u == null ? void 0 : u.userMessage) || (u == null ? void 0 : u.message) || "");
|
|
84
84
|
return /未登录|Token无效|登录已失效|登录失效|登录过期|重新登录/.test(w);
|
|
85
85
|
}
|
|
86
86
|
function Ht({
|
|
87
|
-
option:
|
|
87
|
+
option: u,
|
|
88
88
|
height: w = 320
|
|
89
89
|
}) {
|
|
90
90
|
const N = se(null), d = se(null);
|
|
91
91
|
return I(() => {
|
|
92
92
|
if (!N.current) return;
|
|
93
|
-
d.current || (d.current = Se.init(N.current)), d.current.setOption(
|
|
94
|
-
const
|
|
95
|
-
var
|
|
96
|
-
return (
|
|
93
|
+
d.current || (d.current = Se.init(N.current)), d.current.setOption(u, !0);
|
|
94
|
+
const b = () => {
|
|
95
|
+
var y;
|
|
96
|
+
return (y = d.current) == null ? void 0 : y.resize();
|
|
97
97
|
};
|
|
98
|
-
return window.addEventListener("resize",
|
|
99
|
-
}, [
|
|
98
|
+
return window.addEventListener("resize", b), () => window.removeEventListener("resize", b);
|
|
99
|
+
}, [u]), I(
|
|
100
100
|
() => () => {
|
|
101
|
-
var
|
|
102
|
-
(
|
|
101
|
+
var b;
|
|
102
|
+
(b = d.current) == null || b.dispose(), d.current = null;
|
|
103
103
|
},
|
|
104
104
|
[]
|
|
105
105
|
), /* @__PURE__ */ a("div", { ref: N, style: { width: "100%", height: `${w}px` } });
|
|
106
106
|
}
|
|
107
107
|
function Vt({
|
|
108
|
-
variant:
|
|
108
|
+
variant: u = "page"
|
|
109
109
|
}) {
|
|
110
|
-
const [w, N] =
|
|
110
|
+
const [w, N] = p(!1), [d, b] = p([]), [y, E] = p(null), [f, P] = p(null), [le, G] = p(!1), [O, oe] = p(
|
|
111
111
|
{}
|
|
112
|
-
), [de, q] =
|
|
112
|
+
), [de, q] = p(!1), [C, F] = p(!1), [R, L] = p([
|
|
113
113
|
S().subtract(6, "day").startOf("day"),
|
|
114
114
|
S().endOf("day")
|
|
115
|
-
]), [k, Y] =
|
|
115
|
+
]), [k, Y] = p("7"), K = x(async () => {
|
|
116
116
|
N(!0);
|
|
117
117
|
try {
|
|
118
|
-
const
|
|
118
|
+
const i = await ve("z-team"), o = [...(Array.isArray(i) ? i : []).filter(
|
|
119
119
|
(c) => c && typeof c == "object"
|
|
120
120
|
)].sort(
|
|
121
121
|
(c, l) => new Date(l.commitDate).getTime() - new Date(c.commitDate).getTime()
|
|
122
122
|
);
|
|
123
|
-
|
|
124
|
-
} catch (
|
|
125
|
-
console.error("[ChangeLogView] load versions error:",
|
|
123
|
+
b(o), F(!1), o.length > 0 ? E(o[0].id) : (E(null), P(null));
|
|
124
|
+
} catch (i) {
|
|
125
|
+
console.error("[ChangeLogView] load versions error:", i), At(i) && F(!0);
|
|
126
126
|
} finally {
|
|
127
127
|
N(!1);
|
|
128
128
|
}
|
|
129
|
-
}, []), X = x(async (
|
|
129
|
+
}, []), X = x(async (i) => {
|
|
130
130
|
G(!0);
|
|
131
131
|
try {
|
|
132
|
-
const r = await ae(
|
|
132
|
+
const r = await ae(i, void 0, "z-team");
|
|
133
133
|
P(r && typeof r == "object" ? r : null);
|
|
134
134
|
} catch (r) {
|
|
135
135
|
console.error("[ChangeLogView] load detail error:", r);
|
|
@@ -140,10 +140,10 @@ function Vt({
|
|
|
140
140
|
I(() => {
|
|
141
141
|
K();
|
|
142
142
|
}, [K]), I(() => {
|
|
143
|
-
|
|
144
|
-
}, [
|
|
143
|
+
y != null && X(y);
|
|
144
|
+
}, [y, X]);
|
|
145
145
|
const W = H(() => {
|
|
146
|
-
const
|
|
146
|
+
const i = d.length, r = d.reduce(
|
|
147
147
|
(c, l) => c + (l.pointCount ?? 0),
|
|
148
148
|
0
|
|
149
149
|
);
|
|
@@ -154,48 +154,48 @@ function Vt({
|
|
|
154
154
|
(Math.max(...c) - Math.min(...c)) / 864e5
|
|
155
155
|
));
|
|
156
156
|
}
|
|
157
|
-
return { versionCount:
|
|
158
|
-
}, [d]),
|
|
157
|
+
return { versionCount: i, pointTotal: r, spanDays: o };
|
|
158
|
+
}, [d]), v = H(() => {
|
|
159
159
|
if (!R) return d;
|
|
160
|
-
const [
|
|
160
|
+
const [i, r] = R, o = i.startOf("day").valueOf(), c = r.endOf("day").valueOf();
|
|
161
161
|
return d.filter((l) => {
|
|
162
162
|
const T = new Date(l.commitDate).getTime();
|
|
163
163
|
return !Number.isNaN(T) && T >= o && T <= c;
|
|
164
164
|
});
|
|
165
165
|
}, [d, R]);
|
|
166
166
|
I(() => {
|
|
167
|
-
if (
|
|
168
|
-
let
|
|
167
|
+
if (v.length === 0) return;
|
|
168
|
+
let i = !1;
|
|
169
169
|
return q(!0), Promise.all(
|
|
170
|
-
|
|
170
|
+
v.map(
|
|
171
171
|
(r) => ae(r.id, void 0, "z-team").catch((o) => (console.warn(
|
|
172
172
|
`[ChangeLogView] failed to load detail for version ${r.version}`,
|
|
173
173
|
o
|
|
174
174
|
), null))
|
|
175
175
|
)
|
|
176
176
|
).then((r) => {
|
|
177
|
-
if (
|
|
177
|
+
if (i) return;
|
|
178
178
|
const o = {};
|
|
179
179
|
r.forEach((c, l) => {
|
|
180
|
-
c && typeof c == "object" &&
|
|
180
|
+
c && typeof c == "object" && v[l] && (o[v[l].id] = c);
|
|
181
181
|
}), oe(o);
|
|
182
182
|
}).finally(() => {
|
|
183
|
-
|
|
183
|
+
i || q(!1);
|
|
184
184
|
}), () => {
|
|
185
|
-
|
|
185
|
+
i = !0;
|
|
186
186
|
};
|
|
187
|
-
}, [
|
|
187
|
+
}, [v]);
|
|
188
188
|
const { chartOption: me, hasChartData: he } = H(() => {
|
|
189
|
-
const
|
|
189
|
+
const i = [...v].sort(
|
|
190
190
|
(t, s) => new Date(t.commitDate).getTime() - new Date(s.commitDate).getTime()
|
|
191
|
-
), r =
|
|
191
|
+
), r = i.map((t) => t.commitDate), o = /* @__PURE__ */ new Set(), c = {};
|
|
192
192
|
Object.values(O).forEach((t) => {
|
|
193
193
|
(Array.isArray(t == null ? void 0 : t.items) ? t.items : []).forEach((m) => {
|
|
194
194
|
if (m.category ? o.add(m.category) : o.add("其他"), typeof m.committers == "string") {
|
|
195
|
-
const
|
|
196
|
-
if (
|
|
197
|
-
const h = 1 /
|
|
198
|
-
|
|
195
|
+
const _ = m.committers.split(",").map((h) => h.trim()).filter(Boolean);
|
|
196
|
+
if (_.length > 0) {
|
|
197
|
+
const h = 1 / _.length;
|
|
198
|
+
_.forEach((B) => {
|
|
199
199
|
c[B] = (c[B] || 0) + h;
|
|
200
200
|
});
|
|
201
201
|
}
|
|
@@ -208,14 +208,14 @@ function Vt({
|
|
|
208
208
|
o.forEach((t) => {
|
|
209
209
|
l.includes(t) || l.push(t);
|
|
210
210
|
});
|
|
211
|
-
const T = Object.entries(c).sort((t, s) => s[1] - t[1]).map(([t]) => t),
|
|
211
|
+
const T = Object.entries(c).sort((t, s) => s[1] - t[1]).map(([t]) => t), _e = T.slice(0, ce), Q = T.length > ce, D = {};
|
|
212
212
|
l.forEach(
|
|
213
213
|
(t) => D[t] = new Array(r.length).fill(0)
|
|
214
214
|
);
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
(t) =>
|
|
218
|
-
), Q && (
|
|
215
|
+
const g = {};
|
|
216
|
+
_e.forEach(
|
|
217
|
+
(t) => g[t] = new Array(r.length).fill(0)
|
|
218
|
+
), Q && (g.其他 = new Array(r.length).fill(0)), i.forEach((t, s) => {
|
|
219
219
|
const m = O[t.id];
|
|
220
220
|
if (!m) return;
|
|
221
221
|
(Array.isArray(m.items) ? m.items : []).forEach((h) => {
|
|
@@ -225,23 +225,23 @@ function Vt({
|
|
|
225
225
|
if (M.length > 0) {
|
|
226
226
|
const A = 1 / M.length;
|
|
227
227
|
M.forEach((ee) => {
|
|
228
|
-
|
|
228
|
+
g[ee] ? g[ee][s] += A : Q && (g.其他[s] += A);
|
|
229
229
|
});
|
|
230
230
|
}
|
|
231
231
|
}
|
|
232
232
|
});
|
|
233
233
|
});
|
|
234
|
-
const
|
|
234
|
+
const pe = i.reduce((t, s) => {
|
|
235
235
|
const m = t.length > 0 ? t[t.length - 1] : 0;
|
|
236
236
|
return t.push(m + (s.pointCount ?? 0)), t;
|
|
237
237
|
}, []), U = {};
|
|
238
238
|
l.forEach((t) => {
|
|
239
239
|
U[t] = D[t].reduce((s, m) => {
|
|
240
|
-
const
|
|
241
|
-
return s.push(
|
|
240
|
+
const _ = s.length > 0 ? s[s.length - 1] : 0;
|
|
241
|
+
return s.push(_ + m), s;
|
|
242
242
|
}, []);
|
|
243
243
|
});
|
|
244
|
-
const
|
|
244
|
+
const ge = [
|
|
245
245
|
...l.map((t) => ({
|
|
246
246
|
name: t,
|
|
247
247
|
type: "bar",
|
|
@@ -250,18 +250,18 @@ function Vt({
|
|
|
250
250
|
itemStyle: { color: z[t] || "#8c8c8c" },
|
|
251
251
|
barMaxWidth: 40
|
|
252
252
|
})),
|
|
253
|
-
...Object.keys(
|
|
253
|
+
...Object.keys(g).map((t) => ({
|
|
254
254
|
name: `@${t}`,
|
|
255
255
|
type: "bar",
|
|
256
256
|
stack: "committer",
|
|
257
|
-
data:
|
|
257
|
+
data: g[t],
|
|
258
258
|
barMaxWidth: 40
|
|
259
259
|
})),
|
|
260
260
|
{
|
|
261
261
|
name: "要点累计",
|
|
262
262
|
type: "line",
|
|
263
263
|
yAxisIndex: 1,
|
|
264
|
-
data:
|
|
264
|
+
data: pe,
|
|
265
265
|
smooth: !0,
|
|
266
266
|
symbol: "circle",
|
|
267
267
|
symbolSize: 6,
|
|
@@ -282,7 +282,7 @@ function Vt({
|
|
|
282
282
|
},
|
|
283
283
|
itemStyle: { color: z[t] || "#8c8c8c" }
|
|
284
284
|
}))
|
|
285
|
-
],
|
|
285
|
+
], be = {
|
|
286
286
|
tooltip: {
|
|
287
287
|
trigger: "axis",
|
|
288
288
|
axisPointer: { type: "shadow" },
|
|
@@ -292,11 +292,11 @@ function Vt({
|
|
|
292
292
|
formatter: (t) => {
|
|
293
293
|
if (!Array.isArray(t) || t.length === 0) return "";
|
|
294
294
|
let m = `<div style="font-weight:600;margin-bottom:6px;">${t[0].axisValue}</div>`;
|
|
295
|
-
return t.forEach((
|
|
296
|
-
const h = Number(
|
|
295
|
+
return t.forEach((_) => {
|
|
296
|
+
const h = Number(_.value) || 0;
|
|
297
297
|
h > 0 && (m += `<div style="display:flex;align-items:center;gap:8px;line-height:1.8;">
|
|
298
|
-
<span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${
|
|
299
|
-
<span style="flex:1;">${
|
|
298
|
+
<span style="display:inline-block;width:10px;height:10px;border-radius:50%;background:${_.color};"></span>
|
|
299
|
+
<span style="flex:1;">${_.seriesName}</span>
|
|
300
300
|
<span style="font-weight:600;">${Number.isInteger(h) ? h : h.toFixed(2)}</span>
|
|
301
301
|
</div>`);
|
|
302
302
|
}), m;
|
|
@@ -345,53 +345,53 @@ function Vt({
|
|
|
345
345
|
axisLabel: { color: "#2f70f1" }
|
|
346
346
|
}
|
|
347
347
|
],
|
|
348
|
-
series:
|
|
348
|
+
series: ge,
|
|
349
349
|
animationDuration: 600
|
|
350
|
-
},
|
|
351
|
-
return { chartOption:
|
|
352
|
-
}, [
|
|
350
|
+
}, ye = i.length > 0 && (Object.values(D).some((t) => t.some((s) => s > 0)) || Object.values(g).some((t) => t.some((s) => s > 0)));
|
|
351
|
+
return { chartOption: be, hasChartData: ye };
|
|
352
|
+
}, [v, O]), Z = x(() => {
|
|
353
353
|
try {
|
|
354
354
|
Ne();
|
|
355
|
-
} catch (
|
|
356
|
-
console.error("[ChangeLogView] redirect to login failed:",
|
|
355
|
+
} catch (i) {
|
|
356
|
+
console.error("[ChangeLogView] redirect to login failed:", i), window.location.href = "/login";
|
|
357
357
|
}
|
|
358
|
-
}, []),
|
|
359
|
-
const
|
|
358
|
+
}, []), ue = x(async () => {
|
|
359
|
+
const i = window.location.href;
|
|
360
360
|
try {
|
|
361
|
-
await navigator.clipboard.writeText(
|
|
361
|
+
await navigator.clipboard.writeText(i), ie.success("链接已复制,可直接发送");
|
|
362
362
|
} catch {
|
|
363
|
-
|
|
363
|
+
ie.error("复制失败,请手动复制地址栏链接");
|
|
364
364
|
}
|
|
365
|
-
}, []), $ = x((
|
|
366
|
-
Y(
|
|
365
|
+
}, []), $ = x((i) => {
|
|
366
|
+
Y(i), L(i === "7" ? [
|
|
367
367
|
S().subtract(6, "day").startOf("day"),
|
|
368
368
|
S().endOf("day")
|
|
369
|
-
] :
|
|
369
|
+
] : i === "30" ? [
|
|
370
370
|
S().subtract(29, "day").startOf("day"),
|
|
371
371
|
S().endOf("day")
|
|
372
372
|
] : null);
|
|
373
|
-
}, []),
|
|
374
|
-
() => Array.isArray(
|
|
375
|
-
[
|
|
373
|
+
}, []), fe = u === "embed", J = H(
|
|
374
|
+
() => Array.isArray(f == null ? void 0 : f.items) ? f.items : [],
|
|
375
|
+
[f]
|
|
376
376
|
);
|
|
377
|
-
return /* @__PURE__ */
|
|
378
|
-
/* @__PURE__ */ a("header", { className: e.banner, children: /* @__PURE__ */
|
|
379
|
-
/* @__PURE__ */
|
|
377
|
+
return /* @__PURE__ */ n("div", { className: fe ? `${e.screen} ${e.embedScreen}` : e.screen, children: [
|
|
378
|
+
/* @__PURE__ */ a("header", { className: e.banner, children: /* @__PURE__ */ n("div", { className: e.bannerInner, children: [
|
|
379
|
+
/* @__PURE__ */ n("div", { className: e.bannerLeft, children: [
|
|
380
380
|
/* @__PURE__ */ a("h1", { className: e.bannerTitle, children: "Z Team 产品迭代日志" }),
|
|
381
381
|
/* @__PURE__ */ a("p", { className: e.bannerSubtitle, children: "每一次代码提交背后,都是产品的进化" })
|
|
382
382
|
] }),
|
|
383
|
-
/* @__PURE__ */
|
|
384
|
-
/* @__PURE__ */
|
|
383
|
+
/* @__PURE__ */ n("div", { className: e.stats, children: [
|
|
384
|
+
/* @__PURE__ */ n("div", { className: e.statItem, children: [
|
|
385
385
|
/* @__PURE__ */ a("div", { className: e.statNum, children: C ? "—" : W.versionCount }),
|
|
386
386
|
/* @__PURE__ */ a("div", { className: e.statLabel, children: "迭代版本" })
|
|
387
387
|
] }),
|
|
388
388
|
/* @__PURE__ */ a("div", { className: e.statDivider }),
|
|
389
|
-
/* @__PURE__ */
|
|
389
|
+
/* @__PURE__ */ n("div", { className: e.statItem, children: [
|
|
390
390
|
/* @__PURE__ */ a("div", { className: e.statNum, children: C ? "—" : W.pointTotal }),
|
|
391
391
|
/* @__PURE__ */ a("div", { className: e.statLabel, children: "产品要点" })
|
|
392
392
|
] }),
|
|
393
393
|
/* @__PURE__ */ a("div", { className: e.statDivider }),
|
|
394
|
-
/* @__PURE__ */
|
|
394
|
+
/* @__PURE__ */ n("div", { className: e.statItem, children: [
|
|
395
395
|
/* @__PURE__ */ a("div", { className: e.statNum, children: C ? "—" : W.spanDays }),
|
|
396
396
|
/* @__PURE__ */ a("div", { className: e.statLabel, children: "持续天数" })
|
|
397
397
|
] })
|
|
@@ -402,19 +402,19 @@ function Vt({
|
|
|
402
402
|
className: e.shareBtn,
|
|
403
403
|
type: "default",
|
|
404
404
|
ghost: !0,
|
|
405
|
-
onClick:
|
|
405
|
+
onClick: ue,
|
|
406
406
|
children: "分享链接"
|
|
407
407
|
}
|
|
408
408
|
)
|
|
409
409
|
] }) }),
|
|
410
|
-
/* @__PURE__ */ a("section", { className: e.chartSection, children: /* @__PURE__ */
|
|
411
|
-
/* @__PURE__ */
|
|
412
|
-
/* @__PURE__ */
|
|
410
|
+
/* @__PURE__ */ a("section", { className: e.chartSection, children: /* @__PURE__ */ n("div", { className: e.chartInner, children: [
|
|
411
|
+
/* @__PURE__ */ n("div", { className: e.chartHeader, children: [
|
|
412
|
+
/* @__PURE__ */ n("div", { className: e.chartHeaderLeft, children: [
|
|
413
413
|
/* @__PURE__ */ a("h2", { className: e.chartTitle, children: "迭代节奏与贡献分布" }),
|
|
414
414
|
/* @__PURE__ */ a("p", { className: e.chartSubtitle, children: "两根柱:类型拆分 · 人员拆分(多人贡献均摊);折线:各类型/总量累计" })
|
|
415
415
|
] }),
|
|
416
|
-
/* @__PURE__ */
|
|
417
|
-
/* @__PURE__ */
|
|
416
|
+
/* @__PURE__ */ n("div", { className: e.chartRangeWrap, children: [
|
|
417
|
+
/* @__PURE__ */ n("div", { className: e.rangeBtns, children: [
|
|
418
418
|
/* @__PURE__ */ a(
|
|
419
419
|
"button",
|
|
420
420
|
{
|
|
@@ -447,14 +447,14 @@ function Vt({
|
|
|
447
447
|
value: R,
|
|
448
448
|
allowClear: !0,
|
|
449
449
|
placeholder: ["开始日期", "结束日期"],
|
|
450
|
-
onChange: (
|
|
451
|
-
Y(""),
|
|
450
|
+
onChange: (i) => {
|
|
451
|
+
Y(""), i && i[0] && i[1] ? L([i[0], i[1]]) : L(null);
|
|
452
452
|
}
|
|
453
453
|
}
|
|
454
454
|
)
|
|
455
455
|
] })
|
|
456
456
|
] }),
|
|
457
|
-
/* @__PURE__ */ a("div", { className: e.chartBody, children: de ? /* @__PURE__ */ a("div", { className: e.chartLoading, children: /* @__PURE__ */ a(j, { description: "正在生成统计图表..." }) }) : he ? /* @__PURE__ */ a(Ht, { option: me, height: 360 }) : C ? /* @__PURE__ */
|
|
457
|
+
/* @__PURE__ */ a("div", { className: e.chartBody, children: de ? /* @__PURE__ */ a("div", { className: e.chartLoading, children: /* @__PURE__ */ a(j, { description: "正在生成统计图表..." }) }) : he ? /* @__PURE__ */ a(Ht, { option: me, height: 360 }) : C ? /* @__PURE__ */ n("div", { className: `${e.chartEmpty} ${e.authBox}`, children: [
|
|
458
458
|
/* @__PURE__ */ a("div", { className: e.authHint, children: "登录后可查看完整的产品迭代日志" }),
|
|
459
459
|
/* @__PURE__ */ a(
|
|
460
460
|
V,
|
|
@@ -467,10 +467,10 @@ function Vt({
|
|
|
467
467
|
)
|
|
468
468
|
] }) : /* @__PURE__ */ a("div", { className: e.chartEmpty, children: "暂无足够数据生成图表" }) })
|
|
469
469
|
] }) }),
|
|
470
|
-
/* @__PURE__ */
|
|
471
|
-
/* @__PURE__ */
|
|
470
|
+
/* @__PURE__ */ n("main", { className: e.main, children: [
|
|
471
|
+
/* @__PURE__ */ n("aside", { className: e.timeline, children: [
|
|
472
472
|
/* @__PURE__ */ a("div", { className: e.timelineHeader, children: /* @__PURE__ */ a("span", { children: "迭代时间线" }) }),
|
|
473
|
-
/* @__PURE__ */ a("div", { className: e.timelineScroll, children: w ? /* @__PURE__ */ a("div", { className: e.loadingWrap, children: /* @__PURE__ */ a(j, { description: "加载中..." }) }) : d.length === 0 ? /* @__PURE__ */ a("div", { className: `${e.emptyWrap} ${e.authBox}`, children: C ? /* @__PURE__ */
|
|
473
|
+
/* @__PURE__ */ a("div", { className: e.timelineScroll, children: w ? /* @__PURE__ */ a("div", { className: e.loadingWrap, children: /* @__PURE__ */ a(j, { description: "加载中..." }) }) : d.length === 0 ? /* @__PURE__ */ a("div", { className: `${e.emptyWrap} ${e.authBox}`, children: C ? /* @__PURE__ */ n(te, { children: [
|
|
474
474
|
/* @__PURE__ */ a("div", { className: e.authHint, children: "登录后可查看完整的产品迭代日志" }),
|
|
475
475
|
/* @__PURE__ */ a(
|
|
476
476
|
V,
|
|
@@ -481,59 +481,59 @@ function Vt({
|
|
|
481
481
|
children: "登录查看"
|
|
482
482
|
}
|
|
483
483
|
)
|
|
484
|
-
] }) : "暂无迭代记录" }) : d.map((
|
|
484
|
+
] }) : "暂无迭代记录" }) : d.map((i, r) => /* @__PURE__ */ n(
|
|
485
485
|
"div",
|
|
486
486
|
{
|
|
487
|
-
className: `${e.timelineItem} ${Te(
|
|
488
|
-
onClick: () => E(
|
|
487
|
+
className: `${e.timelineItem} ${Te(y, i.id) ? e.timelineItemActive : ""}`,
|
|
488
|
+
onClick: () => E(i.id),
|
|
489
489
|
children: [
|
|
490
490
|
/* @__PURE__ */ a("div", { className: e.timelineDot }),
|
|
491
|
-
/* @__PURE__ */
|
|
492
|
-
/* @__PURE__ */
|
|
493
|
-
/* @__PURE__ */ a("span", { className: e.versionTag, children:
|
|
494
|
-
/* @__PURE__ */ a("span", { className: e.versionDate, children:
|
|
491
|
+
/* @__PURE__ */ n("div", { className: e.timelineContent, children: [
|
|
492
|
+
/* @__PURE__ */ n("div", { className: e.timelineTop, children: [
|
|
493
|
+
/* @__PURE__ */ a("span", { className: e.versionTag, children: i.version }),
|
|
494
|
+
/* @__PURE__ */ a("span", { className: e.versionDate, children: i.commitDate })
|
|
495
495
|
] }),
|
|
496
|
-
|
|
497
|
-
/* @__PURE__ */ a("div", { className: e.timelineMeta, children: /* @__PURE__ */
|
|
498
|
-
|
|
496
|
+
i.summary && /* @__PURE__ */ a("div", { className: e.timelineSummary, title: i.summary, children: i.summary }),
|
|
497
|
+
/* @__PURE__ */ a("div", { className: e.timelineMeta, children: /* @__PURE__ */ n("span", { children: [
|
|
498
|
+
i.pointCount ?? 0,
|
|
499
499
|
" 条产品要点"
|
|
500
500
|
] }) })
|
|
501
501
|
] }),
|
|
502
502
|
r === 0 && /* @__PURE__ */ a("span", { className: e.latestBadge, children: "最新" })
|
|
503
503
|
]
|
|
504
504
|
},
|
|
505
|
-
|
|
505
|
+
i.id
|
|
506
506
|
)) })
|
|
507
507
|
] }),
|
|
508
|
-
/* @__PURE__ */ a("section", { className: e.detail, children: le ? /* @__PURE__ */ a("div", { className: e.loadingWrap, children: /* @__PURE__ */ a(j, { description: "加载产品要点..." }) }) :
|
|
509
|
-
/* @__PURE__ */
|
|
510
|
-
/* @__PURE__ */
|
|
511
|
-
/* @__PURE__ */ a("span", { className: e.detailVersion, children:
|
|
512
|
-
/* @__PURE__ */ a("span", { className: e.detailDate, children:
|
|
508
|
+
/* @__PURE__ */ a("section", { className: e.detail, children: le ? /* @__PURE__ */ a("div", { className: e.loadingWrap, children: /* @__PURE__ */ a(j, { description: "加载产品要点..." }) }) : f ? /* @__PURE__ */ n(te, { children: [
|
|
509
|
+
/* @__PURE__ */ n("div", { className: e.detailHeader, children: [
|
|
510
|
+
/* @__PURE__ */ n("div", { className: e.detailTitleRow, children: [
|
|
511
|
+
/* @__PURE__ */ a("span", { className: e.detailVersion, children: f.version }),
|
|
512
|
+
/* @__PURE__ */ a("span", { className: e.detailDate, children: f.commitDate })
|
|
513
513
|
] }),
|
|
514
|
-
|
|
514
|
+
f.summary && /* @__PURE__ */ a("div", { className: e.detailSummary, children: f.summary })
|
|
515
515
|
] }),
|
|
516
|
-
/* @__PURE__ */ a("div", { className: e.detailScroll, children: J.length === 0 ? /* @__PURE__ */ a(
|
|
517
|
-
/* @__PURE__ */
|
|
518
|
-
/* @__PURE__ */ a("span", { className: e.pointTitle, children:
|
|
519
|
-
/* @__PURE__ */
|
|
520
|
-
typeof
|
|
516
|
+
/* @__PURE__ */ a("div", { className: e.detailScroll, children: J.length === 0 ? /* @__PURE__ */ a(ne, { description: "该版本下暂无产品迭代要点" }) : /* @__PURE__ */ a("div", { className: e.pointGrid, children: J.map((i) => /* @__PURE__ */ n("div", { className: e.pointCard, children: [
|
|
517
|
+
/* @__PURE__ */ n("div", { className: e.pointHead, children: [
|
|
518
|
+
/* @__PURE__ */ a("span", { className: e.pointTitle, children: i.pointTitle }),
|
|
519
|
+
/* @__PURE__ */ n("div", { className: e.pointHeadRight, children: [
|
|
520
|
+
typeof i.committers == "string" && i.committers.split(",").map((r) => /* @__PURE__ */ n(re, { className: e.committerTag, children: [
|
|
521
521
|
"@",
|
|
522
522
|
r.trim()
|
|
523
523
|
] }, r)),
|
|
524
|
-
|
|
524
|
+
i.category && /* @__PURE__ */ a(
|
|
525
525
|
re,
|
|
526
526
|
{
|
|
527
527
|
className: e.pointTag,
|
|
528
|
-
color: Rt[
|
|
529
|
-
children:
|
|
528
|
+
color: Rt[i.category] || "default",
|
|
529
|
+
children: i.category
|
|
530
530
|
}
|
|
531
531
|
)
|
|
532
532
|
] })
|
|
533
533
|
] }),
|
|
534
|
-
|
|
535
|
-
] },
|
|
536
|
-
] }) : /* @__PURE__ */ a("div", { className: e.emptyWrap, children: /* @__PURE__ */ a(
|
|
534
|
+
i.pointDetail && /* @__PURE__ */ a("div", { className: e.pointDetail, children: i.pointDetail })
|
|
535
|
+
] }, i.id)) }) })
|
|
536
|
+
] }) : /* @__PURE__ */ a("div", { className: e.emptyWrap, children: /* @__PURE__ */ a(ne, { description: "选择左侧版本查看产品迭代要点" }) }) })
|
|
537
537
|
] })
|
|
538
538
|
] });
|
|
539
539
|
}
|
|
@@ -52,9 +52,9 @@ function Vt(t) {
|
|
|
52
52
|
const J = (t) => {
|
|
53
53
|
const l = wt(t);
|
|
54
54
|
return (r) => /* @__PURE__ */ e(kt, { fallback: null, children: /* @__PURE__ */ e(l, { ...r }) });
|
|
55
|
-
}, oe = J(() => import("./index-
|
|
56
|
-
J(() => import("./index-
|
|
57
|
-
const rn = J(() => import("./index-C815hPWS.js")), an = J(() => import("./index-Pk7OkJrk.js")), ln = J(() => import("./index-
|
|
55
|
+
}, oe = J(() => import("./index-TDZM-Zv3.js").then((t) => t.a4)), Yt = J(() => import("./index-DC5lxCN8.js")), Qt = J(() => import("./index-4YxdJwFm.js")), en = J(() => import("./index-lftFkqfI.js")), tn = J(() => import("./index-DKeYG0Fu.js")), nn = J(() => import("./index-CLWgeKwr.js"));
|
|
56
|
+
J(() => import("./index-DLyAy3cr.js"));
|
|
57
|
+
const rn = J(() => import("./index-C815hPWS.js")), an = J(() => import("./index-Pk7OkJrk.js")), ln = J(() => import("./index-C6S3MIu4.js")), sn = J(() => import("./index-DET70T3j.js")), on = J(() => import("./index-DJOyOVn_.js")), cn = J(() => import("./index-WIsi8fln.js")), dn = J(() => import("./index-C2Wkg1b5.js"));
|
|
58
58
|
function lr({ forcedMode: t }) {
|
|
59
59
|
const { pathname: l } = It(), r = l.replace(/\/+$/, "") || "/";
|
|
60
60
|
return t === "system" ? /* @__PURE__ */ e(oe, { forcedChatMode: Vt(r) }) : t === "rpa" ? /* @__PURE__ */ e(oe, { forcedChatMode: "rpa" }) : t === "dev" ? /* @__PURE__ */ e(oe, { forcedChatMode: "dev" }) : r === "/workspace" ? /* @__PURE__ */ e(oe, {}) : r === "/workspace/phone" ? /* @__PURE__ */ e(Yt, {}) : r === "/workspace/from-ticket" ? /* @__PURE__ */ e(Qt, {}) : r === "/workspace/from-scenario" ? /* @__PURE__ */ e(en, {}) : r === "/workspace/build-by-form" ? /* @__PURE__ */ e(tn, {}) : r === "/scenario" ? /* @__PURE__ */ e(nn, {}) : r === "/admin" ? /* @__PURE__ */ e(oe, {}) : r === "/welcome" ? /* @__PURE__ */ e(an, {}) : r === "/portal" ? /* @__PURE__ */ e(ln, {}) : r === "/chatdemo" ? /* @__PURE__ */ e(rn, {}) : r === "/embed/chat" || r.startsWith("/embed/chat/") ? /* @__PURE__ */ e(dn, {}) : r === "/change-log" ? /* @__PURE__ */ e(sn, {}) : r === "/docs" ? /* @__PURE__ */ e(on, {}) : r === "/download" ? /* @__PURE__ */ e(cn, {}) : /* @__PURE__ */ e(oe, {});
|
|
@@ -2,7 +2,7 @@ import { jsxs as i, jsx as e, Fragment as A } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState as o, useEffect as oe } from "react";
|
|
3
3
|
import { Form as m, message as l, Button as d, Input as B, Row as ae, Col as z, Card as v, Statistic as O, Alert as T, Space as p, Typography as se, Tabs as de, Popconfirm as F, Tag as h, Tooltip as ce, Modal as he, Radio as S, Select as w, InputNumber as ue } from "antd";
|
|
4
4
|
import { PlusOutlined as me, ClockCircleOutlined as _, CheckCircleOutlined as $, LinkOutlined as D, CopyOutlined as b, QrcodeOutlined as U, UserDeleteOutlined as K, TeamOutlined as pe, MailOutlined as j, DeleteOutlined as ye, UserAddOutlined as q, CloseCircleOutlined as N } from "@ant-design/icons";
|
|
5
|
-
import { l as fe, b as ge, g as ve, c as we, d as be, e as Ce, f as xe } from "./api-
|
|
5
|
+
import { l as fe, b as ge, g as ve, c as we, d as be, e as Ce, f as xe } from "./api-CdVRdA0g.js";
|
|
6
6
|
import { PageHeader as Ie, TableToolbar as ke, ListTable as W } from "@yuku123/z-frontend-common/ui";
|
|
7
7
|
const { Text: c } = se, Me = () => {
|
|
8
8
|
const [C] = m.useForm(), [M, P] = o(!1), [y, G] = o([]), [L, H] = o([]), [J, Q] = o(null), [u, V] = o(""), [X, x] = o(!1), [Y, R] = o(!1), [a, E] = o(null), [r, Z] = o(localStorage.getItem("userInfo") && JSON.parse(localStorage.getItem("userInfo") || "{}").tenantCode || "");
|
|
@@ -3,8 +3,8 @@ import { useState as a, useMemo as oe, useEffect as W } from "react";
|
|
|
3
3
|
import { useNavigate as le, useSearchParams as se } from "react-router-dom";
|
|
4
4
|
import { Form as c, message as o, Spin as ce, Typography as de, Card as d, Tag as x, Empty as me, Row as he, Col as fe, Space as S, Avatar as ge, Pagination as pe, Button as T, Result as ue, Modal as E, Input as k, Alert as U } from "antd";
|
|
5
5
|
import { RocketOutlined as q, ApartmentOutlined as ye, CheckCircleOutlined as Ce, PlusOutlined as z, KeyOutlined as m, GiftOutlined as ve, HomeOutlined as we, CrownOutlined as be } from "@ant-design/icons";
|
|
6
|
-
import { g as xe, a as Se, s as Te, r as ke } from "./api-
|
|
7
|
-
import { a as ze } from "./ComponentDoc-
|
|
6
|
+
import { g as xe, a as Se, s as Te, r as ke } from "./api-CdVRdA0g.js";
|
|
7
|
+
import { a as ze } from "./ComponentDoc-yvIrAz9-.js";
|
|
8
8
|
const { Title: u, Text: O, Paragraph: Oe } = de, y = 12, Me = () => {
|
|
9
9
|
const L = le(), [H] = se(), [_, I] = a(!0), [i, $] = a(null), [l, G] = a([]), [A, F] = a(0), [h, B] = a(""), [C, K] = a(1), X = oe(() => {
|
|
10
10
|
const e = (C - 1) * y;
|