Commit Graph

196 Commits

Author SHA1 Message Date
x1ao4
7b662f65bc 优化创建与编辑任务模态框的显示效果 2025-09-16 18:37:18 +08:00
x1ao4
1aa0f44041 修复影视发现页面的 “创建任务” 按钮错误触发编辑模式而非创建模式的问题
- 重置 `createTaskFromDiscovery` 为创建模式,初始化表单,修复标题与底部按钮显示为创建态
2025-09-16 18:09:29 +08:00
x1ao4
3fd496cf2e Revert "新增海报懒加载与异步解码,提升首次打开性能"
This reverts commit 2e2bf064d4.
2025-09-16 03:08:02 +08:00
x1ao4
2e2bf064d4 新增海报懒加载与异步解码,提升首次打开性能 2025-09-16 02:28:38 +08:00
x1ao4
842730e3dd 优化任务海报的加载逻辑,启用长缓存并保留更换海报的精确热更新
将 `/cache/images` 改为 `Cache-Control: public, max-age=31536000, immutable` 提升切页性能;在自定义海报、刷新剧目、批量重下海报时发送 `poster_updated:<tmdb_id>`,前端 SSE 监听后对目标节目设置 `imageCacheBustById`,仅变更项追加 `?t=` 强制刷新,未变更项命中缓存。
2025-09-16 01:20:42 +08:00
x1ao4
9fd9d5cd74 在编辑元数据模态框内增加了更换海报功能 2025-09-15 15:49:17 +08:00
x1ao4
02d8f60709 在集数统计时增加对 “日期 连接符 第x期” 格式的特殊处理
- 修改前端 buildProgressByTaskNameFromLatestFiles 函数,优先检测"日期 连接符 第x期"格式
- 修改后端 extract_progress_from_latest_file 函数,支持相同的格式检测
- 支持多种日期格式:2025-09-08、2025/09/08、2025.09.08
- 支持多种连接符号:空格、连字符、下划线、点号、斜杠
- 当同时存在日期和"第x期"时,优先使用日期进行集数统计
- 保持向后兼容,不影响现有的纯集数和纯日期格式处理

问题:最近转存文件中的"2025-09-08 - 第128期"等格式被错误地使用第128期而不是日期
解决:增加特殊格式检测,当同时存在日期和"第x期"时优先使用日期,支持各种连接符号
2025-09-15 03:07:45 +08:00
x1ao4
aabc5d9afd 修复资源状态显示网络连接异常的问题
- 修改 formatShareUrlBanMessage 函数,对可恢复错误返回 null 而不是格式化消息
- 修改所有设置 shareurl_ban 的地方,只有非 null 的格式化结果才设置警告
- 修改显示逻辑,确保能正确显示错误信息
- 解决临时网络错误被误判为永久失效的问题

问题:可以正常访问的资源被显示为"网络连接异常,请稍后重试"
解决:区分临时网络错误和永久错误,只有永久错误才设置 shareurl_ban 警告
2025-09-15 02:40:40 +08:00
x1ao4
89aff60551 修复任务列表排序导致的操作绑定错误问题
- 修复任务配置区域按钮使用正确的原始索引而不是排序后索引
- 修复选择文件夹、重置文件夹、选择起始文件等按钮的操作绑定
- 修复资源搜索、命名预览、日期选择等功能的索引绑定
- 确保无论使用何种排序方式,按钮操作的都是正确的任务

问题:任务列表使用非编号排序时,配置区域的按钮操作的是按编号排序时对应位置的任务
解决:使用 task.__originalIndex 属性确保所有按钮操作都使用正确的原始索引
2025-09-15 02:20:44 +08:00
x1ao4
e1a3a74752 修复任务列表列表视图下的集数统计问题
- 修复 getTaskSeasonCounts 函数,使其支持 progressByTaskName 映射
- 支持基于日期的集数统计,与海报视图保持一致
- 修复排序逻辑中的集数计算问题
- 确保列表视图和海报视图的集数统计数据一致

问题:任务列表列表视图下没有正确获取基于日期的集数统计,排序时也被视作0
解决:让 getTaskSeasonCounts 函数优先使用 progressByTaskName 映射,支持基于日期的集数查找
2025-09-15 02:00:19 +08:00
x1ao4
9e717f1b69 修复任务列表排序导致的新增任务定位问题
- 修复 addTask 函数中的任务定位逻辑,使用临时标识来准确定位新任务
- 解决非编号排序时新增任务后展开错误编辑模块的问题
- 确保无论使用何种排序方式,新增任务后都能正确定位到新任务的配置区域
- 保持向后兼容,不影响现有排序和编辑功能

