WanWanYun
|
e5ba17329c
|
功能: 添加管理员上传工具检测和上传功能
- 后端: 添加 GET /api/admin/check-upload-tool 检测工具是否存在
- 后端: 添加 POST /api/admin/upload-tool 允许管理员手动上传exe
- 前端: 管理员界面新增上传工具管理卡片
- 前端: 支持检测工具状态、显示文件信息、手动上传
- 验证: 文件必须是.exe格式且大小>20MB
|
2025-11-12 20:45:17 +08:00 |
|
 WanWanYunandClaude
|
136d45dee7
|
优化: 分享所有文件时支持点击文件图标放大查看,并可返回列表
功能描述:
- 在分享所有文件(目录分享)时,点击文件图标可以放大查看
- 显示效果与分享单个文件时相同(居中大图标显示)
- 左上角显示"返回列表"按钮,点击可返回文件列表
- 单个文件分享时不显示返回按钮(避免混淆)
实现内容:
1. 添加状态管理
- viewingFile: 当前正在查看的文件(null表示在列表视图)
2. 新增方法
- handleFileClick(file): 处理文件点击
* 图片/视频/音频 → 打开媒体预览(保持原有行为)
* 其他文件 → 显示详情页面
- viewFileDetail(file): 设置viewingFile显示详情
- backToList(): 清除viewingFile返回列表
3. 修改HTML模板
- 标题添加返回按钮(条件:viewingFile存在且不是单文件分享)
- 单文件显示条件:viewingFile || files.length === 1
- 网格/列表视图条件:添加 !viewingFile 限制
- 单文件显示内容:使用 viewingFile || files[0]
4. 防止bug设计
- shareInfo.share_type !== 'file' 确保单文件分享不显示返回按钮
- handleFileClick 区分媒体文件和普通文件
- viewingFile 为null时正常显示文件列表
用户体验提升:
✅ 点击文件图标即可放大查看详情
✅ 查看体验与单文件分享一致
✅ 返回按钮清晰明了
✅ 媒体文件仍然打开预览
✅ 单文件分享不显示返回按钮(避免混淆)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 18:24:29 +08:00 |
|
 WanWanYunandClaude
|
1e19b41f48
|
优化: 切换视图时自动刷新数据,解决切换存储方式后需要手动刷新的问题
问题描述:
- 用户在设置页面切换存储方式(本地 ↔ SFTP)
- 点击导航栏回到"我的文件"页面
- 文件列表不会自动刷新,显示的还是旧存储方式的文件
- 需要手动刷新浏览器才能看到新存储方式的文件
解决方案:
1. 新增 switchView(view) 方法统一管理视图切换
- 切换到 files 视图:自动加载文件列表
- 切换到 shares 视图:自动加载分享列表
- 切换到 admin 视图:自动加载用户列表和存储统计
- 切换到 settings 视图:无需加载数据
- 防止重复切换:如果已在当前视图则跳过
2. 修改导航栏点击事件
- 从 @click="currentView = 'xxx'"
- 改为 @click="switchView('xxx')"
- 应用到所有4个导航按钮
改进效果:
✅ 用户切换存储方式后,点击"我的文件"立即看到新数据
✅ 所有视图切换都会自动刷新对应数据
✅ 提升用户体验,无需手动刷新页面
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 15:49:02 +08:00 |
|
 WanWanYunandClaude
|
c272724c5c
|
修复: 防止管理员封禁自己的账号
- 在封禁用户API中添加自我封禁检查
- 当管理员尝试封禁自己时返回400错误
- 错误消息: "不能封禁自己的账号"
- 解封自己不受限制(虽然被封禁后无法登录后台操作)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 11:38:02 +08:00 |
|
 WanWanYunandClaude
