提交
This commit is contained in:
82
TODO.md
Normal file
82
TODO.md
Normal file
@@ -0,0 +1,82 @@
|
||||
# 文件管理系统 - 待办事项
|
||||
|
||||
## 功能拓展
|
||||
|
||||
### 文件协作
|
||||
- [ ] 文件评论/批注 — 支持对文件添加评论,多人协作讨论
|
||||
- [ ] 文件版本管理 — 保留历史版本,支持回滚到指定版本
|
||||
- [ ] 文件锁定 — 编辑时锁定文件,防止多人同时修改冲突
|
||||
|
||||
### 搜索增强
|
||||
- [ ] 全文搜索 — 对文档内容建立索引(PDF/Word/TXT),支持内容搜索
|
||||
- [ ] 高级筛选 — 按文件类型、大小范围、创建时间、所有者组合筛选
|
||||
- [ ] 搜索历史 — 记录用户搜索关键词,支持快速重复搜索
|
||||
|
||||
### 通知与协作
|
||||
- [ ] 文件变更通知 — 关注的文件夹有变更时推送通知
|
||||
- [ ] 分享到期提醒 — 分享链接即将过期时通知分享者
|
||||
- [ ] 操作审计增强 — 按用户/文件/时间段导出审计报表
|
||||
|
||||
### 存储增强
|
||||
- [ ] 存储用量统计图表 — 按用户/文件类型/时间段统计存储使用趋势
|
||||
- [ ] 文件去重 — 基于MD5自动去重,相同文件只存一份
|
||||
- [ ] 自动归档 — 超过指定时间未访问的文件自动迁移到冷存储
|
||||
- [ ] 存储策略自动切换 — 根据文件大小/类型自动选择存储策略
|
||||
|
||||
### 安全增强
|
||||
- [ ] 文件水印 — 预览/下载时自动添加用户信息水印
|
||||
- [ ] 操作二次确认 — 删除/永久删除等危险操作需二次确认(可配置)
|
||||
- [ ] 登录IP白名单 — 限制可登录的IP范围
|
||||
- [ ] 文件加密存储 — 对敏感文件启用服务端加密
|
||||
|
||||
### 集成能力
|
||||
- [ ] WebDAV 服务 — 支持通过 WebDAV 协议挂载为网络磁盘
|
||||
- [ ] Office 在线编辑 — 集成 OnlyOffice/ Collabora 实现文档在线编辑
|
||||
- [ ] OCR 识别 — 图片/PDF 自动识别文字,支持搜索
|
||||
- [ ] 视频缩略图 — 上传视频自动生成封面缩略图
|
||||
|
||||
### 移动端
|
||||
- [ ] H5 分享预览优化 — 分享链接在微信/钉钉内打开的适配
|
||||
- [ ] 离线缓存 — PWA 支持,常用文件离线可用
|
||||
- [ ] 扫码上传 — 手机扫码直接上传文件到指定目录
|
||||
|
||||
---
|
||||
|
||||
## 性能优化
|
||||
|
||||
### 后端
|
||||
- [ ] 数据库查询优化 — 高频查询添加复合索引,减少全表扫描
|
||||
- [ ] 连接池调优 — 根据实际并发量调整数据库连接池参数
|
||||
- [ ] 缓存层 — 对用户权限、存储策略等热点数据加 Redis 缓存
|
||||
- [ ] 异步队列 — 文件转码、通知发送等耗时操作改为消息队列异步处理
|
||||
- [ ] API 限流 — 对上传/下载等接口做速率限制,防止滥用
|
||||
|
||||
### 前端
|
||||
- [ ] 虚拟列表 — 文件数量大时使用虚拟滚动,提升渲染性能
|
||||
- [ ] 图片懒加载 — 列表中的缩略图按需加载
|
||||
- [ ] 接口缓存 — 对文件列表等频繁请求做前端缓存
|
||||
- [ ] 打包优化 — 路由懒加载、代码分割,减小首屏体积
|
||||
|
||||
### 存储
|
||||
- [ ] CDN 缓存策略 — 按文件类型设置不同的缓存过期时间
|
||||
- [ ] 分片上传优化 — 支持并行上传分片,提升大文件上传速度
|
||||
- [ ] 存储压缩 — 对文本类文件启用 GZIP 压缩存储
|
||||
|
||||
---
|
||||
|
||||
## 代码质量
|
||||
|
||||
- [ ] 单元测试 — 核心 service 层添加单元测试覆盖
|
||||
- [ ] API 文档自动生成 — 集成 Swagger/OpenAPI 自动生成文档
|
||||
- [ ] 错误码规范 — 统一错误码体系,前端根据错误码展示友好提示
|
||||
- [ ] 日志规范 — 结构化日志输出,便于 ELK 等日志系统采集
|
||||
- [ ] CI/CD — GitHub Actions 自动构建、测试、部署
|
||||
|
||||
---
|
||||
|
||||
## 部署运维
|
||||
|
||||
- [ ] Docker Compose — 一键部署全套环境(Go + MySQL + MinIO + Nginx)
|
||||
- [ ] 健康检查增强 — 检查数据库/MinIO/磁盘空间等依赖服务状态
|
||||
- [ ] 自动备份 — 定时备份数据库和文件,支持远程存储
|
||||
- [ ] 灰度发布 — 支持新版本灰度发布,按用户比例切换
|
||||
63
server/ctl.bat
Normal file
63
server/ctl.bat
Normal file
@@ -0,0 +1,63 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
title 程序管理脚本
|
||||
|
||||
:: ================= 配置区 =================
|
||||
:: 设置目标exe文件名
|
||||
set "EXE_NAME=server.exe"
|
||||
:: 设置exe完整路径 (如果exe和bat在同一目录,可使用 %~dp0%EXE_NAME%)
|
||||
set "EXE_PATH=%~dp0%EXE_NAME%"
|
||||
:: =========================================
|
||||
|
||||
:menu
|
||||
echo.
|
||||
echo ================================
|
||||
echo 程序管理菜单
|
||||
echo ================================
|
||||
echo 1. 启动程序
|
||||
echo 2. 关闭程序
|
||||
echo 3. 重启程序 (先关后开)
|
||||
echo 4. 退出
|
||||
echo ================================
|
||||
set /p choice="请输入选项 (1-4): "
|
||||
|
||||
if "%choice%"=="1" goto start_prog
|
||||
if "%choice%"=="2" goto stop_prog
|
||||
if "%choice%"=="3" goto restart_prog
|
||||
if "%choice%"=="4" exit
|
||||
echo 无效选项,请重试
|
||||
goto menu
|
||||
|
||||
:start_prog
|
||||
echo [INFO] 正在检查程序是否已运行...
|
||||
tasklist /fi "imagename eq %EXE_NAME%" | find /i "%EXE_NAME%" >nul
|
||||
if %errorlevel% equ 0 (
|
||||
echo [WARN] 程序 [%EXE_NAME%] 已经在运行中。
|
||||
) else (
|
||||
if exist "%EXE_PATH%" (
|
||||
echo [INFO] 正在启动: %EXE_PATH%
|
||||
start "" "%EXE_PATH%"
|
||||
echo [SUCCESS] 程序已启动。
|
||||
) else (
|
||||
echo [ERROR] 未找到文件: %EXE_PATH%
|
||||
)
|
||||
)
|
||||
pause
|
||||
goto menu
|
||||
|
||||
:stop_prog
|
||||
echo [INFO] 正在尝试关闭进程: %EXE_NAME% ...
|
||||
taskkill /f /im "%EXE_NAME%" >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
echo [SUCCESS] 进程已强制关闭。
|
||||
) else (
|
||||
echo [WARN] 未检测到运行中的进程或关闭失败。
|
||||
)
|
||||
pause
|
||||
goto menu
|
||||
|
||||
:restart_prog
|
||||
call :stop_prog
|
||||
timeout /t 2 /nobreak >nul
|
||||
call :start_prog
|
||||
goto menu
|
||||
1
server/license.json
Normal file
1
server/license.json
Normal file
@@ -0,0 +1 @@
|
||||
{"licenseStr":"1RGyDUub844lUuVBpGhxd0ZwX9Tg/B3uWSjT1T3+DoUqiwHUJWxHVD6cLWtFV/9C+YTfS6nA8/578u48ujYWqocM2nbSRQGmzGPgn3Q4B9sgS2G7t0ZBOwJfqkiABL/YimnPSh0Q75Xd8g3+IDYYJyVL+icr/CXfI5yZXnGpRul/17MtMGHulQ8LhKy96/XkUz95fG/uGjgz1jiYeFZmrdXe+yRx5IWmJ+7OsbKFiwxTFeoS/HaZyMidmOGmU74HcG2tt4ocGPiklGCXLDYJeP4nsQpl7BKI1Oi8Z9zT5IOVvRhHZw4zuhFlat96WCxYGdVFsYr3f46qPsPzWzS1mRzTXvFXuF1RAsvXlcpAXxQJHnUBmItl1FEmEPOnxNqyw6Or01EmLuxOz2BYSC4arq2OHw==","productType":"seeyon-filesystem","version":"1.0"}
|
||||
Reference in New Issue
Block a user