RScanResult.m 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //
  2. // RScanResult.m
  3. // r_scan
  4. //
  5. // Created by 李鹏辉 on 2019/12/28.
  6. //
  7. #import "RScanResult.h"
  8. @implementation RScanResult
  9. +(NSDictionary*) toMap:(AVMetadataMachineReadableCodeObject*) obj{
  10. if (obj == nil) {
  11. return nil;
  12. }
  13. NSMutableDictionary * result =[NSMutableDictionary dictionary];
  14. [result setValue:obj.stringValue forKey:@"message"];
  15. [result setValue:[self getType:obj.type] forKey:@"type"];
  16. [result setValue:obj.corners forKey:@"points"];
  17. return result;
  18. }
  19. +(NSNumber*) getType:(AVMetadataObjectType)type{
  20. if (type == AVMetadataObjectTypeAztecCode) {
  21. return @(0);
  22. }else if (type == AVMetadataObjectTypeCode39Code) {
  23. return @(2);
  24. }else if (type == AVMetadataObjectTypeCode93Code) {
  25. return @(3);
  26. }else if (type == AVMetadataObjectTypeCode128Code) {
  27. return @(4);
  28. }else if (type == AVMetadataObjectTypeDataMatrixCode) {
  29. return @(5);
  30. }else if (type == AVMetadataObjectTypeEAN8Code) {
  31. return @(6);
  32. }else if (type == AVMetadataObjectTypeEAN13Code) {
  33. return @(7);
  34. }else if (type == AVMetadataObjectTypeITF14Code) {
  35. return @(8);
  36. }else if (type == AVMetadataObjectTypePDF417Code) {
  37. return @(10);
  38. }else if (type == AVMetadataObjectTypeQRCode) {
  39. return @(11);
  40. }else if (type == AVMetadataObjectTypeUPCECode) {
  41. return @(15);
  42. }else{
  43. return nil;
  44. }
  45. }
  46. +(NSNumber*) getZXingType:(ZXBarcodeFormat)format{
  47. switch (format) {
  48. case kBarcodeFormatAztec:
  49. return @(0);
  50. case kBarcodeFormatCodabar:
  51. return @(1);
  52. case kBarcodeFormatCode39:
  53. return @(2);
  54. case kBarcodeFormatCode93:
  55. return @(3);
  56. case kBarcodeFormatCode128:
  57. return @(4);
  58. case kBarcodeFormatDataMatrix:
  59. return @(5);
  60. case kBarcodeFormatEan8:
  61. return @(6);
  62. case kBarcodeFormatEan13:
  63. return @(7);
  64. case kBarcodeFormatITF:
  65. return @(8);
  66. case kBarcodeFormatMaxiCode:
  67. return @(9);
  68. case kBarcodeFormatPDF417:
  69. return @(10);
  70. case kBarcodeFormatQRCode:
  71. return @(11);
  72. case kBarcodeFormatRSS14:
  73. return @(12);
  74. case kBarcodeFormatRSSExpanded:
  75. return @(13);
  76. case kBarcodeFormatUPCA:
  77. return @(14);
  78. case kBarcodeFormatUPCE:
  79. return @(15);
  80. case kBarcodeFormatUPCEANExtension:
  81. return @(16);
  82. }
  83. return nil;
  84. }
  85. + (NSNumber *)getZBarType:(zbar_symbol_type_t)format{
  86. switch (format) {
  87. // case kBarcodeFormatAztec:
  88. // return @(0);
  89. case ZBAR_CODABAR:
  90. return @(1);
  91. case ZBAR_CODE39:
  92. return @(2);
  93. case ZBAR_CODE93:
  94. return @(3);
  95. case ZBAR_CODE128:
  96. return @(4);
  97. case ZBAR_DATABAR_EXP:
  98. return @(5);
  99. case ZBAR_EAN8:
  100. return @(6);
  101. case ZBAR_EAN13:
  102. return @(7);
  103. case ZBAR_COMPOSITE:
  104. return @(8);
  105. // case kBarcodeFormatMaxiCode:
  106. // return @(9);
  107. case ZBAR_PDF417:
  108. return @(10);
  109. case ZBAR_QRCODE:
  110. return @(11);
  111. // case kBarcodeFormatRSS14:
  112. // return @(12);
  113. // case kBarcodeFormatRSSExpanded:
  114. // return @(13);
  115. case ZBAR_UPCA:
  116. return @(14);
  117. case ZBAR_UPCE:
  118. return @(15);
  119. // case kBarcodeFormatUPCEANExtension:
  120. // return @(16);
  121. default:
  122. break;
  123. }
  124. return nil;
  125. }
  126. @end