コード例 #1
0
        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));
        }
コード例 #2
0
ファイル: UserController.cs プロジェクト: yangli1128/im
 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));
     }
 }
コード例 #3
0
        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)));
        }