diff --git a/src/modules/admin/ZhonTai.Admin/Core/Extensions/ImExtensions.cs b/src/modules/admin/ZhonTai.Admin/Core/Extensions/ImExtensions.cs
index 73f23a53..120ed480 100644
--- a/src/modules/admin/ZhonTai.Admin/Core/Extensions/ImExtensions.cs
+++ b/src/modules/admin/ZhonTai.Admin/Core/Extensions/ImExtensions.cs
@@ -1,8 +1,5 @@
using Microsoft.Extensions.DependencyInjection;
-using System;
using ZhonTai.Admin.Core.Configs;
-using ZhonTai.Admin.Tools.Cache;
-using ZhonTai.Common.Helpers;
namespace ZhonTai.Admin.Core.Extensions;
@@ -24,17 +21,17 @@ public static void AddIm(this IServiceCollection services)
ImHelper.Instance.OnSend += (s, e) =>
{
- Console.WriteLine($"ImClient.SendMessage(server={e.Server},data={JsonHelper.Serialize(e.Message)})");
+ //Console.WriteLine($"ImClient.SendMessage(server={e.Server},data={JsonHelper.Serialize(e.Message)})");
};
ImHelper.EventBus(
t =>
{
- Console.WriteLine(t.clientId + "上线了");
+ //Console.WriteLine(t.clientId + "上线了");
},
t =>
{
- Console.WriteLine(t.clientId + "下线了");
+ //Console.WriteLine(t.clientId + "下线了");
}
);
}
diff --git a/src/modules/admin/ZhonTai.Admin/Services/User/Dto/UserGetPageOutput.cs b/src/modules/admin/ZhonTai.Admin/Services/User/Dto/UserGetPageOutput.cs
index 0c5cec69..95a3a38d 100644
--- a/src/modules/admin/ZhonTai.Admin/Services/User/Dto/UserGetPageOutput.cs
+++ b/src/modules/admin/ZhonTai.Admin/Services/User/Dto/UserGetPageOutput.cs
@@ -56,6 +56,11 @@ public class UserGetPageOutput
///
public bool Enabled { get; set; }
+ ///
+ /// 在线
+ ///
+ public bool Online { get; set; }
+
///
/// 创建时间
///
diff --git a/src/modules/admin/ZhonTai.Admin/Services/User/UserService.cs b/src/modules/admin/ZhonTai.Admin/Services/User/UserService.cs
index 7f42ca53..dcc95a0a 100644
--- a/src/modules/admin/ZhonTai.Admin/Services/User/UserService.cs
+++ b/src/modules/admin/ZhonTai.Admin/Services/User/UserService.cs
@@ -51,6 +51,7 @@ namespace ZhonTai.Admin.Services.User;
public partial class UserService : BaseService, IUserService, IDynamicApi
{
private readonly AppConfig _appConfig;
+ private readonly ImConfig _imConfig;
private readonly UserHelper _userHelper;
private readonly AdminLocalizer _adminLocalizer;
private readonly IUserRepository _userRep;
@@ -70,6 +71,7 @@ public partial class UserService : BaseService, IUserService, IDynamicApi
public UserService(
IOptions appConfig,
+ IOptions imConfig,
UserHelper userHelper,
AdminLocalizer adminLocalizer,
IUserRepository userRep,
@@ -88,6 +90,7 @@ Lazy permissionRep
)
{
_appConfig = appConfig.Value;
+ _imConfig = imConfig.Value;
_userHelper = userHelper;
_adminLocalizer = adminLocalizer;
_userRep = userRep;
@@ -180,9 +183,24 @@ public async Task> GetPageAsync(PageInput>(list);
+
+ if (_imConfig.Enable)
+ {
+ var clientIdList = ImHelper.GetClientListByOnline();
+
+ foreach (var user in userList)
+ {
+ if (clientIdList.Contains(user.Id))
+ {
+ user.Online = true;
+ }
+ }
+ }
+
var data = new PageOutput()
{
- List = Mapper.Map>(list),
+ List = userList,
Total = total
};
diff --git a/src/modules/admin/ZhonTai.Admin/Services/WebSocket/WebSocketService.cs b/src/modules/admin/ZhonTai.Admin/Services/WebSocket/WebSocketService.cs
index 530c3805..44bc91b9 100644
--- a/src/modules/admin/ZhonTai.Admin/Services/WebSocket/WebSocketService.cs
+++ b/src/modules/admin/ZhonTai.Admin/Services/WebSocket/WebSocketService.cs
@@ -29,6 +29,7 @@ public WebSocketService(IOptions imConfig)
///
/// 获取websocket分区
///
+ [Login]
[HttpPost]
public object PreConnect(WebSocketPreConnectInput input)
{
diff --git a/ui/zhontai.ui.admin.vue3/src/api/admin/data-contracts.ts b/ui/zhontai.ui.admin.vue3/src/api/admin/data-contracts.ts
index 3bbea145..c035837c 100644
--- a/ui/zhontai.ui.admin.vue3/src/api/admin/data-contracts.ts
+++ b/ui/zhontai.ui.admin.vue3/src/api/admin/data-contracts.ts
@@ -5291,6 +5291,8 @@ export interface UserGetPageOutput {
isManager?: boolean
/** 启用 */
enabled?: boolean
+ /** 在线 */
+ online?: boolean
/**
* 创建时间
* @format date-time
diff --git a/ui/zhontai.ui.admin.vue3/src/views/admin/user/index.vue b/ui/zhontai.ui.admin.vue3/src/views/admin/user/index.vue
index c420bacd..63afabb8 100644
--- a/ui/zhontai.ui.admin.vue3/src/views/admin/user/index.vue
+++ b/ui/zhontai.ui.admin.vue3/src/views/admin/user/index.vue
@@ -22,7 +22,12 @@
-
+
+
+
+ {{ row.userName }}
+
+
{{ row.name }} 主管