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 = "绑定失败"
            }));
        }
示例#2
0
        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 = "登录失败"
            }));
        }
示例#3
0
        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 = "绑定失败"
            }));
        }