Commit Graph

217 Commits

Author SHA1 Message Date
zsglpt Optimizer
56b3ca4e59 🔧 修复.gitignore,正确忽略data目录
- 删除旧的data/*规则
- 添加统一的data/规则
- 确保运行时数据文件不会被意外提交
2026-01-16 17:48:28 +08:00
zsglpt Optimizer
92d4e2ba58 🧹 第二轮清理:删除过时文档和开发文件
 删除的文件:
- AUTO_LOGIN_GUIDE.md (关于已删除测试文件的文档)
- README_OPTIMIZATION.md (过时的优化说明)
- TESTING_GUIDE.md (测试指南,已删除相关文件)
- SIMPLE_OPTIMIZATION_VERSION.md (过时的优化文档)
- ENCODING_FIXES.md (编码问题已解决,不再需要)
- INSTALL_WKHTMLTOIMAGE.md (截图问题已解决)
- OPTIMIZATION_FIXES_SUMMARY.md (过时,优化已完成)
- kdocs_optimized_uploader.py (开发测试文件)

 保留的文档:
- BUG_REPORT.md (项目bug分析)
- PERFORMANCE_ANALYSIS_REPORT.md (性能分析报告)
- LINUX_DEPLOYMENT_ANALYSIS.md (Linux部署指南)
- DATABASE_UPGRADE_COMPATIBILITY.md (数据库升级指南)
- GIT_PUSH_SUCCESS.md (推送成功报告)
- CLEANUP_SUMMARY.md (清理总结)

🎯 目标:
- 保持仓库专业化
- 只保留当前项目需要的文档
- 删除过时和重复的信息
2026-01-16 17:48:03 +08:00
zsglpt Optimizer
67340f75be 📚 添加升级兼容性指南和推送成功报告 2026-01-16 17:44:23 +08:00
zsglpt Optimizer
803fe436d3 🧹 清理不必要的文件,保持仓库整洁
 删除的文件:
- 测试文件 (test_*.py, kdocs_*test*.py, simple_test.py)
- 启动脚本 (start_*.bat)
- 临时修复文件 (temp_*.py)
- 图片文件 (qr_code_*.png, screenshots/*)
- 运行时生成文件

 添加的内容:
- .gitignore 文件,防止推送临时文件和开发文件

📋 保留的内容:
- 核心应用代码
- 数据库迁移文件
- Docker配置文件
- 必要的文档 (BUG_REPORT.md, PERFORMANCE_ANALYSIS_REPORT.md, 等)

🎯 目的:
- 保持仓库整洁专业
- 只包含生产环境需要的文件
- 避免推送临时开发文件
- 提高仓库维护性
2026-01-16 17:44:04 +08:00
zsglpt Optimizer
7e9a772104 🎉 项目优化与Bug修复完整版
 主要优化成果:
- 修复Unicode字符编码问题(Windows跨平台兼容性)
- 安装wkhtmltoimage,截图功能完全修复
- 智能延迟优化(api_browser.py)
- 线程池资源泄漏修复(tasks.py)
- HTML解析缓存机制
- 二分搜索算法优化(kdocs_uploader.py)
- 自适应资源配置(browser_pool_worker.py)

🐛 Bug修复:
- 解决截图失败问题
- 修复管理员密码设置
- 解决应用启动编码错误

📚 新增文档:
- BUG_REPORT.md - 完整bug分析报告
- PERFORMANCE_ANALYSIS_REPORT.md - 性能优化分析
- LINUX_DEPLOYMENT_ANALYSIS.md - Linux部署指南
- SCREENSHOT_FIX_SUCCESS.md - 截图功能修复记录
- INSTALL_WKHTMLTOIMAGE.md - 安装指南
- OPTIMIZATION_FIXES_SUMMARY.md - 优化总结

🚀 功能验证:
- Flask应用正常运行(51233端口)
- 数据库、截图线程池、API预热正常
- 管理员登录:admin/admin123
- 健康检查API:http://127.0.0.1:51233/health

💡 技术改进:
- 智能延迟算法(自适应调整)
- LRU缓存策略
- 线程池资源管理优化
- 二分搜索算法(O(log n) vs O(n))
- 自适应资源管理

🎯 项目现在稳定运行,可部署到Linux环境
2026-01-16 17:39:55 +08:00
722dccdc78 fix: 登录路由添加CSRF豁免,解决重启后无法登录的问题
- 添加 /yuyx/api/login, /api/login, /api/auth/login 路由的CSRF豁免
- 登录本身就是建立session的过程,不需要CSRF保护
- 解决服务重启后旧session导致CSRF验证失败的问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:29:32 +08:00
606cad43dc fix: 修复无附件文章无法标记已读的问题
- 发现标记已读的正确 API: /tools/submit_ajax.ashx?action=saveread
- 添加 mark_article_read 方法调用 saveread API 标记文章已读
- 修改 get_article_attachments 返回文章的 channel_id 和 article_id
- 对每篇文章都调用 mark_article_read,无论是否有附件
- 解决米米88、黄紫夏99等账号文章无法标记已读的问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:24:29 +08:00
6313631b09 fix: 改进分页逻辑,确保遍历所有页面不漏掉内容
- 当前页有新文章时,重新获取第1页(已读文章消失后页面上移)
- 当前页无新文章时,继续检查后续页面
- 遍历完所有页面后才结束循环
- 解决 mark_read 延迟导致后续页面内容被漏掉的问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:17:52 +08:00
09188b8765 fix: 防止浏览时无限循环重复处理已处理文章
- 添加 processed_hrefs 集合跟踪已处理的文章 href
- 处理文章前检查是否已处理过,避免重复处理
- 添加 new_articles_in_page 计数器,当前页无新文章时退出循环
- 解决 mark_read 未立即生效导致的无限循环问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:14:22 +08:00
b2b0dfd500 fix: 修复分页错位问题,改为循环获取第1页直到清空
问题:标记已读后文章从列表消失,导致后续页面上移,
造成按页码遍历时遗漏部分内容。

解决:每次处理完当前页后重新获取第1页,循环直到没有内容。

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 13:08:34 +08:00
2ff9e18842 fix: 修复附件解析正则,匹配 download2.ashx
正则从 download\.ashx 改为 download2?\.ashx
以同时支持新旧两种附件下载链接格式

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:48:58 +08:00
1bd49f804c docs: 更新浏览逻辑注释,反映网站参数变更
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:45:40 +08:00
f8bbe3da0d fix: 修复应读参数,bz=2 改为 bz=0(适配网站更新)
网站参数变更:
- bz=0: 应读
- bz=1: 已读
- bz=2: 已读(旧参数,已废弃)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:43:25 +08:00
1b85f34a0f fix: 恢复截图顺序,保持完整框架样式
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:38:52 +08:00
f04c5c1c8f fix: 适配网站结构更新
1. 标记已读改用预览通道 (download2.ashx)
2. 截图优先直接访问目标页面,避免 iframe 加载问题

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-14 12:31:22 +08:00
Yu Yon
b1484e9c03 fix: 修复多任务上传状态显示问题
1. 后端: 上传完成后恢复为"未开始"状态,不再保持"等待上传"
2. 前端: 调整状态颜色
   - 上传截图(上传中): 红色
   - 等待上传: 黄色
   - 已完成: 绿色
2026-01-09 09:21:30 +08:00
Yu Yon
7f5e9d5244 feat: 多任务上传时显示等待上传状态
- 任务入队时设置状态为"等待上传"
- 实际上传时更新为"上传截图"
- 用户可以更直观地看到多任务上传进度
2026-01-09 09:09:00 +08:00
Yu Yon
0ca6dfe5a7 fix: 修复容器运行时长显示(使用/proc计算实际容器运行时间) 2026-01-08 23:15:18 +08:00
Yu Yon
15fe2093c2 fix: Dockerfile添加curl支持健康检查 2026-01-08 17:59:14 +08:00
30b6e3144b fix: database.py 添加缺失的 kdocs_row_start/row_end 参数
修复保存金山文档配置时报 500 错误的问题

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 01:03:19 +08:00
da71b0ac5e docs: 修正 README 中截图引擎描述
- 截图使用 wkhtmltoimage(不是 Playwright)
- Playwright 仅用于金山文档表格操作
- 修正技术栈、项目结构、更新日志相关描述

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 01:00:08 +08:00
3c6799ce53 docs: 更新 README 文档至 v2.0
- 更新项目简介,添加新功能描述
- 更新技术栈(Vue 3, Playwright, Element Plus)
- 更新项目结构,添加新模块说明
- 添加更新日志章节,记录 v2.0 主要变更:
  - 金山文档集成
  - Vue 3 SPA 前端
  - 用户自定义定时任务
  - 安全防护系统
  - 邮件通知系统
  - 公告/反馈系统
  - 截图引擎升级等

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:58:16 +08:00
a3060e4cd9 feat: Vue SPA 添加 KDocs 在线状态显示 + 清理废弃模板
功能更新:
- AccountsPage.vue: 工具栏显示 KDocs 在线状态(就绪/离线)
- settings.js: 添加 fetchKdocsStatus API 函数
- 每60秒自动刷新状态

代码清理:
- 删除废弃的 legacy 模板文件(约170KB)
  - templates/index.html
  - templates/login.html
  - templates/register.html
  - templates/reset_password.html

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-08 00:31:42 +08:00
be9ec5e9a2 feat: 用户端显示金山文档在线状态
- 新增 /api/kdocs/status 接口(用户端简化版)
- 工具栏显示"表格上传:  就绪"或"⚠️ 离线"
- 页面加载时获取状态,每60秒自动刷新
- 系统未启用时不显示

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:56:16 +08:00
b0fe325154 feat: KDocs 上传增强 + 离线监控 + Bug修复
KDocs 上传功能增强:
- 搜索优化:只用姓名搜索 + C列验证,避免匹配到错误单元格
- 有效行范围:支持配置起始行/结束行,限制上传区域
- 图片覆盖:支持覆盖单元格已有图片(Escape + Delete)
- 配置持久化:kdocs_row_start/row_end 保存到数据库(v18迁移)

二次登录功能:
- 登录后立即再次登录,让"上次登录时间"显示为刚刚

KDocs 离线监控:
- 每5分钟检测金山文档登录状态
- 离线时发送邮件通知管理员(每次掉线只通知一次)
- 恢复在线后重置通知状态

Bug 修复:
- 任务日志搜索账号关键词报错500:添加异常处理

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 23:40:46 +08:00
13544867aa Fix clipboard permissions for KDocs 2026-01-07 17:46:28 +08:00
5fd13fa152 Read KDocs cells via clipboard 2026-01-07 17:40:29 +08:00
a36fa3370b Show KDocs upload status 2026-01-07 17:31:50 +08:00
2ec0c7cb58 Speed up KDocs QR retrieval 2026-01-07 17:15:46 +08:00
3841358bc2 Add KDocs action feedback 2026-01-07 17:03:03 +08:00
6bd00021b8 Fix KDocs login detection 2026-01-07 16:53:44 +08:00
f2652af8fb Fix kdocs upload status restore 2026-01-07 15:16:04 +08:00
950af0efda Improve KDocs search matching 2026-01-07 15:03:51 +08:00
45cbdc51b4 Show upload status and log KDocs skips 2026-01-07 14:28:58 +08:00
703a62b6ad Increase KDocs QR timeout 2026-01-07 14:17:01 +08:00
ad847888f8 Avoid live KDocs status on page load 2026-01-07 14:12:54 +08:00
8c150dcb7c Auto poll KDocs login status 2026-01-07 14:04:09 +08:00
ec90404194 Validate and log QR capture 2026-01-07 13:56:16 +08:00
6af8f46129 Log and save KDocs QR screenshot 2026-01-07 13:49:37 +08:00
19f083df7b Auto click KDocs login and confirm 2026-01-07 13:44:15 +08:00
a04cbfa55f Broaden KDocs login click and modal capture 2026-01-07 13:33:26 +08:00
b78bc7935f Trigger KDocs WeChat login flow 2026-01-07 13:26:31 +08:00
d8897f893a Expand KDocs QR detection 2026-01-07 13:21:19 +08:00
95d7cbc825 Improve KDocs QR capture 2026-01-07 13:14:02 +08:00
6b416dc5f1 Force KDocs QR fetch and improve login detection 2026-01-07 13:07:57 +08:00
28e86b1147 Fix kdocs login status detection 2026-01-07 12:57:03 +08:00
1e216ea356 Fix kdocs runtime logger call 2026-01-07 12:49:54 +08:00
3bae759afc Integrate KDocs auto-upload 2026-01-07 12:32:41 +08:00
5137addacc Optimize scheduler status lookups 2026-01-06 15:58:23 +08:00
4c492122dd feat: support announcement image upload
# Conflicts:
#	database.py
#	db/migrations.py
#	routes/admin_api/core.py
#	static/admin/.vite/manifest.json
#	static/admin/assets/AnnouncementsPage-Btl9JP7M.js
#	static/admin/assets/EmailPage-CwqlBGU2.js
#	static/admin/assets/FeedbacksPage-B_qDNL3q.js
#	static/admin/assets/LogsPage-DzdymdrQ.js
#	static/admin/assets/ReportPage-Bp26gOA-.js
#	static/admin/assets/SettingsPage-__r25pN8.js
#	static/admin/assets/SystemPage-C1OfxrU-.js
#	static/admin/assets/UsersPage-DhnABKcY.js
#	static/admin/assets/email-By53DCWv.js
#	static/admin/assets/email-ByiJ74rd.js
#	static/admin/assets/email-DkWacopQ.js
#	static/admin/assets/index-D5wU2pVd.js
#	static/admin/assets/tasks-1acmkoIX.js
#	static/admin/assets/update-DdQLVpC3.js
#	static/admin/assets/users-B1w166uc.js
#	static/admin/assets/users-CPJP5r-B.js
#	static/admin/assets/users-CnIyvFWm.js
#	static/admin/index.html
#	static/app/.vite/manifest.json
#	static/app/assets/AccountsPage-C48gJL8c.js
#	static/app/assets/AccountsPage-D387XNsv.js
#	static/app/assets/AccountsPage-DBJCAsJz.js
#	static/app/assets/LoginPage-BgK_Vl6X.js
#	static/app/assets/RegisterPage-CwADxWfe.js
#	static/app/assets/ResetPasswordPage-CVfZX_5z.js
#	static/app/assets/SchedulesPage-CWuZpJ5h.js
#	static/app/assets/SchedulesPage-Dw-mXbG5.js
#	static/app/assets/SchedulesPage-DwzGOBuc.js
#	static/app/assets/ScreenshotsPage-C6vX2U3V.js
#	static/app/assets/ScreenshotsPage-CreOSjVc.js
#	static/app/assets/ScreenshotsPage-DuTeRzLR.js
#	static/app/assets/VerifyResultPage-BzGlCgtE.js
#	static/app/assets/VerifyResultPage-CN_nr4V6.js
#	static/app/assets/VerifyResultPage-CNbQc83z.js
#	static/app/assets/accounts-BFaVMUve.js
#	static/app/assets/accounts-BYq3lLev.js
#	static/app/assets/accounts-Bc9j2moH.js
#	static/app/assets/auth-Dk_ApO4B.js
#	static/app/assets/index-BIng7uZJ.css
#	static/app/assets/index-CDxVo_1Z.js
#	static/app/index.html
2026-01-06 12:15:16 +08:00