暂无描述

ScanQRViewController.swift 4.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. //
  2. // ScanQRViewController.swift
  3. // PaiAi
  4. //
  5. // Created by zhengjianfei on 16/4/8.
  6. // Copyright © 2016年 FFIB. All rights reserved.
  7. //
  8. import UIKit
  9. import AVFoundation
  10. import PaiaiDataKit
  11. import PaiaiUIKit
  12. final class ScanQRViewController: UIViewController {
  13. // MARK: Storyboard property
  14. @IBOutlet var scanView: QRCodeScanView!
  15. @IBOutlet var lightLabel: UILabel!
  16. // MARK: parameter property
  17. var viewModel = ScanQRViewModel()
  18. // MARK: view function
  19. override func viewDidLoad() {
  20. super.viewDidLoad()
  21. // navigationController?.navigationBar.setBackgroundImage(UIImage.imageWithColor(UIColor.black), for: .default)
  22. scanView.delegate = self
  23. }
  24. override func viewWillAppear(_ animated: Bool) {
  25. super.viewWillAppear(true)
  26. // titleWithbackBar = "二维码"
  27. }
  28. // MARK: Storyboard button function
  29. @IBAction func chooseFromSYSPhoto() {
  30. scanView.openPhotoLibrary(ctl: self)
  31. }
  32. @IBAction func openLight() {
  33. scanView.openLight()
  34. }
  35. }
  36. // MARK: read QR message
  37. // MARK: custom delegate function
  38. extension ScanQRViewController: QRCodeScanViewDelegate {
  39. func scanView(_ scanView: QRCodeScanView, didFinshWithError error: NSError?) {
  40. }
  41. func scanView(_ scanner: QRCodeScanView, receivedScanResult: QRCodeScanResult) {
  42. viewModel.join(code: receivedScanResult.result)
  43. }
  44. func addToTourGroup(group_id: String) {
  45. // if user_phone.isEmpty {
  46. // let phone = NSString(string: user_phone).integerValue
  47. // let params = ["admin_id": group_id, "user_id": SharedUserInfo.userId, "authority": authority, "name": user_name, "phone": phone ] as [String: AnyObject]
  48. // let request = GroupNetworkRequest(path: .joinTourGroup, parameter: params)
  49. // NetworkApi.share.post(request: request, handler: { (res) in
  50. // let ctl = UIStoryboard.main.instantiateController(GroupViewController.self)
  51. // ctl.isCreate = true
  52. // ctl.isScan = true
  53. // ctl.groupModel = res[0]
  54. // self.navigationController?.pushViewController(ctl, animated: true)
  55. // })
  56. // } else {
  57. // let ctl = UIStoryboard.main.instantiateController(PersonInformationController.self)
  58. // ctl.admin_id = group_id
  59. // navigationController?.pushViewController(ctl, animated: true)
  60. // }
  61. }
  62. func addToGroup(_ code: String) {
  63. // let strs = code.components(separatedBy: "/")
  64. // guard strs.count > 2, var group_id = strs.last else {
  65. // FFToastView.showToast(inView: self.view, withText: "读取失败")
  66. // return
  67. // }
  68. // FFToastView.showLoadingToast(inView: view, blockSuperView: true)
  69. // let flag = strs[strs.count-2]
  70. // guard flag == "s" || flag == "g" || flag == "tgu" else {
  71. // FFToastView.showToast(inView: self.view, withText: "读取失败")
  72. // return
  73. // }
  74. // if flag == "tgu" {
  75. // addToTourGroup(group_id: group_id)
  76. // return
  77. // }
  78. // let isGroup = flag == "g"
  79. // let path = isGroup ? Interfaces.joinGroup : Interfaces.joinSession
  80. // let idName = isGroup ? "group_id" : "session_id"
  81. // let lensman_id = (group_id.components(separatedBy: "?").last ?? "").components(separatedBy: "=").last ?? ""
  82. // group_id = group_id.components(separatedBy: "?").first ?? ""
  83. // let params = ["user_id": SharedUserInfo.userId, idName: group_id, "nickname": SharedUserInfo.name, "lensman_id" : lensman_id] as [String: AnyObject]
  84. // let request = GroupNetworkRequest(path: path, parameter: params)
  85. // NetworkApi.share.post(request: request, handler: { (res) in
  86. // let ctl = UIStoryboard.main.instantiateController(GroupViewController.self)
  87. // ctl.isCreate = true
  88. // ctl.isScan = true
  89. // ctl.groupModel = res[0]
  90. // self.navigationController?.pushViewController(ctl, animated: true)
  91. // FFToastView.hideLoadingToast()
  92. // })
  93. }
  94. }
  95. // MARK: imagePick delegate
  96. extension ScanQRViewController: UIImagePickerControllerDelegate {
  97. func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String: AnyObject]?) {
  98. picker.dismiss(animated: true) {
  99. // if let sessionid = image.decodeQRCodeInImage() {
  100. // self.addToGroup(sessionid)
  101. // } else {
  102. // FFToastView.showToast(inView: self.view, withText: "未检测到群二维码")
  103. // }
  104. }
  105. }
  106. func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
  107. picker.dismissController()
  108. }
  109. }