aitu-app 0.5.14 → 0.5.15

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.

Potentially problematic release.


This version of aitu-app might be problematic. Click here for more details.

Files changed (110) hide show
  1. package/README.md +3 -2
  2. package/assets/{ChatMessagesArea-CkUX81uB.js → ChatMessagesArea-CJPMwgOQ.js} +3 -3
  3. package/assets/{ToolboxDrawer-By1XMh8B.js → ToolboxDrawer-BZkRey45.js} +1 -1
  4. package/assets/{ai-analyze-Db-iXol6.js → ai-analyze-CKKkojLn.js} +1 -1
  5. package/assets/{arc-ajYHRRnk.js → arc-DpZjyIR9.js} +1 -1
  6. package/assets/{arc-BZXVqUcI.js → arc-amy12ZHI.js} +1 -1
  7. package/assets/{batch-image-generation-Baqb01Lm.js → batch-image-generation-CqSButZp.js} +1 -1
  8. package/assets/{blockDiagram-38ab4fdb-BT3H_WVv.js → blockDiagram-38ab4fdb-Bb_sM5Hm.js} +1 -1
  9. package/assets/{blockDiagram-38ab4fdb-u0xYP3Lt.js → blockDiagram-38ab4fdb-DO5SLxgD.js} +1 -1
  10. package/assets/{c4Diagram-3d4e48cf-CBvM6zjM.js → c4Diagram-3d4e48cf-D1hzTotE.js} +1 -1
  11. package/assets/{c4Diagram-3d4e48cf-WOIEVidH.js → c4Diagram-3d4e48cf-IYlxbdWH.js} +1 -1
  12. package/assets/channel-DuH6cax_.js +1 -0
  13. package/assets/channel-V941kNNl.js +1 -0
  14. package/assets/{classDiagram-70f12bd4-Cl9U1r5F.js → classDiagram-70f12bd4-CMCkiBrF.js} +1 -1
  15. package/assets/{classDiagram-70f12bd4-BMutcvFi.js → classDiagram-70f12bd4-C_DG-_VE.js} +1 -1
  16. package/assets/{classDiagram-v2-f2320105-C0agtbR4.js → classDiagram-v2-f2320105-DdbTRsFm.js} +1 -1
  17. package/assets/{classDiagram-v2-f2320105-tCBzATK6.js → classDiagram-v2-f2320105-Y5yPoT7w.js} +1 -1
  18. package/assets/clone-BoLnjeh7.js +1 -0
  19. package/assets/clone-DufRhyQM.js +1 -0
  20. package/assets/{createText-2e5e7dd3-CZ9_fscE.js → createText-2e5e7dd3-DWMoiN14.js} +1 -1
  21. package/assets/{createText-2e5e7dd3-idrqgJjU.js → createText-2e5e7dd3-Q_TpnKHS.js} +1 -1
  22. package/assets/{edges-e0da2a9e-C-RyePMV.js → edges-e0da2a9e-Br_hn5Hn.js} +1 -1
  23. package/assets/{edges-e0da2a9e-DJXAjJSL.js → edges-e0da2a9e-DMfYzMhl.js} +1 -1
  24. package/assets/{erDiagram-9861fffd-x2Kcy95-.js → erDiagram-9861fffd-8s6fny9G.js} +1 -1
  25. package/assets/{erDiagram-9861fffd-DWJR_3zL.js → erDiagram-9861fffd-CslzjwB2.js} +1 -1
  26. package/assets/{flowDb-956e92f1-CF6y18Tn.js → flowDb-956e92f1-BsxQxnaW.js} +1 -1
  27. package/assets/{flowDb-956e92f1-BgKjOIdz.js → flowDb-956e92f1-Bsz7tEUu.js} +1 -1
  28. package/assets/{flowDiagram-66a62f08-CSAllSFf.js → flowDiagram-66a62f08-C0iQ7Eg0.js} +1 -1
  29. package/assets/{flowDiagram-66a62f08-BPPw0wPU.js → flowDiagram-66a62f08-DLXaK0x0.js} +1 -1
  30. package/assets/flowDiagram-v2-96b9c2cf-Be_fSVIi.js +1 -0
  31. package/assets/flowDiagram-v2-96b9c2cf-C-_-kXrI.js +1 -0
  32. package/assets/{flowchart-elk-definition-4a651766-DWFN9DN3.js → flowchart-elk-definition-4a651766-2JQap1Bs.js} +1 -1
  33. package/assets/{flowchart-elk-definition-4a651766-9XSRJbsr.js → flowchart-elk-definition-4a651766-UQLaW6cl.js} +1 -1
  34. package/assets/{ganttDiagram-c361ad54-D9tbz9tQ.js → ganttDiagram-c361ad54-Cfdrec1H.js} +1 -1
  35. package/assets/{ganttDiagram-c361ad54-ot5pUYpT.js → ganttDiagram-c361ad54-hShkYpY_.js} +1 -1
  36. package/assets/{gitGraphDiagram-72cf32ee-C6qFzgGh.js → gitGraphDiagram-72cf32ee-CJw4loHZ.js} +1 -1
  37. package/assets/{gitGraphDiagram-72cf32ee-BFV3Mt8C.js → gitGraphDiagram-72cf32ee-D6obWSUI.js} +1 -1
  38. package/assets/{graph-BxwlF7JS.js → graph-CUK2kA3Q.js} +1 -1
  39. package/assets/{graph-D-2Ldvxg.js → graph-DvHs9g2k.js} +1 -1
  40. package/assets/{grid-image-cM9AmYC8.js → grid-image-DioDaenp.js} +1 -1
  41. package/assets/{has-CgdIPiQG.js → has-C9yYx3eK.js} +1 -1
  42. package/assets/{hasIn-4iY02rGN.js → hasIn-DZErb2GY.js} +1 -1
  43. package/assets/{index-3862675e-CVZnpwDN.js → index-3862675e-CmpgM8FI.js} +1 -1
  44. package/assets/{index-3862675e-DqdI9cab.js → index-3862675e-DIpatAx8.js} +1 -1
  45. package/assets/{index-DBWqXBIQ.js → index-6dh_xpWk.js} +1 -1
  46. package/assets/{index-DWUAFoZG.js → index-BBCAc4Al.js} +9 -9
  47. package/assets/{index-BicRPzXC.js → index-BENzx6Jm.js} +1 -1
  48. package/assets/{index-BwSGXyRr.js → index-CMnHM-d8.js} +4 -4
  49. package/assets/{index-e05Rs4M6.js → index-D6IbVyW6.js} +1 -1
  50. package/assets/{index-CkpXFt8n.js → index-DDjAsbde.js} +1 -1
  51. package/assets/{index-Dn0YtZ2R.js → index-Dg-P8uA3.js} +1 -1
  52. package/assets/{index-CrxF9gFe.js → index-JzVvCLEO.js} +1 -1
  53. package/assets/{infoDiagram-f8f76790-FKC1Sy9Y.js → infoDiagram-f8f76790-DVba3P4U.js} +1 -1
  54. package/assets/{infoDiagram-f8f76790-CnrpwoOt.js → infoDiagram-f8f76790-n-jV57cF.js} +1 -1
  55. package/assets/{inspiration-board-B_-BBBHt.js → inspiration-board--PQTKq9U.js} +1 -1
  56. package/assets/{isEmpty-Dj2GV0v-.js → isEmpty-CRiX5iwN.js} +1 -1
  57. package/assets/{journeyDiagram-49397b02-B7fP21sU.js → journeyDiagram-49397b02-DxSFNQYs.js} +1 -1
  58. package/assets/{journeyDiagram-49397b02-Dp3X9XWq.js → journeyDiagram-49397b02-WGL-3jNv.js} +1 -1
  59. package/assets/{layout-BD3yCK_X.js → layout-25V5jGUW.js} +1 -1
  60. package/assets/{layout-DHHYqX7p.js → layout-CawIP_cF.js} +1 -1
  61. package/assets/{line-B3bNrkzn.js → line-D5ZQcCU6.js} +1 -1
  62. package/assets/{line-B86HLuqu.js → line-DuKdCx_E.js} +1 -1
  63. package/assets/{linear-wCAlMhOS.js → linear-3V_n7zlW.js} +1 -1
  64. package/assets/{linear-DU2Ciymb.js → linear-BlVhwFrV.js} +1 -1
  65. package/assets/{mermaid.core-DfVvnpgz.js → mermaid.core--Np12uGY.js} +4 -4
  66. package/assets/{mindmap-definition-fc14e90a-D1sxE3xG.js → mindmap-definition-fc14e90a-C96nL64E.js} +1 -1
  67. package/assets/{mindmap-definition-fc14e90a-YuSOJC7P.js → mindmap-definition-fc14e90a-UZifAYnn.js} +1 -1
  68. package/assets/{photo-wall-splitter-BVU2e0aS.js → photo-wall-splitter-DZyQuDUg.js} +1 -1
  69. package/assets/{pick-Cvlwra4g.js → pick-B51S9oWq.js} +1 -1
  70. package/assets/{pieDiagram-8a3498a8-B6mJUqro.js → pieDiagram-8a3498a8-B_UU-v6b.js} +1 -1
  71. package/assets/{pieDiagram-8a3498a8-B91bWgo_.js → pieDiagram-8a3498a8-DXEMg8-z.js} +1 -1
  72. package/assets/{quadrantDiagram-120e2f19-BxS8fQEz.js → quadrantDiagram-120e2f19-BpCIEZWH.js} +1 -1
  73. package/assets/{quadrantDiagram-120e2f19-DwudONqx.js → quadrantDiagram-120e2f19-THiHerb8.js} +1 -1
  74. package/assets/{requirementDiagram-deff3bca-DygaMIoy.js → requirementDiagram-deff3bca-BLEvJckC.js} +1 -1
  75. package/assets/{requirementDiagram-deff3bca-v9xlgfS8.js → requirementDiagram-deff3bca-qJ4hHh6O.js} +1 -1
  76. package/assets/{sankeyDiagram-04a897e0-BXCiXiyw.js → sankeyDiagram-04a897e0-C5moR6iD.js} +1 -1
  77. package/assets/{sankeyDiagram-04a897e0-BV23dp4l.js → sankeyDiagram-04a897e0-Clk-gmpQ.js} +1 -1
  78. package/assets/{sequenceDiagram-704730f1-CObRpNi4.js → sequenceDiagram-704730f1-Ch9GmBP7.js} +1 -1
  79. package/assets/{sequenceDiagram-704730f1-Ck69A6wI.js → sequenceDiagram-704730f1-DRHB_a_K.js} +1 -1
  80. package/assets/{settings-dialog-BlCO49C4.js → settings-dialog-Cgmye4jO.js} +1 -1
  81. package/assets/{stateDiagram-587899a1-J_G6I0oo.js → stateDiagram-587899a1-Bu42pkUv.js} +1 -1
  82. package/assets/{stateDiagram-587899a1-z-tKclr3.js → stateDiagram-587899a1-bnuzZWVC.js} +1 -1
  83. package/assets/{stateDiagram-v2-d93cdb3a-DsThtOzP.js → stateDiagram-v2-d93cdb3a-3bX_yI1j.js} +1 -1
  84. package/assets/{stateDiagram-v2-d93cdb3a-XIvq5t8a.js → stateDiagram-v2-d93cdb3a-DLzO3ON3.js} +1 -1
  85. package/assets/{styles-6aaf32cf-1fjuNMUk.js → styles-6aaf32cf-CyzTJ9FB.js} +1 -1
  86. package/assets/{styles-6aaf32cf-DT2rVNfQ.js → styles-6aaf32cf-qL7GgrGp.js} +1 -1
  87. package/assets/{styles-9a916d00-fLeUSina.js → styles-9a916d00-DYu1WXui.js} +1 -1
  88. package/assets/{styles-9a916d00-q64Umkis.js → styles-9a916d00-Dv_u24Fv.js} +1 -1
  89. package/assets/{styles-c10674c1-CtYpjMYU.js → styles-c10674c1-C8mVn82x.js} +1 -1
  90. package/assets/{styles-c10674c1-BWlxVc3Q.js → styles-c10674c1-CBAvChyC.js} +1 -1
  91. package/assets/{svgDrawCommon-08f97a94-C_DhKfny.js → svgDrawCommon-08f97a94-Cma2KGuK.js} +1 -1
  92. package/assets/{svgDrawCommon-08f97a94-DSBqmUv2.js → svgDrawCommon-08f97a94-p3hABH7b.js} +1 -1
  93. package/assets/{timeline-definition-85554ec2-dTkYwoLF.js → timeline-definition-85554ec2-SwmuytFv.js} +1 -1
  94. package/assets/{timeline-definition-85554ec2-AKpzwLPN.js → timeline-definition-85554ec2-XppLsb9g.js} +1 -1
  95. package/assets/{ttd-dialog-CxiaIUuJ.js → ttd-dialog-DeYFjfFN.js} +5 -5
  96. package/assets/{upload-4sxUU7q_.js → upload-B0RQ9yYL.js} +1 -1
  97. package/assets/{video-recovery-service-BckHbSyK.js → video-recovery-service-XnlUYAOr.js} +1 -1
  98. package/assets/{xychartDiagram-e933f94c-DCmvL0ag.js → xychartDiagram-e933f94c-C8xFRDll.js} +1 -1
  99. package/assets/{xychartDiagram-e933f94c-aqOiXp_u.js → xychartDiagram-e933f94c-CedgK1zZ.js} +1 -1
  100. package/index.html +2 -2
  101. package/package.json +1 -1
  102. package/sw.js +1 -1
  103. package/version.json +3 -7
  104. package/versions.html +374 -0
  105. package/assets/channel-BP25wTsw.js +0 -1
  106. package/assets/channel-HzrLNFUg.js +0 -1
  107. package/assets/clone-B69pF7Y_.js +0 -1
  108. package/assets/clone-oX7o-l4R.js +0 -1
  109. package/assets/flowDiagram-v2-96b9c2cf-B-UGyXRi.js +0 -1
  110. package/assets/flowDiagram-v2-96b9c2cf-Cm596kxZ.js +0 -1
