|
|
bce225ec5c
|
feat: 添加管理员可控的F12调试模式开关
## 功能说明
- 管理员登录后可在管理后台页面看到"调试模式"卡片
- 点击开关按钮可启用/禁用F12和开发者工具
- 调试模式状态保存在localStorage,页面刷新后保持
- 同时控制主应用(app.html)和分享页面(share.html)的调试权限
## 技术实现
1. app.js新增debugMode配置和toggleDebugMode方法
2. app.html添加调试模式开关UI,并修改防调试代码支持debugMode控制
3. share.html添加防调试代码,受localStorage中的debugMode控制
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-14 16:04:17 +08:00 |
|
|
|
692b495005
|
feat: 添加分享到期时间显示功能
新增功能:
- 在分享列表表格中添加"到期时间"列,清晰显示每个分享的有效期
- 在分享创建成功后显示到期时间信息
- 添加友好的时间格式化显示(永久有效/今天过期/明天过期/X天后过期)
- 使用颜色区分不同状态:
* 绿色: 永久有效
* 蓝色: 正常有效期
* 黄色: 即将过期(3天内)
* 红色: 已过期
技术实现:
- frontend/app.html: 添加到期时间显示UI(表格列+分享结果)
- frontend/app.js: 添加3个辅助方法
* formatExpireTime(): 格式化到期时间显示
* isExpiringSoon(): 判断是否即将过期(3天内)
* isExpired(): 判断是否已过期
改进用户体验:
- 用户可以直观看到分享何时过期
- 即将过期的分享会有醒目的黄色提醒
- 鼠标悬停显示完整的ISO时间戳
- 时间显示本地化,使用中文格式
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-14 12:23:41 +08:00 |
|
WanWanYun
|
cfcbc22ae7
|
修复: 使用临时状态变量兼容SFTP配置显示逻辑
问题描述:
- 用户希望本地存储模式时隐藏SFTP配置区域
- 但点击"切换到SFTP"时需要能看到SFTP配置表单进行填写
解决方案:
1. 添加forceSftpConfigVisible状态变量用于临时强制显示
2. 修改HTML v-if条件,增加forceSftpConfigVisible的判断
3. 在switchStorage中设置forceSftpConfigVisible为true
4. 在updateFtpConfig成功后重置为false
5. 在switchView切换视图时自动重置
效果:
- 本地存储模式:SFTP配置默认隐藏
- 点击切换到SFTP:临时显示SFTP配置区域并滚动到该区域
- 配置成功:自动切换到SFTP模式,标志自动重置
- 切换视图:标志自动重置
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 23:31:26 +08:00 |
|
WanWanYun
|
1c58e498c5
|
修复: 解决切换到SFTP配置页面无响应的根本问题
问题分析:
1. SFTP配置区域的v-if条件包含了storageType检查
2. 当用户为local存储时,SFTP配置区域被隐藏
3. 即使跳转到settings页面,用户也看不到SFTP配置表单
修复内容:
1. 移除SFTP配置区域v-if中的storageType检查
2. 只要用户权限允许SFTP,配置区域就始终可见
3. 添加id属性,方便定位和滚动
4. 在switchStorage中添加平滑滚动到SFTP配置区域的逻辑
5. 使用$nextTick确保DOM更新后再滚动
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
|
2025-11-12 23:20:06 +08:00 |
|
WanWanYun
|
e5ba17329c
|
功能: 添加管理员上传工具检测和上传功能
- 后端: 添加 GET /api/admin/check-upload-tool 检测工具是否存在
- 后端: 添加 POST /api/admin/upload-tool 允许管理员手动上传exe
- 前端: 管理员界面新增上传工具管理卡片
- 前端: 支持检测工具状态、显示文件信息、手动上传
- 验证: 文件必须是.exe格式且大小>20MB
|
2025-11-12 20:45:17 +08:00 |
|
WanWanYun
|
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 |
|
WanWanYun
|
175087c894
|
修复: SFTP存储切换问题 & 添加开发者工具保护
- 修复SFTP按钮被错误禁用的问题
- 用户选择本地存储后可以正常切换回SFTP
- 切换到SFTP时检查是否已配置,未配置则跳转到设置页面
- 添加右键菜单禁用
- 添加F12和开发者工具快捷键禁用
- 添加开发者工具打开检测
- 生产环境禁用console输出
|
2025-11-12 09:13:12 +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 |
|
|
|
230937eba8
|
修复: 添加原密码验证UI并修复中文文件名乱码
## 问题1: 修改密码缺少原密码验证UI
后端已有current_password验证,但前端没有输入框:
- 用户无法输入当前密码
- 导致密码修改功能无法正常使用
修复内容(前端):
1. app.html: 添加当前密码输入框
2. app.js:
- 添加current_password字段到data
- 添加current_password必填验证
- 请求体中包含current_password
- 成功后清空current_password
## 问题2: 中文文件名上传后乱码
原因:
- multer默认将文件名从UTF-8转换为Latin1编码
- req.file.originalname获取到的是乱码
修复内容(后端):
1. 配置multer.diskStorage自定义文件名处理
2. 在filename回调中将Latin1转回UTF-8:
Buffer.from(file.originalname, 'latin1').toString('utf8')
3. 在上传路由中同样转换originalname
4. 临时文件名使用时间戳+随机数+原始文件名避免冲突
影响范围:
- 所有文件上传操作
- 中文、日文、韩文等非ASCII文件名
测试建议:
- 上传中文文件名文件(如测试文档.pdf)
- 上传emoji文件名
- 修改密码功能完整流程测试
|
2025-11-11 16:09:49 +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 |
|