/// <summary> /// 校验图片验证码是否正确 /// </summary> /// <param name="piccode"></param> /// <returns></returns> public JsonResult CheckPicCode([FromBody] CheckPicCodeViewModel piccode) { JsonResult <bool> result = new JsonResult <bool>(); result.code = 1; result.msg = "OK"; if (piccode == null) { result.Result = false; result.ResultMsg = "参数错误"; return(Json(result, JsonRequestBehavior.AllowGet)); } bool flag = false; if (Session["codepic"] != null && Session["fontSize"] != null) { int fontSize = Session["fontSize"].ToZMInt32(); string codepic = Session["codepic"].ToString(); string[] pics = codepic.Split(','); var ab1 = Math.Abs(pics[0].ToZMInt32() - piccode.x1); var ab2 = Math.Abs(pics[1].ToZMInt32() - piccode.y1); var ab3 = Math.Abs(pics[2].ToZMInt32() - piccode.x2); var ab4 = Math.Abs(pics[3].ToZMInt32() - piccode.y2); var ab5 = Math.Abs(pics[4].ToZMInt32() - piccode.x3); var ab6 = Math.Abs(pics[5].ToZMInt32() - piccode.y3); var ab7 = Math.Abs(pics[6].ToZMInt32() - piccode.x4); var ab8 = Math.Abs(pics[7].ToZMInt32() - piccode.y4); if (ab1 > fontSize || ab2 > fontSize || ab3 > fontSize || ab4 > fontSize || ab5 > fontSize || ab6 > fontSize || ab7 > fontSize || ab8 > fontSize) { flag = false; result.ResultMsg = "验证码错误"; } else { flag = true; result.ResultMsg = "验证码正确"; } } else { flag = false; result.ResultMsg = "验证码已过期"; } result.Result = flag; return(Json(result, JsonRequestBehavior.AllowGet)); }
public async Task <IHttpActionResult> CheckPicCode([FromBody] CheckPicCodeViewModel piccode) { JsonResult <bool> result = new JsonResult <bool>(); result.code = 1; result.msg = "OK"; if (piccode == null) { result.Result = false; result.ResultMsg = "参数错误"; return(Ok(result)); } if (string.IsNullOrEmpty(piccode.token) || !RedisBase.ContainsKey(piccode.token)) { result.Result = false; result.ResultMsg = "验证码已过期"; return(Ok(result)); } result.Result = await Task.Run <bool>(() => { bool flag = false; VerCodePic codepic = RedisBase.Item_Get <VerCodePic>(piccode.token); if (Math.Abs(codepic.Font1.X - piccode.x1) > 0.5 || Math.Abs(codepic.Font1.Y - piccode.y1) > 0.5 || Math.Abs(codepic.Font2.X - piccode.x2) > 0.5 || Math.Abs(codepic.Font2.Y - piccode.y2) > 0.5 || Math.Abs(codepic.Font3.X - piccode.x3) > 0.5 || Math.Abs(codepic.Font3.Y - piccode.y3) > 0.5 || Math.Abs(codepic.Font4.X - piccode.x4) > 0.5 || Math.Abs(codepic.Font4.Y - piccode.y4) > 0.5) { flag = false; result.ResultMsg = "验证码错误"; } else { flag = true; result.ResultMsg = "验证码正确"; } return(flag); }); return(Ok(result)); }