idcard_reader.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  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. @require_http_methods(["GET", "POST"])
  11. def read_idcard(request):
  12. # response = {}
  13. # data = {}
  14. # data['name'] = '张三'
  15. # data['id_no'] = '443xxxxxxxxxxx32x7'
  16. #
  17. # response['code'] = '0'
  18. # response['msg'] = '成功'
  19. # response['rows'] = [{'total': 1, 'data': data}]
  20. # return JsonResponse(response)
  21. response = {}
  22. data = {}
  23. # 身份证信息读取
  24. reader = IdCardReader()
  25. id_car_info = reader.recognize()
  26. if 'error' in id_car_info:
  27. response['code'] = '-1'
  28. response['msg'] = id_car_info['error']
  29. response['rows'] = [{'total': 0, 'data': []}]
  30. return JsonResponse(response, json_dumps_params={'ensure_ascii':False})
  31. # name, id_no = id_car_info['name'], id_car_info['id_no']
  32. # data['name'] = name
  33. # data['id_no'] = id_no
  34. 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']
  35. data['name'] = name
  36. data['id_no'] = id_no
  37. data['address'] = address
  38. data['sex'] = sex
  39. data['nation'] = nation
  40. data['sign_gov'] = sign_gov
  41. data['start_date'] = start_date
  42. data['end_date'] = end_date
  43. response['code'] = '0'
  44. response['msg'] = '成功'
  45. response['rows'] = [{'total': 1, 'data': data}]
  46. return JsonResponse(response, json_dumps_params={'ensure_ascii':False})