diff --git a/hb_server/apps/hrm/serializers.py b/hb_server/apps/hrm/serializers.py index aa168d5..9c8a42a 100644 --- a/hb_server/apps/hrm/serializers.py +++ b/hb_server/apps/hrm/serializers.py @@ -20,6 +20,7 @@ class EmployeeNotWorkRemarkSerializer(ModelSerializer): fields = ['not_work_remark'] class FaceLoginSerializer(serializers.Serializer): base64 = serializers.CharField() + tolerance = serializers.FloatField(required=False, default=0.45) class FaceLoginPathSerializer(serializers.Serializer): path = serializers.CharField() diff --git a/hb_server/apps/hrm/views.py b/hb_server/apps/hrm/views.py index 915333a..975d70a 100644 --- a/hb_server/apps/hrm/views.py +++ b/hb_server/apps/hrm/views.py @@ -109,7 +109,7 @@ class ClockRecordViewSet(CreateModelMixin, ListModelMixin, GenericViewSet): if 8<=now_local.hour<=17: base64_data = base64.urlsafe_b64decode(tran64( request.data.get('base64').replace(' ', '+'))) - user, msg = HRMService.face_compare_from_base64(base64_data) + user, msg = HRMService.face_compare_from_base64(base64_data, request.data.get('tolerance', 0.45)) if user: ins, created = ClockRecord.objects.get_or_create( create_by = user, create_time__hour__range = [8,18], @@ -159,8 +159,8 @@ class FaceLogin(CreateAPIView): """ 人脸识别登录 """ - base64_data = base64.urlsafe_b64decode(tran64(request.data.get('base64').replace(' ', '+')), request.data.get('tolerance', 0.45)) - user, msg = HRMService.face_compare_from_base64(base64_data) + base64_data = base64.urlsafe_b64decode(tran64(request.data.get('base64').replace(' ', '+'))) + user, msg = HRMService.face_compare_from_base64(base64_data, request.data.get('tolerance', 0.45)) if user: refresh = RefreshToken.for_user(user) # 可设为在岗