diff --git a/server/packages/sdk/src/services/base.ts b/server/packages/sdk/src/services/base.ts index ddbab219..fba28cdc 100644 --- a/server/packages/sdk/src/services/base.ts +++ b/server/packages/sdk/src/services/base.ts @@ -71,12 +71,13 @@ type ServiceActionSchema = Pick< */ function generateAfterHookKey(actionName: string, serviceName = '') { if (serviceName) { - return `${CONFIG_GATEWAY_AFTER_HOOK}.${serviceName}.${actionName}`.replaceAll( - '.', - '-' + return encodeNoConflictServiceNameKey( + `${CONFIG_GATEWAY_AFTER_HOOK}.${serviceName}.${actionName}` ); } else { - return `${CONFIG_GATEWAY_AFTER_HOOK}.${actionName}`.replaceAll('.', '-'); + return encodeNoConflictServiceNameKey( + `${CONFIG_GATEWAY_AFTER_HOOK}.${actionName}` + ); } } diff --git a/server/packages/sdk/src/utils.ts b/server/packages/sdk/src/utils.ts index 5943f5f6..73e6ee2b 100644 --- a/server/packages/sdk/src/utils.ts +++ b/server/packages/sdk/src/utils.ts @@ -1,4 +1,4 @@ -const noConflictKey = '$'; +const noConflictKey = '__'; /** * 因为微服务的名称中经常会有 `.` , 而 `.` 在一些场景(如lodash.set) 有特殊含义,因此增加一个工具用于解决这个问题