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
0b152c38
Commit
0b152c38
authored
Jul 08, 2024
by
David黄金龙
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页 UI修改
parent
352fd929
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
417 additions
and
518 deletions
+417
-518
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+0
-4
AppDelegate.swift
galaxy/galaxy/AppDelegate.swift
+2
-1
YHHomeHoldViewPageViewController.swift
...Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
+192
-148
YHHomePageViewController.swift
...Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
+213
-204
YHStartPageViewController.swift
...lasses/Modules/Home(首页)/C/YHStartPageViewController.swift
+2
-1
YHServiceListViewController.swift
...elligentService(服务中心)/C/YHServiceListViewController.swift
+2
-0
YHServiceViewController.swift
.../IntelligentService(服务中心)/C/YHServiceViewController.swift
+0
-154
YHAppVersionManager.swift
...s/Modules/VersionUpload(版本更新)/M/YHAppVersionManager.swift
+2
-2
YhConstant.swift
galaxy/galaxy/Classes/Tools/Helper/YhConstant.swift
+4
-4
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
0b152c38
...
...
@@ -38,7 +38,6 @@
043D2C8A2C0EEF3F00172438
/* YHOrderSearchViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043D2C892C0EEF3F00172438
/* YHOrderSearchViewController.swift */
;
};
043D2C8C2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
043D2C8B2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift */
;
};
044378A42BFC848C001F95AE
/* loginBkg.mov in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044378A32BFC848C001F95AE
/* loginBkg.mov */
;
};
044413FD2BC386DA00784A14
/* YHServiceViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044413FC2BC386DA00784A14
/* YHServiceViewController.swift */
;
};
044413FF2BC391F000784A14
/* YHServiceListViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044413FE2BC391F000784A14
/* YHServiceListViewController.swift */
;
};
044414012BC3979800784A14
/* YHServerHKLifeViewController.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044414002BC3979800784A14
/* YHServerHKLifeViewController.swift */
;
};
044414032BC39B8D00784A14
/* YHServerTableHeadView.swift in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
044414022BC39B8D00784A14
/* YHServerTableHeadView.swift */
;
};
...
...
@@ -619,7 +618,6 @@
043D2C892C0EEF3F00172438
/* YHOrderSearchViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHOrderSearchViewController.swift
;
sourceTree
=
"<group>"
;
};
043D2C8B2C0F037B00172438
/* YHServiceOrderSearchViewModel.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceOrderSearchViewModel.swift
;
sourceTree
=
"<group>"
;
};
044378A32BFC848C001F95AE
/* loginBkg.mov */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
video.quicktime
;
path
=
loginBkg.mov
;
sourceTree
=
"<group>"
;
};
044413FC2BC386DA00784A14
/* YHServiceViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceViewController.swift
;
sourceTree
=
"<group>"
;
};
044413FE2BC391F000784A14
/* YHServiceListViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServiceListViewController.swift
;
sourceTree
=
"<group>"
;
};
044414002BC3979800784A14
/* YHServerHKLifeViewController.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServerHKLifeViewController.swift
;
sourceTree
=
"<group>"
;
};
044414022BC39B8D00784A14
/* YHServerTableHeadView.swift */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.swift
;
path
=
YHServerTableHeadView.swift
;
sourceTree
=
"<group>"
;
};
...
...
@@ -2824,7 +2822,6 @@
A5ACE9192B4564F7002C94D2
/* YHServiceCenterMainViewController.swift */
,
04E41DE72BD240570077EAE3
/* YHOrderDetailViewController.swift */
,
048787D42BCE880B0036E221
/* YHServiceOrderListViewController.swift */
,
044413FC2BC386DA00784A14
/* YHServiceViewController.swift */
,
04F5F85F2C1944D5004A463C
/* YHHKCenterViewController.swift */
,
044413FE2BC391F000784A14
/* YHServiceListViewController.swift */
,
04F5F8612C1945C0004A463C
/* YHHKIdentityCardViewController.swift */
,
...
...
@@ -3642,7 +3639,6 @@
045EEE822B9F171A0022A143
/* YHPersonInfoIdentityCardModel.swift in Sources */
,
045EEE952B9F171A0022A143
/* YHPreviewInfoCertificateInformationItemsView.swift in Sources */
,
044D0C042C2180B700C5CF5E
/* YHInformationAuthorizationStepTwoViewController.swift in Sources */
,
044413FD2BC386DA00784A14
/* YHServiceViewController.swift in Sources */
,
045EEEBB2B9F171A0022A143
/* YHWorkIntroductionTableViewCell.swift in Sources */
,
045EEEED2B9F171A0022A143
/* YHParentInfoVC.swift in Sources */
,
04A7BC912B6B7B89000E8D47
/* YHTwoOptionAlertView.swift in Sources */
,
...
...
galaxy/galaxy/AppDelegate.swift
View file @
0b152c38
...
...
@@ -160,7 +160,8 @@ extension AppDelegate {
func
setupRootVCWithTabBar
()
{
// gk_navigationBar.isHidden = false
let
tabBarController
=
YHTabBarViewController
()
let
homeVC
=
YHHomePageViewController
()
// let homeVC = YHHomePageViewController() //for test hjl
let
homeVC
=
YHHomeHoldViewPageViewController
()
tabBarController
.
delegate
=
homeVC
let
v0
=
YHNavigationController
(
rootVC
:
homeVC
)
let
v1
=
YHNavigationController
(
rootVC
:
YHServiceCenterMainViewController
())
...
...
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomeHoldViewPageViewController.swift
View file @
0b152c38
...
...
@@ -9,9 +9,9 @@
import
UIKit
import
JXSegmentedView
//MARK: - 生命周期函数 及变量
class
YHHomeHoldViewPageViewController
:
YHBaseViewController
{
var
defaltIndex
:
Int
=
0
let
friendViewModel
=
YHMatchUserViewModel
()
let
arrItemTitles
=
[
"推荐"
,
"身份"
,
"生活"
]
var
arrItemVCs
:
[
YHBaseViewController
]
=
[]
...
...
@@ -39,9 +39,10 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
return
dataSource
}()
lazy
var
bgImgV
:
UIImageView
=
{
let
bg
=
UIImageView
(
image
:
UIImage
(
named
:
"people_match_bg"
))
return
bg
//首页内容ViewController
lazy
var
homePageVC
:
YHHomePageViewController
=
{
let
vc
=
YHHomePageViewController
()
return
vc
}()
//分类title 所对应的VC
...
...
@@ -51,49 +52,27 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
return
view
}()
lazy
var
friendsBtn
:
UIButton
=
{
let
btn
=
UIButton
()
btn
.
setImage
(
UIImage
(
named
:
"people_friends_btn"
),
for
:
.
normal
)
btn
.
setTitle
(
"好友"
,
for
:
.
normal
)
btn
.
setTitleColor
(
UIColor
.
white
,
for
:
.
normal
)
btn
.
iconInLeft
(
spacing
:
4.0
)
btn
.
titleLabel
?
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
15
)
btn
.
YH_clickEdgeInsets
=
UIEdgeInsets
(
top
:
20
,
left
:
20
,
bottom
:
20
,
right
:
20
)
btn
.
addTarget
(
self
,
action
:
#selector(
didFriendsBtnClicked
)
,
for
:
.
touchUpInside
)
return
btn
}()
let
unreadHeight
=
16.0
lazy
var
unreadLabel
:
UILabel
=
{
let
label
=
UILabel
()
label
.
textColor
=
.
white
label
.
textAlignment
=
.
center
label
.
backgroundColor
=
.
failColor
label
.
font
=
.
PFSC_M
(
ofSize
:
10
)
label
.
layer
.
cornerRadius
=
unreadHeight
/
2.0
label
.
clipsToBounds
=
true
label
.
isHidden
=
true
return
label
}()
var
unreadCount
:
Int
=
0
{
didSet
{
self
.
updateUnreadCount
(
self
.
unreadCount
)
}
}
var
tapTimestamp
:
CFAbsoluteTime
=
-
10.0
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
requestFriendRequest
()
//处于第一个item的时候,才允许屏幕边缘手势返回
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
(
segmentedView
.
selectedIndex
==
0
)
YHOSSManager
.
share
.
getOSSID
()
getTotalUnreadMsgCount
()
updateDefaultSearchKeyWord
()
requestAppNewVersion
()
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
...
...
@@ -106,72 +85,168 @@ class YHHomeHoldViewPageViewController: YHBaseViewController {
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
segmentedView
.
frame
=
CGRect
(
x
:
0
,
y
:
k_Height_safeAreaInsetsTop
(),
width
:
view
.
bounds
.
size
.
width
,
height
:
48
)
listContainerView
.
frame
=
CGRect
(
x
:
0
,
y
:
k_Height_safeAreaInsetsTop
()
+
48
,
width
:
view
.
bounds
.
size
.
width
,
height
:
view
.
bounds
.
size
.
height
-
48
-
k_Height_safeAreaInsetsTop
())
let
offy
=
k_Height_safeAreaInsetsTop
()
+
6
+
YHHomeSearchView
.
viewH
+
6
segmentedView
.
frame
=
CGRect
(
x
:
0
,
y
:
offy
,
width
:
view
.
bounds
.
size
.
width
,
height
:
48
)
let
offy1
=
offy
+
48
+
8
listContainerView
.
frame
=
CGRect
(
x
:
0
,
y
:
offy1
,
width
:
view
.
bounds
.
size
.
width
,
height
:
view
.
bounds
.
size
.
height
-
offy1
-
k_Height_TabBar
)
// listContainerView.backgroundColor = .red//for test hjl
// homePageVC.homeCollectView.backgroundColor = .yellow//for test hjl
// homePageVC.view.backgroundColor = .purple//for test hjl
}
lazy
var
searchView
:
YHHomeSearchView
=
{
let
view
=
YHHomeSearchView
()
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
didSearchBarClicked
)
)
view
.
addGestureRecognizer
(
tap
)
return
view
}()
lazy
var
msgUnreadView
:
YHMessageBellView
=
{
let
view
=
YHMessageBellView
.
bellView
()
return
view
}()
lazy
var
msgViewModel
:
YHMsgViewModel
=
{
let
vm
=
YHMsgViewModel
()
return
vm
}()
}
//内部函数
//
MARK: -
内部函数
extension
YHHomeHoldViewPageViewController
{
func
updateUnreadCount
(
_
count
:
Int
)
{
self
.
unreadLabel
.
isHidden
=
(
count
<=
0
)
if
0
<
count
&&
count
<
100
{
self
.
unreadLabel
.
text
=
"
\(
count
)
"
}
else
if
count
>=
100
{
self
.
unreadLabel
.
text
=
"99+"
}
var
width
=
unreadHeight
var
leftMargin
=
-
8
if
10
<=
count
&&
count
<
100
{
width
=
22.0
}
else
if
count
>=
100
{
width
=
30.0
leftMargin
=
-
14
}
self
.
unreadLabel
.
snp
.
updateConstraints
{
make
in
make
.
width
.
equalTo
(
width
)
make
.
left
.
equalTo
(
self
.
friendsBtn
.
snp
.
right
)
.
offset
(
leftMargin
)
@objc
func
didRefreshMessageCount
()
{
getTotalUnreadMsgCount
()
}
func
requestAppNewVersion
()
{
if
YHConfigManager
.
shared
.
loadNewDataFlag
==
false
{
YHConfigManager
.
shared
.
loadConfigData
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
showNewVersionAlertView
()
}
}
else
{
showNewVersionAlertView
()
}
}
@objc
func
didBackBtnClicked
()
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
func
showNewVersionAlertView
()
{
let
isNeedShowAlert
=
YHAppVersionManager
.
shared
.
needShowAlertViewOfSuggestVersionUpdate
()
if
isNeedShowAlert
{
if
let
configModel
=
YHConfigManager
.
shared
.
reqVM
.
configModel
{
let
alertView
=
YHFindAppNewVersionView
.
alertView
(
version
:
configModel
.
max_version
)
let
arr
=
configModel
.
suggest_updating_msg
.
components
(
separatedBy
:
"$"
)
alertView
.
updateContentArray
(
arr
)
alertView
.
show
()
}
}
}
@objc
func
didFriendsBtnClicked
()
{
// 请求未读消息总数
@objc
func
getTotalUnreadMsgCount
()
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
return
}
let
vc
=
YHMyGoodFriendsVC
()
self
.
msgViewModel
.
requestTotalUnreadMsgCount
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
DispatchQueue
.
main
.
async
{
self
.
msgUnreadView
.
unreadCount
=
self
.
msgViewModel
.
unreadTotalCount
}
}
}
@objc
func
clearUnreadBadge
()
{
DispatchQueue
.
main
.
async
{
self
.
msgUnreadView
.
unreadCount
=
0
}
}
@objc
func
loginSuccess
()
{
homePageVC
.
getData
()
}
@objc
func
logoutSuccess
()
{
self
.
msgUnreadView
.
unreadCount
=
0
homePageVC
.
getData
()
}
@objc
func
revMsg
()
{
homePageVC
.
requestOrder
()
}
func
updateDefaultSearchKeyWord
()
{
var
placeHolder
=
"香港身份"
if
isHaveLocalSearchRecords
()
{
let
latestValidSearchWord
=
getLatestValidSearchWord
()
if
!
latestValidSearchWord
.
isEmpty
{
placeHolder
=
latestValidSearchWord
}
}
searchView
.
placeHolder
=
placeHolder
}
@objc
func
didSearchBarClicked
()
{
let
vc
=
YHSearchInfomationVC
()
vc
.
searchPlaceHolder
=
searchView
.
placeHolder
printLog
(
"placeHolder:
\(
searchView
.
placeHolder
)
"
)
self
.
navigationController
?
.
pushViewController
(
vc
)
}
func
setupUI
()
{
gk_navBarAlpha
=
0
gk_navigationBar
.
isHidden
=
false
gk_navigationBar
.
isHidden
=
true
self
.
view
.
backgroundColor
=
.
white
self
.
view
.
addSubview
(
bgImgV
)
self
.
bgImgV
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
}
view
.
backgroundColor
=
.
white
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
loginSuccess
)
,
name
:
YhConstant
.
YhNotification
.
didLoginSuccessNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
goActivityVC
)
,
name
:
YhConstant
.
YhNotification
.
goActivityVC
Notifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
logoutSuccess
)
,
name
:
YhConstant
.
YhNotification
.
didLogoutSuccess
Notifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
revMsg
)
,
name
:
YhConstant
.
YhNotification
.
didRevMsgNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
clearUnreadBadge
)
,
name
:
YhConstant
.
YhNotification
.
didMarkAllMessagesReadedNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
didRefreshMessageCount
)
,
name
:
YhConstant
.
YhNotification
.
didRequestUnreadMsgTotalCountNotification
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
goConnectionVC
)
,
name
:
YhConstant
.
YhNotification
.
goConnectionVCNotifiction
,
object
:
nil
)
for
i
in
0
..<
arrItemTitles
.
count
{
if
i
!=
0
{
let
vc
=
YHActivityListViewController
()
if
i
==
0
{
//首页
let
vc
=
homePageVC
arrItemVCs
.
append
(
vc
)
}
else
{
let
vc
=
YHMatchUserViewController
()
}
else
if
i
==
1
{
//身份
let
vc
=
YHServiceListViewController
()
arrItemVCs
.
append
(
vc
)
}
else
if
i
==
2
{
//生活
let
vc
=
YHServerHKLifeViewController
()
arrItemVCs
.
append
(
vc
)
}
}
view
.
addSubview
(
searchView
)
searchView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_safeAreaInsetsTop
()
+
6
)
make
.
left
.
equalTo
(
20
)
make
.
height
.
equalTo
(
YHHomeSearchView
.
viewH
)
}
view
.
addSubview
(
msgUnreadView
)
msgUnreadView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalTo
(
YHMessageBellView
.
width
)
make
.
height
.
equalTo
(
YHMessageBellView
.
height
)
make
.
left
.
equalTo
(
searchView
.
snp
.
right
)
make
.
right
.
equalToSuperview
()
make
.
centerY
.
equalTo
(
searchView
)
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView
.
dataSource
=
segmentedDataSource
view
.
addSubview
(
segmentedView
)
...
...
@@ -179,95 +254,27 @@ extension YHHomeHoldViewPageViewController {
segmentedView
.
listContainer
=
listContainerView
view
.
addSubview
(
listContainerView
)
//分类Title
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
//配置指示器
let
indicator
=
JXSegmentedIndicatorLineView
()
indicator
.
indicatorWidth
=
16
indicator
.
indicatorHeight
=
2
indicator
.
indicatorCornerRadius
=
0.0
indicator
.
indicatorColor
=
UIColor
.
white
segmentedView
.
indicators
=
[
indicator
]
segmentedView
.
defaultSelectedIndex
=
defaltIndex
self
.
view
.
addSubview
(
friendsBtn
)
friendsBtn
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalTo
(
54.0
)
make
.
height
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
20
)
make
.
top
.
equalTo
(
12
+
k_Height_safeAreaInsetsTop
())
}
self
.
friendsBtn
.
addSubview
(
self
.
unreadLabel
)
self
.
unreadLabel
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
unreadHeight
)
make
.
left
.
equalTo
(
self
.
friendsBtn
.
snp
.
right
)
.
offset
(
-
8
)
make
.
top
.
equalTo
(
self
.
friendsBtn
.
snp
.
top
)
.
offset
(
-
8
)
}
}
func
requestFriendRequest
()
{
if
YHLoginManager
.
shared
.
isLogin
()
{
self
.
friendViewModel
.
getMyFriendList
{
success
,
error
in
let
unreadCount
=
self
.
friendViewModel
.
friendListModel
.
applyFriends
.
count
self
.
unreadCount
=
unreadCount
self
.
friendsBtn
.
isHidden
=
self
.
segmentedView
.
selectedIndex
!=
0
}
}
else
{
self
.
unreadCount
=
0
}
}
@objc
func
goActivityVC
()
{
segmentedView
.
selectItemAt
(
index
:
1
)
}
@objc
func
goConnectionVC
()
{
segmentedView
.
selectItemAt
(
index
:
0
)
}
func
jumpToItemIndex
(
itemIndex
:
Int
)
{
self
.
segmentedView
.
selectItemAt
(
index
:
itemIndex
)
}
}
//JXSegmentedViewDelegate
//
MARK: -
JXSegmentedViewDelegate
extension
YHHomeHoldViewPageViewController
:
JXSegmentedViewDelegate
{
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
didSelectedItemAt
index
:
Int
)
{
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
(
segmentedView
.
selectedIndex
==
0
)
// if segmentedView.selectedIndex == 0 {
// bgImgV.isHidden = false
// friendsBtn.isHidden = false
// segmentedDataSource.titleNormalColor = UIColor(hex: 0xFFFFFF, alpha: 0.6)
// segmentedDataSource.titleSelectedColor = .white
// let indicator = JXSegmentedIndicatorLineView()
// indicator.indicatorWidth = 16
// indicator.indicatorHeight = 2
// indicator.indicatorCornerRadius = 0.0
// indicator.indicatorColor = UIColor.white
// segmentedView.indicators = [indicator]
// } else {
// bgImgV.isHidden = true
// friendsBtn.isHidden = true
// segmentedDataSource.titleNormalColor = UIColor.yhGreyColor
// segmentedDataSource.titleSelectedColor = UIColor.mainTextColor
// let indicator = JXSegmentedIndicatorLineView()
// indicator.indicatorWidth = 16
// indicator.indicatorHeight = 2
// indicator.indicatorCornerRadius = 0.0
// indicator.indicatorColor = UIColor.brandMainColor
// segmentedView.indicators = [indicator]
// }
// segmentedView.dataSource = segmentedDataSource
self
.
segmentedView
.
reloadDataWithoutListContainer
()
}
}
//JXSegmentedListContainerViewDataSource
//
MARK: -
JXSegmentedListContainerViewDataSource
extension
YHHomeHoldViewPageViewController
:
JXSegmentedListContainerViewDataSource
{
func
numberOfLists
(
in
listContainerView
:
JXSegmentedListContainerView
)
->
Int
{
if
let
titleDataSource
=
segmentedView
.
dataSource
as?
JXSegmentedBaseDataSource
{
...
...
@@ -280,3 +287,40 @@ extension YHHomeHoldViewPageViewController: JXSegmentedListContainerViewDataSour
return
arrItemVCs
[
index
]
as!
JXSegmentedListContainerViewListDelegate
}
}
//MARK: - UITabBarControllerDelegate
extension
YHHomeHoldViewPageViewController
:
UITabBarControllerDelegate
{
func
tabBarController
(
_
tabBarController
:
UITabBarController
,
didSelect
viewController
:
UIViewController
)
{
let
doubleTapInterval
:
CGFloat
=
0.3
if
tabBarController
.
selectedIndex
==
0
{
let
timestamp
=
CFAbsoluteTimeGetCurrent
()
printLog
(
timestamp
-
self
.
tapTimestamp
)
if
timestamp
-
self
.
tapTimestamp
<
doubleTapInterval
{
homePageVC
.
goTop
()
}
self
.
tapTimestamp
=
timestamp
}
}
func
tabBarController
(
_
tabBarController
:
UITabBarController
,
shouldSelect
viewController
:
UIViewController
)
->
Bool
{
guard
let
index
=
tabBarController
.
viewControllers
?
.
firstIndex
(
of
:
viewController
)
else
{
return
false
}
if
index
==
1
{
if
YHLoginManager
.
shared
.
isLogin
()
{
return
true
}
else
{
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
YHLoginManager
.
shared
.
loginSuccessActionBlock
=
{[
weak
self
]
in
guard
self
!=
nil
else
{
return
}
tabBarController
.
selectedIndex
=
index
YHLoginManager
.
shared
.
loginSuccessActionBlock
=
nil
}
return
false
}
}
return
true
}
}
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHHomePageViewController.swift
View file @
0b152c38
...
...
@@ -10,10 +10,10 @@ import UIKit
import
ESPullToRefresh
import
GKNavigationBarSwift
import
SmartCodable
let
kShowAlertOfSuggestLatestVersion
=
"show_alert_suggest_latest_version"
import
JXSegmentedView
class
YHHomePageViewController
:
YHBaseViewController
{
lazy
var
viewModel
:
YHHomePageViewModel
=
{
let
viewModel
=
YHHomePageViewModel
()
return
viewModel
...
...
@@ -22,6 +22,7 @@ class YHHomePageViewController: YHBaseViewController {
let
msgViewModel
:
YHMsgViewModel
=
YHMsgViewModel
()
let
serviceCenterMainReqVM
:
YHServiceCenterMainViewModel
=
YHServiceCenterMainViewModel
()
var
homeHeaderViewHeight
=
YHHomeHeadView
.
fixViewH
var
needReloadDataFlag
:
Bool
=
false
...
...
@@ -45,7 +46,6 @@ class YHHomePageViewController: YHBaseViewController {
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
//0、
setupUI
()
...
...
@@ -56,17 +56,13 @@ class YHHomePageViewController: YHBaseViewController {
getData
()
}
@objc
func
didRefreshMessageCount
()
{
getTotalUnreadMsgCount
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
requestAppNewVersion
()
//
requestAppNewVersion()
//获取OSS密钥
YHOSSManager
.
share
.
getOSSID
()
updateDefaultSearchKeyWord
()
getTotalUnreadMsgCount
()
//
YHOSSManager.share.getOSSID()
//
updateDefaultSearchKeyWord()
//
getTotalUnreadMsgCount()
if
needReloadDataFlag
{
needReloadDataFlag
=
false
...
...
@@ -74,69 +70,37 @@ class YHHomePageViewController: YHBaseViewController {
}
}
lazy
var
searchView
:
YHHomeSearchView
=
{
let
view
=
YHHomeSearchView
()
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
didSearchBarClicked
)
)
view
.
addGestureRecognizer
(
tap
)
return
view
}()
lazy
var
msgUnreadView
:
YHMessageBellView
=
{
let
view
=
YHMessageBellView
.
bellView
()
return
view
}()
//
lazy var searchView: YHHomeSearchView = {
//
let view = YHHomeSearchView()
//
let tap = UITapGestureRecognizer(target: self, action: #selector(didSearchBarClicked))
//
view.addGestureRecognizer(tap)
//
return view
//
}()
//
//
lazy var msgUnreadView:YHMessageBellView = {
//
let view = YHMessageBellView.bellView()
//
return view
//
}()
lazy
var
homeHeaderView
:
YHHomeHeadView
=
{
let
view
=
YHHomeHeadView
()
return
view
}()
var
tapTimestamp
:
CFAbsoluteTime
=
-
10.0
func
updateDefaultSearchKeyWord
()
{
var
placeHolder
=
"香港身份"
if
isHaveLocalSearchRecords
()
{
let
latestValidSearchWord
=
getLatestValidSearchWord
()
if
!
latestValidSearchWord
.
isEmpty
{
placeHolder
=
latestValidSearchWord
}
}
searchView
.
placeHolder
=
placeHolder
}
// 请求订单数据
func
requestOrder
()
{
if
YHLoginManager
.
shared
.
isLogin
()
==
false
{
return
}
self
.
serviceCenterMainReqVM
.
getContactList
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
let
isShow
=
self
.
serviceCenterMainReqVM
.
arrContactList
.
count
>
0
if
isShow
{
self
.
viewModel
.
getBasicInfoForSigner
{
success
,
error
in
if
success
{
self
.
homeHeaderView
.
orderTipsView
.
dataModelForBasicInfo
=
self
.
viewModel
.
signerModel
}
else
{
}
self
.
viewModel
.
getLastTwoMessagesForSigner
{
success
,
error
in
if
success
{
self
.
homeHeaderView
.
orderTipsView
.
arrLastTwoMessage
=
self
.
viewModel
.
arrLastTwoMessages
self
.
homeHeaderView
.
updateSubViewsConstraints
()
}
else
{
}
self
.
showOrderTipsView
(
isShow
)
}
}
}
else
{
self
.
showOrderTipsView
(
isShow
)
}
}
}
// var tapTimestamp : CFAbsoluteTime = -10.0
}
private
extension
YHHomePageViewController
{
// func updateDefaultSearchKeyWord() {
// var placeHolder = "香港身份"
// if isHaveLocalSearchRecords() {
// let latestValidSearchWord = getLatestValidSearchWord()
// if !latestValidSearchWord.isEmpty {
// placeHolder = latestValidSearchWord
// }
// }
//// searchView.placeHolder = placeHolder
// }
// 是否展示订单提示视图
func
showOrderTipsView
(
_
show
:
Bool
)
{
...
...
@@ -172,9 +136,11 @@ class YHHomePageViewController: YHBaseViewController {
}
self
.
homeCollectView
.
reloadData
()
}
}
private
extension
YHHomePageViewController
{
// @objc func didRefreshMessageCount() {
// getTotalUnreadMsgCount()
// }
func
addDefaultData
()
{
homeHeaderView
.
homeBannerView
.
dataArr
=
getCacheDataForBanner
()
getCacheDataForHomeNewsData
()
...
...
@@ -184,17 +150,14 @@ private extension YHHomePageViewController {
needReloadDataFlag
=
true
}
@objc
func
didSearchBarClicked
()
{
let
vc
=
YHSearchInfomationVC
()
vc
.
searchPlaceHolder
=
searchView
.
placeHolder
printLog
(
"placeHolder:
\(
searchView
.
placeHolder
)
"
)
self
.
navigationController
?
.
pushViewController
(
vc
)
}
// @objc func didSearchBarClicked() {
// let vc = YHSearchInfomationVC()
// vc.searchPlaceHolder = searchView.placeHolder
// printLog("placeHolder: \(searchView.placeHolder)")
// self.navigationController?.pushViewController(vc)
// }
func
getData
()
{
loadFirstData
()
getHomeBannerData
()
}
//获取缓存的 banner数据
func
getCacheDataForBanner
()
->
[
YHBannerModel
]
{
...
...
@@ -312,44 +275,46 @@ private extension YHHomePageViewController {
}
func
setupUI
()
{
gk_navigationBar
.
isHidden
=
false
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
white
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
loginSuccess
)
,
name
:
YhConstant
.
YhNotification
.
didLoginSuccessNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
logoutSuccess
)
,
name
:
YhConstant
.
YhNotification
.
didLogoutSuccessNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
revMsg
)
,
name
:
YhConstant
.
YhNotification
.
didRevMsgNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
clearUnreadBadge
)
,
name
:
YhConstant
.
YhNotification
.
didMarkAllMessagesReadedNotifiction
,
object
:
nil
)
//
gk_navigationBar.isHidden = false
//
gk_navigationBar.isHidden = true
//
view.backgroundColor = .white
//
NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: YhConstant.YhNotification.didLoginSuccessNotifiction, object: nil)
//
//
NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil)
//
//
NotificationCenter.default.addObserver(self, selector: #selector(revMsg), name: YhConstant.YhNotification.didRevMsgNotifiction, object: nil)
//
//
NotificationCenter.default.addObserver(self, selector: #selector(clearUnreadBadge), name: YhConstant.YhNotification.didMarkAllMessagesReadedNotifiction, object: nil)
//
//
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
clickMsgitem
)
,
name
:
YhConstant
.
YhNotification
.
clickHomeMsgNotifiction
,
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
didRefreshMessageCount
)
,
name
:
YhConstant
.
YhNotification
.
didRequestUnreadMsgTotalCountNotification
,
object
:
nil
)
view
.
addSubview
(
searchView
)
searchView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_safeAreaInsetsTop
()
+
6
)
make
.
left
.
equalTo
(
20
)
make
.
height
.
equalTo
(
YHHomeSearchView
.
viewH
)
}
view
.
addSubview
(
msgUnreadView
)
msgUnreadView
.
snp
.
makeConstraints
{
make
in
make
.
width
.
equalTo
(
YHMessageBellView
.
width
)
make
.
height
.
equalTo
(
YHMessageBellView
.
height
)
make
.
left
.
equalTo
(
searchView
.
snp
.
right
)
make
.
right
.
equalToSuperview
()
make
.
centerY
.
equalTo
(
searchView
)
}
//
//
NotificationCenter.default.addObserver(self, selector: #selector(didRefreshMessageCount), name: YhConstant.YhNotification.didRequestUnreadMsgTotalCountNotification, object: nil)
//
view.addSubview(searchView)
//
searchView.snp.makeConstraints { make in
//
make.top.equalTo(k_Height_safeAreaInsetsTop() + 6)
//
make.left.equalTo(20)
//
make.height.equalTo(YHHomeSearchView.viewH)
//
}
//
//
view.addSubview(msgUnreadView)
//
msgUnreadView.snp.makeConstraints { make in
//
make.width.equalTo(YHMessageBellView.width)
//
make.height.equalTo(YHMessageBellView.height)
//
make.left.equalTo(searchView.snp.right)
//
make.right.equalToSuperview()
//
make.centerY.equalTo(searchView)
//
}
view
.
addSubview
(
homeCollectView
)
homeCollectView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
searchView
.
snp
.
bottom
)
.
offset
(
20
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
-
k_Height_TabBar
)
// make.top.equalTo(searchView.snp.bottom).offset(20)
make
.
top
.
equalToSuperview
()
// make.bottom.equalToSuperview().offset(-k_Height_TabBar)
make
.
bottom
.
equalToSuperview
()
}
homeHeaderView
.
frame
=
CGRect
(
x
:
20
,
y
:
-
YHHomeHeadView
.
fixViewH
,
width
:
KScreenWidth
-
40
,
height
:
YHHomeHeadView
.
fixViewH
)
...
...
@@ -372,19 +337,55 @@ private extension YHHomePageViewController {
self
.
loadMoreData
()
}
}
@objc
func
loginSuccess
()
{
getData
()
}
//MARK: - public方法
extension
YHHomePageViewController
{
func
goTop
()
{
self
.
homeCollectView
.
setContentOffset
(
CGPoint
(
x
:
0
,
y
:
-
homeHeaderViewHeight
),
animated
:
true
)
}
@objc
func
logoutSuccess
()
{
self
.
msgUnreadView
.
unreadCount
=
0
getData
()
func
getData
()
{
loadFirstData
()
getHomeBannerData
()
}
@objc
func
revMsg
()
{
requestOrder
()
// 请求订单数据
func
requestOrder
()
{
if
YHLoginManager
.
shared
.
isLogin
()
==
false
{
return
}
self
.
serviceCenterMainReqVM
.
getContactList
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
let
isShow
=
self
.
serviceCenterMainReqVM
.
arrContactList
.
count
>
0
if
isShow
{
self
.
viewModel
.
getBasicInfoForSigner
{
success
,
error
in
if
success
{
self
.
homeHeaderView
.
orderTipsView
.
dataModelForBasicInfo
=
self
.
viewModel
.
signerModel
}
else
{
}
self
.
viewModel
.
getLastTwoMessagesForSigner
{
success
,
error
in
if
success
{
self
.
homeHeaderView
.
orderTipsView
.
arrLastTwoMessage
=
self
.
viewModel
.
arrLastTwoMessages
self
.
homeHeaderView
.
updateSubViewsConstraints
()
}
else
{
}
self
.
showOrderTipsView
(
isShow
)
}
}
}
else
{
self
.
showOrderTipsView
(
isShow
)
}
}
}
}
extension
YHHomePageViewController
:
UICollectionViewDelegate
,
UICollectionViewDataSource
{
...
...
@@ -440,96 +441,96 @@ extension YHHomePageViewController : CollectionViewWaterfallLayoutDelegate {
}
}
extension
YHHomePageViewController
:
UITabBarControllerDelegate
{
func
tabBarController
(
_
tabBarController
:
UITabBarController
,
didSelect
viewController
:
UIViewController
)
{
let
doubleTapInterval
:
CGFloat
=
0.3
if
tabBarController
.
selectedIndex
==
0
{
let
timestamp
=
CFAbsoluteTimeGetCurrent
()
printLog
(
timestamp
-
self
.
tapTimestamp
)
if
timestamp
-
self
.
tapTimestamp
<
doubleTapInterval
{
self
.
homeCollectView
.
setContentOffset
(
CGPoint
(
x
:
0
,
y
:
-
homeHeaderViewHeight
),
animated
:
true
)
}
self
.
tapTimestamp
=
timestamp
}
// else if tabBarController.selectedIndex == 2 {
// // 点击消息tab 清空应用icon未读数
// UIApplication.shared.applicationIconBadgeNumber = 0
//extension YHHomePageViewController : UITabBarControllerDelegate {
//
// func tabBarController(_ tabBarController: UITabBarController, didSelect viewController: UIViewController) {
// let doubleTapInterval : CGFloat = 0.3
//
// if tabBarController.selectedIndex == 0 {
// let timestamp = CFAbsoluteTimeGetCurrent()
// printLog(timestamp - self.tapTimestamp)
// if timestamp - self.tapTimestamp < doubleTapInterval {
// self.homeCollectView.setContentOffset(CGPoint(x: 0, y: -homeHeaderViewHeight), animated: true)
// }
// self.tapTimestamp = timestamp
//
// }
//// else if tabBarController.selectedIndex == 2 {
//// // 点击消息tab 清空应用icon未读数
//// UIApplication.shared.applicationIconBadgeNumber = 0
//// }
// }
//
//
// func tabBarController(_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
// guard let index = tabBarController.viewControllers?.firstIndex(of: viewController) else {
// return false
// }
}
func
tabBarController
(
_
tabBarController
:
UITabBarController
,
shouldSelect
viewController
:
UIViewController
)
->
Bool
{
guard
let
index
=
tabBarController
.
viewControllers
?
.
firstIndex
(
of
:
viewController
)
else
{
return
false
}
if
index
==
1
{
if
YHLoginManager
.
shared
.
isLogin
()
{
return
true
}
else
{
YHOneKeyLoginManager
.
shared
.
oneKeyLogin
()
YHLoginManager
.
shared
.
loginSuccessActionBlock
=
{[
weak
self
]
in
guard
self
!=
nil
else
{
return
}
tabBarController
.
selectedIndex
=
index
YHLoginManager
.
shared
.
loginSuccessActionBlock
=
nil
}
return
false
}
}
return
true
}
}
// if index == 1 {
// if YHLoginManager.shared.isLogin() {
// return true
// } else {
// YHOneKeyLoginManager.shared.oneKeyLogin()
// YHLoginManager.shared.loginSuccessActionBlock = {[weak self] in
// guard self != nil else { return }
// tabBarController.selectedIndex = index
// YHLoginManager.shared.loginSuccessActionBlock = nil
// }
// return false
// }
// }
// return true
// }
//}
extension
YHHomePageViewController
{
func
requestAppNewVersion
()
{
if
YHConfigManager
.
shared
.
loadNewDataFlag
==
false
{
YHConfigManager
.
shared
.
loadConfigData
{
[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
showNewVersionAlertView
()
}
}
else
{
showNewVersionAlertView
()
}
}
func
showNewVersionAlertView
()
{
let
isNeedShowAlert
=
YHAppVersionManager
.
shared
.
needShowAlertViewOfSuggestVersionUpdate
()
if
isNeedShowAlert
{
if
let
configModel
=
YHConfigManager
.
shared
.
reqVM
.
configModel
{
let
alertView
=
YHFindAppNewVersionView
.
alertView
(
version
:
configModel
.
max_version
)
let
arr
=
configModel
.
suggest_updating_msg
.
components
(
separatedBy
:
"$"
)
alertView
.
updateContentArray
(
arr
)
alertView
.
show
()
}
}
}
//
func requestAppNewVersion() {
//
if YHConfigManager.shared.loadNewDataFlag == false {
//
YHConfigManager.shared.loadConfigData {
//
[weak self] in
//
guard let self = self else { return }
//
self.showNewVersionAlertView()
//
}
//
} else {
//
showNewVersionAlertView()
//
}
//
}
//
//
func showNewVersionAlertView() {
//
let isNeedShowAlert = YHAppVersionManager.shared.needShowAlertViewOfSuggestVersionUpdate()
//
if isNeedShowAlert {
//
if let configModel = YHConfigManager.shared.reqVM.configModel {
//
let alertView = YHFindAppNewVersionView.alertView(version: configModel.max_version)
//
let arr = configModel.suggest_updating_msg.components(separatedBy: "$")
//
alertView.updateContentArray(arr)
//
alertView.show()
//
}
//
}
//
}
}
extension
YHHomePageViewController
{
// 请求未读消息总数
@objc
func
getTotalUnreadMsgCount
()
{
if
!
YHLoginManager
.
shared
.
isLogin
()
{
return
}
self
.
msgViewModel
.
requestTotalUnreadMsgCount
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
DispatchQueue
.
main
.
async
{
self
.
msgUnreadView
.
unreadCount
=
self
.
msgViewModel
.
unreadTotalCount
}
}
}
@objc
func
clearUnreadBadge
()
{
DispatchQueue
.
main
.
async
{
self
.
msgUnreadView
.
unreadCount
=
0
}
}
//
@objc func getTotalUnreadMsgCount() {
//
if !YHLoginManager.shared.isLogin() {
//
return
//
}
//
//
self.msgViewModel.requestTotalUnreadMsgCount {
//
[weak self] success, error in
//
guard let self = self else { return }
//
DispatchQueue.main.async {
//
self.msgUnreadView.unreadCount = self.msgViewModel.unreadTotalCount
//
}
//
}
//
}
//
//
@objc func clearUnreadBadge() {
//
DispatchQueue.main.async {
//
self.msgUnreadView.unreadCount = 0
//
}
//
}
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
...
...
@@ -547,3 +548,11 @@ extension YHHomePageViewController {
}
}
}
//JXSegmentedListContainerViewListDelegate
extension
YHHomePageViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
}
}
galaxy/galaxy/Classes/Modules/Home(首页)/C/YHStartPageViewController.swift
View file @
0b152c38
...
...
@@ -173,7 +173,8 @@ private extension YHStartPageViewController {
func
setupRootVC
()
{
gk_navigationBar
.
isHidden
=
false
let
tabBarController
=
YHTabBarViewController
()
let
homeVC
=
YHHomePageViewController
()
// let homeVC = YHHomePageViewController()
let
homeVC
=
YHHomeHoldViewPageViewController
()
tabBarController
.
delegate
=
homeVC
let
v0
=
YHNavigationController
(
rootVC
:
homeVC
)
let
v1
=
YHNavigationController
(
rootVC
:
YHServiceCenterMainViewController
())
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceListViewController.swift
View file @
0b152c38
...
...
@@ -208,6 +208,8 @@ extension YHServiceListViewController : CollectionViewWaterfallLayoutDelegate {
}
}
//JXSegmentedListContainerViewListDelegate
extension
YHServiceListViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceViewController.swift
deleted
100644 → 0
View file @
352fd929
//
// YHServiceViewController.swift
// galaxy
//
// Created by EDY on 2024/4/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHServiceViewController
:
YHBaseViewController
,
UIGestureRecognizerDelegate
{
var
defaltIndex
:
Int
=
0
let
arrItemTitles
=
[
"香港身份"
,
"香港生活"
]
var
arrItemVCs
:
[
YHBaseViewController
]
=
[]
var
segmentedView
:
JXSegmentedView
=
JXSegmentedView
(
frame
:
CGRect
(
x
:
0
,
y
:
k_Height_safeAreaInsetsTop
(),
width
:
KScreenWidth
,
height
:
48
))
lazy
var
segmentedDataSource
:
JXSegmentedBaseDataSource
=
{
let
dataSource
=
JXSegmentedTitleDataSource
()
dataSource
.
isTitleColorGradientEnabled
=
true
dataSource
.
titles
=
arrItemTitles
dataSource
.
titleNormalFont
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
dataSource
.
titleNormalColor
=
.
labelTextColor2
dataSource
.
titleSelectedFont
=
UIFont
.
PFSC_M
(
ofSize
:
18
)
dataSource
.
titleSelectedColor
=
.
mainTextColor
dataSource
.
isItemSpacingAverageEnabled
=
false
dataSource
.
itemWidth
=
JXSegmentedViewAutomaticDimension
dataSource
.
itemSpacing
=
90
return
dataSource
}()
lazy
var
navBar
:
UIView
=
{
let
bar
=
UIView
()
let
backBtn
=
UIButton
()
backBtn
.
setImage
(
UIImage
(
named
:
"back_icon"
),
for
:
.
normal
)
backBtn
.
addTarget
(
self
,
action
:
#selector(
didBackBtnClicked
)
,
for
:
.
touchUpInside
)
backBtn
.
YH_clickEdgeInsets
=
UIEdgeInsets
(
top
:
20
,
left
:
20
,
bottom
:
20
,
right
:
20
)
bar
.
addSubview
(
backBtn
)
backBtn
.
snp
.
makeConstraints
{
make
in
make
.
width
.
height
.
equalTo
(
21
)
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalToSuperview
()
.
offset
(
16
)
}
return
bar
}()
//分类title 所对应的VC
lazy
var
listContainerView
:
JXSegmentedListContainerView
!
=
{
return
JXSegmentedListContainerView
(
dataSource
:
self
,
type
:
.
scrollView
)
}()
@objc
func
didBackBtnClicked
()
{
self
.
navigationController
?
.
popViewController
(
animated
:
true
)
}
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
gk_navBarAlpha
=
0
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
white
for
i
in
0
..<
arrItemTitles
.
count
{
if
i
==
0
{
let
vc
=
YHServiceListViewController
()
arrItemVCs
.
append
(
vc
)
}
else
{
let
vc
=
YHServerHKLifeViewController
()
arrItemVCs
.
append
(
vc
)
}
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
collectionView
.
backgroundColor
=
.
white
view
.
addSubview
(
segmentedView
)
segmentedView
.
listContainer
=
listContainerView
view
.
addSubview
(
listContainerView
)
//分类Title
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
//配置指示器
let
indicator
=
JXSegmentedIndicatorLineView
()
indicator
.
indicatorWidth
=
16
indicator
.
indicatorColor
=
UIColor
.
brandMainColor
segmentedView
.
indicators
=
[
indicator
]
segmentedView
.
backgroundColor
=
UIColor
(
red
:
0.95
,
green
:
0.95
,
blue
:
0.95
,
alpha
:
1
)
view
.
addSubview
(
navBar
)
navBar
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
// make.top.equalToSuperview().offset(k_Height_statusBar())
make
.
height
.
equalTo
(
k_Height_NavContentBar
)
make
.
width
.
equalTo
(
47
)
make
.
centerY
.
equalTo
(
segmentedView
.
snp
.
centerY
)
}
segmentedView
.
defaultSelectedIndex
=
defaltIndex
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
//处于第一个item的时候,才允许屏幕边缘手势返回
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
(
segmentedView
.
selectedIndex
==
0
)
}
override
func
viewWillDisappear
(
_
animated
:
Bool
)
{
super
.
viewWillDisappear
(
animated
)
//离开页面的时候,需要恢复屏幕边缘手势,不能影响其他页面
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
true
}
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
segmentedView
.
frame
=
CGRect
(
x
:
0
,
y
:
k_Height_safeAreaInsetsTop
(),
width
:
view
.
bounds
.
size
.
width
,
height
:
48
)
listContainerView
.
frame
=
CGRect
(
x
:
0
,
y
:
k_Height_safeAreaInsetsTop
()
+
48
,
width
:
view
.
bounds
.
size
.
width
,
height
:
view
.
bounds
.
size
.
height
-
48
-
k_Height_safeAreaInsetsTop
())
}
}
extension
YHServiceViewController
:
JXSegmentedViewDelegate
{
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
didSelectedItemAt
index
:
Int
)
{
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
(
segmentedView
.
selectedIndex
==
0
)
}
}
extension
YHServiceViewController
{
func
jumpToItemIndex
(
itemIndex
:
Int
)
{
self
.
segmentedView
.
selectItemAt
(
index
:
itemIndex
)
}
}
extension
YHServiceViewController
:
JXSegmentedListContainerViewDataSource
{
func
numberOfLists
(
in
listContainerView
:
JXSegmentedListContainerView
)
->
Int
{
if
let
titleDataSource
=
segmentedView
.
dataSource
as?
JXSegmentedBaseDataSource
{
return
titleDataSource
.
dataSource
.
count
}
return
0
}
func
listContainerView
(
_
listContainerView
:
JXSegmentedListContainerView
,
initListAt
index
:
Int
)
->
JXSegmentedListContainerViewListDelegate
{
return
arrItemVCs
[
index
]
as!
JXSegmentedListContainerViewListDelegate
}
}
galaxy/galaxy/Classes/Modules/VersionUpload(版本更新)/M/YHAppVersionManager.swift
View file @
0b152c38
...
...
@@ -54,7 +54,7 @@ class YHAppVersionManager {
func
needShowAlertViewOfSuggestVersionUpdate
()
->
Bool
{
var
isShow
=
false
if
let
configModel
=
YHConfigManager
.
shared
.
reqVM
.
configModel
,
configModel
.
suggest_updating
==
true
{
if
let
alertLatestVersion
=
UserDefaults
.
standard
.
object
(
forKey
:
kShowAlertOfSuggestLatestVersion
)
as?
String
{
if
let
alertLatestVersion
=
UserDefaults
.
standard
.
object
(
forKey
:
YhConstant
.
kShowAlertOfSuggestLatestVersion
)
as?
String
{
if
!
configModel
.
max_version
.
isEmpty
,
configModel
.
max_version
!=
alertLatestVersion
{
isShow
=
true
}
...
...
@@ -81,7 +81,7 @@ class YHAppVersionManager {
// 保存显示过的最新建议升级弹窗的app版本
func
saveShowLatestUpdateVersion
()
{
if
let
configModel
=
YHConfigManager
.
shared
.
reqVM
.
configModel
{
UserDefaults
.
standard
.
set
(
configModel
.
max_version
,
forKey
:
kShowAlertOfSuggestLatestVersion
)
UserDefaults
.
standard
.
set
(
configModel
.
max_version
,
forKey
:
YhConstant
.
kShowAlertOfSuggestLatestVersion
)
UserDefaults
.
standard
.
synchronize
()
}
}
...
...
galaxy/galaxy/Classes/Tools/Helper/YhConstant.swift
View file @
0b152c38
...
...
@@ -162,10 +162,7 @@ func goToMessagePage() {
}
// MARK: - 常量定义
class
YhConstant
{
// MARK: - 登录信息
static
let
KLoginedInfoKey
=
"KLoginedInfoKey"
...
...
@@ -173,6 +170,9 @@ class YhConstant {
//登录后的用户信息
static
let
kLoginUserInfo
=
"loginUserInfo"
static
let
kShowAlertOfSuggestLatestVersion
=
"show_alert_suggest_latest_version"
}
extension
YhConstant
{
...
...
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