podflow 20250417.1__py3-none-any.whl → 20250427__py3-none-any.whl

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.
@@ -0,0 +1,391 @@
1
+ /* 定义颜色变量 - 浅色模式 */
2
+ :root {
3
+ --bg-color: #f8f9fa;
4
+ --text-color: #333333;
5
+ --secondary-text: #666666;
6
+ --input-bg: #ffffff;
7
+ --input-border: #cccccc;
8
+ --button-bg: #007bff;
9
+ --button-hover: #0056b3;
10
+ --button-text: #ffffff;
11
+ --button-shadow: hsla(0, 0%, 0%, 0.20);
12
+ --menu-bg: #f0f0f0;
13
+ --menu-text: #333333;
14
+ --menu-width: 170px;
15
+ --menu-selected-bg: #cccccc;
16
+ /* 将进度条颜色变量修改为蓝色 */
17
+ --progress-bar-color: #0d6efd; /* 标准蓝色 */
18
+ --background-bar-color: #e0e0e0; /* 浅色背景下的进度条颜色 */
19
+ }
20
+
21
+ /* 深色模式变量 */
22
+ @media (prefers-color-scheme: dark) {
23
+ :root {
24
+ --bg-color: #222222;
25
+ --text-color: #e0e0e0;
26
+ --secondary-text: #aaaaaa;
27
+ --input-bg: #333333;
28
+ --input-border: #555555;
29
+ --button-bg: #0062cc;
30
+ --button-hover: #0069d9;
31
+ --button-text: #f0f0f0;
32
+ --button-shadow: hsla(0, 0%, 0%, 0.40);
33
+ --menu-bg: #333333;
34
+ --menu-text: #e0e0e0;
35
+ --menu-selected-bg: #555555;
36
+ /* 将深色模式下的进度条颜色修改为较亮的蓝色 */
37
+ --progress-bar-color: #315188; /* 较亮的蓝色,适合深色背景 */
38
+ --background-bar-color: #333333; /* 深色背景下的进度条颜色 */
39
+ }
40
+ }
41
+
42
+ .ansi-url{
43
+ color: #4064a0;
44
+ text-decoration: underline;
45
+ }
46
+
47
+ /* ... (其余的 ANSI 颜色、基本样式、表单样式、按钮样式、提示样式、菜单切换按钮、手机端优化、消息和二维码样式保持不变) ... */
48
+ .ansi-30m { color: #000000; }
49
+ .ansi-31m { color: #bb271b; }
50
+ .ansi-32m { color: #61992e; }
51
+ .ansi-33m { color: #bea235; }
52
+ .ansi-34m { color: #4064a0; }
53
+ .ansi-35m { color: #705278; }
54
+ .ansi-36m { color: #449598; }
55
+ .ansi-37m { color: #d4d7d0; }
56
+ .ansi-90m { color: #565752; }
57
+ .ansi-91m { color: #dc3f36; }
58
+ .ansi-92m { color: #53b739; }
59
+ .ansi-93m { color: #f9ea6b; }
60
+ .ansi-94m { color: #7c9ecb; }
61
+ .ansi-95m { color: #de30c5; }
62
+ .ansi-96m { color: #51b2bb; }
63
+ .ansi-97m { color: #eeeeec; }
64
+
65
+ @media (prefers-color-scheme: dark) {
66
+ .ansi-30m { color: #ffffff; }
67
+ .ansi-31m { color: #bb271b; }
68
+ .ansi-32m { color: #61992e; }
69
+ .ansi-33m { color: #bea235; }
70
+ .ansi-34m { color: #4064a0; }
71
+ .ansi-35m { color: #705278; }
72
+ .ansi-36m { color: #449598; }
73
+ .ansi-37m { color: #d4d7d0; }
74
+ .ansi-90m { color: #565752; }
75
+ .ansi-91m { color: #dc3f36; }
76
+ .ansi-92m { color: #53b739; }
77
+ .ansi-93m { color: #f9ea6b; }
78
+ .ansi-94m { color: #7c9ecb; }
79
+ .ansi-95m { color: #de30c5; }
80
+ .ansi-96m { color: #51b2bb; }
81
+ .ansi-97m { color: #eeeeec; }
82
+ }
83
+
84
+ /* 基本样式 */
85
+ body {
86
+ font-family: Arial, sans-serif;
87
+ background-color: var(--bg-color);
88
+ color: var(--text-color);
89
+ transition: background-color 0.3s, color 0.3s;
90
+ margin: 0;
91
+ display: flex;
92
+ }
93
+ nav {
94
+ width: var(--menu-width);
95
+ background-color: var(--menu-bg);
96
+ color: var(--menu-text);
97
+ height: 100vh;
98
+ position: sticky;
99
+ top: 0;
100
+ z-index: 1000;
101
+ transition: width 0.3s, padding 0.3s, color 0.3s;
102
+ }
103
+ nav.hidden {
104
+ width: 0;
105
+ padding: 0;
106
+ overflow: hidden;
107
+ }
108
+ nav ul {
109
+ list-style: none;
110
+ padding: 0;
111
+ }
112
+ nav h3 {
113
+ text-align: center;
114
+ margin: 20px 0 0;
115
+ font-size: 20px;
116
+ }
117
+ nav li {
118
+ margin: 5px 0;
119
+ cursor: pointer;
120
+ transition: background-color 0.3s, color 0.3s;
121
+ padding: 0 20px;
122
+ height: 40px;
123
+ line-height: 40px;
124
+ }
125
+ nav li:hover {
126
+ background-color: var(--menu-selected-bg);
127
+ color: var(--button-hover);
128
+ }
129
+ main {
130
+ flex: 1;
131
+ padding: 40px;
132
+ max-width: 520px;
133
+ transition: margin-left 0.3s;
134
+ }
135
+ main.full {
136
+ margin-left: 0;
137
+ }
138
+
139
+ /* 表单与消息区域共用样式 */
140
+ .common-area {
141
+ width: 100%;
142
+ max-width: 520px;
143
+ padding: 0 8px;
144
+ color: var(--text-color);
145
+ transition: background-color 0.3s, color 0.3s, border-color 0.3s;
146
+ box-sizing: border-box;
147
+ line-height: 1.1;
148
+ overflow-x: auto; /* 当内容超出宽度时显示水平滚动条(可选) */
149
+ overflow-y: auto;
150
+ word-break: break-word;
151
+ overflow-wrap: break-word;
152
+ white-space: pre-wrap; /* 保留换行并允许自动换行 */
153
+ }
154
+ textarea {
155
+ height: 250px;
156
+ font-size: 16px;
157
+ border: 1px solid var(--input-border);
158
+ border-radius: 4px;
159
+ background-color: var(--input-bg);
160
+ font-family: 'Courier New', Courier, monospace; /* 添加字体 */
161
+ }
162
+ #messageDownload {
163
+ max-height: 180px;
164
+ max-width: 99%;
165
+ height: auto;
166
+ border: 0px;
167
+ border-radius: 4px;
168
+ background-color: var(--bg-color);
169
+ }
170
+ #messageArea {
171
+ height: 250px;
172
+ font-size: 12px;
173
+ border: 1px solid var(--input-border);
174
+ border-radius: 4px;
175
+ background-color: var(--input-bg);
176
+ font-family: 'Courier New', Courier, monospace; /* 添加字体 */
177
+ }
178
+ #messageHttp {
179
+ height: 100px;
180
+ font-size: 12px;
181
+ border: 1px solid var(--input-border);
182
+ border-radius: 4px;
183
+ background-color: var(--input-bg);
184
+ font-family: 'Courier New', Courier, monospace; /* 添加字体 */
185
+ }
186
+ .button-container {
187
+ margin-top: 10px;
188
+ display: flex;
189
+ justify-content: center; /* 水平居中 */
190
+ flex-wrap: wrap; /* 换行 */
191
+ gap: 10px; /* 按钮间距 */
192
+ }
193
+ button {
194
+ background-color: var(--button-bg);
195
+ color: var(--button-text);
196
+ border: none;
197
+ padding: 12px 18px;
198
+ font-size: 16px;
199
+ border-radius: 6px;
200
+ cursor: pointer;
201
+ transition: background-color 0.3s, box-shadow 0.3s;
202
+ box-shadow: 2px 2px 8px var(--button-shadow);
203
+ margin: 5px;
204
+ }
205
+ button:hover {
206
+ background-color: var(--button-hover);
207
+ }
208
+ .hint {
209
+ font-size: 14px;
210
+ color: var(--secondary-text);
211
+ margin-top: 10px;
212
+ }
213
+ /* 菜单切换按钮 */
214
+ #toggleMenu {
215
+ width: 35px;
216
+ height: 40px;
217
+ position: fixed;
218
+ left: var(--menu-width);
219
+ top: 5px;
220
+ background: var(--menu-bg);
221
+ border: none;
222
+ font-size: 20px;
223
+ color: var(--text-color);
224
+ cursor: pointer;
225
+ transition: left 0.3s, color 0.3s;
226
+ border-radius: 0 10px 10px 0;
227
+ display: flex;
228
+ justify-content: center;
229
+ align-items: center;
230
+ box-shadow: 0px 0px 8px var(--button-shadow);
231
+ margin: 0;
232
+ }
233
+ #toggleMenu:hover {
234
+ color: var(--button-hover);
235
+ }
236
+
237
+ /* 手机端优化 */
238
+ @media (max-width: 600px) {
239
+ #messageArea, textarea {
240
+ max-width: none;
241
+ }
242
+ button {
243
+ width: 90%;
244
+ }
245
+ nav {
246
+ position: fixed;
247
+ }
248
+ /* 确保页面宽度不会超出视口 */
249
+ body, html {
250
+ width: 100%;
251
+ overflow-x: hidden;
252
+ }
253
+ }
254
+ .message {
255
+ padding: 0px;
256
+ margin: 0px;
257
+ }
258
+
259
+ /* 二维码容器样式 */
260
+ .qrcode-container {
261
+ display: inline-block; /* 让容器并排显示 */
262
+ margin: 0px;
263
+ }
264
+
265
+ .download-container {
266
+ background-color: var(--input-bg);
267
+ border-radius: 25px;
268
+ border: 4px solid var(--input-bg);
269
+ margin: 4px 0; /* 上下20px间距,左右0 */
270
+ }
271
+
272
+ /* 主进度条样式 */
273
+ #mainProgressBar {
274
+ height: 22px;
275
+ font-weight: bold;
276
+ font-size: 16px;
277
+ }
278
+ .pb-bar {
279
+ max-width: 100%;
280
+ height: 17px;
281
+ background-color: var(--background-bar-color); /* 考虑使用变量 */
282
+ border-radius: 12px;
283
+ overflow: hidden;
284
+ position: relative;
285
+ border: 1px solid var(--input-border);
286
+ font-size: 11px;
287
+ }
288
+ .pb-progress {
289
+ height: 100%;
290
+ background-color: var(--progress-bar-color);
291
+ width: 0%; /* 根据实际进度更新 */
292
+ transition: width 0.3s ease-in-out;
293
+ border-radius: 12px;
294
+ /* 多背景 */
295
+ background-image:
296
+ linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%),
297
+ linear-gradient(to right, rgba(255, 255, 255, 0.15) 0%, rgba(0, 0, 0, 0.15) 100%);
298
+ background-size: 200% 100%, 100% 100%;
299
+ background-repeat: no-repeat, no-repeat;
300
+ /* 初始背景位置 */
301
+ background-position: 100% 0, 0 0; /* 脉冲初始在左侧 */
302
+ }
303
+ /* 脉冲动画效果 */
304
+ .pb-progress.pb-animated {
305
+ /* 动画:名称 时长 缓动函数 延迟 次数 方向 填充模式 播放状态 */
306
+ animation: pb-pulse-lr 4s linear infinite alternate; /* 添加 alternate */
307
+ /* 注意:你也可以调整时长,例如 2s 让单程更快 */
308
+ }
309
+ /* 关键帧动画 (保持 L-to-R 定义) */
310
+ @keyframes pb-pulse-lr {
311
+ 0% {
312
+ /* 脉冲背景的右边缘对齐容器右边缘 (高亮在左边缘) */
313
+ background-position: 100% 0, 0 0;
314
+ }
315
+ 100% {
316
+ /* 脉冲背景的左边缘对齐容器左边缘 (高亮在右边缘) */
317
+ background-position: 0% 0, 0 0;
318
+ }
319
+ }
320
+ .pb-status-text {
321
+ position: absolute;
322
+ top: 50%;
323
+ left: 12px; /* 稍微调整左边距 */
324
+ transform: translateY(-50%);
325
+ color: var(--text-color); /* 使用文本颜色变量 */
326
+ z-index: 2; /* 确保状态文本覆盖在进度条上 */
327
+ }
328
+ .pb-percentage-text {
329
+ position: absolute;
330
+ top: 50%;
331
+ right: 12px; /* 稍微调整右边距 */
332
+ transform: translateY(-50%);
333
+ color: var(--text-color); /* 使用文本颜色变量 */
334
+ z-index: 2; /* 确保百分比文本覆盖在进度条上 */
335
+ }
336
+
337
+ /* 文字滚动样式样式 */
338
+ .scroll {
339
+ display: flex;
340
+ width: 100%;
341
+ height: 14px;
342
+ gap: 20px;
343
+ }
344
+ .scroll-suffix {
345
+ font-size: 7px;
346
+ color: var(--text-color);
347
+ margin-left: auto;
348
+ flex-shrink: 0;
349
+ align-self: flex-end;
350
+ }
351
+ .scroll-container {
352
+ flex: 1; /* 自适应宽度 */
353
+ max-width: 300px; /* 限制最大宽度 */
354
+ font-size: 14px;
355
+ color: var(--text-color);
356
+ line-height: 14px;
357
+ overflow: hidden;
358
+ }
359
+ .scroll-content {
360
+ display: inline-flex;
361
+ white-space: nowrap;
362
+ }
363
+ .scroll-text {
364
+ padding-right: 20px;
365
+ }
366
+ /* 只有加了scrolling类才动画 */
367
+ .scroll-content.scrolling {
368
+ animation: marquee linear infinite;
369
+ }
370
+ @keyframes marquee {
371
+ 0% {
372
+ transform: translateX(0);
373
+ }
374
+ 100% {
375
+ transform: translateX(-50%);
376
+ }
377
+ }
378
+ .speed-text {
379
+ font-size: 14px;
380
+ line-height: 14px;
381
+ padding-left: 12px; /* 向左偏移 10px */
382
+ flex-shrink: 0;
383
+ }
384
+ .time-text {
385
+ font-size: 14px;
386
+ line-height: 14px;
387
+ padding-right: 12px; /* 向右偏移 10px */
388
+ flex-shrink: 0;
389
+ margin-left: auto;
390
+ align-self: flex-end;
391
+ }