问题:任务列表使用非编号排序时,点击添加任务后展开的是排在最后的任务而不是新添加的任务
解决:通过临时标识和排序后列表查找,确保始终展开新添加的任务
2025-09-15 01:38:17 +08:00
x1ao4
41b2cd7727 修复最近转存文件只包含日期信息时集数统计和转存进度丢失的问题
- 修复后端 enrich_tasks_with_calendar_meta 函数,增加对只有日期情况的处理
- 修复前端任务列表页面数据加载,确保 episodes 数据和进度映射正确构建
- 解决刷新页面后已转存集数变为0的问题
- 保持向后兼容,不影响包含集数的文件处理

问题:最近转存文件中不包含集数但包含播出日期时,任务列表页面的集数统计和转存进度在刷新后会丢失
解决:完善后端数据处理逻辑,确保前端页面能正确加载和构建所需的数据映射
2025-09-15 01:25:39 +08:00
x1ao4
d685ab4e90 更新 Wiki 链接地址 2025-09-15 00:08:33 +08:00
x1ao4
922c47848b 新增在任务列表的海报视图下点击任务名称打开 TMDB 季页面的功能
- 为任务列表海报视图中的任务名称添加点击事件处理器
- 新增 getTaskTmdbId() 方法,智能获取任务的 TMDB ID
- 新增 getTaskSeasonNumber() 方法,获取任务的季数信息
- 新增 openTaskTmdbPage() 方法,优先打开特定季的 TMDB 页面
- 只有当任务有匹配项目时才显示为可点击状态
- 当有季数信息时打开 /tv/{tmdb_id}/season/{season_number} 页面
- 当无季数信息时回退到打开整个节目页面
- 提升了用户访问 TMDB 页面的便捷性和精确性
2025-09-14 18:36:25 +08:00
x1ao4
46b07fcdac 优化任务配置继承逻辑,支持按视图类型继承对应任务配置
- 新增 getLastTaskByCurrentFilter() 方法,根据当前视图筛选条件获取对应类型中编号最大的任务
- 修改 addTask() 方法,使用新的筛选逻辑继承任务配置
- 修改 openCreateTaskModal() 方法,使用新的筛选逻辑继承任务配置
- 现在在剧集视图下新建任务会继承剧集类型中编号最大的任务配置,动画视图下会继承动画类型中编号最大的任务配置,以此类推
- 提升了用户在特定类型视图下新建同类任务时的操作体验
2025-09-14 18:22:05 +08:00
x1ao4
9f4aa83e22 新增资源搜索结果连续浏览功能
- 在资源搜索的选择需转存的文件夹模态框中添加上一个/下一个导航按钮
- 支持在搜索结果中连续浏览,无需关闭模态框重新选择
- 在左下角显示当前资源序号信息(第 X 个资源)
2025-09-14 03:55:14 +08:00
x1ao4
40fd3738f7 为任务列表的海报视图补全任务功能按钮 2025-09-14 01:36:19 +08:00
x1ao4
8f0c60957d 新增海报语言设置功能 2025-09-13 20:26:27 +08:00
x1ao4
2db4e1587d 在任务列表页面新增创建任务按钮,优化热更新和季数匹配逻辑 2025-09-13 19:08:44 +08:00
x1ao4
a51cd1251a 为任务列表新增了海报视图,可切换显示模式 2025-09-12 02:57:23 +08:00
x1ao4
a2af2dcbe0 优化追剧日历海报悬停信息的展示效果 2025-09-11 23:28:27 +08:00
x1ao4
a917123463 为系统配置的显示设置部分更新了悬停帮助信息 2025-09-11 01:59:57 +08:00
x1ao4
d8749ff69f 在任务列表页面新增排序功能 2025-09-10 02:49:45 +08:00
x1ao4
591c9e9fe1 在任务列表页面新增按任务类型筛选功能 2025-09-09 17:00:15 +08:00
x1ao4
7f42f694ce 新增追剧日历功能 2025-09-09 16:24:58 +08:00
x1ao4
5170760331 修复 inner error 误判问题
- 添加对 "inner error" 类型错误的识别和处理
- 将 "inner error" 归类为可恢复的网络错误而非资源失效
- 前端多个方法中添加对 "inner error" 的识别和忽略
- 后端添加 is_recoverable_error 工具方法
- 后端 _send_request 方法中自动转换 "inner error" 为 "request error"
- 后端 get_detail 方法中添加重试机制处理临时网络问题
- 避免因临时网络问题误判资源状态,提升用户体验
2025-08-31 12:23:52 +08:00
x1ao4
8e5332918a 修复资源搜索结果排序时未进行时区转换的问题
- 修改前端 parsePublishTs 函数,在排序时也考虑 +8 小时时区转换
- 确保 TG 来源的搜索结果按北京时间正确排序
- 保持其他来源的排序逻辑不变
- 解决排序使用原始时间而非转换后时间的问题
2025-08-31 09:17:30 +08:00
x1ao4
967a363d87 修复 PanSou 插件资源发布时间显示错误的问题
- 简化时间处理规则:只有 TG 来源需要 +8 小时
- 其他所有来源(Unknown、Plugin 等)都不 +8 小时
- 修正前端 formatPublishDate 函数的判断逻辑
- 确保时间显示准确,避免错误的时间转换
2025-08-31 07:59:50 +08:00
x1ao4
a89ad08ae8 修正 Cookie 状态判断逻辑,准确反映账号功能支持情况
1. 修正后端get_user_info接口
   - 为成功获取账号信息的情况添加has_mparam字段
   - 确保前端能正确判断账号是否包含移动端参数

