NewScanViewController.swift 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. //
  2. // NewScanViewController.swift
  3. // O2Platform
  4. //
  5. // Created by 刘振兴 on 2016/12/22.
  6. // Copyright © 2016年 zoneland. All rights reserved.
  7. //
  8. import UIKit
  9. import swiftScan
  10. import Alamofire
  11. import AlamofireImage
  12. import AlamofireObjectMapper
  13. import ObjectMapper
  14. import CocoaLumberjack
  15. import O2OA_Auth_SDK
  16. class NewScanViewController: LBXScanViewController {
  17. var myStyle = LBXScanViewStyle() {
  18. didSet {
  19. myStyle.centerUpOffset = 44;
  20. myStyle.photoframeAngleStyle = LBXScanViewPhotoframeAngleStyle.Inner;
  21. myStyle.photoframeLineW = 2;
  22. myStyle.photoframeAngleW = 18;
  23. myStyle.photoframeAngleH = 18;
  24. myStyle.isNeedShowRetangle = false;
  25. myStyle.anmiationStyle = LBXScanViewAnimationStyle.LineMove;
  26. myStyle.colorAngle = UIColor(red: 0.0/255, green: 200.0/255.0, blue: 20.0/255.0, alpha: 1.0)
  27. //qrcode_Scan_weixin_Line
  28. myStyle.animationImage = #imageLiteral(resourceName: "qrcode_scan_light_green.png")
  29. }
  30. }
  31. override func viewDidLoad() {
  32. super.viewDidLoad()
  33. //self.scanStyle = myStyle
  34. }
  35. override func didReceiveMemoryWarning() {
  36. super.didReceiveMemoryWarning()
  37. // Dispose of any resources that can be recreated.
  38. }
  39. //扫码结果
  40. override func handleCodeResult(arrayResult: [LBXScanResult]) {
  41. for result:LBXScanResult in arrayResult
  42. {
  43. print("%@",result.strScanned ?? "")
  44. }
  45. let result:LBXScanResult = arrayResult[0]
  46. let url = NSURL(string: result.strScanned!)
  47. let query = url?.query
  48. let querys = query?.split("&")
  49. var meta = ""
  50. querys?.forEach { (e) in
  51. let name = e.split("=")[0]
  52. if name == "meta" {
  53. meta = e.split("=")[1]
  54. }
  55. }
  56. if meta != "" {
  57. let account = O2AuthSDK.shared.myInfo()
  58. let loginURL = AppDelegate.o2Collect.generateURLWithAppContextKey(LoginContext.loginContextKey, query: LoginContext.scanCodeAuthActionQuery, parameter: ["##meta##":meta as AnyObject])
  59. Alamofire.request(loginURL!, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: ["x-token":(account?.token)!]).responseJSON(completionHandler: { (response) in
  60. switch response.result {
  61. case .success(let val):
  62. DispatchQueue.main.async {
  63. DDLogDebug(String(describing:val))
  64. let alertController = UIAlertController(title: "扫描结果", message: "PC端登录成功", preferredStyle: .alert)
  65. let okAction = UIAlertAction(title: "确定", style: .default) {
  66. action in
  67. self.popVC()
  68. }
  69. alertController.addAction(okAction)
  70. self.presentVC(alertController)
  71. }
  72. case .failure(let err):
  73. DispatchQueue.main.async {
  74. DDLogError(err.localizedDescription)
  75. let alertController = UIAlertController(title: "扫描结果", message: "PC端登录失败", preferredStyle: .alert)
  76. let okAction = UIAlertAction(title: "确定", style: .destructive) {
  77. action in
  78. self.popVC()
  79. }
  80. alertController.addAction(okAction)
  81. self.presentVC(alertController)
  82. }
  83. }
  84. })
  85. }else {
  86. let alertController = UIAlertController(title: "扫描结果", message: result.strScanned!, preferredStyle: .alert)
  87. let okAction = UIAlertAction(title: "确定", style: .default) {
  88. action in
  89. self.popVC()
  90. }
  91. alertController.addAction(okAction)
  92. self.presentVC(alertController)
  93. }
  94. }
  95. }