@yuku123/z-team-component 0.2.103 → 0.2.104

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/ChangeLogView-DG-ogBff.js +542 -0
  2. package/dist/ComponentDoc-BW1SyDxk.js +8035 -0
  3. package/dist/InvitationManagementPage-hYvoPEcm.js +495 -0
  4. package/dist/OnboardingPage-KDp-DrzY.js +393 -0
  5. package/dist/ScheduledTasks-CErSDgyW.js +12127 -0
  6. package/dist/SystemShell-DvrY4Bl7.js +688 -0
  7. package/dist/_commonjsHelpers-B52_cu2H.js +26 -0
  8. package/dist/admin-logs-uPnnclwN.js +198 -0
  9. package/dist/api-B__qdRIf.js +20 -0
  10. package/dist/browser-jb_PFvU3.js +1538 -0
  11. package/dist/createWorkspaceWsHandler-BXbn5-Ft.js +13142 -0
  12. package/dist/ctc-sso-DtJHC-2M.js +117 -0
  13. package/dist/echarts-B1OU1xr4.js +16 -0
  14. package/dist/history-BlrA1eaW.js +41 -0
  15. package/dist/index-0smeCTnr.js +42049 -0
  16. package/dist/index-2isWwv1X.js +10169 -0
  17. package/dist/index-BC8f-JP9.js +242 -0
  18. package/dist/index-BK3YDeXH.js +2217 -0
  19. package/dist/index-BOJm25by.js +999 -0
  20. package/dist/index-B_LJRFsK.js +339 -0
  21. package/dist/index-BnJ8UEeZ.js +5892 -0
  22. package/dist/index-BohoJQPr.js +7631 -0
  23. package/dist/index-BwJPAN8f.js +112 -0
  24. package/dist/index-ByhCWenF.js +434 -0
  25. package/dist/index-C2_tfpEj.js +118 -0
  26. package/dist/index-C815hPWS.js +430 -0
  27. package/dist/index-C9fGup9t.js +189 -0
  28. package/dist/index-Cb88Xdh4.js +169 -0
  29. package/dist/index-Cih0yoxc.js +178 -0
  30. package/dist/index-CkWKJORv.js +1645 -0
  31. package/dist/index-CsaGecGX.js +132 -0
  32. package/dist/index-D-xPVrY3.js +316 -0
  33. package/dist/index-DAGa9v8r.js +142 -0
  34. package/dist/index-DBnH-lRh.js +956 -0
  35. package/dist/index-DIFIvVWE.js +93 -0
  36. package/dist/index-DOgCfVB2.js +574 -0
  37. package/dist/index-DWsfQMp8.js +208 -0
  38. package/dist/index-DcurzowX.js +2699 -0
  39. package/dist/index-DhDdFRHC.js +279 -0
  40. package/dist/index-Dpii3P5J.js +1302 -0
  41. package/dist/index-DtHoMz1H.js +8 -0
  42. package/dist/index-YVtm1SRy.js +913 -0
  43. package/dist/index-aI2EXKED.js +479 -0
  44. package/dist/index-q_TPea69.js +315 -0
  45. package/dist/index.js +10 -0
  46. package/dist/index.module-CAa-2T7m.js +72 -0
  47. package/dist/index.module-UI0iz8K0.js +42 -0
  48. package/dist/instance-pdQ_wAhB.js +216 -0
  49. package/dist/menuPermission-CCQjJVXg.js +60 -0
  50. package/dist/mobile-client-O3yr9h6t.js +24 -0
  51. package/dist/pages.js +21 -0
  52. package/dist/send-default-agent-team-message-BzeR4ahf.js +35 -0
  53. package/dist/spark-md5-Dld54a-T.js +178 -0
  54. package/dist/sso-user-DI7oiDdc.js +43 -0
  55. package/dist/training-Bz7Sr5yC.js +450 -0
  56. package/dist/webide-NcHLDiSn.js +5233 -0
  57. package/dist/z-team-component.css +1 -0
  58. package/package.json +1 -1