2. 修正前端Cookie状态判断逻辑
   - 根据账号索引位置判断功能支持情况
   - 第一个账号(index=0)支持转存和签到
   - 其他账号只支持签到功能
   - 修正了第一个账号被错误识别为'仅支持转存'的问题

3. 完善状态提示信息
   - 账号已登录,支持转存和签到 (第一个账号,有移动端参数)
   - 账号已登录,仅支持转存功能 (第一个账号,无移动端参数)
   - 账号已登录,仅支持签到功能 (其他账号,有移动端参数)
   - 账号已登录,不支持转存和签到 (其他账号,无移动端参数)
   - 账号已失效,请重新获取Cookie
   - 仅支持签到功能 (无昵称,有移动端参数)
   - 账号未登录,请获取Cookie (无昵称,无移动端参数)
2025-08-31 03:23:17 +08:00
x1ao4
502a3c21c0 为系统配置页面的插件配置和 Cookie 增加占位提示与悬停信息
- 为插件配置添加详细的占位符文本和悬停帮助信息
- 为 Cookie 配置部分添加智能状态悬停提示
2025-08-31 03:02:25 +08:00
x1ao4
e2ba923370 修复资源搜索结果发布时间时区显示错误的问题
- 在前端 formatPublishDate 函数中添加时区修复逻辑
- 智能识别 UTC 时间(包含 T 或 Z)并自动 +8 小时转换为北京时间
- 保持标准北京时间格式不变
- 解决发布时间显示提早 8 小时的问题
2025-08-30 22:11:45 +08:00
x1ao4
f0f608b398 调整资源搜索下拉与文件夹选择模态交互,优化关闭时机
- keep: 打开/关闭选择需转存的文件夹模态不再自动关闭下拉
- add: 点击模态右上角关闭按钮或模态内部区域不关闭下拉
- change: 仅在 “转存当前文件夹/保存到当前文件夹” 确认时,同时关闭模态与下拉
- fix: 在多处初始化分支补充 “点击发生在 #fileSelectModal 内部时不关闭下拉” 的判断
- chore: 在 `selectCurrentFolder()` 中显式关闭下拉,避免确认后下拉残留
2025-08-28 23:23:16 +08:00
x1ao4
72a2b862a3 为文件夹/分享详情加载扩展可恢复错误重试范围
- retry: 在 `getShareDetail` 将 “非法token/Bad Parameter/request error” 纳入可恢复错误
  - 模态仍显示时清空 `stoken` 并延迟 600ms 自动重试一次
  - 重试失败统一提示 “获取文件夹列表失败,请关闭窗口再试一次”
2025-08-28 22:45:31 +08:00
x1ao4
484e68a82d 为文件夹/分享详情加载引入无感自动重试,优化失败体验
- 新增:在 `getSavepathDetail` 失败时自动无感重试一次
  - 仅在 `#fileSelectModal` 仍显示时触发重试,避免误重试
  - 为请求参数追加 `_ts` 时间戳,绕过浏览器/代理缓存导致的伪重试
- 新增:在 `getShareDetail` 失败时自动无感重试一次
  - 重试前强制清空 `this.fileSelect.stoken`,让后端重新获取有效 `stoken`
  - 仅在 `#fileSelectModal` 仍显示时触发重试
