feat: 增加 Web 管理界面,扫描整理改为页面点击触发

- main.go 改为 Web 服务入口(Gin + 内嵌前端 dist + 自动打开浏览器)
- internal/service: 新增扫描整理后台任务,支持状态机与实时日志捕获
- internal/api: 新增统一响应、媒体列表/统计、扫描开始/状态接口
- internal/store: 追加 ListMedia/CountMedia/Stats 查询,MediaInfo 补 JSON tag
- internal/config: application.properties 配置加载(端口/数据库/自动开浏览器)
- frontend: Vue2 + ElementUI + Vite 工程,含扫描整理/统计看板/媒体库三页
- build.sh 整合前端构建,输出单一 kenaito-media-picker.exe
This commit is contained in:
2025-04-21 21:08:02 +08:00
parent 767b093b45
commit e053b378fb
29 changed files with 3684 additions and 104 deletions
+8 -1
View File
@@ -1,10 +1,17 @@
#!/bin/sh
# 构建脚本:Windows 平台编译,go build + upx 压缩 → kenaito-media-picker.exe
# 构建脚本:Windows 平台编译,go build + upx 压缩 → kenaito-media-picker.exe / kenaito-media-picker-server.exe
# Windows (MINGW/MSYS/CYGWIN): go build + upx 压缩
set -e
echo "=== Windows: go build + upx 压缩"
# 前端构建(需 Node.js;已在 frontend 构建过或无法安装 Node 时可跳过)
if [ -d frontend ] && [ -f frontend/package.json ]; then
(cd frontend && npm install --no-audit --no-fund >/dev/null 2>&1 && npm run build >/dev/null 2>&1) || echo "=== 前端构建失败(缺少Node.js?),将使用已存在的 frontend/dist 产物"
fi
# 主程序(Web 服务 + 内嵌前端,页面点击触发扫描整理)
rm -f kenaito-media-picker.exe kenaito-media-picker-release.exe
go build -o kenaito-media-picker-release.exe .
./upx -o kenaito-media-picker.exe kenaito-media-picker-release.exe