feat(desktop): push publish tasks via AMQP topic dispatch WebSocket

Introduce a desktop.task.dispatch topic exchange with per-client routing
keys. Tenant-api publishes a task_available frame keyed by target client
ID when a publish job is created; every instance binds its own transient
queue and forwards to the matching WebSocket (/api/desktop/dispatch) it
owns. Desktop-client now prefers this push channel and only falls back
to HTTP /lease polling when the socket is down. Also drop admin-web
monitoring-plugin remnants and scope the publish modal account list to
publish platforms.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-20 19:46:59 +08:00
parent 7abac1e9c4
commit 9fa091c150
20 changed files with 1083 additions and 177 deletions
+1 -6
View File
@@ -59,12 +59,7 @@ const errorMessageMap: Record<string, string> = {
publisher_plugin_empty_response: "浏览器插件未返回数据,请刷新当前页面后重试",
publisher_plugin_invalid_response: "浏览器插件返回了无效数据,请刷新当前页面后重试",
publisher_plugin_unknown_error: "浏览器插件调用失败,请稍后重试",
monitoring_plugin_timeout: "监测插件响应超时,请稍后重试",
monitoring_plugin_invalid_response: "监测插件返回了无效数据,请稍后重试",
monitoring_plugin_unknown_error: "监测插件调用失败,请稍后重试",
monitoring_plugin_required: "请先安装并打开浏览器插件",
monitoring_plugin_register_required: "浏览器插件正在初始化,请稍后重试",
installation_offline: "监测插件离线,请打开浏览器插件后重试",
installation_offline: "桌面客户端未在线,请打开桌面客户端后重试",
network_error: "网络连接失败,请稍后重试",
unknown_error: "发生未知错误",
};