Commit af7aaf0e authored by David黄金龙's avatar David黄金龙

1、 支持隐藏导航栏

2、支持登录带token刷新
parent 7cd88f31
...@@ -88,16 +88,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -88,16 +88,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//UI元素的控制变量 如下 //UI元素的控制变量 如下
//1、底部分享view
// var isWithBottomViewFlag : Bool = false
// lazy var shareView: YHShareViewOnTablebarView = {
// let view = YHShareViewOnTablebarView()
// return view
// }()
//2、是否通屏展示- 默认通屏(导航栏透明) //2、是否通屏展示- 默认通屏(导航栏透明)
var isFullScreenFlag : Bool = true var isFullScreenFlag : Bool = true
//2.1、是否隐藏导航栏
var isHideNavigationBar : Bool = false
//3、右上角分享按钮 //3、右上角分享按钮
var isShowRightShareItemFlag : Bool = false var isShowRightShareItemFlag : Bool = false
...@@ -119,23 +115,48 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate { ...@@ -119,23 +115,48 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
} }
self.navigationController?.popViewController() self.navigationController?.popViewController()
} }
//for test hjl
// var customHeaders:[String:String] = ["Referer":"/AppleApp/app/iOS"]
} }
// MARK: - 内部方法 // MARK: - 内部方法
private extension YHH5WebViewVC { private extension YHH5WebViewVC {
func reloadWebViewWithToken() {
if YHLoginManager.shared.isLogin() {
if !url.contains("param=") {
let token = YHLoginManager.shared.h5Token
var tUrl = url + "?param=" + token
let urlHasParam = String.hasQueryParameters(urlString: url)
if urlHasParam {
tUrl = url + "&param=" + token
}
if let url = NSURL(string: tUrl) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
}
return
} else {
printLog("理论上不存在的情况,暂时不处理")
}
}
//最后兜底 刷新
if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
}
}
func reloadUI() { func reloadUI() {
if isNeedRefreshDataFlag { if isNeedRefreshDataFlag {
let url = NSURL(string: url) if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url! as URL) let request = NSURLRequest(url: url)
webview.load(request as URLRequest) webview.load(request as URLRequest)
} }
} }
}
func loadQrInfo() { func loadQrInfo() {
let params : [String : Int] = ["pid[0]" : 16] let params : [String : Int] = ["pid[0]" : 16]
...@@ -160,6 +181,15 @@ private extension YHH5WebViewVC { ...@@ -160,6 +181,15 @@ private extension YHH5WebViewVC {
//默认白色返回按钮 //默认白色返回按钮
gk_backImage = myDefaultBackImage gk_backImage = myDefaultBackImage
if isHideNavigationBar {
// gk_navBarAlpha = 0.0
isFullScreenFlag = true //导航栏隐藏的情况下强制通屏
} else {
}
gk_navigationBar.isHidden = isHideNavigationBar
if isFullScreenFlag { if isFullScreenFlag {
gk_navBarAlpha = 0.0 gk_navBarAlpha = 0.0
} else { } else {
...@@ -167,35 +197,17 @@ private extension YHH5WebViewVC { ...@@ -167,35 +197,17 @@ private extension YHH5WebViewVC {
gk_navBarAlpha = 1.0 gk_navBarAlpha = 1.0
} }
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil) if isHideNavigationBar {
gk_navBarAlpha = 0.0
view.backgroundColor = .white } else {
// if isWithBottomViewFlag {
// loadQrInfo()
// view.addSubview(shareView)
//
// shareView.block = { tag in
// if tag == 0 {
// //分享
// self.share()
// } else {
// //预约咨询
// if self.arrQrInfo.count > 1 {
// let codeUrl = self.arrQrInfo[0]
// let downloadUrl = self.arrQrInfo[1]
// YHConsultantQRCodeView.codeView(codeUrl, downloadUrl: downloadUrl).show()
// }
// }
// }
// }
}
gk_navigationBar.isHidden = isHideNavigationBar
NotificationCenter.default.addObserver(self, selector: #selector(updateNetWorkUI), name: .reachabilityChanged, object: nil)
view.backgroundColor = .white
// 创建wkwebview // 创建wkwebview
let api = YHJsApi() let api = YHJsApi()
api.delegate = self api.delegate = self
webview.addJavascriptObject(api, namespace: nil) webview.addJavascriptObject(api, namespace: nil)
...@@ -348,17 +360,44 @@ extension YHH5WebViewVC { ...@@ -348,17 +360,44 @@ extension YHH5WebViewVC {
// MARK: - h5实现的接口 // MARK: - h5实现的接口
extension YHH5WebViewVC { extension YHH5WebViewVC {
//登录带token刷新
func loginAndRefeshWithTokenSyn(_ tag : String) {
//判断登录状态
if !YHLoginManager.shared.isLogin() {
if tag.contains("1") {
YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
YHLoginManager.shared.loginSuccessActionBlock = nil
guard let self = self else { return }
self.reloadWebViewWithToken()
}
}
YHOneKeyLoginManager.shared.oneKeyLogin()
} else {
printLog("当前已是登录状态")
}
}
//是否隐藏导航栏
func hideNavigationBarSyn(_ tag : String) {
if tag.contains("1") {
//隐藏
isHideNavigationBar = true
supportFullScreenSyn("1")//强制通屏
} else {
//不隐藏
isHideNavigationBar = false
}
gk_navigationBar.isHidden = isHideNavigationBar
}
//是否支持通屏 //是否支持通屏
func supportFullScreenSyn(_ tag : String) { func supportFullScreenSyn(_ tag : String) {
if tag.contains("1") { if tag.contains("1") {
//支持 //支持
isFullScreenFlag = true isFullScreenFlag = true
} else { } else {
//不支持 //不支持
isFullScreenFlag = false isFullScreenFlag = false
} }
webview.snp.removeConstraints() webview.snp.removeConstraints()
......
...@@ -17,6 +17,27 @@ class YHJsApi: NSObject { ...@@ -17,6 +17,27 @@ class YHJsApi: NSObject {
} }
extension YHJsApi { extension YHJsApi {
//15、登录带token刷新
@objc func loginAndRefeshWithTokenSyn(_ tag : Any) {
DispatchQueue.main.async {
if let tag = tag as? String, tag.count == 1 {
if let delegate = self.delegate as? YHH5WebViewVC {
delegate.loginAndRefeshWithTokenSyn(tag)
}
}
}
}
//14、是否隐藏导航栏 "0"-默认不隐藏 “1”-隐藏
@objc func hideNavigationBarSyn(_ tag : Any) {
DispatchQueue.main.async {
if let tag = tag as? String, tag.count == 1 {
if let delegate = self.delegate as? YHH5WebViewVC {
delegate.supportFullScreenSyn(tag)
}
}
}
}
//13、是否支持通屏 //13、是否支持通屏
@objc func supportFullScreenSyn(_ tag : Any) { @objc func supportFullScreenSyn(_ tag : Any) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment