mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-04 23:17:20 +08:00
refactor(messaging): 拆分用户交互模块到 application/messaging 层
- 新增 application/messaging 交互层:router.py 统一会话优先级与回调分发, site/subscribe/skill/media/plugin 各交互状态与视图从 Chain 迁出 - MessageChain 改为通过 InteractionRouter 派发文本会话与按钮回调, 新增结构化 callback_data 通道(兼容 CALLBACK: 文本前缀) - Transfer 失败重试/AI 接管回调归入 TransferChain - MediaInteractionChain 拆出为 app/chain/interaction.py(旧路径保留兼容别名) - WebAgent Endpoint 去重,统一使用 agent.py 回调协议函数 - 删除 app/chain/skills.py(交互逻辑并入 SkillInteractionHandler) - 同步更新架构文档与测试,全量 4476 通过
This commit is contained in:
@@ -399,6 +399,8 @@ def _load_subscribe_chain_class():
|
||||
|
||||
|
||||
SUBSCRIBE_CHAIN_MODULE, SubscribeChain = _load_subscribe_chain_class()
|
||||
# 进度格式化已迁移到交互处理器,经由隔离加载的模块获取
|
||||
SubscribeInteractionHandler = SUBSCRIBE_CHAIN_MODULE.SubscribeInteractionHandler
|
||||
|
||||
|
||||
def _patch_media_recognize(module, result):
|
||||
@@ -473,7 +475,7 @@ class SubscribeChainTest(TestCase):
|
||||
"""订阅列表展示必须把 S0 当作合法季号,而不是回退到第 1 季。"""
|
||||
subscribe = self._build_subscribe(season=0, total_episode=5, lack_episode=2)
|
||||
|
||||
progress = SubscribeChain._format_subscribe_progress(subscribe)
|
||||
progress = SubscribeInteractionHandler._format_subscribe_progress(subscribe)
|
||||
|
||||
self.assertEqual(progress, "第0季 [3/5]")
|
||||
|
||||
@@ -481,7 +483,7 @@ class SubscribeChainTest(TestCase):
|
||||
"""S0 没有总集数时仍显示特别季季号。"""
|
||||
subscribe = self._build_subscribe(season=0, total_episode=None, lack_episode=None)
|
||||
|
||||
progress = SubscribeChain._format_subscribe_progress(subscribe)
|
||||
progress = SubscribeInteractionHandler._format_subscribe_progress(subscribe)
|
||||
|
||||
self.assertEqual(progress, "第0季")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user