| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- using Abp.Dependency;
- using IwbZero.ToolCommon.StringModel;
- using Microsoft.AspNet.SignalR;
- using System;
- using System.Linq;
- namespace WeApp.Hubs
- {
- public class IwbHub : Hub, ITransientDependency
- {
- /// <summary>
- /// 注册链接
- /// </summary>
- /// <param name="name"></param>
- 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());
- }
- }
- }
|