- 超过最大重试次数后,立即提示“获取文件夹列表失败,请关闭窗口再试一次”,不再继续等待

原因:
- 原有“等待1秒再调一次”的重试在令牌失效或缓存命中时无效,用户需手动关窗再点
- 本次改动通过刷新 `stoken` 与规避缓存,实现与“手动关窗再点”接近的效果,且对用户无感
2025-08-28 22:05:29 +08:00
x1ao4
5216fa981d 修复资源搜索结果在大样本下超时后重复追加,导致重复渲染与计数膨胀的问题
- 前端:引入搜索 “会话号 + validating” 双重校验,超时立即取消当前会话,并在批处理/渲染前校验,阻断超时后的继续写入;保留稳定 v-for key 确保渲染一致性
- 后端:`get_detail` 增强容错,避免无 `code`/网络异常引发 KeyError;`/get_share_detail` 统一错误返回结构,前端稳定处理
2025-08-27 23:33:53 +08:00
x1ao4
8304d8e8fd 新增推送通知类型选择功能
- 新增推送通知类型配置选项
- 支持三种模式:
  - 完整信息(转存成功、转存失败、资源失效)
  - 仅成功信息(仅转存成功)
  - 排除失效信息(转存成功、转存失败)
- 优化通知过滤逻辑,提升用户体验
2025-08-27 02:32:42 +08:00
x1ao4
5c50453acd 修复资源搜索结果发布日期时区(显示)错误的问题 2025-08-27 01:05:19 +08:00
x1ao4
6fd9683ff9 修改搜索来源配置提示信息 2025-08-26 17:58:08 +08:00
x1ao4
101abb0247 优化资源搜索结果的去重逻辑 2025-08-26 17:20:34 +08:00
x1ao4
54bcd0906a 优化资源搜索结果的显示方式和逻辑 2025-08-26 15:53:12 +08:00
x1ao4
953afd8758 优化搜索结果中的链接显示方式,改为显示分享 ID 而非完整地址 2025-08-26 15:27:36 +08:00
x1ao4
7bf5e7423a 为资源搜索功能新增了 PanSou 服务器支持,优化了搜索结果的展示与排序方式,调整了系统配置页面的模块顺序 2025-08-26 01:57:34 +08:00
x1ao4
a27c76637b 新增插件配置模式设置功能,支持全局配置
- 插件配置支持独立配置或全局配置,默认为独立配置
- 独立配置模式下每个任务可单独设置插件参数,互不影响
- 全局配置模式下所有任务共用同一套插件参数,只能在系统配置页面修改,并会覆盖已有任务的配置,新建任务也会自动继承相应配置
- 支持 aria2、alist_strm_gen、emby 插件
2025-08-25 17:01:25 +08:00
x1ao4
9e32ef7997 新增高级过滤功能
支持使用保留词和过滤词实现更为复杂的过滤逻辑
2025-08-24 00:02:51 +08:00
x1ao4
2283747d6c 优化移动端分页导航显示效果 2025-08-09 23:39:28 +08:00
x1ao4
62fa776ec3 修复电影命名规则空配置被强制覆盖的问题 2025-08-09 22:43:30 +08:00
x1ao4
a9af75eb11 修复电影命名规则正则表达式的转义问题 2025-08-09 22:07:28 +08:00
x1ao4
4d7e30ddb3 在影视发现页面的创建任务模态框新增了创建、运行并删除任务功能 2025-08-09 18:58:46 +08:00
x1ao4
86533d1f29 新增电影命名规则配置功能
- 在系统配置中新增电影命名规则设置,包含匹配表达式和替换表达式两个输入框
- 默认匹配表达式:^(.*)\.([^.]+),替换表达式:片名 (年份).\2
- 影视发现页面的电影类榜单(热门电影、最新电影、豆瓣高分、冷门佳片)创建任务时自动应用电影命名规则
- 支持智能填充片名和年份变量,保持文件扩展名
- 向后兼容,老用户更新后自动获得默认配置
2025-08-09 00:02:27 +08:00
x1ao4
5a4afbe737 修复空文件夹数据的异常显示问题
- 修复空文件夹显示 "undefined 项" 而非 "0 项" 的问题
- 修复空文件夹分页显示 "1-0 项" 而非 "0-0 项" 的问题
- 在后端 API 中添加 include_items 字段的数据验证和处理
2025-08-06 12:37:20 +08:00