/// <summary> /// 处理登录请求 /// </summary> public string Login(string data, Client client, Server server) { //分隔用户名和密码 string[] loginInfo = data.Split(','); string userName = loginInfo[0]; string password = loginInfo[1]; //校验用户登录信息 User user = userDAO.VerifyUser(client.MysqlConnect, userName, password); if (user == null) { //返回执行失败结果 return(((int)RetrunCode.Fail).ToString()); } else { //获取对应用户战绩数据 Result res = resultDAO.GetResultByUserId(client.MysqlConnect, user.Id); //该客户端持有该用户数据 client.SetUserData(user, res); if (!server.onlineClinetList.Contains(client)) { server.onlineClinetList.Add(client); } //需发送的数据进行拼接 string allData = string.Format("{0},{1},{2},{3}", ((int)RetrunCode.Success).ToString(), user.UserName, res.TotalAmount, res.WinAmount); return(allData); } }
/// <summary> /// 处理登陆请求 /// </summary> /// <param name="data"></param> /// <param name="client"></param> /// <param name="server"></param> public string Login(string data, Client client, Server server) { //根据客户端传入的数据格式,拆分数据 //string[] datas = data.Split(','); //string username = datas[0]; //string password = datas[1]; //通过LitJson插件解析Json JsonData jsonData = JsonMapper.ToObject(data); string username = jsonData["username"].ToString(); string passwrod = jsonData["password"].ToString(); //通过Dao层对象验证用户信息 User user = userDao.VerifyUser(client.MySqlConnection, username, passwrod); jsonData = new JsonData(); if (user == null)//验证失败,用户名或密码错误 { jsonData["returnCode"] = ((int)ReturnCode.Fail).ToString(); return(JsonMapper.ToJson(jsonData)); } else//验证成功, { //通过用户id获取其战绩信息 Result result = resultDao.GetResultByUserId(client.MySqlConnection, user.Id); jsonData["id"] = user.Id; jsonData["returnCode"] = ((int)ReturnCode.Success).ToString(); jsonData["username"] = user.Username; jsonData["totalCount"] = result.TotalCount; jsonData["winCount"] = result.WinCount; UserData userData = new UserData(user.Id, user.Username, result.TotalCount, result.WinCount); //将成功登录的用户信息存入连接对象中 client.SetUserData(userData); return(JsonMapper.ToJson(jsonData)); } }
/// <summary> /// 更新数据到客户端, /// </summary> public void UpdateResultToClient() { //通过数据获取当前用户最新的战绩信息 Result result = resultDao.GetResultByUserId(this.mysqlConn, userData.Id); JsonData jsonData = new JsonData(); jsonData["totalCount"] = result.TotalCount; jsonData["winCount"] = result.WinCount; //将获取到的result对象发送到客户端 Send(ActionCode.UpdateResult, JsonMapper.ToJson(jsonData)); }
/// <summary> /// 注: 该方法是由反射调用 ControllerManager---->HandleRequest /// </summary> /// <param name="data"></param> /// <param name="client"></param> /// <param name="server"></param> /// <returns></returns> public string Login(string data, Client client, Server server) { string[] strs = data.Split(','); User user = userDAO.VerifyUser(client.MySqlConnection, strs[0], strs[1]); if (user == null) { return(((int)ReturnCode.Fail).ToString()); } else { Result result = resultDAO.GetResultByUserId(client.MySqlConnection, user.Id); client.SetUserData(user, result); return(string.Format("{0},{1},{2},{3}", ((int)ReturnCode.Success).ToString(), user.Username, result.TotalCount, result.WinCount)); } }
public string OnLogin(Client client, string data) { string[] strs = data.Split(Separator); User user = userDAO.GetUser(client.MySqlConn, strs[0], strs[1]); if (user == null) { return(((int)ReturnCode.Fail).ToString()); } else { Result result = resultDAO.GetResultByUserId(client.MySqlConn, user.Id); userDict.Add(client, user); resultDict.Add(client, result); return(string.Format(LoginReturnStr, ((int)ReturnCode.Success).ToString(), GetUserResult(client))); } }
/// <summary> /// 登录请求 /// </summary> /// <param name="data"></param> /// <param name="client"></param> /// <param name="server"></param> /// <returns></returns> private string Login(string data, Client client, Server server) { var accountStr = data.Split(':', 2); user = userDAO.VeifyUser(client.Conn, accountStr[0], accountStr[1]); this.Log($"用户登录请求 账号{accountStr[0]}, 密码{accountStr[1]}"); if (user == null) { return(((int)ReturningCode.Fail).ToString()); } result = resultDAO.GetResultByUserId(client.Conn, user.Id); client.SetUserData(user, result); return($"{(int)ReturningCode.Success}:{user.Name}:{result.TotalCount}:{result.WinCount}"); }
//ActionCode.Login对应的处理函数 public string Login(string data, Client client, Server servert) { string[] strs = data.Split(',');//分割客户端传入的用户信息 string username = strs[0]; string password = strs[1]; //向数据库的User表发起连接并核查用户名与密码 User user = userDAO.VerifyUser(client.MySqlConn, username, password); if (user == null) { //用户不存在则登陆失败 return(((int)ReturnCode.Fail).ToString()); } else { //向数据库的Result表发起连接并获取战记结果 Result res = resultDAO.GetResultByUserId(client.MySqlConn, user.Id); client.SetUserData(user, res);//在服务器端保存当前客户端信息 return(string.Format("{0},{1},{2},{3}", ((int)ReturnCode.Success).ToString(), user.UserName, res.TotalCount, res.WinCount)); } }