@@ -0,0 +1,339 @@
1
+ import { jsxs as r, jsx as n } from "react/jsx-runtime";
2
+ import { useState as o, useEffect as m, useCallback as k, useMemo as M } from "react";
3
+ import { h as l } from "./history-BlrA1eaW.js";
4
+ import { f as N, p as v, L as d, M as S, A as C, a as O, b as W } from "./index-DWsfQMp8.js";
5
+ const R = "_page_15tgf_8", E = "_bgWash_15tgf_48", F = "_bgGrid_15tgf_59", G = "_navbar_15tgf_74", z = "_navInner_15tgf_84", H = "_navBrand_15tgf_95", Z = "_navMark_15tgf_102", $ = "_navBrandText_15tgf_116", U = "_navBack_15tgf_123", K = "_hero_15tgf_143", j = "_eyebrow_15tgf_151", X = "_eyebrowDot_15tgf_166", Q = "_heroTitle_15tgf_174", V = "_heroLead_15tgf_183", q = "_grid_15tgf_192", J = "_card_15tgf_203", Y = "_cardFocused_15tgf_219", ee = "_cardHead_15tgf_224", ae = "_cardIcon_15tgf_230", ne = "_cardHeadText_15tgf_243", te = "_cardTitle_15tgf_248", re = "_cardEn_15tgf_256", se = "_cardBadges_15tgf_262", ce = "_badge_15tgf_270", oe = "_badgeDevice_15tgf_271", de = "_badge_ready_15tgf_286", ie = "_badge_beta_15tgf_292", le = "_badge_soon_15tgf_298", _e = "_badge_free_15tgf_304", ge = "_badge_instant_15tgf_310", me = "_cardDesc_15tgf_316", he = "_metaRow_15tgf_323", be = "_metaItem_15tgf_330", fe = "_changelog_15tgf_343", ue = "_changelogLabel_15tgf_351", ke = "_changelogText_15tgf_358", Ne = "_steps_15tgf_365", ve = "_cardAction_15tgf_381", we = "_btnPrimary_15tgf_385", ye = "_btnGhost_15tgf_386", pe = "_btnDisabled_15tgf_387", Te = "_cardNote_15tgf_432", Ae = "_footer_15tgf_439", Pe = "_footerLink_15tgf_455", e = {
6
+ page: R,
7
+ bgWash: E,
8
+ bgGrid: F,
9
+ navbar: G,
10
+ navInner: z,
11
+ navBrand: H,
12
+ navMark: Z,
13
+ navBrandText: $,
14
+ navBack: U,
15
+ hero: K,
16
+ eyebrow: j,
17
+ eyebrowDot: X,
18
+ heroTitle: Q,
19
+ heroLead: V,
20
+ grid: q,
21
+ card: J,
22
+ cardFocused: Y,
23
+ cardHead: ee,
24
+ cardIcon: ae,
25
+ cardHeadText: ne,
26
+ cardTitle: te,
27
+ cardEn: re,
28
+ cardBadges: se,
29
+ badge: ce,
30
+ badgeDevice: oe,
31
+ badge_ready: de,
32
+ badge_beta: ie,
33
+ badge_soon: le,
34
+ badge_free: _e,
35
+ badge_instant: ge,
36
+ cardDesc: me,
37
+ metaRow: he,
38
+ metaItem: be,
39
+ changelog: fe,
40
+ changelogLabel: ue,
41
+ changelogText: ke,
42
+ steps: Ne,
43
+ cardAction: ve,
44
+ btnPrimary: we,
45
+ btnGhost: ye,
46
+ btnDisabled: pe,
47
+ cardNote: Te,
48
+ footer: Ae,
49
+ footerLink: Pe
50
+ }, Le = {
51
+ ready: "正式版",
52
+ beta: "内测中",
53
+ soon: "即将发布",
54
+ free: "免安装",
55
+ instant: "即刻可用"
56
+ }, g = [
57
+ {
58
+ key: "macos",
59
+ icon: "laptop",
60
+ name: "macOS 桌面客户端",
61
+ en: "Z-OPC 桌面端 · Apple Silicon",
62
+ state: "ready",
63
+ desc: "本地 Agent 沙箱、火箭跳转、自动更新。桌面端与生产 Agent 集群双向打通,敏感操作不出本地。"
64
+ },
65
+ {
66
+ key: "windows",
67
+ icon: "windows",
68
+ name: "Windows 桌面客户端",
69
+ en: "Z-OPC 桌面端 · Windows 10+",
70
+ state: "ready",
71
+ desc: "与 macOS 同源交付:本地 Agent 沙箱、火箭跳转、自动更新一套不打折。安装包为 x64 setup 格式。"
72
+ },
73
+ {
74
+ key: "ios",
75
+ icon: "phone",
76
+ name: "iOS App",
77
+ en: "Z-OPC · iPhone / iPad",
78
+ state: "beta",
79
+ desc: "iOS 版通过 TestFlight 分发内测版本,测试通过后上架 App Store。后续版本由 TestFlight 自动推送。"
80
+ },
81
+ {
82
+ key: "android",
83
+ icon: "bot",
84
+ name: "Android App",
85
+ en: "Z-OPC · APK 直装包",
86
+ state: "soon",
87
+ desc: "APK 直装包,支持手机浏览器直接下载安装。若提示「未知来源」,需在系统设置中允许浏览器安装应用。"
88
+ },
89
+ {
90
+ key: "web",
91
+ icon: "globe",
92
+ name: "Web 版",
93
+ en: "浏览器 · 全平台",
94
+ state: "free",
95
+ desc: "无需安装,浏览器直接进入完整工作台。手机浏览器自动进入移动端界面,数据与客户端完全同步。"
96
+ },
97
+ {
98
+ key: "cli",
99
+ icon: "terminal",
100
+ name: "CLI Agent",
101
+ en: "claude-code 等多运行时",
102
+ state: "instant",
103
+ desc: "接入既有 CLI 运行时,在命令行里把任务交给 Agent 执行,结论回到会话。详见操作手册的接入章节。"
104
+ }
105
+ ];
106
+ function De(s, c) {
107
+ return c && c.releaseType === "beta" ? "beta" : s.state;
108
+ }
109
+ function Ie(s, c) {
110
+ return c && c.releaseType === "beta" ? "内测版" : Le[s.state];
111
+ }
112
+ function xe() {
113
+ const s = navigator.userAgent;
114
+ return /iPad|iPhone|iPod/.test(s) ? "ios" : /Android/i.test(s) ? "android" : /Mac OS X|Macintosh/.test(s) ? "macos" : "web";
115
+ }
116
+ function w() {
117
+ if (typeof window > "u") return null;
118
+ const s = new URLSearchParams(window.location.search).get("platform");
119
+ return s && g.some((c) => c.key === s) ? s : null;
120
+ }
121
+ function We() {
122
+ const [s, c] = o(null), [h, y] = o(null), [b, f] = o(!1), [p, u] = o(!1), [_, T] = o(
123
+ w
124
+ ), [A, Be] = o(() => xe());
125
+ m(() => {
126
+ let a = !0;
127
+ return N(S).then((t) => {
128
+ a && (c(t), f(!0));
129
+ }).catch(() => a && f(!0)), N(C).then((t) => {
130
+ a && (y(t), u(!0));
131
+ }).catch(() => a && u(!0)), () => {
132
+ a = !1;
133
+ };
134
+ }, []), m(() => {
135
+ const a = () => T(w());
136
+ return window.addEventListener("popstate", a), () => window.removeEventListener("popstate", a);
137
+ }, []), m(() => {
138
+ if (!_) return;
139
+ const a = document.getElementById(`dl-${_}`);
140
+ if (!a) return;
141
+ const t = window.setTimeout(
142
+ () => a.scrollIntoView({ behavior: "smooth", block: "center" }),
143
+ 120
144
+ );
145
+ return () => window.clearTimeout(t);
146
+ }, [_]);
147
+ const P = k(() => {
148
+ const a = /iPad|iPhone|iPod|Android/i.test(navigator.userAgent);
149
+ l.push(a ? "/phone" : "/workspace");
150
+ }, []), i = k(
151
+ (a) => a === "macos" ? v(s, "macos") : a === "windows" ? v(s, "windows") : a === "android" ? h : null,
152
+ [s, h]
153
+ ), L = (a) => {
154
+ const t = i(a.key);
155
+ return a.key === "macos" ? t ? /* @__PURE__ */ r(
156
+ "a",
157
+ {
158
+ className: e.btnPrimary,
159
+ href: t.downloadUrl,
160
+ target: "_blank",
161
+ rel: "noreferrer",
162
+ children: [
163
+ /* @__PURE__ */ n(d, { name: "download", size: 15, strokeWidth: 2 }),
164
+ "下载 DMG · v",
165
+ t.version
166
+ ]
167
+ }
168
+ ) : /* @__PURE__ */ n("button", { className: e.btnDisabled, disabled: !0, children: b ? "版本清单未获取" : "版本清单加载中…" }) : a.key === "windows" ? t ? /* @__PURE__ */ r(
169
+ "a",
170
+ {
171
+ className: e.btnPrimary,
172
+ href: t.downloadUrl,
173
+ target: "_blank",
174
+ rel: "noreferrer",
175
+ children: [
176
+ /* @__PURE__ */ n(d, { name: "download", size: 15, strokeWidth: 2 }),
177
+ "下载 Windows 版 · v",
178
+ t.version
179
+ ]
180
+ }
181
+ ) : /* @__PURE__ */ n("button", { className: e.btnDisabled, disabled: !0, children: b ? "版本清单未获取" : "版本清单加载中…" }) : a.key === "android" ? t ? /* @__PURE__ */ r(
182
+ "a",
183
+ {
184
+ className: e.btnPrimary,
185
+ href: t.downloadUrl,
186
+ target: "_blank",
187
+ rel: "noreferrer",
188
+ children: [
189
+ /* @__PURE__ */ n(d, { name: "download", size: 15, strokeWidth: 2 }),
190
+ "下载 APK · v",
191
+ t.version
192
+ ]
193
+ }
194
+ ) : /* @__PURE__ */ n("button", { className: e.btnDisabled, disabled: !0, children: p ? "即将发布 · 敬请期待" : "版本清单加载中…" }) : a.key === "ios" ? /* @__PURE__ */ n("button", { className: e.btnDisabled, disabled: !0, children: "内测资格申请中 · 敬请期待" }) : a.key === "web" ? /* @__PURE__ */ r("button", { className: e.btnPrimary, onClick: P, children: [
195
+ /* @__PURE__ */ n(d, { name: "arrow", size: 15, strokeWidth: 2 }),
196
+ "立即进入工作台"
197
+ ] }) : a.key === "cli" ? /* @__PURE__ */ n(
198
+ "button",
199
+ {
200
+ className: e.btnGhost,
201
+ onClick: () => l.push("/docs"),
202
+ children: "查看接入方式"
203
+ }
204
+ ) : /* @__PURE__ */ n("button", { className: e.btnDisabled, disabled: !0, children: "安装包制作中" });
205
+ }, D = (a) => {
206
+ const t = i(a.key);
207
+ return t ? /* @__PURE__ */ r("div", { className: e.metaRow, children: [
208
+ /* @__PURE__ */ r("span", { className: e.metaItem, children: [
209
+ /* @__PURE__ */ n(d, { name: "check", size: 13, strokeWidth: 2.2 }),
210
+ "v",
211
+ t.version
212
+ ] }),
213
+ t.fileSize > 0 && /* @__PURE__ */ n("span", { className: e.metaItem, children: O(t.fileSize) }),
214
+ t.releaseTime && /* @__PURE__ */ n("span", { className: e.metaItem, children: W(t.releaseTime) }),
215
+ t.arch && /* @__PURE__ */ n("span", { className: e.metaItem, children: t.arch })
216
+ ] }) : null;
217
+ }, I = M(
218
+ () => g.filter((a) => a.key === "web" || a.key === "cli" ? !0 : !!i(a.key)).length,
219
+ [i]
220
+ );
221
+ return /* @__PURE__ */ r("div", { className: e.page, children: [
222
+ /* @__PURE__ */ n("div", { className: e.bgWash }),
223
+ /* @__PURE__ */ n("div", { className: e.bgGrid }),
224
+ /* @__PURE__ */ n("nav", { className: e.navbar, children: /* @__PURE__ */ r("div", { className: e.navInner, children: [
225
+ /* @__PURE__ */ r(
226
+ "div",
227
+ {
228
+ className: e.navBrand,
229
+ onClick: () => l.push("/welcome"),
230
+ role: "button",
231
+ tabIndex: 0,
232
+ children: [
233
+ /* @__PURE__ */ n("span", { className: e.navMark, children: "ZO" }),
234
+ /* @__PURE__ */ n("span", { className: e.navBrandText, children: "Z-OPC" })
235
+ ]
236
+ }
237
+ ),
238
+ /* @__PURE__ */ n(
239
+ "button",
240
+ {
241
+ className: e.navBack,
242
+ onClick: () => l.push("/welcome"),
243
+ children: "返回产品首页"
244
+ }
245
+ )
246
+ ] }) }),
247
+ /* @__PURE__ */ r("header", { className: e.hero, children: [
248
+ /* @__PURE__ */ r("span", { className: e.eyebrow, children: [
249
+ /* @__PURE__ */ n("span", { className: e.eyebrowDot }),
250
+ "下载中心"
251
+ ] }),
252
+ /* @__PURE__ */ n("h1", { className: e.heroTitle, children: "全平台客户端" }),
253
+ /* @__PURE__ */ r("p", { className: e.heroLead, children: [
254
+ g.length,
255
+ " 个终端、同一条消息协议、同一套账号。 桌面端跑本地 Agent,移动端随手跟进,Web 与 CLI 随时接入。 当前 ",
256
+ I,
257
+ " 个终端可直接下载或使用。"
258
+ ] })
259
+ ] }),
260
+ /* @__PURE__ */ n("main", { className: e.grid, children: g.map((a) => {
261
+ const t = i(a.key), x = a.key === A, B = _ === a.key;
262
+ return /* @__PURE__ */ r(
263
+ "section",
264
+ {
265
+ id: `dl-${a.key}`,
266
+ className: `${e.card} ${B ? e.cardFocused : ""}`,
267
+ children: [
268
+ /* @__PURE__ */ r("div", { className: e.cardHead, children: [
269
+ /* @__PURE__ */ n("span", { className: e.cardIcon, children: /* @__PURE__ */ n(
270
+ d,
271
+ {
272
+ name: a.icon,
273
+ size: 21,
274
+ strokeWidth: 1.8
275
+ }
276
+ ) }),
277
+ /* @__PURE__ */ r("div", { className: e.cardHeadText, children: [
278
+ /* @__PURE__ */ n("h2", { className: e.cardTitle, children: a.name }),
279
+ /* @__PURE__ */ n("div", { className: e.cardEn, children: a.en })
280
+ ] }),
281
+ /* @__PURE__ */ r("div", { className: e.cardBadges, children: [
282
+ x && /* @__PURE__ */ n("span", { className: e.badgeDevice, children: "当前设备" }),
283
+ /* @__PURE__ */ n(
284
+ "span",
285
+ {
286
+ className: `${e.badge} ${e[`badge_${De(a, t)}`]}`,
287
+ children: Ie(a, t)
288
+ }
289
+ )
290
+ ] })
291
+ ] }),
292
+ /* @__PURE__ */ n("p", { className: e.cardDesc, children: a.desc }),
293
+ D(a),
294
+ (t == null ? void 0 : t.changelog) && /* @__PURE__ */ r("div", { className: e.changelog, children: [
295
+ /* @__PURE__ */ n("span", { className: e.changelogLabel, children: "本次更新" }),
296
+ /* @__PURE__ */ n("p", { className: e.changelogText, children: t.changelog })
297
+ ] }),
298
+ a.key === "ios" && /* @__PURE__ */ r("ol", { className: e.steps, children: [
299
+ /* @__PURE__ */ r("li", { children: [
300
+ "在 App Store 搜索并安装",
301
+ " ",
302
+ /* @__PURE__ */ n("b", { children: "TestFlight" }),
303
+ "(苹果官方测试平台)"
304
+ ] }),
305
+ /* @__PURE__ */ r("li", { children: [
306
+ "用 iPhone 打开",
307
+ /* @__PURE__ */ n("b", { children: "邀请链接" }),
308
+ ",点击「接受」 加入内测"
309
+ ] }),
310
+ /* @__PURE__ */ r("li", { children: [
311
+ "在 TestFlight 中安装 Z-OPC,后续版本",
312
+ /* @__PURE__ */ n("b", { children: "自动推送" })
313
+ ] })
314
+ ] }),
315
+ /* @__PURE__ */ n("div", { className: e.cardAction, children: L(a) }),
316
+ a.key === "macos" && /* @__PURE__ */ n("p", { className: e.cardNote, children: "下载后拖入「应用程序」即可使用,客户端支持自动检查更新" }),
317
+ a.key === "web" && /* @__PURE__ */ n("p", { className: e.cardNote, children: "平台 SSO 登录后使用,数据与客户端完全同步" }),
318
+ a.key === "android" && /* @__PURE__ */ n("p", { className: e.cardNote, children: "建议用手机浏览器打开本页直接下载安装" })
319
+ ]
320
+ },
321
+ a.key
322
+ );
323
+ }) }),
324
+ /* @__PURE__ */ r("footer", { className: e.footer, children: [
325
+ /* @__PURE__ */ n("span", { children: "© 2026 Z-OPC · 一人公司基建" }),
326
+ /* @__PURE__ */ n(
327
+ "button",
328
+ {
329
+ className: e.footerLink,
330
+ onClick: () => l.push("/welcome"),
331
+ children: "返回产品首页"
332
+ }
333
+ )
334
+ ] })
335
+ ] });
336
+ }
337
+ export {
338
+ We as default
339
+ };