From f77887e6a3b06579a07935e9f0474f8ea0996379 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= <454313500@qq.com> Date: Wed, 21 Feb 2024 15:45:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=8C=E6=88=90=E9=80=9A=E7=9F=A5?= =?UTF-8?q?=E5=85=AC=E5=91=8A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/NoticeService.cs | 35 +++++- Yi.Abp.Net8/src/Yi.Abp.Web/yi-abp-dev.db | Bin 450560 -> 0 bytes Yi.Bbs.Vue3/src/App.vue | 6 +- Yi.Bbs.Vue3/src/utils/noticeSignalR.js | 107 ++++++++++++++++++ Yi.RuoYi.Vue3/src/api/system/notice.js | 15 +++ .../src/views/system/notice/index.vue | 12 +- 6 files changed, 165 insertions(+), 10 deletions(-) delete mode 100644 Yi.Abp.Net8/src/Yi.Abp.Web/yi-abp-dev.db create mode 100644 Yi.Bbs.Vue3/src/utils/noticeSignalR.js diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/NoticeService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/NoticeService.cs index bcc276bc..dc77fbac 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/NoticeService.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/NoticeService.cs @@ -1,8 +1,11 @@ +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.SignalR; using SqlSugar; using Volo.Abp.Application.Dtos; using Yi.Framework.Ddd.Application; using Yi.Framework.Rbac.Application.Contracts.Dtos.Notice; using Yi.Framework.Rbac.Application.Contracts.IServices; +using Yi.Framework.Rbac.Application.SignalRHubs; using Yi.Framework.Rbac.Domain.Entities; using Yi.Framework.SqlSugarCore.Abstractions; @@ -15,8 +18,10 @@ namespace Yi.Framework.Rbac.Application.Services INoticeService { private ISqlSugarRepository _repository; - public NoticeService(ISqlSugarRepository repository) : base(repository) + private IHubContext _hubContext; + public NoticeService(ISqlSugarRepository repository, IHubContext hubContext) : base(repository) { + _hubContext = hubContext; _repository = repository; } @@ -29,11 +34,37 @@ namespace Yi.Framework.Rbac.Application.Services { RefAsync total = 0; - var entities = await _repository._DbQueryable.WhereIF(input.Type is not null, x => x.Type==input.Type) + var entities = await _repository._DbQueryable.WhereIF(input.Type is not null, x => x.Type == input.Type) .WhereIF(!string.IsNullOrEmpty(input.Title), x => x.Title!.Contains(input.Title!)) .WhereIF(input.StartTime is not null && input.EndTime is not null, x => x.CreationTime >= input.StartTime && x.CreationTime <= input.EndTime) .ToPageListAsync(input.SkipCount, input.MaxResultCount, total); return new PagedResultDto(total, await MapToGetListOutputDtosAsync(entities)); } + + + + /// + /// 发送在线消息 + /// + /// + [HttpPost("notice/online/{id}")] + public async Task SendOnlineAsync([FromRoute] Guid id) + { + var entity = await _repository._DbQueryable.FirstAsync(x => x.Id == id); + await _hubContext.Clients.All.SendAsync("ReceiveNotice", entity.Type.ToString(), entity.Title, entity.Content); + } + /// + /// 发送离线消息 + /// + /// + [HttpPost("notice/offline/{id}")] + public async Task SendOfflineAsync([FromRoute] Guid id) + { + //先发送一个在线 + await SendOnlineAsync(id); + + //然后将所有用户和通知id进行保留记录,判断是否已读还是未读 + //在首次请求返回全部未读的通知给前端即可 + } } } diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/yi-abp-dev.db b/Yi.Abp.Net8/src/Yi.Abp.Web/yi-abp-dev.db deleted file mode 100644 index 89ecce23e5f4fa429c6b8b1be7ab5f736312a891..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 450560 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 diff --git a/Yi.Bbs.Vue3/src/App.vue b/Yi.Bbs.Vue3/src/App.vue index 85ca157a..76c23713 100644 --- a/Yi.Bbs.Vue3/src/App.vue +++ b/Yi.Bbs.Vue3/src/App.vue @@ -7,6 +7,7 @@