//
//  ScanQRViewController.swift
//  PaiAi
//
//  Created by zhengjianfei on 16/4/8.
//  Copyright © 2016年 FFIB. All rights reserved.
//

import UIKit
import AVFoundation
import PaiaiDataKit
import PaiaiUIKit

final class ScanQRViewController: UIViewController {

    // MARK: Storyboard property
    @IBOutlet var scanView: QRCodeScanView!
    @IBOutlet var lightLabel: UILabel!

   // MARK: parameter property
    var viewModel = ScanQRViewModel()
    

    // MARK: view function
    override func viewDidLoad() {
        super.viewDidLoad()
        navigationController?.navigationBar.setBackgroundImage(UIImage.imageWithColor(UIColor.black), for: .default)
        scanView.delegate = self
    }

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(true)
//        titleWithbackBar = "二维码"
    }

    // MARK: Storyboard  button function
    @IBAction func chooseFromSYSPhoto() {
        scanView.openPhotoLibrary(ctl: self)
    }

    @IBAction func openLight() {
        scanView.openLight()
    }
    
    
}

// MARK: read QR message
// MARK: custom delegate function
extension ScanQRViewController: QRCodeScanViewDelegate {
    func scanView(_ scanView: QRCodeScanView, didFinshWithError error: NSError?) {
        
    }
    
    func scanView(_ scanner: QRCodeScanView, receivedScanResult: QRCodeScanResult) {
        viewModel.join(code: receivedScanResult.result)
    }

    func addToTourGroup(group_id: String) {
//        if user_phone.isEmpty {
//            let phone = NSString(string: user_phone).integerValue
//            let params = ["admin_id": group_id, "user_id": SharedUserInfo.userId, "authority": authority, "name": user_name, "phone": phone ] as [String: AnyObject]

//            let request = GroupNetworkRequest(path: .joinTourGroup, parameter: params)
//            NetworkApi.share.post(request: request, handler: { (res) in
//                let ctl = UIStoryboard.main.instantiateController(GroupPageController.self)
//                ctl.isCreate = true
//                ctl.isScan = true
//                ctl.groupModel = res[0]
//                self.navigationController?.pushViewController(ctl, animated: true)
//            })
//        } else {
//            let ctl = UIStoryboard.main.instantiateController(PersonInformationController.self)
//            ctl.admin_id = group_id
//            navigationController?.pushViewController(ctl, animated: true)
//        }
    }

    func addToGroup(_ code: String) {
//        let strs = code.components(separatedBy: "/")
//        guard strs.count > 2, var group_id = strs.last else {
//            FFToastView.showToast(inView: self.view, withText: "读取失败")
//            return
//        }
//        FFToastView.showLoadingToast(inView: view, blockSuperView: true)
//        let flag = strs[strs.count-2]
//        guard flag == "s" || flag == "g" || flag == "tgu" else {
//            FFToastView.showToast(inView: self.view, withText: "读取失败")
//            return
//        }
//        if flag == "tgu" {
//            addToTourGroup(group_id: group_id)
//            return
//        }
//        let isGroup = flag == "g"
//        let path = isGroup ? Interfaces.joinGroup : Interfaces.joinSession
//        let idName = isGroup ? "group_id" : "session_id"
//        let lensman_id = (group_id.components(separatedBy: "?").last ?? "").components(separatedBy: "=").last ?? ""
//        group_id = group_id.components(separatedBy: "?").first ?? ""
//        let params = ["user_id": SharedUserInfo.userId, idName: group_id, "nickname": SharedUserInfo.name, "lensman_id" : lensman_id]  as [String: AnyObject]

//        let request = GroupNetworkRequest(path: path, parameter: params)
//        NetworkApi.share.post(request: request, handler: { (res) in
//            let ctl = UIStoryboard.main.instantiateController(GroupPageController.self)
//            ctl.isCreate = true
//            ctl.isScan = true
//            ctl.groupModel = res[0]
//            self.navigationController?.pushViewController(ctl, animated: true)
//            FFToastView.hideLoadingToast()
//        })
    }
}

// MARK: imagePick delegate
extension ScanQRViewController: UIImagePickerControllerDelegate {

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String: AnyObject]?) {
        picker.dismiss(animated: true) {
//            if let sessionid = image.decodeQRCodeInImage() {
//                self.addToGroup(sessionid)
//            } else {
//                FFToastView.showToast(inView: self.view, withText: "未检测到群二维码")
//            }
        }
    }

    func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
        picker.dismissController()
    }

}