public EAccount PlatformLogin(string userInfo) { LogHelper.DebugLog("PlatformLogin:"******"\p{Cs}", ""); string iconUrl = pars[3]; string longitude = pars[4]; string latitude = pars[5]; string address = pars[6]; string systemName = pars[7]; if (platform == "WX" && !iconUrl.Contains("http:")) { string json = HttpService.Get(WXHelper.getCodeRequestUrl(iconUrl)); TokenAndOpenID tokenAndOpenID = JsonConvert.DeserializeObject <TokenAndOpenID>(json); if (tokenAndOpenID != null) { openID = tokenAndOpenID.openid; string json2 = HttpService.Get(WXHelper.getUserInfoUrl(tokenAndOpenID.access_token, tokenAndOpenID.openid)); UserInfo userinfo = JsonConvert.DeserializeObject <UserInfo>(json2); if (userinfo != null) { nickName = userinfo.nickname; iconUrl = userinfo.headimgurl; } } } EAccount user = DBBase.Query <EAccount>("OpenID='" + openID + "'").FirstOrDefault(); if (user == null) { user = new EAccount() { OpenID = openID, NickName = nickName, Face = iconUrl, Longitude = longitude, Latitude = latitude, Address = address, PlatformName = platform, CreateTime = DateTime.Now, LastLoginTime = DateTime.Now, SystemName = systemName, LastGetGoldTime = DateTime.Now, Gold = 1000, Diamond = 0 }; user = (EAccount)DBBase.Create(user); } else { //修改客户端推送ID user.Longitude = longitude; user.Latitude = latitude; user.Address = address; user.SystemName = systemName; user.LastLoginTime = DateTime.Now; double dayNum = (DateTime.Now - user.LastGetGoldTime).TotalDays; user.Gold += user.Vip * (int)dayNum * 10; user.LastGetGoldTime = DateTime.Now; DBBase.Change(user); } //创建登录记录 ELoginRecord loginRecord = new ELoginRecord() { AccountID = user.ID, LoginTime = DateTime.Now }; DBBase.Create(loginRecord); int referrerCount = DBBase.Query <EAccount>("ReferrerID=" + user.ID + "").Count(); if (referrerCount > user.TaskProcess) { user.TaskProcess = referrerCount; int taskGetDiamon = 0; if (user.TaskProcess == 1) { taskGetDiamon = 10; } else if (user.TaskProcess == 10) { taskGetDiamon = 100; } else if (user.TaskProcess == 20) { taskGetDiamon = 200; } else if (user.TaskProcess == 50) { taskGetDiamon = 500; } user.Diamond += taskGetDiamon; DBBase.Change(user); } List <EBattleServers> serverList = DBBase.Query <EBattleServers>(); EBattleServers server = serverList.FirstOrDefault(c => c.ID == 1); user.CurBattleIP = server.IP; user.CurBattlePort = server.Port; user.CurTaskProcess = referrerCount; return(user); }