/// <summary> /// 跳转到培训 /// </summary> public void GoToTrainee(HttpContext context) { DataTable dt = dataitemdetailbll.GetListByCode("SafetyTrainee"); //获取对应的安全培训配置项 Operator users = OperatorProvider.Provider.Current(); //当前用户 UserEntity person = userbll.GetEntity(users.UserId); SingleUser entity = new SingleUser(); entity.account = users.Account; entity.password = HttpCommon.MD5Encrypt(users.Password); entity.name = users.UserName; entity.mobileNo = person.Telephone; entity.sex = person.Gender == "男" ? "1" : "0"; entity.idType = "0"; entity.idNumber = person.IdentifyID; entity.email = person.Email; entity.isValid = "1"; string openId = person.OpenId; // openid(单点登陆唯一标识) DataRow[] rows = dt.Select(string.Format(" itemname = '{0}'", users.OrganizeId)); //当前培训信息 string traineerInfo = string.Empty; if (rows.Count() > 0) { traineerInfo = rows[0]["itemvalue"].ToString(); } if (!string.IsNullOrEmpty(traineerInfo)) { #region 具体操作内容 string[] arrTrainee = traineerInfo.Split('|'); string version = arrTrainee[0].ToString(); //版本 string appCode = arrTrainee[1].ToString(); //应用代码 skc string secretKey = arrTrainee[2].ToString(); //应用密钥//4DAA67B83F932CBD CB93FE6E34B90127 string account = person.Telephone; string singleValue = string.Empty; string yqStr = string.Empty; string rqUrl = string.Empty; string result = string.Empty; ////用户中心密码 string returnPwd = HttpCommon.MD5Encrypt(users.Password); ////当前用户手机号不能为空 if (string.IsNullOrEmpty(account)) { //跳转到错误页面 context.Response.Redirect("~/Error/ErrorMessage", false); } try { ////第一步,进行验签 GetAccountObj aobj = new GetAccountObj(); aobj.account = person.Telephone; aobj.appCode = appCode; aobj.secretKey = secretKey; aobj.version = version; yqStr = JsonConvert.SerializeObject(aobj); singleValue = HttpCommon.MD5EncryptFor32(yqStr); //验证是否存在当前用户 string validateStr = dt.Select(" itemname = 'TraineeValidate'")[0]["itemvalue"].ToString(); rqUrl = string.Format(validateStr, version, appCode, person.Telephone, singleValue); result = HttpCommon.HttpPost(rqUrl); dynamic dy = JsonConvert.DeserializeObject <ExpandoObject>(result); string code = dy.code; //账号不存在 if (code == "B000009") { string userJson = JsonConvert.SerializeObject(entity); string aesData = HttpCommon.AesEncrypt(userJson, secretKey); RegisterObj yqObj = new RegisterObj(); yqObj.appCode = appCode; yqObj.data = aesData; yqObj.secretKey = secretKey; yqObj.version = version; yqStr = JsonConvert.SerializeObject(yqObj); singleValue = HttpCommon.MD5EncryptFor32(yqStr); //注册信息 string registerStr = dt.Select(" itemname = 'TraineeRegister'")[0]["itemvalue"].ToString(); rqUrl = string.Format(registerStr, version, appCode, aesData, singleValue); if (rqUrl.Contains("+")) { rqUrl = rqUrl.Replace("+", "%2B"); } result = HttpCommon.HttpPost(rqUrl); } else { //成功状态 if (code == "000000") { //获取账号后 string data = dy.data.ToString(); if (!string.IsNullOrEmpty(data)) { data = data.Replace("\r\n", ""); } string userStr = HttpCommon.AesDecrypt(data, secretKey); dynamic userdy = JsonConvert.DeserializeObject <ExpandoObject>(userStr); openId = userdy.openId; returnPwd = userdy.password.ToString(); //如果当前账号下本地数据库中openid为空 if (string.IsNullOrEmpty(person.OpenId)) { //更新人员信息表,将openId 存入person信息表当中 //person.OpenId = openId; //userbll.SaveForm(person.UserId, person); //更新人员信息表,将openId 存入person信息表当中 string usql = string.Format("update base_user set openid = '{0}' where userid = '{1}'", openId, person.UserId); //待更新 int excuteResult = userbll.ExcuteBySql(usql); } } } //登录用户中心获取票据 LoginObj loginobj = new LoginObj(); loginobj.account = person.Telephone; loginobj.appCode = appCode; loginobj.password = returnPwd; loginobj.secretKey = secretKey; loginobj.version = version; yqStr = JsonConvert.SerializeObject(loginobj); singleValue = HttpCommon.MD5EncryptFor32(yqStr); //跳转到注册页面 string loginStr = dt.Select(" itemname = 'TraineeLogin'")[0]["itemvalue"].ToString(); rqUrl = string.Format(loginStr, version, appCode, loginobj.account, loginobj.password, singleValue); if (rqUrl.Contains("+")) { rqUrl = rqUrl.Replace("+", "%2B"); } result = HttpCommon.HttpPost(rqUrl); dynamic logindy = JsonConvert.DeserializeObject <ExpandoObject>(result); if (logindy.code.ToString() == "000000") { string logindata = logindy.data.ToString(); if (!string.IsNullOrEmpty(logindata)) { logindata = logindata.Replace("\r\n", ""); } string loginstr = HttpCommon.AesDecrypt(logindata, secretKey); dynamic lastdy = JsonConvert.DeserializeObject <ExpandoObject>(loginstr); string ticket = lastdy.ticket; //票据 string traineeStr = dt.Select(" itemname = 'TraineeUrl'")[0]["itemvalue"].ToString(); string sendurl = string.Format(traineeStr, ticket); context.Response.Redirect(sendurl, false); } else { context.Response.Redirect("~/Error/ErrorMessage", false); } } catch (Exception ex) { context.Response.Redirect("~/Error/ErrorMessage", false); } #endregion } }
public static void MainTest() { var mm = HttpCommon.HttpGetAsync("http://www.cimicmeigagroup.com/index.php?c=content&a=show&id=147"); return; List <string> list = new List <string>(); List <List <model> > res = new List <List <model> >(); var temp = ""; for (int i = 0; i < 10000; i++) { while (temp.Length < 4) { var e = new Random().Next(1, E.Length + 1); if (!temp.Contains(E[e - 1])) { temp += E[e - 1]; } } if (!list.Contains(temp)) { list.Add(temp); } temp = ""; } List <model> list_model = new List <model>(); foreach (var item in list) { list_model = new List <model>(); foreach (var it in item) { if (it.ToString() == "A") { foreach (var a in A) { model m = new model(); m.phrase = a; m.serial_number = list_model.Count + 1; list_model.Add(m); } } else if (it.ToString() == "B") { foreach (var a in B) { model m = new model(); m.phrase = a; m.serial_number = list_model.Count + 1; list_model.Add(m); } } else if (it.ToString() == "C") { foreach (var a in C) { model m = new model(); m.phrase = a; m.serial_number = list_model.Count + 1; list_model.Add(m); } } else { foreach (var a in D) { model m = new model(); m.phrase = a; m.serial_number = list_model.Count + 1; list_model.Add(m); } } } res.Add(list_model); } foreach (var item in res) { var json = JsonConvert.SerializeObject(item); var kkk = HttpCommon.HttpPost("https://api.idcw.io:6369/api/SecuritySettings/GetUserInfoByPhrase", json); var pp = JsonConvert.DeserializeObject <ResponsTest>(kkk); if (pp.status != 105) { var zz = ""; foreach (var it in item) { zz += it.phrase + ","; } } } }