public ActionResult Login(string uid, string pwd) { //登陆信息 var info = new LoginBLL().LoginIn(uid, pwd); //登陆前的游客游戏 var ykdata = CacheExts <GameInfo> .GetValue(LoginInfoModel.ykCookie); if (ykdata == null) { ykdata = new GameInfo(); new GameInfoBLL().RefNum(ref ykdata); } if (info != null) { var data = CacheExts <GameInfo> .GetValue(info.UserID); if (data == null || data.Score < ykdata.Score) { //如果此用户不存在游戏记录,或用户的游戏分数低于游客状态下的得分,则用游客的游戏状态覆盖用户的游戏状态 CacheExts <GameInfo> .SetValue(info.UserID, ykdata, noSlidingExpiration : false); } return(Json(new { Code = 2000, Msg = "登陆成功" }, JsonRequestBehavior.AllowGet)); } else { return(Json(new { Code = 2001, Msg = "登陆失败" }, JsonRequestBehavior.AllowGet)); } }
/// <summary> /// 保存游戏数据 /// </summary> /// <param name="game"></param> public void SetGameData(string key, GameInfo game) { //IIS缓存 CacheExts <GameInfo> .SetValue(key, game, noSlidingExpiration : false); //客户端持久化存储 var json = JsonConvert.SerializeObject(game); var cookieStr = EncryptAndDecrypt.Encrypt(json); CookiesHelper.AddCookie(key, cookieStr); CookiesHelper.SetCookie(key, DateTime.Now.AddMonths(1)); }