From 42146aedf4e68ff21e05891b13974c468ee61644 Mon Sep 17 00:00:00 2001
From: liRQ <813144884@qq.com>
Date: Wed, 1 Jul 2026 18:22:21 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=A4=9A=E8=AF=AD?=
=?UTF-8?q?=E8=A8=80=E5=9B=BE=E6=A0=87=E7=94=9F=E6=88=90=E8=84=9A=E6=9C=AC?=
=?UTF-8?q?=E4=B8=8E=E8=A7=86=E5=9B=BE=E5=88=87=E6=8D=A2=E5=8A=9F=E8=83=BD?=
=?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E5=88=86=E9=A1=B5=E4=B8=8E=E6=9A=97?=
=?UTF-8?q?=E9=BB=91=E6=A8=A1=E5=BC=8F?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
1. 新增Python/JS版图标生成脚本,批量创建标准化SVG图标
2. 重构页面视图切换逻辑,添加平滑过渡动画
3. 升级登录日志分页系统,支持页码跳转与页大小调整
4. 完善暗黑模式样式适配,覆盖更多UI组件
5. 优化海报展示适配,根据图片比例自动调整布局
---
create_icons.py | Bin 0 -> 178 bytes
gen_icons.js | 20 +
gen_icons.py | 175 +++++++++
src/App.vue | 255 ++++++++++---
src/style.css | 947 +++++++++++++++++++++++++++++++++++++++++++++++-
5 files changed, 1343 insertions(+), 54 deletions(-)
create mode 100644 create_icons.py
create mode 100644 gen_icons.js
create mode 100644 gen_icons.py
diff --git a/create_icons.py b/create_icons.py
new file mode 100644
index 0000000000000000000000000000000000000000..08704a9b85839482ebc4563c8430da6db93dd1a3
GIT binary patch
literal 178
zcmXYqJqp4=5Jq1uc!yx6AbJ81U~d_as414HSvDI;F0Vc|HZ#ok^XB^ryomH9GL?H^
z&8qB!PD4k_gP=dKWn(5Xa^tCX=U8UXTeoJf+cK#Q(ymfEPF(Dc>bpXYUcr2pR&$oI
Vw5$J@Rwb(?W@*V@qcfXb`aeT9Amji5
literal 0
HcmV?d00001
diff --git a/gen_icons.js b/gen_icons.js
new file mode 100644
index 0000000..f6b3893
--- /dev/null
+++ b/gen_icons.js
@@ -0,0 +1,20 @@
+const fs = require('fs');
+const path = require('path');
+const iconsDir = path.join(__dirname, 'public', 'icons');
+if (!fs.existsSync(iconsDir)) fs.mkdirSync(iconsDir, { recursive: true });
+const icons = {
+ home: { path: 'M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z M9 22v-10l6 6v-10', label: 'Home' },
+ search: { d: 'circle cx=11 cy=11 r=8 line x1=21 y1=21 x2=16.65 y2=16.65', label: 'Search' },
+ user: { d: 'path d=M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2 circle cx=12 cy=7 r=4', label: 'User' },
+ folder: { d: 'path d=M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z', fill: true, label: 'Folder' },
+ file: { d: 'path d=M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z polyline points=14 2 14 8 20 8', label: 'File' },
+ settings: { d: 'circle cx=12 cy=12 r=3 path d=M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0', label: 'Settings' },
+ close: { d: 'line x1=18 y1=6 x2=6 y2=18 line x1=6 y1=6 x2=18 y2=18', label: 'Close' },
+ check: { d: 'polyline points=20 6 9 17 4 12', color: '#22c55e', label: 'Check' },
+ delete: { d: 'polyline points=3 6 5 6 21 6 path d=M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2', color: '#ef4444', label: 'Delete' },
+ add: { d: 'circle cx=12 cy=12 r=10 line x1=12 y1=8 x2=12 y2=16 line x1=8 y1=12 x2=16 y2=12', label: 'Add' },
+ download: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=7 10 12 15 17 10 line x1=12 y1=15 x2=12 y2=3', label: 'Download' },
+ upload: { d: 'path d=M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4 polyline points=17 8 12 3 7 8 line x1=12 y1=3 x2=12 y2=15', label: 'Upload' },
+ share: { d: 'circle cx=18 cy=5 r=3 circle cx=6 cy=12 r=3 circle cx=18 cy=19 r=3 line x1=8.59 y1=13.51 x2=15.42 y2=17.49 line x1=15.41 y1=6.51 x2=8.59 y2=10.49', label: 'Share' },
+ favorite: { d: 'path d=M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z', fill: true, label: 'Favorite' },
+ cloud: { d: 'path d=M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z', label: 'Cloud' },
diff --git a/gen_icons.py b/gen_icons.py
new file mode 100644
index 0000000..800d5ce
--- /dev/null
+++ b/gen_icons.py
@@ -0,0 +1,175 @@
+# Icon Generator Script
+import os
+
+icons_dir = 'public/icons'
+os.makedirs(icons_dir, exist_ok=True)
+
+# Color scheme
+PRIMARY_COLOR = '#6366f1'
+SUCCESS_COLOR = '#22c55e'
+DANGER_COLOR = '#ef4444'
+
+def create_svg(filename, elements, color=PRIMARY_COLOR, fill=False):
+ """Create an SVG icon file"""
+ fill_attr = 'fill "{}"'.format(color) if fill else 'fill="none"'
+ svg_content = ''''''.format(fill_attr, color, '\n'.join(elements))
+
+ filepath = os.path.join(icons_dir, filename)
+ with open(filepath, 'w', encoding='utf-8') as f:
+ f.write(svg_content)
+ print(f'Created: {filename}')
+
+# Home icon
+create_svg('home.svg', [
+ '