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
af7aaf0e
Commit
af7aaf0e
authored
Oct 13, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、 支持隐藏导航栏
2、支持登录带token刷新
parent
7cd88f31
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
103 additions
and
43 deletions
+103
-43
YHH5WebViewVC.swift
.../Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
+82
-43
YHJsApi.swift
...galaxy/Classes/Modules/InteractionH5(与H5交互)/YHJsApi.swift
+21
-0
No files found.
galaxy/galaxy/Classes/Modules/InteractionH5(与H5交互)/YHH5WebViewVC.swift
View file @
af7aaf0e
...
...
@@ -88,16 +88,12 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
//UI元素的控制变量 如下
//1、底部分享view
// var isWithBottomViewFlag : Bool = false
// lazy var shareView: YHShareViewOnTablebarView = {
// let view = YHShareViewOnTablebarView()
// return view
// }()
//2、是否通屏展示- 默认通屏(导航栏透明)
var
isFullScreenFlag
:
Bool
=
true
//2.1、是否隐藏导航栏
var
isHideNavigationBar
:
Bool
=
false
//3、右上角分享按钮
var
isShowRightShareItemFlag
:
Bool
=
false
...
...
@@ -119,21 +115,46 @@ class YHH5WebViewVC: YHBaseViewController, WKUIDelegate, WKNavigationDelegate {
}
self
.
navigationController
?
.
popViewController
()
}
//for test hjl
// var customHeaders:[String:String] = ["Referer":"/AppleApp/app/iOS"]
}
// MARK: - 内部方法
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
+
"¶m="
+
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
()
{
if
isNeedRefreshDataFlag
{
let
url
=
NSURL
(
string
:
url
)
let
request
=
NSURLRequest
(
url
:
url
!
as
URL
)
webview
.
load
(
request
as
URLRequest
)
if
let
url
=
NSURL
(
string
:
url
)
as?
URL
{
let
request
=
NSURLRequest
(
url
:
url
)
webview
.
load
(
request
as
URLRequest
)
}
}
}
...
...
@@ -160,42 +181,33 @@ private extension YHH5WebViewVC {
//默认白色返回按钮
gk_backImage
=
myDefaultBackImage
if
isHideNavigationBar
{
// gk_navBarAlpha = 0.0
isFullScreenFlag
=
true
//导航栏隐藏的情况下强制通屏
}
else
{
}
gk_navigationBar
.
isHidden
=
isHideNavigationBar
if
isFullScreenFlag
{
gk_navBarAlpha
=
0.0
}
else
{
gk_navTitle
=
navTitle
gk_navBarAlpha
=
1.0
}
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
updateNetWorkUI
)
,
name
:
.
reachabilityChanged
,
object
:
nil
)
view
.
backgroundColor
=
.
white
// 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()
// }
// }
// }
// }
if
isHideNavigationBar
{
gk_navBarAlpha
=
0.0
}
else
{
}
gk_navigationBar
.
isHidden
=
isHideNavigationBar
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
updateNetWorkUI
)
,
name
:
.
reachabilityChanged
,
object
:
nil
)
view
.
backgroundColor
=
.
white
// 创建wkwebview
let
api
=
YHJsApi
()
api
.
delegate
=
self
webview
.
addJavascriptObject
(
api
,
namespace
:
nil
)
...
...
@@ -348,17 +360,44 @@ extension YHH5WebViewVC {
// MARK: - h5实现的接口
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
)
{
if
tag
.
contains
(
"1"
)
{
//支持
isFullScreenFlag
=
true
}
else
{
//不支持
isFullScreenFlag
=
false
}
webview
.
snp
.
removeConstraints
()
...
...
galaxy/galaxy/Classes/Modules/InteractionH5(与H5交互)/YHJsApi.swift
View file @
af7aaf0e
...
...
@@ -17,6 +17,27 @@ class YHJsApi: NSObject {
}
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、是否支持通屏
@objc
func
supportFullScreenSyn
(
_
tag
:
Any
)
{
...
...
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