NewScanViewController.swift 3.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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 Alamofire
  10. import AlamofireImage
  11. import AlamofireObjectMapper
  12. import ObjectMapper
  13. import CocoaLumberjack
  14. import O2OA_Auth_SDK
  15. class NewScanViewController: LBXScanViewController {
  16. var callbackResult: ((String)->Void)? = nil
  17. override func viewDidLoad() {
  18. super.viewDidLoad()
  19. DDLogDebug("viewdid load................................")
  20. self.title = "扫一扫"
  21. }
  22. override func didReceiveMemoryWarning() {
  23. super.didReceiveMemoryWarning()
  24. // Dispose of any resources that can be recreated.
  25. }
  26. //扫码结果
  27. override func handleCodeResult(arrayResult: [LBXScanResult]) {
  28. for result:LBXScanResult in arrayResult
  29. {
  30. print(result.strScanned ?? "")
  31. }
  32. let result:LBXScanResult = arrayResult[0]
  33. if callbackResult != nil {
  34. callbackResult?(result.strScanned ?? "")
  35. self.popVC()
  36. }else {
  37. let url = NSURL(string: result.strScanned!)
  38. let query = url?.query
  39. let querys = query?.split("&")
  40. var meta = ""
  41. querys?.forEach { (e) in
  42. let name = e.split("=")[0]
  43. if name == "meta" {
  44. meta = e.split("=")[1]
  45. }
  46. }
  47. if meta != "" {
  48. let account = O2AuthSDK.shared.myInfo()
  49. let loginURL = AppDelegate.o2Collect.generateURLWithAppContextKey(LoginContext.loginContextKey, query: LoginContext.scanCodeAuthActionQuery, parameter: ["##meta##":meta as AnyObject])
  50. Alamofire.request(loginURL!, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: ["x-token":(account?.token)!]).responseJSON(completionHandler: { (response) in
  51. switch response.result {
  52. case .success(let val):
  53. DispatchQueue.main.async {
  54. DDLogDebug(String(describing:val))
  55. let alertController = UIAlertController(title: "扫描结果", message: "PC端登录成功", preferredStyle: .alert)
  56. let okAction = UIAlertAction(title: "确定", style: .default) {
  57. action in
  58. self.popVC()
  59. }
  60. alertController.addAction(okAction)
  61. self.presentVC(alertController)
  62. }
  63. case .failure(let err):
  64. DispatchQueue.main.async {
  65. DDLogError(err.localizedDescription)
  66. let alertController = UIAlertController(title: "扫描结果", message: "PC端登录失败", preferredStyle: .alert)
  67. let okAction = UIAlertAction(title: "确定", style: .destructive) {
  68. action in
  69. self.popVC()
  70. }
  71. alertController.addAction(okAction)
  72. self.presentVC(alertController)
  73. }
  74. }
  75. })
  76. }else {
  77. let alertController = UIAlertController(title: "扫描结果", message: result.strScanned!, preferredStyle: .alert)
  78. let okAction = UIAlertAction(title: "确定", style: .default) {
  79. action in
  80. self.popVC()
  81. }
  82. alertController.addAction(okAction)
  83. self.presentVC(alertController)
  84. }
  85. }
  86. }
  87. }