123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257 |
- //
- // SBTFeedbackVCtr.swift
- // SolarBT
- //
- // Created by weclouds on 2019/4/22.
- // Copyright © 2019 weclouds. All rights reserved.
- //
- import UIKit
- import SwiftyJSON
- import Alamofire
- import PPNetworkHelper
- import CryptoSwift
- import WebKit
- import PKHUD
- let NOTIFICTIONCHANGEFEEDBACKURL = "NOTIFICTIONCHANGEFEEDBACKURL"
- class SBTFeedbackVCtr: UIViewController {
-
- var webView:WKWebView?
-
- /*****************/
- var mFirmwareInfo : FirmwareinInfo?
- var status :String?
- var filePath :String?
- var newFireware :String?
- var dataSource :[String]? = [String]()
- lazy var tableView: UITableView = {
- let tableview = UITableView(frame: CGRect(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight), style: .plain)
- tableview.delegate = self
- tableview.dataSource = self
- return tableview
- }()
-
- /******************/
-
- override func viewDidLoad() {
- super.viewDidLoad()
- checkTheBlueToothWasActivity()
- title = "Customer_feedback".da_localizedStr()
- setUPWKWebView()
- NotificationCenter.default.addObserver(self, selector: #selector(reloadURL), name: NSNotification.Name(NOTIFICTIONCHANGEFEEDBACKURL), object: nil)
-
- }
-
- override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
-
- }
- }
- //extension SBTFeedbackVCtr{
- // func notificationRegister() {
- // NotificationCenter.default.addObserver(self, selector: #selector(changeLanguage), name: NSNotification.Name(KCHANGELANGUAGE), object: nil)
- // }
- //
- // func notificationUnRegister() {
- // // NotificationCenter.default.removeObserver(self)
- // }
- //
- // @objc func changeLanguage() {
- // //
- // log.debug("执行了 -- changeLanguage \(DAConfig.currentLanguage())")
- // self.title = "Customer_feedback".da_localizedStr()
- //
- //
- // }
- //}
- extension SBTFeedbackVCtr{
-
- func getCurrentLanguage() -> String {
- let preferredLang = Bundle.main.preferredLocalizations.first! as NSString
- switch String(describing: preferredLang) {
- case "en-US", "en-CN":
- return "en"//英文
- case "zh-Hans-US","zh-Hans-CN","zh-Hant-CN","zh-TW","zh-HK","zh-Hans":
- return "cn"//中文
- default:
- return "en"
- }
- }
- func setUPWKWebView() {
-
- var url = URL(string: "http://www.szshuori.com")
- let userdef = UserDefaults.standard
- let langueage = userdef.object(forKey: "SOLARLANGUAGE") as? String
- log.debug("当前语言。---- \(langueage)")
- if langueage == nil || langueage == "0" {
- DAConfig.userLanguage = nil
- //跟随系统
- if getCurrentLanguage() == "cn"{
- url = URL(string: "http://www.szshuori.com")
- }else{
- url = URL(string: "https://www.srnesolar.com/")
- }
- }else{
- if langueage == "1"{
- url = URL(string: "http://www.szshuori.com")
- }else{
- url = URL(string: "https://www.srnesolar.com/")
- }
- }
-
-
- let webConfiguration = WKWebViewConfiguration()
-
- webView = WKWebView(frame: CGRect(x: 0, y: 0, width: KSCREENWIDTH, height: KSCREENHEIGHT - KNavBarHeight), configuration: webConfiguration)
- webView?.navigationDelegate = self
- let request = URLRequest(url: url!)
- webView!.load(request)
- view.addSubview(webView!)
-
- }
-
- @objc func reloadURL() {
- var url = URL(string: "http://www.szshuori.com")
- let userdef = UserDefaults.standard
- let langueage = userdef.object(forKey: "SOLARLANGUAGE") as? String
- if langueage == nil || langueage == "0" {
- DAConfig.userLanguage = nil
- //跟随系统
- if getCurrentLanguage() == "cn"{
- url = URL(string: "http://www.szshuori.com")
- }else{
- url = URL(string: "https://www.srnesolar.com/")
- }
- }else{
- if langueage == "1"{
- url = URL(string: "http://www.szshuori.com")
- }else{
- url = URL(string: "https://www.srnesolar.com/")
- }
- }
-
- let request = URLRequest(url: url!)
- webView!.load(request)
- }
- }
- extension SBTFeedbackVCtr : WKNavigationDelegate {
- // TODO: 决定导航的动作,通常处理跨域连接能否导航。
-
-
- // 页面开始加载时调用
- func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!){
- log.debug(" 页面开始加载时调用")
- HUD.flash(.progress)
- }
- // 当内容开始返回时调用
- func webView(_ webView: WKWebView, didCommit navigation: WKNavigation!){
- log.debug(" 当内容开始返回时调用")
- HUD.flash(.progress)
- }
- // 页面加载完成之后调用
- func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!){
- log.debug("页面加载完成之后调用")
- /// 获取网页title
- HUD.flash(.success, delay: 1.0)
- }
- // 页面加载失败时调用
- func webView(_ webView: WKWebView, didFail navigation: WKNavigation!, withError error: Error){
-
-
- /// 弹出提示框点击确定返回
- HUD.flash(.error, delay: 2)
-
- }
-
- }
- extension SBTFeedbackVCtr:UITableViewDelegate,UITableViewDataSource{
-
- func _______createUI() {
-
- let barbutton = UIBarButtonItem(barButtonSystemItem: .done, target: self, action: #selector(sendBeginCMD))
- self.navigationItem.rightBarButtonItem = barbutton
- self.view.addSubview(tableView)
- }
-
- @objc func sendBeginCMD() {
- //FF10043800020400000060F41E
- let arr = ["FF10043800020400000000"]
- //发送数据
- let marr = NSMutableArray()
- for i in 0..<arr.count {
- let dic : NSDictionary = [DataTag:arr[i]]
- marr.add(dic)
- }
- BabyBluetoothSwift.shareInstance()?.writeData1(marr)
- }
- @objc func sendUpdateCMD(_ cmd:String) {
- let arr = [cmd]
-
- //发送数据
- let marr = NSMutableArray()
- for i in 0..<arr.count {
- let dic : NSDictionary = [DataTag:arr[i]]
- marr.add(dic)
- }
-
- // BabyBluetoothSwift.shareInstance()?.writeData2(marr)
- }
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
- return dataSource!.count
- }
-
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
- var cell = tableView.dequeueReusableCell(withIdentifier: "cell")
- if cell == nil {
- cell = UITableViewCell(style: .default, reuseIdentifier: "cell")
- }
- cell?.textLabel?.text = "开始发送第\(indexPath.row)包数据..."
- return cell!
- }
- //0.001s
- func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
- // 一包数据
- let perPack = dataSource![indexPath.row]
-
- //蓝牙数据包
- let BLEDataPackCount = perPack.count / 40
- log.debug("蓝牙数据包 --- \(BLEDataPackCount)")
- for i in 0..<BLEDataPackCount {
- let perDataPack = perPack.subString(start: i * 40, length: 40)
- log.debug("第\(i)包数据 ----\(perDataPack)")
- Thread.sleep(forTimeInterval: 0.002)
- sendUpdateCMD(perDataPack)
- }
- //最后一包
- let lastPack = perPack.subString(start: BLEDataPackCount * 40)
- log.debug("最后一包数据\(BLEDataPackCount + 1)---\(lastPack)")
- Thread.sleep(forTimeInterval: 0.002)
- sendUpdateCMD(lastPack)
-
-
- }
- }
- extension SBTFeedbackVCtr{
-
-
- }
|