Пример #1
0
        public ActionResult <Dictionary <string, object> > QuerySystemDate()
        {
            RspMsg rspMsg = new RspMsg(RspType.OK);

            rspMsg.Add("DateTime", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
            rspMsg.Add("Timestamp", TimestampHelper.GetTimestampMilliSecond());
            return(rspMsg.GetKeyValues());
        }
Пример #2
0
        public ActionResult <Dictionary <string, object> > QueryVerifyCode()
        {
            RspMsg rspMsg = new RspMsg(RspType.OK);
            string code   = string.Empty;

            rspMsg.Add("VerifyBase64Str", VerifyCodeHelper.GetVerifyCodeBase64String(out code));
            rspMsg.Add("VerifyToken", DBCenter.JwtImage.SetJwtEncode(new Dictionary <string, object>
            {
                { "CheckCode", code },
                { "exp", TimestampHelper.GetTimestampSecond() + 300 }
            }));
            return(rspMsg.GetKeyValues());
        }
Пример #3
0
    //登录
    //协议参数:str用户名,str密码
    //返回协议:-1表示失败 0表示成功
    public void MsgLogin(Conn conn, ProtocolBase protoBase)
    {
        //获取数值
        int           start     = 0;
        ProtocolBytes protocol  = (ProtocolBytes)protoBase;
        string        protoName = protocol.GetString(start, ref start);
        string        id        = protocol.GetString(start, ref start);
        string        pw        = protocol.GetString(start, ref start);
        string        strFormat = "[收到登录协议]" + conn.GetAdress();

        Console.WriteLine(strFormat + " 用户名:" + id + " 密码:" + pw);
        //构建返回协议
        ProtocolBytes protocolRet = new ProtocolBytes();

        protocolRet.AddString("Login");
        //验证
        if (!DataMgr.instance.CheckPassWord(id, pw))
        {
            protocolRet.AddInt(-1);
            conn.Send(protocolRet);
            return;
        }
        //是否已经登录
        ProtocolBytes protocolLogout = new ProtocolBytes();

        protocolLogout.AddString("Logout");
        if (!Player.KickOff(id, protocolLogout))
        {
            protocolRet.AddInt(-1);
            conn.Send(protocolRet);
            return;
        }

        //获取玩家数据
        PlayerData playerData = DataMgr.instance.GetPlayerData(id);

        if (playerData == null)
        {
            protocolRet.AddInt(-1);
            conn.Send(protocolRet);
            return;
        }
        conn.player      = new Player(id, conn);
        conn.player.data = playerData;
        //事件触发
        ServNet.instance.handlePlayerEvent.OnLogin(conn.player);

        // 正常返回
        //protocolRet.AddInt(0);
        //protocolRet.AddString(id);
        //conn.Send(protocolRet);

        // 测试 Json
        RspMsg msg = new RspMsg();

        msg.rspType = 0;
        msg.strTips = "登录成功!";
        TMsg tg = new TMsg();

        msg.strJsData = JsonMapper.ToJson(tg);

        ProtocolJson ptemp = new ProtocolJson();

        ptemp.SetKeyCode("Login");
        ptemp.PushContent <RspMsg>(msg);
        conn.Send(ptemp);

        //// 测试probuffer
        //ProtocolPB pb = new ProtocolPB();
        //pb.SetKeyCode("Login");
        //ChatMsg cm = new ChatMsg();
        //cm.sender = "习近平:";
        //cm.msg = "特朗普今日访华,拉出去宰了!!";
        //List<string> pData = new List<string>();
        //for (int i = 0; i < 10; i++)
        //{
        //    pData.Add(i.ToString());
        //}
        //cm.data = pData;
        //TMsg tm = new TMsg();
        //cm.content = tm;
        //pb.Serialize<ChatMsg>(cm);
        //conn.Send(pb);
        return;
    }