async public Task <APIReturn> PrevConnectWebsocket() { await CheckPlayer(); if (ImHelper.HasOnline(CurrentPlayer.Id)) { return(APIReturn.失败.SetMessage($"用户 {CurrentPlayer.Nick} 已在线,测试请使用多种浏览器模拟真实场景")); } var wsserver = ImHelper.PrevConnectServer(CurrentPlayer.Id, "nil"); ImHelper.JoinChan(CurrentPlayer.Id, "ddz_chan"); return(APIReturn.成功.SetData("server", wsserver)); }
public async Task <AjaxResult <bool> > HasOnline([FromForm] Guid accid) { if (accid == Guid.Empty) { return(new AjaxResult <bool>("accid未空")); } if (!ImHelper.HasOnline(accid)) { return(new AjaxResult <bool>(false)); } else { return(new AjaxResult <bool>(true)); } }
public async Task <AjaxResult <object> > SendMsg([FromForm] Guid from, [FromForm] int ope, [FromForm] Guid to, [FromForm] int type, [FromForm] string body, [FromForm] string frominfo) { //判断是否存在 if (!await _userManager.CheckAccid(from.ToString(), Appid)) { return(new AjaxResult <object>("消息发送者 不存在")); } if (ope == 0) { if (!await _userManager.CheckAccid(to.ToString(), Appid)) { return(new AjaxResult <object>("用户id 不存在")); } } else if (ope == 1) { if (!await _channelManager.CheckChannel(to.ToString(), Appid)) { return(new AjaxResult <object>("群id 不存在")); } } else { return(new AjaxResult <object>("ope不存在")); } int id = await _msgManager.Add(Appid, from.ToString(), ope, to.ToString(), type, body); //判断自己是否在线 if (!ImHelper.HasOnline(from)) { return(new AjaxResult <object>("你不在线")); } //发送消息 if (ope == 0)//单聊 { ImHelper.SendMessage(from, new[] { to }, new { id, ope, type, to, body, frominfo, from }, true); } else if (ope == 1)//群聊 { ImHelper.SendChanMessage(from, to.ToString(), new { id, ope, type, to, body, frominfo, from }); } return(new AjaxResult <object>((object)(from + ":" + to))); }