idcard_reader.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/python
  2. # -*- coding: UTF-8 -*-
  3. #
  4. #
  5. # author: Scott Chen
  6. # date: 2019-12-23
  7. from django.views.decorators.http import require_http_methods
  8. from django.http import JsonResponse
  9. from idcard.biz.id_card_reader import IdCardReader
  10. from log_ware import get_logger
  11. logger = get_logger()
  12. @require_http_methods(["GET", "POST"])
  13. def read_idcard(request):
  14. # response = {}
  15. # data = {}
  16. # data['name'] = '张三'
  17. # data['id_no'] = '443xxxxxxxxxxx32x7'
  18. #
  19. # response['code'] = '0'
  20. # response['msg'] = '成功'
  21. # response['rows'] = [{'total': 1, 'data': data}]
  22. # return JsonResponse(response)
  23. response = {}
  24. data = {}
  25. # 身份证信息读取
  26. reader = IdCardReader()
  27. id_car_info = reader.recognize()
  28. if 'error' in id_car_info:
  29. response['code'] = '-1'
  30. response['msg'] = id_car_info['error']
  31. response['rows'] = [{'total': 0, 'data': []}]
  32. return JsonResponse(response, json_dumps_params={'ensure_ascii':False})
  33. name, id_no, address, sex, nation, sign_gov, start_date, end_date = id_car_info['name'], id_car_info['id_no'], id_car_info['address'], id_car_info['sex'], id_car_info['nation'], id_car_info['sign_gov'], id_car_info['start_date'], id_car_info['end_date']
  34. data['name'] = name
  35. data['id_no'] = id_no
  36. data['address'] = address
  37. data['sex'] = sex
  38. data['nation'] = nation
  39. data['sign_gov'] = sign_gov
  40. data['start_date'] = start_date
  41. data['end_date'] = end_date
  42. response['code'] = '0'
  43. response['msg'] = '成功'
  44. response['rows'] = [{'total': 1, 'data': data}]
  45. return JsonResponse(response, json_dumps_params={'ensure_ascii':False})