public ActionResult FaceCheck(FaceRegisterRequest request) { FaceCheckResponse response = BaiduApiBll.FaceCheck(request.ImgPath, request.ImgType); if (response.result == null) { return(Json(new JsonSimpleResponse() { State = false, ErrorMsg = "检测异常" })); } var faceInfo = response.result.face_list.FirstOrDefault(); if (response.error_code == 0 && response.result.face_num == 1 && faceInfo.face_probability == 1 && faceInfo.liveness.livemapscore >= 0.8 && faceInfo.quality.blur == 0 && faceInfo.quality.completeness == 1 && faceInfo.quality.illumination > 40 && faceInfo.angle.pitch < 20 && faceInfo.angle.pitch > -20 && faceInfo.angle.roll < 20 && faceInfo.angle.roll > -20 && faceInfo.angle.yaw < 20 && faceInfo.angle.yaw > -20 && faceInfo.quality.occlusion.left_eye <= 0.6 && faceInfo.quality.occlusion.right_eye <= 0.6 && faceInfo.quality.occlusion.nose <= 0.7 && faceInfo.quality.occlusion.mouth <= 0.7 && faceInfo.quality.occlusion.left_cheek <= 0.8 && faceInfo.quality.occlusion.rigth_cheek <= 0.8 && faceInfo.quality.occlusion.chin <= 0.6) { return(Json(new JsonSimpleResponse() { State = true, ErrorMsg = "检测通过" })); } return(Json(new JsonSimpleResponse() { State = false, ErrorMsg = "检测异常" })); }
public ActionResult UpdateFace(FaceRegisterRequest request) { StudentInfoBll studentInfoBll = new StudentInfoBll(); var response = BaiduApiBll.FaceUpdate(request.ImgPath, request.ImgType, GetCurrentUser().StudentId.ToString(), request.UserInfo); if (response.error_code == 0) { var result = studentInfoBll.UpdatePassportKey(GetCurrentUser().StudentId, response.result.face_token); return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 1, ErrorMsg = "操作成功" })); } return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 0, ErrorMsg = "操作失败" })); }
public ActionResult BindFace(FaceRegisterRequest request) { FaceRecognitionResponse response = BaiduApiBll.FaceRegister(request.ImgPath, request.ImgType, GetCurrentUser().StudentId.ToString(), request.UserInfo); if (response.error_code == 0) { StudentInfoBll studentInfoBll = new StudentInfoBll(); studentInfoBll.AddStudentPassport(GetCurrentUser().StudentId, StudentAccountSourceEnum.人脸识别, response.result.face_token, ""); return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 1, ErrorMsg = "绑定成功" })); } return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 0, ErrorMsg = "绑定失败" })); }
/// <summary> /// 自定义开场白添加 /// </summary> /// <param name="description"></param> /// <returns></returns> public ActionResult AddPrologues(string description) { ResourceBll resourceBll = new ResourceBll(); var audio = BaiduApiBll.GetAudio(description); var response = Upload(audio); if (response.State) { var id = resourceBll.AddMediaObject((int)MediaObjectTypeEnum.音频, response.FileUrl, 0, 0, description, CurrentUserID); return(Json(new JsonResponse <int>() { State = true, Data = id, ErrorMsg = "操作成功" })); } return(Json(new JsonResponse <int>() { State = false, Data = 0, ErrorMsg = "操作失败" })); }
public ActionResult AddPrologueDo(int Id, string description) { ResourceBll resourceBll = new ResourceBll(); if (Id > 0) { var audio = BaiduApiBll.GetAudio(description); var response = Upload(audio); if (response.State) { resourceBll.UpdatePropogue(Id, description, response.FileUrl); return(Json(new JsonSimpleResponse() { State = true, ErrorMsg = "操作成功" })); } } else { var audio = BaiduApiBll.GetAudio(description); var response = Upload(audio); if (response.State) { resourceBll.AddMediaResource(new DtoResourceRequest { Description = description, Url = response.FileUrl, MediaType = MediaResourceTypeEnum.开场语, MediaObjectType = MediaObjectTypeEnum.音频, State = 1, IsStatus = true }); return(Json(new JsonSimpleResponse() { State = true, ErrorMsg = "操作成功" })); } } return(Json(new JsonSimpleResponse() { State = false, ErrorMsg = "操作失败" })); }
public ActionResult FaceLogin(FaceRegisterRequest request) { FaceRecognitionResponse response = BaiduApiBll.FaceLogin(request.ImgPath, request.ImgType); //状态码不为0或者识别得分小于80,验证失败 if (response.error_code > 0 || response.result.user_list.FirstOrDefault().score < 80) { var errorCode = -1; //状态码为18,QPS超限额 if (response.error_code == 18) { errorCode = -2; } return(Json(new JsonResponse <FaceRecognitionResponse>() { State = false, ErrorCode = errorCode, Data = response, ErrorMsg = "登录失败,请稍后再试" })); } StudentInfoBll studentInfoBll = new StudentInfoBll(); var studentPassport = studentInfoBll.GetStudentPassport(response.result.user_list.FirstOrDefault().user_id._ToInt32(), StudentAccountSourceEnum.人脸识别); if (studentPassport != null) { var sumStudent = studentInfoBll.GetSumStudentTip(studentPassport.Bsp_StudentId); LoginInfo info = sumStudent.ConvertTo <LoginInfo>(); LoginStudent.Info = JsonConvert.SerializeObject(info); return(Json(new JsonSimpleResponse() { State = true, ErrorCode = 1, ErrorMsg = "登录成功" })); } return(Json(new JsonSimpleResponse() { State = false, ErrorCode = -1, ErrorMsg = "登录失败" })); }
public ActionResult BindFace(FaceBindInputModel inputModel) { if (SmsCookie.GetSmsCode == null || !SmsCookie.GetSmsCode.Check(inputModel.Phone, inputModel.SmsCode)) { return(new JsonResult() { Data = AjaxResponse.Fail(SmsErrorEnum.PhoneCodeFault) }); } StudentInfoBll studentInfoBll = new StudentInfoBll(); var studentPassort = studentInfoBll.GetByPassportKey(inputModel.Phone); if (studentPassort == null) { return(Json(new JsonResponse <int>() { State = false, ErrorCode = -1, ErrorMsg = "用户名不存在" })); } FaceRecognitionResponse response = BaiduApiBll.FaceRegister(inputModel.Image, inputModel.ImageType, studentPassort.Bsp_StudentId.ToString(), ""); if (response.error_code == 0) { studentInfoBll.AddStudentPassport(studentPassort.Bsp_StudentId, StudentAccountSourceEnum.人脸识别, response.result.face_token, ""); return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 1, ErrorMsg = "绑定成功" })); } return(Json(new JsonResponse <FaceRecognitionResponse>() { Data = response, ErrorCode = 0, ErrorMsg = "绑定失败" })); }