| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 |
- //
- // ScanViewController.swift
- // O2Platform
- //
- // Created by 刘振兴 on 2016/12/12.
- // Copyright © 2016年 zoneland. All rights reserved.
- //
- import UIKit
- import Alamofire
- import AlamofireImage
- import AlamofireObjectMapper
- import ObjectMapper
- import CocoaLumberjack
- import O2OA_Auth_SDK
- class ScanViewController: UIViewController {
-
- var scanView:LXDScanView!
-
- override func viewWillAppear(_ animated: Bool) {
- self.hidesBottomBarWhenPushed = true
- }
-
- override func viewDidDisappear(_ animated: Bool) {
- super.viewDidDisappear(animated)
- self.scanView.stop()
- }
-
- override func viewDidLoad() {
- super.viewDidLoad()
- self.scanView = LXDScanView(showIn: self)
- self.view.addSubview(scanView)
- self.scanView.start()
- // Do any additional setup after loading the view.
- }
- override func didReceiveMemoryWarning() {
- super.didReceiveMemoryWarning()
- // Dispose of any resources that can be recreated.
- }
-
- /*
- // MARK: - Navigation
- // In a storyboard-based application, you will often want to do a little preparation before navigation
- override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
- // Get the new view controller using segue.destinationViewController.
- // Pass the selected object to the new view controller.
- }
- */
- }
- extension ScanViewController:LXDScanViewDelegate{
- func scanView(_ scanView: LXDScanView!, codeInfo: String!) {
- DDLogDebug(codeInfo)
- let url = NSURL(string: codeInfo)
- if let meta = url?.query {
- let metaString = meta.split("=")[1]
- let account = O2AuthSDK.shared.myInfo()
- let loginURL = AppDelegate.o2Collect.generateURLWithAppContextKey(LoginContext.loginContextKey, query: LoginContext.scanCodeAuthActionQuery, parameter: ["##meta##":metaString as AnyObject])
- Alamofire.request(loginURL!, method: .post, parameters: nil, encoding: JSONEncoding.default, headers: ["x-token":(account?.token)!]).responseJSON(completionHandler: { (response) in
- switch response.result {
- case .success(let val):
- DispatchQueue.main.async {
- DDLogDebug(String(describing: val))
- let alertController = UIAlertController(title: "扫描结果", message: "PC端登录成功", preferredStyle: .alert)
- let okAction = UIAlertAction(title: "确定", style: .default) {
- action in
- self.popVC()
- }
- alertController.addAction(okAction)
- self.presentVC(alertController)
- }
- case .failure(let err):
- DispatchQueue.main.async {
- DDLogError(err.localizedDescription)
- let alertController = UIAlertController(title: "扫描结果", message: "PC端登录失败", preferredStyle: .alert)
- let okAction = UIAlertAction(title: "确定", style: .destructive) {
- action in
- self.popVC()
- }
- alertController.addAction(okAction)
- self.presentVC(alertController)
- }
-
- }
- })
-
- }else{
- let alertController = UIAlertController(title: "扫描结果", message: codeInfo, preferredStyle: .alert)
- let okAction = UIAlertAction(title: "确定", style: .default) {
- action in
- self.popVC()
- }
- alertController.addAction(okAction)
- self.presentVC(alertController)
- }
-
- }
- }
|