ScanHelper.swift 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // ScanHelper.swift
  3. // O2Platform
  4. //
  5. // Created by FancyLou on 2018/9/30.
  6. // Copyright © 2018 zoneland. All rights reserved.
  7. //
  8. import AVFoundation
  9. import ProgressHUDSwift
  10. class ScanHelper {
  11. static func openScan(vc: UIViewController, callbackResult: ((String)->Void)? = nil) {
  12. LBXPermissions.authorizeCameraWith { (result) in
  13. if result {
  14. if let scanVC = self.initScanViewController(callbackResult: callbackResult) {
  15. vc.pushVC(scanVC)
  16. }else {
  17. vc.gotoApplicationSettings(alertMessage: "是否跳转到手机设置页面开启相机权限?")
  18. }
  19. }else {
  20. ProgressSHD.showError("没有摄像头权限,请先开启!")
  21. }
  22. }
  23. }
  24. /// 生成扫码的ViewController 如果没有权限就返回nil
  25. static private func initScanViewController(callbackResult: ((String)->Void)? = nil) -> NewScanViewController? {
  26. let scanVC = NewScanViewController()
  27. var scanStyle = LBXScanViewStyle()
  28. scanStyle.centerUpOffset = 44;
  29. scanStyle.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle.Inner;
  30. scanStyle.photoframeLineW = 2;
  31. scanStyle.photoframeAngleW = 18;
  32. scanStyle.photoframeAngleH = 18;
  33. scanStyle.isNeedShowRetangle = false;
  34. scanStyle.anmiationStyle = LBXScanViewAnimationStyle.LineMove;
  35. //scanStyle.colorAngle = UIColor(red: 0.0/255, green: 200.0/255.0, blue: 20.0/255.0, alpha: 1.0)
  36. scanStyle.colorAngle = O2ThemeManager.color(for: "Base.base_color") ?? UIColor.init(hex: "#fb47474")
  37. scanStyle.animationImage = UIImage(named: "qrcode_scan_part_net.png")
  38. scanVC.scanStyle = scanStyle
  39. scanVC.callbackResult = callbackResult
  40. return scanVC
  41. }
  42. }