package/versions.html ADDED
@@ -0,0 +1,374 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Aitu 版本选择</title>
7
+ <style>
8
+ :root {
9
+ --primary-color: #F39C12;
10
+ --primary-hover: #E67E22;
11
+ --bg-color: #f5f5f5;
12
+ --card-bg: #ffffff;
13
+ --text-color: #333;
14
+ --text-secondary: #666;
15
+ --border-color: #e0e0e0;
16
+ }
17
+
18
+ @media (prefers-color-scheme: dark) {
19
+ :root {
20
+ --bg-color: #1a1a1a;
21
+ --card-bg: #2d2d2d;
22
+ --text-color: #e0e0e0;
23
+ --text-secondary: #999;
24
+ --border-color: #404040;
25
+ }
26
+ }
27
+
28
+ * {
29
+ box-sizing: border-box;
30
+ margin: 0;
31
+ padding: 0;
32
+ }
33
+
34
+ body {
35
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
36
+ background: var(--bg-color);
37
+ color: var(--text-color);
38
+ min-height: 100vh;
39
+ padding: 40px 20px;
40
+ }
41
+
42
+ .container {
43
+ max-width: 600px;
44
+ margin: 0 auto;
45
+ }
46
+
47
+ header {
48
+ text-align: center;
49
+ margin-bottom: 40px;
50
+ }
51
+
52
+ .logo {
53
+ font-size: 48px;
54
+ margin-bottom: 16px;
55
+ }
56
+
57
+ h1 {
58
+ font-size: 28px;
59
+ font-weight: 600;
60
+ margin-bottom: 8px;
61
+ }
62
+
63
+ .subtitle {
64
+ color: var(--text-secondary);
65
+ font-size: 14px;
66
+ }
67
+
68
+ .loading {
69
+ text-align: center;
70
+ padding: 40px;
71
+ color: var(--text-secondary);
72
+ }
73
+
74
+ .loading-spinner {
75
+ width: 40px;
76
+ height: 40px;
77
+ border: 3px solid var(--border-color);
78
+ border-top-color: var(--primary-color);
79
+ border-radius: 50%;
80
+ animation: spin 1s linear infinite;
81
+ margin: 0 auto 16px;
82
+ }
83
+
84
+ @keyframes spin {
85
+ to { transform: rotate(360deg); }
86
+ }
87
+
88
+ .error {
89
+ background: #fee;
90
+ border: 1px solid #fcc;
91
+ border-radius: 8px;
92
+ padding: 16px;
93
+ color: #c00;
94
+ text-align: center;
95
+ }
96
+
97
+ .version-list {
98
+ display: flex;
99
+ flex-direction: column;
100
+ gap: 12px;
101
+ }
102
+
103
+ .version-item {
104
+ background: var(--card-bg);
105
+ border: 1px solid var(--border-color);
106
+ border-radius: 12px;
107
+ padding: 16px 20px;
108
+ display: flex;
109
+ justify-content: space-between;
110
+ align-items: center;
111
+ text-decoration: none;
112
+ color: var(--text-color);
113
+ transition: all 0.2s ease;
114
+ }
115
+
116
+ .version-item:hover {
117
+ border-color: var(--primary-color);
118
+ transform: translateY(-2px);
119
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
120
+ }
121
+
122
+ .version-item.latest {
123
+ border-color: var(--primary-color);
124
+ background: linear-gradient(135deg, rgba(243, 156, 18, 0.05), rgba(230, 126, 34, 0.05));
125
+ }
126
+
127
+ .version-info {
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: 4px;
131
+ }
132
+
133
+ .version-number {
134
+ font-size: 18px;
135
+ font-weight: 600;
136
+ }
137
+
138
+ .version-date {
139
+ font-size: 12px;
140
+ color: var(--text-secondary);
141
+ }
142
+
143
+ .version-tag {
144
+ background: var(--primary-color);
145
+ color: white;
146
+ font-size: 12px;
147
+ padding: 4px 10px;
148
+ border-radius: 12px;
149
+ font-weight: 500;
150
+ }
151
+
152
+ .arrow {
153
+ color: var(--text-secondary);
154
+ font-size: 20px;
155
+ }
156
+
157
+ .footer {
158
+ margin-top: 40px;
159
+ text-align: center;
160
+ color: var(--text-secondary);
161
+ font-size: 13px;
162
+ }
163
+
164
+ .footer a {
165
+ color: var(--primary-color);
166
+ text-decoration: none;
167
+ }
168
+
169
+ .footer a:hover {
170
+ text-decoration: underline;
171
+ }
172
+
173
+ .cdn-info {
174
+ margin-top: 12px;
175
+ padding: 12px;
176
+ background: var(--card-bg);
177
+ border: 1px solid var(--border-color);
178
+ border-radius: 8px;
179
+ font-size: 12px;
180
+ }
181
+
182
+ .cdn-info code {
183
+ background: var(--bg-color);
184
+ padding: 2px 6px;
185
+ border-radius: 4px;
186
+ font-family: monospace;
187
+ }
188
+ </style>
189
+ </head>
190
+ <body>
191
+ <div class="container">
192
+ <header>
193
+ <div class="logo">🎨</div>
194
+ <h1>Aitu 版本选择</h1>
195
+ <p class="subtitle">选择一个版本开始使用</p>
196
+ </header>
197
+
198
+ <div id="content">
199
+ <div class="loading">
200
+ <div class="loading-spinner"></div>
201
+ <p>加载版本列表...</p>
202
+ </div>
203
+ </div>
204
+
205
+ <footer class="footer">
206
+ <p>
207
+ <a href="https://github.com/ljquan/aitu" target="_blank">GitHub</a> ·
208
+ <a href="https://opentu.ai" target="_blank">官网</a>
209
+ <span id="moreVersionsLink"> · <a href="https://release.opentu.ai" target="_blank">更多版本</a></span>
210
+ </p>
211
+ <div class="cdn-info" id="cdnInfo">
212
+ 通过 <a href="https://unpkg.com" target="_blank">unpkg</a> CDN 提供服务<br>
213
+ 直接访问: <code>https://unpkg.com/aitu-app@版本号/index.html</code>
214
+ </div>
215
+ </footer>
216
+ </div>
217
+
218
+ <script>
219
+ const PACKAGE_NAME = 'aitu-app';
220
+ const NPM_REGISTRY = 'https://registry.npmjs.org';
221
+
222
+ // 检测当前 CDN 环境
223
+ function getCDNBase() {
224
+ const hostname = window.location.hostname;
225
+ if (hostname === 'unpkg.com') {
226
+ return 'https://unpkg.com';
227
+ } else if (hostname.includes('jsdelivr')) {
228
+ return 'https://cdn.jsdelivr.net/npm';
229
+ }
230
+ // 本地开发或其他环境
231
+ return null;
232
+ }
233
+
234
+ // 生成版本链接
235
+ function getVersionUrl(version) {
236
+ const cdnBase = getCDNBase();
237
+ if (cdnBase === 'https://unpkg.com') {
238
+ return `https://unpkg.com/${PACKAGE_NAME}@${version}/index.html`;
239
+ } else if (cdnBase) {
240
+ return `${cdnBase}/${PACKAGE_NAME}@${version}/index.html`;
241
+ }
242
+ // 本地环境使用相对路径
243
+ return `./index.html`;
244
+ }
245
+
246
+ // 格式化日期
247
+ function formatDate(dateStr) {
248
+ const date = new Date(dateStr);
249
+ return date.toLocaleDateString('zh-CN', {
250
+ year: 'numeric',
251
+ month: 'short',
252
+ day: 'numeric'
253
+ });
254
+ }
255
+
256
+ // 比较版本号
257
+ function compareVersions(a, b) {
258
+ const partsA = a.split('.').map(Number);
259
+ const partsB = b.split('.').map(Number);
260
+ for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
261
+ const numA = partsA[i] || 0;
262
+ const numB = partsB[i] || 0;
263
+ if (numA > numB) return -1;
264
+ if (numA < numB) return 1;
265
+ }
266
+ return 0;
267
+ }
268
+
269
+ // 加载版本列表
270
+ async function loadVersions() {
271
+ const content = document.getElementById('content');
272
+
273
+ try {
274
+ // 从 npm registry 获取包信息
275
+ const response = await fetch(`${NPM_REGISTRY}/${PACKAGE_NAME}`);
276
+ if (!response.ok) {
277
+ throw new Error(`HTTP ${response.status}`);
278
+ }
279
+
280
+ const data = await response.json();
281
+ const versions = Object.keys(data.versions || {});
282
+ const times = data.time || {};
283
+ const latestVersion = data['dist-tags']?.latest;
284
+
285
+ // 按版本号降序排列
286
+ versions.sort(compareVersions);
287
+
288
+ // 只显示最近 20 个版本
289
+ const recentVersions = versions.slice(0, 20);
290
+
291
+ if (recentVersions.length === 0) {
292
+ content.innerHTML = '<div class="error">暂无可用版本</div>';
293
+ return;
294
+ }
295
+
296
+ const html = `
297
+ <div class="version-list">
298
+ ${recentVersions.map(version => {
299
+ const isLatest = version === latestVersion;
300
+ const publishDate = times[version] ? formatDate(times[version]) : '';
301
+ const url = getVersionUrl(version);
302
+
303
+ return `
304
+ <a href="${url}" class="version-item ${isLatest ? 'latest' : ''}">
305
+ <div class="version-info">
306
+ <span class="version-number">v${version}</span>
307
+ ${publishDate ? `<span class="version-date">${publishDate}</span>` : ''}
308
+ </div>
309
+ <div style="display: flex; align-items: center; gap: 12px;">
310
+ ${isLatest ? '<span class="version-tag">最新</span>' : ''}
311
+ <span class="arrow">→</span>
312
+ </div>
313
+ </a>
314
+ `;
315
+ }).join('')}
316
+ </div>
317
+ `;
318
+
319
+ content.innerHTML = html;
320
+
321
+ } catch (error) {
322
+ console.error('Failed to load versions:', error);
323
+ content.innerHTML = `
324
+ <div class="error">
325
+ 加载版本列表失败<br>
326
+ <small>${error.message}</small>
327
+ </div>
328
+ `;
329
+ }
330
+ }
331
+
332
+ // 更新 UI 根据当前环境
333
+ function updateUIForEnvironment() {
334
+ const hostname = window.location.hostname;
335
+ const isUnpkg = hostname === 'unpkg.com';
336
+ const isJsdelivr = hostname.includes('jsdelivr');
337
+ const isCDN = isUnpkg || isJsdelivr;
338
+
339
+ const moreVersionsLink = document.getElementById('moreVersionsLink');
340
+ const cdnInfo = document.getElementById('cdnInfo');
341
+
342
+ if (isCDN) {
343
+ // 在 CDN 环境下,隐藏"更多版本"链接(当前页面就是版本选择)
344
+ // 但保留 release.opentu.ai 链接用于查看自建服务器上的版本
345
+ if (moreVersionsLink) {
346
+ moreVersionsLink.innerHTML = ' · <a href="https://release.opentu.ai" target="_blank">自建服务器版本</a>';
347
+ }
348
+
349
+ // 更新 CDN 信息
350
+ if (cdnInfo) {
351
+ const cdnName = isUnpkg ? 'unpkg' : 'jsDelivr';
352
+ const cdnUrl = isUnpkg ? 'https://unpkg.com' : 'https://cdn.jsdelivr.net';
353
+ cdnInfo.innerHTML = `
354
+ 当前通过 <a href="${cdnUrl}" target="_blank">${cdnName}</a> CDN 访问<br>
355
+ <small>数据存储在浏览器本地,各版本间数据互通</small>
356
+ `;
357
+ }
358
+ } else {
359
+ // 本地或其他环境
360
+ if (cdnInfo) {
361
+ cdnInfo.innerHTML = `
362
+ 本地预览模式<br>
363
+ <small>发布到 npm 后可通过 unpkg/jsdelivr CDN 访问</small>
364
+ `;
365
+ }
366
+ }
367
+ }
368
+
369
+ // 初始化
370
+ updateUIForEnvironment();
371
+ loadVersions();
372
+ </script>
373
+ </body>
374
+ </html>
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./index-BwSGXyRr.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{U as a,C as n}from"./mermaid.core-DfVvnpgz.js";const t=(r,o)=>a.lang.round(n.parse(r)[o]);export{t as c};
@@ -1 +0,0 @@
1
- import{x as r}from"./index-DWUAFoZG.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{b as r}from"./graph-D-2Ldvxg.js";var e=4;function a(o){return r(o,e)}export{a as c};
@@ -1 +0,0 @@
1
- import{f as o,p as e}from"./flowDb-956e92f1-BgKjOIdz.js";import{f as a,a as t}from"./styles-c10674c1-CtYpjMYU.js";import{y as i}from"./mermaid.core-DfVvnpgz.js";import"./graph-D-2Ldvxg.js";import"./layout-DHHYqX7p.js";import"./index-3862675e-CVZnpwDN.js";import"./clone-oX7o-l4R.js";import"./edges-e0da2a9e-C-RyePMV.js";import"./createText-2e5e7dd3-idrqgJjU.js";import"./line-B86HLuqu.js";import"./array-B5oSNiGi.js";import"./path-CY0bYimO.js";import"./channel-HzrLNFUg.js";import"./index-DWUAFoZG.js";const n={parser:e,db:o,renderer:t,styles:a,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,i({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{n as diagram};
@@ -1 +0,0 @@
1
- import{f as o,p as e}from"./flowDb-956e92f1-CF6y18Tn.js";import{f as i,a as t}from"./styles-c10674c1-BWlxVc3Q.js";import{z as a}from"./index-BwSGXyRr.js";import"./graph-BxwlF7JS.js";import"./layout-BD3yCK_X.js";import"./index-3862675e-DqdI9cab.js";import"./index-DWUAFoZG.js";import"./clone-B69pF7Y_.js";import"./edges-e0da2a9e-DJXAjJSL.js";import"./createText-2e5e7dd3-CZ9_fscE.js";import"./index-DI_5V2-m.js";import"./index.dom-C3-224fz.js";import"./line-B3bNrkzn.js";import"./array-BKyUJesY.js";import"./path-CbwjOpE9.js";import"./channel-BP25wTsw.js";import"./isEmpty-Dj2GV0v-.js";import"./has-CgdIPiQG.js";import"./hasIn-4iY02rGN.js";import"./pick-Cvlwra4g.js";const D={parser:e,db:o,renderer:t,styles:i,init:r=>{r.flowchart||(r.flowchart={}),r.flowchart.arrowMarkerAbsolute=r.arrowMarkerAbsolute,a({flowchart:{arrowMarkerAbsolute:r.arrowMarkerAbsolute}}),t.setConf(r.flowchart),o.clear(),o.setGen("gen-2")}};export{D as diagram};