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

处理 H5 联调

parent c8d2ae6e
......@@ -135,18 +135,22 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false {
switch model.skip_type {
case 1: //跳转H5
//建明的本机IP for test hjl
//for test hjl 建明机器IP
//var url = "http://192.168.23.66:10300/superAppBridge.html#/schoolEvaluation"
//for test hjl 梁辉本机IP
//for test hjl 梁辉机器IP
// model.skip_url = "http://192.168.23.75:10300/superAppBridge.html#/double11-home"
//for test hjl 梁辉本机IP
//for test hjl steve机器IP
// model.skip_url = "http://192.168.52.158:10300/superAppBridge.html#/double11-home"
//for test hjl 测试环境
// model.skip_url = "https://test-hkdiy-h5.galaxy-immi.com/superAppBridge.html#/double11-home"
//for test hjl
// model.skip_url = "http://192.168.23.35:10300/signatureQrcode/EcqtQYs%2Bxey7t6jLbn6JkQ%3D%3D"
//1.增加app token
var url = ""
if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token
......@@ -159,8 +163,17 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
url = model.skip_url
}
//2.增加导航栏高度
var tUrl = url
if !url.contains("navigationH=") {
tUrl = url + "?navigationH=\(k_Height_NavigationtBarAndStatuBar)"
if url.contains("?") {
tUrl = url + "&navigationH=\(k_Height_NavigationtBarAndStatuBar)"
}
}
let vc = YHH5WebViewVC()
vc.url = url
vc.url = tUrl
vc.isFullScreenFlag = false
if model.is_double_11_flag {
vc.isHideNavigationBar = true
......
......@@ -123,7 +123,21 @@ extension YHServiceBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false {
switch model.skip_type {
case 1: //跳转H5
// var url = "http://192.168.23.66:10300/superAppBridge.html#/schoolEvaluation"//建明的本机IP
//for test hjl 建明机器IP
//var url = "http://192.168.23.66:10300/superAppBridge.html#/schoolEvaluation"
//for test hjl 梁辉机器IP
// model.skip_url = "http://192.168.23.75:10300/superAppBridge.html#/double11-home"
//for test hjl steve机器IP
// model.skip_url = "http://192.168.52.158:10300/superAppBridge.html#/double11-home"
//for test hjl 测试环境
// model.skip_url = "https://test-hkdiy-h5.galaxy-immi.com/superAppBridge.html#/double11-home"
//1.增加app token
var url = ""
if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token
......@@ -136,9 +150,21 @@ extension YHServiceBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
url = model.skip_url
}
//2.增加导航栏高度
var tUrl = url
if !url.contains("navigationH=") {
tUrl = url + "?navigationH=\(k_Height_NavigationtBarAndStatuBar)"
if url.contains("?") {
tUrl = url + "&navigationH=\(k_Height_NavigationtBarAndStatuBar)"
}
}
let vc = YHH5WebViewVC()
vc.url = url
vc.url = tUrl
vc.isFullScreenFlag = false
if model.is_double_11_flag {
vc.isHideNavigationBar = true
}
if model.is_share_h5_flag {
if let tModel = model.addtition_param {
......
......@@ -19,6 +19,11 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
lazy var webview : DWKWebView = {
let config = WKWebViewConfiguration()
config.applicationNameForUserAgent = "YinHeApp"
if #available(iOS 14.5, *) {
config.upgradeKnownHostsToHTTPS = false
} else {
// Fallback on earlier versions
}
let webview = DWKWebView(frame: .zero, configuration: config)
webview.scrollView.contentInsetAdjustmentBehavior = .never
webview.navigationDelegate = self
......@@ -123,10 +128,9 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
private extension YHH5WebViewVC {
func reloadWebViewWithToken() {
if YHLoginManager.shared.isLogin() {
let token = YHLoginManager.shared.h5Token
if !url.contains("param=") {
let token = YHLoginManager.shared.h5Token
//无 param= 的情况
var tUrl = url + "?param=" + token
let urlHasParam = String.hasQueryParameters(urlString: url)
if urlHasParam {
......@@ -136,12 +140,99 @@ private extension YHH5WebViewVC {
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
return
} else {
//有 param= 的情况
//H5 发现token失效后重新刷新的场景
if url.contains("?param=") {
//token是第一个参数 httts://www.baidu.com?param=
let separator = "?param="
let arr0 = url.components(separatedBy: separator)
if arr0.count == 1 {
//eg: httts://www.baidu.com?param=
let tUrl = arr0[0] + "?param=" + token
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
} else if arr0.count == 2 {
let secoundString = arr0[1]
let separator = "&"
let arr1 = secoundString.components(separatedBy: separator)
if arr1.count == 1 {
//eg: httts://www.baidu.com?param=123434324
let tUrl = arr0[0] + "?param=" + token
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
} else {
//eg: httts://www.baidu.com?param=123434324&key2=1232323
var tUrl = arr0[0] + "?param=" + token
for(index,str) in arr1.enumerated() {
if index != 0 {
tUrl = tUrl + "&" + str
}
}
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
}
}
} else if url.contains("&param=") {
//token非第一个参数
let separator = "&param="
let arr0 = url.components(separatedBy: separator)
if arr0.count == 1 {
//eg: httts://www.baidu.com?key0=123434324 &param=
let tUrl = arr0[0] + "&param=" + token
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
} else if arr0.count == 2 {
let secoundString = arr0[1]
let separator = "&"
let arr1 = secoundString.components(separatedBy: separator)
if arr1.count == 1 {
//eg: httts://www.baidu.com?key0=123434324 &param= 1234980
let tUrl = arr0[0] + "&param=" + token
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
} else {
//eg: httts://www.baidu.com?key0=123434324 &param= 1234980 & key1=34234
var tUrl = arr0[0] + "&param=" + token
for(index,str) in arr1.enumerated() {
if index != 0 {
tUrl = tUrl + "&" + str
}
}
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
return
}
}
}
} else {
printLog("不应该存在的场景")
}
}
}
......@@ -208,6 +299,8 @@ private extension YHH5WebViewVC {
api.delegate = self
webview.addJavascriptObject(api, namespace: nil)
printLog("hjl: 当前加载的url是:\(url)")
if let url = URL(string: url) {
let request = URLRequest(url: url)
webview.load(request)
......@@ -217,13 +310,14 @@ private extension YHH5WebViewVC {
let request = URLRequest(url: url)
webview.load(request)
} else {
printLog("url: 有问题")
printLog("url: 有问题 \(url)")
}
}
view.addSubview(webview)
if isFullScreenFlag {
gk_navBarAlpha = 0.0
webview.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
......@@ -377,26 +471,22 @@ 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()
}
} else if tag.contains("2") {
//H5 监测token失效 重新登录
YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
YHLoginManager.shared.loginSuccessActionBlock = nil
guard let self = self else { return }
self.reloadWebViewWithToken()
}
if tag.contains("1") {
YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
YHLoginManager.shared.loginSuccessActionBlock = nil
guard let self = self else { return }
self.reloadWebViewWithToken()
}
} else if tag.contains("2") {
//H5 监测token失效 重新登录
YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
YHLoginManager.shared.loginSuccessActionBlock = nil
guard let self = self else { return }
self.reloadWebViewWithToken()
}
YHOneKeyLoginManager.shared.oneKeyLogin()
} else {
printLog("当前已是登录状态")
}
//H5 调用App的登录逻辑
YHOneKeyLoginManager.shared.oneKeyLogin()
}
//是否隐藏导航栏
......@@ -408,6 +498,7 @@ extension YHH5WebViewVC {
} else {
//不隐藏
isHideNavigationBar = false
supportFullScreenSyn("1")
}
gk_navigationBar.isHidden = isHideNavigationBar
}
......@@ -416,7 +507,9 @@ extension YHH5WebViewVC {
func supportFullScreenSyn(_ tag : String) {
if tag.contains("1") {
//支持
isFullScreenFlag = true
} else {
//不支持
isFullScreenFlag = false
......@@ -424,6 +517,8 @@ extension YHH5WebViewVC {
webview.snp.removeConstraints()
if isFullScreenFlag {
gk_navBarAlpha = 0.0
gk_navTitle = ""
webview.snp.remakeConstraints { make in
make.edges.equalToSuperview()
}
......
......@@ -247,22 +247,14 @@ extension YHJsApi {
} else {
//普通界面
if !url.isEmpty {
// var tUrl = url + "?navigationH=\(k_Height_NavigationtBarAndStatuBar)"
// let urlHasParam = String.hasQueryParameters(urlString: url)
// if urlHasParam {
// tUrl = url + "&navigationH=\(k_Height_NavigationtBarAndStatuBar)"
// }
// let vc = YHH5WebViewVC()
// vc.url = tUrl
// vc.isFullScreenFlag = isFullScreen == 1 ? true : false
// vc.navTitle = navTitle
// self.delegate?.navigationController?.pushViewController(vc)
var tUrl = url + "?navigationH=\(k_Height_NavigationtBarAndStatuBar)"
if url.contains("?") {
tUrl = url + "&navigationH=\(k_Height_NavigationtBarAndStatuBar)"
var tUrl = url
if !url.contains("avigationH=") {
tUrl = url + "?navigationH=\(k_Height_NavigationtBarAndStatuBar)"
if url.contains("?") {
tUrl = url + "&navigationH=\(k_Height_NavigationtBarAndStatuBar)"
}
}
let vc = YHH5WebViewVC()
vc.url = tUrl
vc.isFullScreenFlag = isFullScreen == 1 ? true : false
......
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