using Abp.Dependency; using IwbZero.ToolCommon.StringModel; using Microsoft.AspNet.SignalR; using System; using System.Linq; namespace WeApp.Hubs { public class IwbHub : Hub, ITransientDependency { /// /// 注册链接 /// /// public void Register(string name) { Groups.Add(Context.ConnectionId, name); } public void SendReload(string no, int type) { var arr = no.Split(',').ToList(); var clientGroup = Clients.Groups(arr); var str = new { no }.Obj2String(); switch (type) { case 1: clientGroup.getReloadAll(str); break; case 2: clientGroup.getReloadStu(str); break; case 3: clientGroup.getReloadLeader(str); break; case 4: clientGroup.getReloadPublic(str); break; case 5: clientGroup.getReloadSpec(str); break; case 6: clientGroup.getReloadPlay(str); break; case 20: clientGroup.getShowTotalRoundScore(str, true); break; case 21: clientGroup.getShowTotalRoundScore(str, false); break; } } public void SendRefreshCurrentTime(string no, decimal rate = 1, DateTime? date = null) { Clients.Group(no).getRefreshCurrentTime(new { no, rate, date }); } public void SendRefreshDownTime(string no, decimal rate = 1, int minute = 15) { Clients.Group(no).getRefreshDownTime(new { no, rate, minute }); } public void SendEffectCmd(string no, string effect) { Clients.Group(no).getEffectCmd(new { no, effect }); } public void SendOperationLog(string no, string role, string word) { Clients.Group(no).getOperationLog(new { no, role, word }.Obj2String()); } } }