using Microsoft.AspNetCore.SignalR; using Microsoft.Extensions.Logging; namespace IES.ExamServer.DI.SignalRHost { public class SignalRExamServerHub : Hub { private readonly ILogger _logger; public SignalRExamServerHub(ILogger logger) { _logger = logger; } } public interface IClient { Task ReceiveMessage(MessageBody message); Task ReceiveConnection(MessageBody message); Task ReceiveDisConnection(MessageBody message); } public abstract class MessageBody { public MessageBody() { time = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); } /// /// 连接id /// public virtual string? connid { get; set; } /// /// 客户端id /// public virtual string? clientid { get; set; } /// /// 状态 busy 忙碌,free 空闲,down 离线,error 错误 /// public virtual string? status { get; set; } /// /// 消息内容 /// public virtual string? content { get; set; } /// /// 消息创建时间 /// public virtual long time { get; } /// /// 授权类型,bookjs_api /// public virtual string? grant_type { get; set; } /// /// 消息类型 /// public virtual MessageType message_type { get; set; } } public enum MessageType { conn_success,//连接成功 conn_error,// 连接失败 task_send_success,// 任务发送成功 task_send_error,// 任务发送失败 task_execute_success,// 任务执行成功 task_execute_error,// 任务执行失败 } }