Commit 1d5b0471 authored by David黄金龙's avatar David黄金龙

Merge branch 'double11' into develop

* double11:
  处理 H5 联调
  几处 代码优化
  处理 H5 token刷新的问题

# Conflicts:
#	galaxy/galaxy/Classes/Modules/Home(首页)/V/YHHomeBannerView.swift
#	galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHServiceBannerView.swift
parents a10e6c06 dfc0487a
......@@ -39,14 +39,9 @@ class YHHKEventWebViewController: YHBaseViewController {
extension YHHKEventWebViewController {
func loadData() {
guard let urlString = model.list.first else { return }
// let url = NSURL(string: urlString)
// // 创建请求
// let request = NSURLRequest(url: url! as URL)
// // 加载请求
// self.webview.load(request as URLRequest)
if let url = URL(string: urlString) {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
let request = URLRequest(url: url)
webview.load(request)
} else {
let tmpUrl = YHURLEncodeHelper.urlEncodedString(urlString)
if let url = URL(string: tmpUrl) {
......
......@@ -347,12 +347,12 @@ class YHHomeWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
if YHNetworkStatusManager.shared.isNetWorkOK {
if needReload && self.isNetWorkOkBefore == false {
self.webview.stopLoading()
let targetUrl = NSURL(string: self.url)
let request = NSURLRequest(url: targetUrl! as URL)
self.webview.load(request as URLRequest)
if let targetUrl = URL(string: self.url) {
let request = URLRequest(url: targetUrl)
self.webview.load(request)
}
self.getData()
}
self.isNetWorkOkBefore = true
}
......
......@@ -102,14 +102,6 @@ private extension YHStatusAdvantageVC {
}
func reloadWebUrl() {
// let url = NSURL(string: url)
// // 创建请求
// let request = NSURLRequest(url: url! as URL)
// 加载请求
// webview.load(request as URLRequest)
if let url = URL(string: url) {
let request = URLRequest(url: url)
webview.load(request)
......@@ -230,11 +222,11 @@ private extension YHStatusAdvantageVC {
if YHNetworkStatusManager.shared.isNetWorkOK {
if needReload && self.isNetWorkOkBefore == false {
self.webview.stopLoading()
let targetUrl = NSURL(string: self.url)
let request = NSURLRequest(url: targetUrl! as URL)
self.webview.load(request as URLRequest)
if let targetUrl = URL(string: self.url) {
let request = URLRequest(url: targetUrl)
self.webview.load(request)
}
}
self.isNetWorkOkBefore = true
}
......
......@@ -135,7 +135,22 @@ extension YHHomeBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false {
switch model.skip_type {
case 1: //跳转H5
//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"
//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
......@@ -148,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 {
......
......@@ -123,6 +123,20 @@ extension YHServiceBannerView: FSPagerViewDataSource, FSPagerViewDelegate {
if model.skip_url.isEmpty == false {
switch model.skip_type {
case 1: //跳转H5
//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
......@@ -135,9 +149,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,39 +128,127 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
private extension YHH5WebViewVC {
func reloadWebViewWithToken() {
if YHLoginManager.shared.isLogin() {
if !url.contains("param=") {
let token = YHLoginManager.shared.h5Token
if !url.contains("param=") {
//无 param= 的情况
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)
if let url = URL(string: tUrl) {
let request = URLRequest(url: url)
webview.load(request)
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("理论上不存在的情况,暂时不处理")
printLog("不应该存在的场景")
}
}
}
//最后兜底 刷新
if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
if let url = URL(string: url) {
let request = URLRequest(url: url)
webview.load(request)
}
}
func reloadUI() {
if isNeedRefreshDataFlag {
if let url = NSURL(string: url) as? URL {
let request = NSURLRequest(url: url)
webview.load(request as URLRequest)
if let url = URL(string: url){
let request = URLRequest(url: url)
webview.load(request)
}
}
}
......@@ -206,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)
......@@ -215,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()
}
......@@ -286,9 +382,10 @@ private extension YHH5WebViewVC {
if YHNetworkStatusManager.shared.isNetWorkOK {
if needReload && self.isNetWorkOkBefore == false {
self.webview.stopLoading()
let targetUrl = NSURL(string: self.url)
let request = NSURLRequest(url: targetUrl! as URL)
self.webview.load(request as URLRequest)
if let targetUrl = URL(string: self.url) {
let request = URLRequest(url: targetUrl)
self.webview.load(request)
}
}
self.isNetWorkOkBefore = true
......@@ -374,19 +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()
}
YHOneKeyLoginManager.shared.oneKeyLogin()
} else {
printLog("当前已是登录状态")
}
//H5 调用App的登录逻辑
YHOneKeyLoginManager.shared.oneKeyLogin()
}
//是否隐藏导航栏
......@@ -398,6 +498,7 @@ extension YHH5WebViewVC {
} else {
//不隐藏
isHideNavigationBar = false
supportFullScreenSyn("1")
}
gk_navigationBar.isHidden = isHideNavigationBar
}
......@@ -406,7 +507,9 @@ extension YHH5WebViewVC {
func supportFullScreenSyn(_ tag : String) {
if tag.contains("1") {
//支持
isFullScreenFlag = true
} else {
//不支持
isFullScreenFlag = false
......@@ -414,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)"
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
......
......@@ -27,14 +27,7 @@ class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
// 创建wkwebview
webview = WKWebView(frame: CGRect(x: 0, y: statusHeight + navHeight!, width: self.view.frame.width, height: self.view.frame.height - k_Height_NavigationtBarAndStatuBar))
webview.navigationDelegate = self
// // 创建网址
// let url = NSURL(string: url)
// // 创建请求
// let request = NSURLRequest(url: url! as URL)
// // 加载请求
// webview.load(request as URLRequest)
if let url = URL(string: url) {
let request = URLRequest(url: url)
......
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