feat(jpush): add vendor-specific message classification support for push notifications
All checks were successful
Build Backend / build (push) Successful in 3m4s
Build Backend / build-docker (push) Successful in 1m15s

- Add OPPO category/notify_level support (2024.11.20 regulation: category required when notify_level present)
- Add Honor importance field (NORMAL=service/LOW=marketing) for notification classification
- Add vivo category field (IM/ACCOUNT) for message scenario identification
- Set Xiaomi channel/template defaults in code (system=153609, chat=153608, templates P10761/M10289)
- Add classification option to JPush push payloads (0=operation, 1=system)
- Update xiaomi template keywords mapping to match actual template placeholders
- Add keyword search support for GetFollowers and GetFollowing endpoints
- Bind new config fields to environment variables for OPPO/Honor/vivo
This commit is contained in:
lafay
2026-06-18 19:41:32 +08:00
parent 5b83f98fb8
commit 821e066446
13 changed files with 637 additions and 66 deletions

View File

@@ -303,6 +303,13 @@ report:
# APP_JPUSH_CHANNEL_XIAOMI_MI_SYSTEM_TEMPLATE_ID, APP_JPUSH_CHANNEL_XIAOMI_MI_CHAT_TEMPLATE_ID
# OPPO 私信模板(可选,仅 OPPO配置后下发私信时携带:
# APP_JPUSH_CHANNEL_OPPO_SYSTEM_PRIVATE_TEMPLATE_ID, APP_JPUSH_CHANNEL_OPPO_CHAT_PRIVATE_TEMPLATE_ID
# OPPO 消息分类2024.11.20 新规category 必传时 notify_level 才生效):
# APP_JPUSH_CHANNEL_OPPO_SYSTEM_CATEGORY, APP_JPUSH_CHANNEL_OPPO_CHAT_CATEGORY
# APP_JPUSH_CHANNEL_OPPO_SYSTEM_NOTIFY_LEVEL, APP_JPUSH_CHANNEL_OPPO_CHAT_NOTIFY_LEVEL
# 荣耀通知栏消息智能分类importanceNORMAL=服务通讯/LOW=资讯营销):
# APP_JPUSH_CHANNEL_HONOR_SYSTEM_IMPORTANCE, APP_JPUSH_CHANNEL_HONOR_CHAT_IMPORTANCE
# vivo 厂商消息场景标识categoryclassification=1 时必须为系统消息类):
# APP_JPUSH_CHANNEL_VIVO_SYSTEM_CATEGORY, APP_JPUSH_CHANNEL_VIVO_CHAT_CATEGORY
# iOS 通知分组 thread-id:
# APP_JPUSH_CHANNEL_IOS_CHAT_THREAD_ID, APP_JPUSH_CHANNEL_IOS_SYSTEM_THREAD_ID
jpush:
@@ -319,20 +326,25 @@ jpush:
system: "" # 系统消息/通知默认 channel_id
chat: "" # 私聊/群聊消息默认 channel_id
vendor:
xiaomi:
system: ""
chat: ""
mi_system_template_id: "" # 小米系统消息模板 id
mi_chat_template_id: "" # 小米私聊消息模板 id
# xiaomi: 默认值已在代码内置system=153609, chat=153608, mi_system_template_id=P10761, mi_chat_template_id=M10289
# 不在此声明,由 config.go 的 viper.SetDefault 提供,环境变量可覆盖
xiaomi: {}
huawei: { system: "", chat: "" }
# OPPO: category/notify_level 默认值已在代码内置chat=IM/16, system=ACCOUNT/2不在此声明
oppo:
system: ""
chat: ""
oppo_system_private_template_id: "" # OPPO 系统消息私信模板 id
oppo_chat_private_template_id: "" # OPPO 私聊消息私信模板 id
vivo: { system: "", chat: "" }
oppo_system_private_template_id: "" # OPPO 系统消息私信模板 id(需厂商后台注册)
oppo_chat_private_template_id: "" # OPPO 私聊消息私信模板 id(需厂商后台注册)
# vivo: category 默认值已在代码内置chat=IM, system=ACCOUNT不在此声明
vivo:
system: ""
chat: ""
meizu: { system: "", chat: "" }
honor: { system: "", chat: "" }
# 荣耀: importance 默认值已在代码内置chat=NORMAL, system=LOW不在此声明
honor:
system: ""
chat: ""
fcm: { system: "", chat: "" }
# iOS APNs 通知分组(按 thread-id 区分系统/私聊通知,不配置则不分组)
ios: