Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
dfc0487a
Commit
dfc0487a
authored
Oct 16, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
处理 H5 联调
parent
c8d2ae6e
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
173 additions
and
47 deletions
+173
-47
YHHomeBannerView.swift
.../galaxy/Classes/Modules/Home(首页)/V/YHHomeBannerView.swift
+18
-5
YHServiceBannerView.swift
...ules/IntelligentService(服务中心)/V/YHServiceBannerView.swift
+28
-2
YHH5WebViewVC.swift
.../Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
+120
-25
YHJsApi.swift
...galaxy/Classes/Modules/InteractionH5(与H5交互)/YHJsApi.swift
+7
-15
No files found.
galaxy/galaxy/Classes/Modules/Home(首页)/V/YHHomeBannerView.swift
View file @
dfc0487a
...
...
@@ -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
=
u
rl
vc
.
url
=
tU
rl
vc
.
isFullScreenFlag
=
false
if
model
.
is_double_11_flag
{
vc
.
isHideNavigationBar
=
true
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHServiceBannerView.swift
View file @
dfc0487a
...
...
@@ -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
=
u
rl
vc
.
url
=
tU
rl
vc
.
isFullScreenFlag
=
false
if
model
.
is_double_11_flag
{
vc
.
isHideNavigationBar
=
true
}
if
model
.
is_share_h5_flag
{
if
let
tModel
=
model
.
addtition_param
{
...
...
galaxy/galaxy/Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
View file @
dfc0487a
...
...
@@ -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
(
"¶m="
)
{
//token非第一个参数
let
separator
=
"¶m="
let
arr0
=
url
.
components
(
separatedBy
:
separator
)
if
arr0
.
count
==
1
{
//eg: httts://www.baidu.com?key0=123434324 ¶m=
let
tUrl
=
arr0
[
0
]
+
"¶m="
+
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 ¶m= 1234980
let
tUrl
=
arr0
[
0
]
+
"¶m="
+
token
if
let
url
=
URL
(
string
:
tUrl
)
{
let
request
=
URLRequest
(
url
:
url
)
webview
.
load
(
request
)
return
}
}
else
{
//eg: httts://www.baidu.com?key0=123434324 ¶m= 1234980 & key1=34234
var
tUrl
=
arr0
[
0
]
+
"¶m="
+
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
()
}
...
...
galaxy/galaxy/Classes/Modules/InteractionH5(与H5交互)/YHJsApi.swift
View file @
dfc0487a
...
...
@@ -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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment