feat(msgcenter): 消息跳转收口(C1/C2)——出参增 showJump 判权(authorized-codes 每请求懒加载一次、UserBase 不可达放行、无权 jumpUrl 同置 null 双保险);jump-bases 手工基址表三处退役(字段/yml/兜底分支)+ jumpApp 命中严格二选一不回落发送方 appKey,注册表基址并入尾斜杠归一

This commit is contained in:
chenxing
2026-09-28 16:52:51 +08:00
parent 847f13445d
commit ae4bc5ecf6
4 changed files with 253 additions and 138 deletions
@@ -10,7 +10,8 @@ import java.util.Map;
/**
* 消息中心代理配置(§3.5 最小消息接入,修 BP-R3-1 审批人待办断头路):
* UserHome 经签名代理调 UserMsg /oapi/msg/**(appKey=本应用 100001,UserMsg trusted-apps 已含),
* jumpPath 是裸相对路径且各应用落地页均为 hash 路由——代理按 bizType 查基址表拼绝对 jumpUrl。
* jumpPath 是裸相对路径且各应用落地页均为 hash 路由——代理按应用注册表(UserBase by-code/by-key
* 取 pc_url)拼绝对 jumpUrl;手工基址表 jump-bases 已退役(C2)。
*/
@Data
@Component
@@ -35,12 +36,4 @@ public class MsgCenterProperties {
/** appKey → 应用显示名(消息行/弹层标签补全,如 100617 → 通知公告);未配置回退 msgType 文案 */
private Map<String, String> appNames = new LinkedHashMap<>();
/**
* 基址表:key 兼容两种查询维度——「页面归属应用」(jumpApp,发送方代发时声明,优先)与
* 「bizType」(发送方自己的消息分类,回落)。业务方应用名键(如 notice)与其主 bizType 键
* 通常重合;细分分类(notice.expedite)由发送方配 jumpApp=notice 命中应用键,无需逐分类配键。
* jumpUrl = 基址 + "/#" + jumpPath;生产同主域用相对段如 /flow-center。
*/
private Map<String, String> jumpBases = new LinkedHashMap<>();
}