|
28beee695a
|
修复: 添加自动同步用户配置功能,解决管理员修改权限后用户不自动更新的问题
- 添加profileCheckInterval属性用于存储定时器ID
- 修改loadUserProfile()函数,检测存储配置变更并通知用户
- 新增startProfileSync()方法,每30秒自动检查配置更新
- 新增stopProfileSync()方法,停止定期检查
- 在登录和页面加载时启动定期检查
- 在登出时停止定期检查
- 当管理员修改用户存储权限或类型时,用户会收到Toast通知并自动刷新文件列表
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 09:25:17 +08:00 |
|
WanWanYun
|
175087c894
|
修复: SFTP存储切换问题 & 添加开发者工具保护
- 修复SFTP按钮被错误禁用的问题
- 用户选择本地存储后可以正常切换回SFTP
- 切换到SFTP时检查是否已配置,未配置则跳转到设置页面
- 添加右键菜单禁用
- 添加F12和开发者工具快捷键禁用
- 添加开发者工具打开检测
- 生产环境禁用console输出
|
2025-11-12 09:13:12 +08:00 |
|
WanWanYun
|
cb05fa9516
|
功能: 添加Linux上传工具打包脚本
- 新增upload-tool/build.sh支持Linux环境打包
- 支持自动检测操作系统并打包对应版本
- 为部署脚本集成自动打包功能做准备
|
2025-11-12 00:37:28 +08:00 |
|
WanWanYun
|
2dc6323554
|
修复: 移除API地址硬编码,统一使用nginx代理
- 修复frontend/app.js中的localhost:40001硬编码
- 修复frontend/share.html中的localhost:40001硬编码
- 所有API请求现在统一通过nginx代理访问
- 支持任意端口号部署,无需修改前端代码
|
2025-11-11 23:54:40 +08:00 |
|
WanWanYun
|
016879885c
|
修复: 移动端UI和部署配置优化
1. 移动端文件列表图片图标大小修复
- 添加响应式CSS规则,图片缩略图自动适配屏幕尺寸
- 移除内联样式,统一使用CSS类管理
- 移动端(768px): 48px x 48px
- 小屏幕(480px): 40px x 40px
2. 设置页面存储切换UI优化
- 用户选择本地存储时自动隐藏SFTP配置表单
- 用户选择SFTP时显示SFTP配置表单
- 优化用户体验,避免混淆
3. install.sh自动配置PUBLIC_PORT
- 部署时自动添加PUBLIC_PORT环境变量
- 非标准端口部署时分享链接自动包含端口号
- 解决IP模式部署分享链接无法访问的问题
|
2025-11-11 23:41:17 +08:00 |
|
WanWanYun
|
0c55b599ef
|
修复: 非标准端口部署时分享链接未携带端口号的问题
- 添加 generateShareUrl 辅助函数,智能处理端口号
- 支持通过 PUBLIC_PORT 环境变量配置nginx监听端口
- 更新 POST /api/share/create 使用新的URL生成方法
- 更新 GET /api/share/my 使用新的URL生成方法
- 修复IP模式部署时分享链接无法正常访问的问题
|
2025-11-11 23:25:05 +08:00 |
|
WanWanYun
|
d604d8bc78
|
功能: 更新脚本增加数据库迁移逻辑
- 新增 update_migrate_database() 函数
- 自动检测旧的100MB上传限制并升级到10GB
- 在更新流程中自动执行数据库迁移
- 确保使用更新脚本时数据库配置也会同步更新
- 修复v1.2.5更新后仍保留旧配置的问题
版本: v1.2.6
|
2025-11-11 02:09:58 +08:00 |
|
WanWanYun
|
b10048ec0a
|
文档: 添加v1.2.5版本更新说明
|
2025-11-11 01:57:42 +08:00 |
|
WanWanYun
|
f097dfd179
|
修复: 将默认上传限制从100MB提升到10GB
- database.js: 修改数据库初始化默认值为10GB (10737418240字节)
- server.js: 修改两处fallback默认值为10GB
- 确保新部署的系统默认支持10GB单文件上传
- 解决用户报告的100MB上传限制问题
版本: v1.2.5
|
2025-11-11 01:57:06 +08:00 |
|
WanWanYun
|
8fa338c933
|
docs: 更新版本历史,添加v1.2.1-v1.2.4的更新说明
|
2025-11-11 01:51:10 +08:00 |
|
WanWanYun
|
77bb2f7bdc
|
修复: 管理员账号密码无法正确设置的问题
- 在 server.js 开头添加 require('dotenv').config()
- 确保环境变量从 .env 文件正确加载
- 修复了安装时设置的管理员账号密码不生效的问题
版本: v1.2.4
|
2025-11-11 01:50:18 +08:00 |
|
WanWanYun
|
b13ae7d0dd
|
工具: 添加数据恢复脚本
功能:
- 自动查找更新时的备份目录
- 显示备份内容和大小
- 恢复数据库、用户文件、配置文件
- 如无备份,提供重新初始化选项
- 自动停止和重启服务
使用场景:
- 更新脚本导致数据丢失时恢复
- 误删数据后恢复
- 从备份恢复系统
使用方法:
curl -fsSL https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/restore-data.sh | sudo bash
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:08:19 +08:00 |
|
WanWanYun
|
27f130388a
|
🔥紧急修复: 更新脚本导致数据库丢失的严重Bug v1.2.3
问题描述:
- 更新时 cp -r 命令会覆盖整个 backend 目录
- 导致备份的 data、storage、.env 被新的空文件覆盖
- 用户数据、数据库、配置全部丢失
修复内容:
- 改为分别更新 frontend、upload-tool、backend
- 更新 backend 时逐个文件复制,排除 data/storage/.env/node_modules
- 添加数据完整性检测,自动从备份恢复丢失的文件
- 添加详细的恢复提示信息
安全增强:
- 不再使用 cp -r 整个目录覆盖
- 使用 for 循环逐个文件处理
- 每个重要文件都有检测和恢复机制
影响范围:
- install.sh: update_pull_latest_code() 函数
⚠️ 重要: 已使用旧版更新脚本的用户,数据可能丢失!
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:07:12 +08:00 |
|
WanWanYun
|
d7ac491ced
|
工具: 添加Nginx上传限制快速修复脚本
功能:
- 自动查找Nginx配置文件
- 自动备份原配置
- 修改上传大小限制为10GB
- 修改超时时间为1小时
- 测试并重载Nginx配置
- 失败时自动回滚
使用方法:
curl -fsSL https://gitee.com/yu-yon/vue-driven-cloud-storage/raw/master/fix-nginx-upload-limit.sh | sudo bash
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:03:35 +08:00 |
|
WanWanYun
|
dae4ec9cc5
|
优化: 提升上传大小限制到10GB并延长超时时间 v1.2.2
修改内容:
- client_max_body_size: 500M → 10G
- proxy_read_timeout: 300s → 3600s (1小时)
- proxy_send_timeout: 300s → 3600s (1小时)
- proxy_connect_timeout: 75s → 300s (5分钟)
适用场景:
- 支持上传大型视频文件
- 支持上传ISO镜像等大文件
- 提供更长的上传时间窗口
影响范围:
- install.sh: configure_nginx_http() 函数
- install.sh: configure_nginx_https() 函数
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:02:40 +08:00 |
|
WanWanYun
|
70e0d4ef04
|
修复: Nginx上传大小限制导致413错误 v1.2.1
问题描述:
- 上传大于6MB的文件时出现413错误
- Nginx默认client_max_body_size为1MB
修复内容:
- 添加 client_max_body_size 500M(支持500MB文件上传)
- 添加上传超时设置(proxy_read_timeout 300s)
- 添加发送超时设置(proxy_send_timeout 300s)
- 添加连接超时设置(proxy_connect_timeout 75s)
- 同时修复HTTP和HTTPS配置
影响范围:
- install.sh: configure_nginx_http() 函数
- install.sh: configure_nginx_https() 函数
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 01:00:51 +08:00 |
|
WanWanYun
|
2f44b98a53
|
新功能: 一键更新功能 v1.2.0
新增功能:
- 添加一键更新命令(--update 参数)
- 交互式菜单新增「更新/升级」选项
- 支持三种更新方式(curl/wget/本地脚本)
更新流程:
- 智能备份数据库和用户文件到临时目录
- 停止服务并拉取最新代码
- 保留重要文件(data/storage/.env)
- 自动更新后端依赖(npm install)
- 重启服务并进行健康检查
- 显示更新后的版本信息
安全保障:
- 更新前需用户确认
- 自动备份所有用户数据
- 保留配置文件和Nginx配置
- 更新失败时提供清晰的错误提示
文档更新:
- 一键部署命令.txt: 添加更新命令和v1.2.0说明
- INSTALL_GUIDE.md: 详细的更新指南和注意事项
版本: v1.2.0
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 00:57:34 +08:00 |
|
WanWanYun
|
3735a943ff
|
文档: 更新版本说明至 v1.1.6
- 添加 v1.1.6 更新说明(修复管理员账号密码设置无效问题)
- 完善 v1.1.4 和 v1.1.5 版本描述
- 标注严重级别问题修复
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 00:28:40 +08:00 |
|
WanWanYun
|
4e9a3a5d26
|
修复: 管理员账号密码从环境变量读取
问题描述:
- 安装时设置的管理员账号密码无效
- 始终使用硬编码的 admin/admin123
修复内容:
- createDefaultAdmin() 函数现在从环境变量读取
- 使用 process.env.ADMIN_USERNAME 和 ADMIN_PASSWORD
- 保留默认值作为后备方案
影响范围:
- backend/database.js: createDefaultAdmin() 函数 (lines 130-159)
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-11 00:27:54 +08:00 |
|
WanWanYun
|
2213547e3d
|
v1.1.5 修复: 支持管道执行时的模式选择
问题修复:
- 修复 curl | bash 执行时无法显示交互选择的问题
- 添加终端检测 (使用 -t 0 和 /dev/tty 检测)
- 管道执行时显示友好提示并自动进入安装模式
- 提示用户下载脚本后运行以使用交互选择
改进说明:
- 交互式终端: 显示选择界面 [1] 安装 [2] 卸载
- 管道执行: 显示提示信息并默认安装
- 提供卸载命令说明
技术细节:
- 使用 [[ -t 0 ]] 检测标准输入是否是终端
- 使用 [[ -c /dev/tty ]] 检测 /dev/tty 可用性
- 两个条件任一满足即可使用交互模式
|
2025-11-11 00:16:25 +08:00 |
|
WanWanYun
|
94cff001d8
|
v1.1.5: 添加交互式安装/卸载模式选择
主要更新:
- 在脚本启动时添加交互式选择界面
- 用户可以选择: [1] 安装/部署 或 [2] 卸载
- 保留原有命令行参数方式 (--uninstall)
- 改进用户体验,更直观易用
功能说明:
- 运行脚本后首先显示选择界面
- 选择安装模式 -> 继续安装流程
- 选择卸载模式 -> 直接跳转到卸载流程
- 通过命令行参数依然可以直接指定模式
使用方式:
1. 交互式: bash install.sh (显示选择菜单)
2. 命令行: bash install.sh --uninstall (直接卸载)
|
2025-11-11 00:05:19 +08:00 |
|
WanWanYun
|
84d2feffa2
|
更新版本号至 v1.1.4
|
2025-11-10 23:57:39 +08:00 |
|
WanWanYun
|
49e0f53cce
|
v1.1.4: 添加智能端口检测和自定义配置
主要更新:
- 自动检测端口占用(80, 443, 40001)
- 支持自定义HTTP/HTTPS/后端端口
- 端口冲突时智能提示并允许自定义
- 所有配置(Nginx、.env)自动使用自定义端口
- 完成提示中显示实际使用的端口
- 健康检查使用动态端口验证
功能特性:
- HTTP端口(默认80,可自定义如8080)
- HTTPS端口(默认443,可自定义如8443)
- 后端端口(默认40001,可自定义如40002)
- 使用netstat/ss检测端口占用
- 端口范围验证(1024-65535)
- 避免与现有项目冲突
更新内容:
- 全局变量: HTTP_PORT, HTTPS_PORT, BACKEND_PORT
- 新增: check_port_available() 检测端口
- 新增: configure_ports() 配置端口
- 修改: configure_nginx_http() 使用自定义端口
- 修改: configure_nginx_https() 使用自定义端口
- 修改: create_env_file() PORT使用BACKEND_PORT
- 修改: health_check() 检查自定义后端端口
- 修改: print_completion() 显示端口信息
- 新增: 一键部署命令.txt 到仓库
|
2025-11-10 23:57:16 +08:00 |
|
WanWanYun
|
4a38026c07
|
文档更新: 添加v1.1.3卸载功能详细说明
更新内容:
- INSTALL_GUIDE.md: 完善FAQ第6项卸载说明
- 添加一键卸载命令(3种方式)
- 详细说明卸载特性:双重确认、数据备份、完整清理
- 说明保留系统环境,仅删除项目文件
- 添加智能残留检查说明
|
2025-11-10 23:49:51 +08:00 |
|
WanWanYun
|
9966719afa
|
v1.1.3: 集成卸载功能到主脚本
主要更新:
- 添加卸载模式: bash install.sh --uninstall
- 支持参数: --uninstall, -u, uninstall
- 双重确认机制防止误删
- 可选数据备份到 /root/wanwanyun-backup-*
- 完整清理: PM2进程、Nginx配置、SSL证书、项目目录
- 保留环境: Node.js、Nginx、PM2、编译工具
- 残留检查确保清理完整
使用方法:
- 安装: bash install.sh
- 卸载: bash install.sh --uninstall
功能特性:
- 智能备份询问
- 逐步状态显示
- 清理完成报告
- 环境保留列表
|
2025-11-10 23:48:32 +08:00 |
|
WanWanYun
|
8c7664a400
|
v1.1.2: 修复依赖安装问题
主要修复:
1. 降级 better-sqlite3: 12.4.1 → 11.8.1
- 兼容 Node.js 18.x
- 解决版本不匹配导致的安装失败
2. 添加编译工具依赖
- APT: build-essential, python3
- YUM/DNF: gcc-c++, make, python3
- Zypper: gcc-c++, make, python3
- 解决原生模块编译失败问题
问题分析:
- better-sqlite3@12+ 要求 Node.js 20+
- 编译原生模块需要 C++ 编译器和 Python
- 旧版本服务器可能缺少编译工具链
解决方案:
- 使用兼容 Node.js 18+ 的 better-sqlite3 版本
- 自动安装所有必需的编译工具
- 确保在所有支持的系统上都能正常编译
|
2025-11-10 23:35:33 +08:00 |
|
WanWanYun
|
1eb619a0b6
|
v1.1.1: 升级到 Node.js 20.x LTS
主要更新:
- 升级默认Node.js版本从18.x到20.x (LTS长期支持)
- 解决 NodeSource 弃用警告问题
- 更新所有Node.js版本检查逻辑使用变量而非硬编码
- 提高代码可维护性和未来兼容性
技术改进:
- NODE_VERSION: 18 → 20
- install_nodejs_apt/yum/dnf/zypper: 使用 $NODE_VERSION 变量检查
- 确保更长的官方支持周期(至2026年4月)
支持周期:
- Node.js 18.x: 支持到 2025-04-30
- Node.js 20.x: 支持到 2026-04-30 ✅
|
2025-11-10 23:29:43 +08:00 |
|
WanWanYun
|
47f04f4cb9
|
v1.1.0: 新增多系统支持和统一包管理器
主要更新:
- 新增支持 Rocky Linux、AlmaLinux、Fedora、openSUSE
- 实现统一包管理器检测机制 (APT/YUM/DNF/Zypper)
- 优化系统识别逻辑,增加自动检测后备方案
- 完善阿里云镜像源配置,支持更多Linux发行版
- 重构所有系统相关代码,使用PKG_MANAGER变量统一管理
- 添加 install_nodejs_dnf/zypper 和 install_nginx_dnf/zypper 函数
- 更新 deploy_certbot 函数支持所有包管理器
技术改进:
- detect_os(): 增强系统检测,自动识别包管理器类型
- configure_aliyun_mirror(): 支持8种主流Linux发行版镜像配置
- install_dependencies(): 统一使用PKG_MANAGER进行依赖安装
- 消除所有OS特定case语句,提高代码可维护性
支持的系统:
- Ubuntu/Debian (APT)
- CentOS 7/8, RHEL 7/8/9 (YUM/DNF)
- Rocky Linux 8/9 (DNF)
- AlmaLinux 8/9 (DNF)
- Fedora 35+ (DNF)
- openSUSE Leap (Zypper)
|
2025-11-10 23:25:44 +08:00 |
|
WanWanYun
|
650b926a0b
|
修复: Debian系统阿里云镜像源配置错误
- 分离Ubuntu和Debian的源配置逻辑
- Debian使用正确的组件: main, contrib, non-free, non-free-firmware
- Debian安全源使用debian-security仓库
- Ubuntu继续使用: main, restricted, universe, multiverse
- 修复apt更新时的组件缺失警告
|
2025-11-10 23:13:13 +08:00 |
|
WanWanYun
|
20d852027f
|
修复v2: 改进stdin重定向方式
- 移除全局 exec < /dev/tty,避免管道执行中断
- 在每个read命令中单独指定 < /dev/tty
- 兼容 curl|bash 和 bash <(...) 两种执行方式
- 版本号 v1.0.2
|
2025-11-10 23:05:01 +08:00 |
|
WanWanYun
|
9f2ae24772
|
修复: 解决管道执行脚本时无法读取用户输入的问题
- 添加 exec < /dev/tty 重定向标准输入到终端
- 修复 curl|bash 执行时 read 命令失效的问题
- 版本号更新为 v1.0.1
|
2025-11-10 23:01:57 +08:00 |
|
WanWanYun
|
c8b8026d43
|
添加一键部署使用指南
|
2025-11-10 22:56:57 +08:00 |
|
WanWanYun
|
4341e82c44
|
添加一键部署脚本
- 支持Ubuntu/Debian/CentOS系统自动检测
- 自动安装Node.js、Nginx、PM2等依赖
- 提供官方源和阿里云镜像源选择
- 支持域名/IP两种访问模式
- 6种SSL自动部署方案(Certbot、acme.sh等)
- 智能容错和重试机制
- 全程自动化部署,用户仅需选择和输入
|
2025-11-10 22:55:51 +08:00 |
|
WanWanYun
|
0f133962dc
|
Initial commit - 玩玩云文件管理系统 v1.0.0
- 完整的前后端代码
- 支持本地存储和SFTP存储
- 文件分享功能
- 上传工具源代码
- 完整的部署文档
- Nginx配置模板
技术栈:
- 后端: Node.js + Express + SQLite
- 前端: Vue.js 3 + Axios
- 存储: 本地存储 / SFTP远程存储
|
2025-11-10 21:50:16 +08:00 |
|