feat(认证/通知): 单设备登录互踢 + 站内通知铃铛系统

- 单设备登录:登录成功即 last-login-wins 绑定 users.machine;非超管旧 token
  在下一次受保护请求抛 4011 下线,超管豁免;仅认 token 内签名 deviceId,不用请求头。
  前端两端接入踢下线跳转(?kicked=1 提示),V118 清空历史 machine
- 站内通知:新增 notification 模块(任务失败扫描 / 密钥欠费 / 下游服务探测三类来源),
  前后台铃铛组件 + 轮询;后台列表按主管数据范围(UserDataScopeSupport)过滤;V116 建表

均已于 2026-09-13 部署上线,此次补提交源码(此前仅存在于已部署 JAR/构建产物中)
This commit is contained in:
2026-09-13 23:08:22 +08:00
parent a0f6582914
commit b70557a077
53 changed files with 3982 additions and 101 deletions
+7
View File
@@ -19,6 +19,7 @@ const MODULE_KEYS = [
'similarAsin',
'appearancePatent',
'userSecret',
'notification',
'collectData',
'imageVideo',
'brand',
@@ -316,6 +317,12 @@ test('test_endpoints_frozen_snapshot', () => {
"migrate": "/api/user-secrets/migrate",
"proxyBalance": "/api/user-secrets/proxy-balance"
},
"notification": {
"summary": "/api/notifications/summary",
"list": "/api/notifications",
"read": "/api/notifications/{id}/read",
"readAll": "/api/notifications/read-all"
},
"collectData": {
"parse": "/api/collect-data/parse",
"countryPreference": "/api/collect-data/country-preference",