/// <summary> /// 阿里云推送 /// </summary> /// <param name="request"></param> /// <param name="message"></param> /// <param name="receivers"></param> private void Push(NotifyMessageRequest request, Tgnet.FootChat.Push.MessageModel message, long[] receivers, bool remind, NotifyTypes notifyType) { ExceptionHelper.ThrowIfNull(message, "message"); receivers = (receivers ?? Enumerable.Empty <long>()).Where(id => id > 0).Distinct().ToArray(); PushService.PushSetting setting = null; if (request.MessageType != MessageType.Online) { setting = new PushService.PushSetting { ExpireTime = TimeSpan.FromDays(1), StoreOffline = true, NotifyType = (PushService.PushSettingNotifyTypes)notifyType.To <byte>(), }; } List <PushService.TargetsAppKinds> apps = new List <PushService.TargetsAppKinds>() { PushService.TargetsAppKinds.FootChatAndroid, PushService.TargetsAppKinds.FootChatiOS }; _PushManager.PushJsonMessage(new PushService.PushJsonMessageRequest { Content = message.Content, ContentType = message.ContentType, Extensions = message.Extensions, MessageId = message.MessageId, Sender = message.Sender, SenderName = message.SenderName, SessionId = message.SessionId, SessionType = message.SessionType, Timestamp = message.Timestamp, Remind = WrapperRemind(message, remind) }, new PushService.Targets { Uids = receivers, Apps = apps.ToArray(), Testing = false, }, setting); }