public IHttpActionResult AddDevice([FromBody] device device) { device.GenerateDeviceid(); device.user_id = user.id; db.Add(device); return(Json(device)); }
public static void InitDB() { if (Db.users.Count() == 0) { var user = new user() { create_time = DateTime.Now, last_login_time = DateTime.Now, password = "******", username = "******" }; Db.users.Add(user); Db.SaveChanges(); var preset = new device_preset() { platform_type = 1, dp = "1242*2208", model = "iPhone9,2", os = "iOS 10.2", pf_ver = "10.2", ptype = "iPhone9,2" }; Db.devicePresets.Add(preset); Db.SaveChanges(); var device = new device(preset) { user_id = user.id }; device.GenerateDeviceid(); Db.devices.Add(device); Db.SaveChanges(); var userRole = new user_role() { device_id = device.id, create_time = DateTime.Now, last_update_time = DateTime.Now, password = "******", user_id = user.id, username = "******" }; Db.userRoles.Add(userRole); Db.SaveChanges(); Db.systemInfos.AddRange( new List <system_info>() { new system_info() { name = "version", value = "44" }, new system_info() { name = "dataVer", value = "44" }, new system_info() { name = "appVer", value = "1.8.8" }, new system_info() { name = "dateVer", value = "1483128000" } }); Db.SaveChanges(); Db.userTasks.Add(new user_task() { action = "Login", enable = true, last_update_time = DateTime.Now, create_time = DateTime.Now, user_role_id = 1, user_id = 1 }); Db.roleData.Add(JsonConvert.DeserializeObject <role_data>("{\"role_id\":1,\"bilibili_id\":\"2657998\",\"rguid\":\"1673226\",\"id\":0,\"usk\":\"879cb2af38d7779e0092\",\"access_token\":\"d51c6663401b0138de0852884e11506c\",\"access_token_expires\":1485822519000,\"nickname\":\"幻影gool\",\"game_user_id\":\"100101673226\",\"face\":\"http://i1.hdslb.com/bfs/face/268e3bad390a60242450c10a09769993e78ec50c.jpg\",\"s_face\":\"http://i0.hdslb.com/bfs/face/268e3bad390a60242450c10a09769993e78ec50c.jpg\"}")); Db.SaveChanges(); } }
public async Task <IHttpActionResult> Role([FromBody] RoleModel roleInfo) { var role = db.userRoles.Find(roleInfo.id); if (role != null && role.user_id != user.id) { return(Json(0, "")); } device device = null; if (role == null) { role = new user_role() { create_time = DateTime.Now, last_update_time = DateTime.Now, password = roleInfo.password, username = roleInfo.username, user_id = user.id, platform = roleInfo.platform }; var devicePreset = db.devicePresets.Where(d => d.platform_type == roleInfo.platform).AsNoTracking().FirstOrDefault(); if (devicePreset == null) { return(Json(-1, "不支持该平台用户")); } device = new device(devicePreset); device.user_id = user.id; device.GenerateDeviceid(); db.Add(device); db.SaveChanges(); role.device_id = device.id; if (user.username == "super_admin") { role.create_time = new DateTime(1990, 1, 1); role.last_update_time = new DateTime(1990, 1, 1); db.Add(role); db.SaveChanges(); return(Json(0, "success")); } db.Add(role); db.SaveChanges(); } else { device = db.devices.Find(role.device_id); if (device == null || device.platform_type != roleInfo.platform) { var roleData = db.roleData.Where(r => r.role_id == role.id).FirstOrDefault(); db.roleData.Remove(roleData); if (device != null) { db.devices.Remove(device); } var devicePreset = db.devicePresets.Where(d => d.platform_type == roleInfo.platform).AsNoTracking().FirstOrDefault(); if (devicePreset == null) { return(Json(-1, "不支持该平台用户")); } device = new device(devicePreset); device.user_id = user.id; device.GenerateDeviceid(); db.Add(device); db.SaveChanges(); role.device_id = device.id; } role.username = roleInfo.username; role.password = roleInfo.password; role.last_update_time = DateTime.Now; db.SaveChanges(); } return(await Login(role, device)); }
public Regist() { ReceiveAsync <RegistParam>(async param => { var res = new RegistResut() { code = 0, roleId = 0 }; try { var db = new Db(); device device = null; user_role role = null; if (param.username != null) { role = db.userRoles.Where(r => r.username == param.username).FirstOrDefault(); } if (role == null) { logger.Info("创建新帐号"); role = new user_role() { username = param.username, password = param.password, create_time = DateTime.Now, last_update_time = DateTime.Now, registed = true, user_id = param.userId, platform = param.paltform }; } else if (role.registed) { logger.Warn("帐号已经注册"); res.roleId = role.id; Sender.Tell(res); return; } else { logger.Info("使用已有帐号"); device = db.GetDeviceById(role.device_id); } if (device == null) { var presets = db.devicePresets.AsNoTracking().Where(p => p.platform_type == param.paltform).ToList(); if (presets.Count == 0) { res.code = -1; res.message = "不支持该平台"; Sender.Tell(res); return; } device = new device(presets.FirstOrDefault()); device.GenerateDeviceid(); } db.Dispose(); var serverApi = InitServerApi(role, device, null); logger.Info("注册开始"); var response = await serverApi.ApiClientRegv3(role.username, role.password); if (response.code != -105) { res.code = -500; res.message = response.message; Sender.Tell(res); return; } var bytes = await serverApi.GetCaptcha(); await Task.Delay(2000); bytes = await serverApi.GetCaptcha(); if (bytes == null) { logger.Error("验证码获取失败"); res.code = -2; res.message = "验证码获取失败"; Sender.Tell(res); return; } var valCode = NxHelper.GetImagResult(bytes); if (valCode == null) { logger.Error("验证码识别失败"); res.code = -3; res.message = "验证码识别失败"; Sender.Tell(res); return; } response = await serverApi.ApiClientRegv3(role.username, role.password, valCode); if (response.code == 500008) { logger.Warn("帐号已经被注册"); res.roleId = role.id; db = new Db(); role = db.userRoles.Find(role.id); role.create_time = DateTime.Now; role.registed = true; db.SaveChanges(); db.Dispose(); Sender.Tell(res); return; } if (response.code != 0) { logger.Error(response.message); res.code = -4; res.message = "注册失败:" + response.message; Sender.Tell(res); return; } logger.Info("注册成功"); db = new Db(); if (device.id == 0) { device.user_id = param.userId; db.devices.Add(device); db.SaveChanges(); } role.registed = true; role.device_id = device.id; role.create_time = DateTime.Now; if (role.id == 0) { db.userRoles.Add(role); } db.SaveChanges(); res.roleId = role.id; db.Dispose(); } catch (Exception ex) { res.code = -500; res.message = ex.ToString(); } Sender.Tell(res); }); }