showLocalNotification method

Future<void> showLocalNotification(
  1. RCIMIWMessage message
)

Implementation

Future<void> showLocalNotification(RCIMIWMessage message) async {
  // 仅在启用本地推送时执行
  if (_enableLocalNotification) {
    String targetId = message.targetId ?? '';
    String content = '';

    // 获取自定义信息
    if (customInfoProvider != null) {
      final customInfo =
          await customInfoProvider!(message: message, conversation: null);
      targetId = customInfo.name;
    }

    // 根据不同消息类型获取内容
    if (message.conversationType == RCIMIWConversationType.private ||
        message.conversationType == RCIMIWConversationType.group) {
      if (message is RCIMIWTextMessage) {
        content = message.text ?? '';
      } else if (message.messageType == RCIMIWMessageType.image) {
        content = '[图片消息]';
      } else if (message.messageType == RCIMIWMessageType.voice) {
        content = '[语音消息]';
      } else if (message.messageType == RCIMIWMessageType.file) {
        content = '[文件消息]';
      } else {
        content = '[新消息]';
      }

      // 显示本地通知
      _showLocalNotification(targetId, content);
    }
  }
}