Sfoglia il codice sorgente

微瞳小米推送配置

zhangdongming 7 mesi fa
parent
commit
b5043ed1a6
3 ha cambiato i file con 53 aggiunte e 8 eliminazioni
  1. 22 4
      AnsjerPush/config.py
  2. 25 0
      Object/enums/EventTypeEnum.py
  3. 6 4
      Service/DevicePushService.py

+ 22 - 4
AnsjerPush/config.py

@@ -211,10 +211,28 @@ EVENT_DICT = {
 
 # 小米推送通知类别id
 XM_PUSH_CHANNEL_ID = {
-    'push_to_talk': 111934,        # 一键通话
-    'device_reminder': 104551,     # 设备提醒
-    'service_reminder': 104552,    # 服务提醒
-    'sys_notification': 104553     # 系统通知
+    'push_to_talk': 111934,  # 一键通话
+    'device_reminder': 104551,  # 设备提醒
+    'service_reminder': 104552,  # 服务提醒
+    'sys_notification': 104553,  # 系统通知
+    'single_login': 126707  # 单点登录
+}
+
+XM_PUSH_CHANNEL_DICT = {
+    'com.ansjer.zccloud_ab': {
+        'push_to_talk': 111934,  # 一键通话
+        'device_reminder': 104551,  # 设备提醒
+        'service_reminder': 104552,  # 服务提醒
+        'sys_notification': 104553,  # 系统通知
+        'single_login': 126707  # 单点登录
+    },
+    'com.cloudlife.commissionf_a': {
+        'push_to_talk': 131636,  # 一键通话
+        'device_reminder': 131638,  # 设备提醒
+        'service_reminder': 131640,  # 服务提醒
+        'sys_notification': 131639,  # 系统通知
+        'single_login': 131637  # 单点登录
+    }
 }
 
 firebase_admin.initialize_app(credentials.Certificate(

+ 25 - 0
Object/enums/EventTypeEnum.py

@@ -0,0 +1,25 @@
+# @Author    : Rocky
+# @File      : EventTypeEnum.py
+# @Time      : 2024/12/25 9:45
+from enum import Enum, unique
+
+
+@unique
+class EventTypeEnumObj(Enum):
+    ONE_CLICK_CALL = 606                # 一键通话
+    VIDEO_CALL = 607                    # 视频通话
+    PRESS_THE_DOORBELL = 1022           # 按下门铃
+    CHILD_PROTECTION_MODE = 1023        # 儿童保护模式
+    # 不限频推送事件类型列表
+    UNRESTRICTED_FREQUENCY_PUSH_EVENT_TYPE_LIST = [
+        ONE_CLICK_CALL,
+        VIDEO_CALL,
+        PRESS_THE_DOORBELL,
+        CHILD_PROTECTION_MODE
+    ]
+    # 透传推送事件类型列表
+    DATA_PUSH_EVENT_TYPE_LIST = [
+        ONE_CLICK_CALL,
+        VIDEO_CALL,
+        PRESS_THE_DOORBELL
+    ]

+ 6 - 4
Service/DevicePushService.py

@@ -23,12 +23,13 @@ from AnsjerPush.Config.aiConfig import DEVICE_EVENT_TYPE, ALGORITHM_COMBO_TYPES
 from AnsjerPush.config import CONFIG_INFO, CONFIG_CN, MULTI_CHANNEL_TYPE_LIST, SYS_EVENT_TYPE_LIST, AWS_ACCESS_KEY_ID, \
     AWS_SECRET_ACCESS_KEY, EVENT_DICT, EVENT_DICT_CN, CONFIG_TEST, HUAWEICLOUD_AK, HUAWEICLOUD_SK, \
     HUAWEICLOUD_OBS_SERVER, HUAWEICLOUD_PUSH_BUKET, OSS_STS_ACCESS_KEY, OSS_STS_ACCESS_SECRET
-from AnsjerPush.config import XMPUSH_CONFIG, OPPOPUSH_CONFIG, XM_PUSH_CHANNEL_ID
+from AnsjerPush.config import XMPUSH_CONFIG, OPPOPUSH_CONFIG, XM_PUSH_CHANNEL_ID, XM_PUSH_CHANNEL_DICT
 from Model.models import UidPushModel, SysMsgModel, DeviceSharePermission, DeviceChannelUserSet, \
     DeviceChannelUserPermission, UidSetModel, Device_Info, UserAudioVideoPush, PushLog
 from Object.ETkObject import ETkObject
 from Object.OCIObjectStorage import OCIObjectStorage
 from Object.UidTokenObject import UidTokenObject
+from Object.enums.EventTypeEnum import EventTypeEnumObj
 from Object.utils import LocalDateTimeUtil
 from Service.CommonService import CommonService
 from Service.EquipmentInfoService import EquipmentInfoService, EQUIPMENT_INFO_DICT
@@ -452,10 +453,11 @@ class DevicePushService:
                     huawei_push_object = HuaweiPushObject()
                     huawei_push_object.send_push_notify_message(**push_kwargs)
                 elif push_type == 4:  # android xmpush
-                    if kwargs['event_type'] in [606, 607]:
-                        channel_id = 111934
+                    if kwargs['event_type'] in EventTypeEnumObj.DATA_PUSH_EVENT_TYPE_LIST.value:
+                        push_channel = 'push_to_talk'
                     else:
-                        channel_id = 104551
+                        push_channel = 'device_reminder'
+                    channel_id = XM_PUSH_CHANNEL_DICT[kwargs['appBundleId']][push_channel]
                     push_result = cls.do_xmpush(channel_id=channel_id, **push_kwargs)
                 elif push_type == 5:  # android vivopush
                     push_result = PushObject.android_vivopush(**push_kwargs)