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
e6611ad3
Commit
e6611ad3
authored
Sep 10, 2024
by
pete谢兆麟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除多余无用代码
parent
12200d02
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
0 additions
and
1673 deletions
+0
-1673
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+0
-40
YHHkLifeAndIdItemView.swift
...xy/Classes/Modules/Home(首页)/V/YHHkLifeAndIdItemView.swift
+0
-136
YHHkLifeAndIdView.swift
...galaxy/Classes/Modules/Home(首页)/V/YHHkLifeAndIdView.swift
+0
-51
YHHKCenterViewController.swift
...IntelligentService(服务中心)/C/YHHKCenterViewController.swift
+0
-154
YHHKClassListViewController.swift
...elligentService(服务中心)/C/YHHKClassListViewController.swift
+0
-179
YHHKControllerHoldViewController.swift
...entService(服务中心)/C/YHHKControllerHoldViewController.swift
+0
-157
YHHKIdentityCardViewController.swift
...igentService(服务中心)/C/YHHKIdentityCardViewController.swift
+0
-253
YHHKLifeViewController.swift
...s/IntelligentService(服务中心)/C/YHHKLifeViewController.swift
+0
-254
YHServerHKLifeViewController.swift
...lligentService(服务中心)/C/YHServerHKLifeViewController.swift
+0
-0
YHServiceCenterSecondViewController.swift
...Service(服务中心)/C/YHServiceCenterSecondViewController.swift
+0
-245
YHServiceListViewController.swift
...elligentService(服务中心)/C/YHServiceListViewController.swift
+0
-204
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
e6611ad3
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/Home(首页)/V/YHHkLifeAndIdItemView.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHkLifeAndIdItemView.swift
// galaxy
//
// Created by davidhuangA on 2024/4/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
enum
HkLifeItemType
:
Int
{
case
unknow
=
-
1
//未知
case
hkID
=
0
//香港身份
case
hklife
=
1
//香港生活
}
class
YHHkLifeAndIdItemView
:
UIView
{
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
initView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
lazy
var
bkgImagV
:
UIImageView
=
{
let
imageV
=
UIImageView
()
imageV
.
contentMode
=
.
scaleAspectFill
return
imageV
}()
lazy
var
iconV
:
UIImageView
=
{
let
imageV
=
UIImageView
()
imageV
.
contentMode
=
.
scaleAspectFill
return
imageV
}()
lazy
var
titleLable
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"香港身份"
label
.
textColor
=
UIColor
.
mainTextColor
label
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
label
.
lineBreakMode
=
.
byTruncatingMiddle
return
label
}()
lazy
var
subtitleLable
:
UILabel
=
{
let
label
=
UILabel
()
label
.
text
=
"去香港"
label
.
textColor
=
UIColor
.
yhGreyColor
label
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
11
)
label
.
lineBreakMode
=
.
byTruncatingMiddle
return
label
}()
var
itemType
:
HkLifeItemType
=
.
unknow
{
didSet
{
updateUI
()
}
}
}
private
extension
YHHkLifeAndIdItemView
{
func
initView
()
{
addSubview
(
bkgImagV
)
bkgImagV
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalToSuperview
()
}
addSubview
(
iconV
)
iconV
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
make
.
width
.
height
.
equalTo
(
34
)
}
addSubview
(
titleLable
)
titleLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
iconV
.
snp
.
top
)
.
offset
(
-
3
)
make
.
left
.
equalTo
(
iconV
.
snp
.
right
)
.
offset
(
kMargin
)
make
.
height
.
equalTo
(
24
)
make
.
right
.
equalTo
(
-
10
)
}
addSubview
(
subtitleLable
)
subtitleLable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
titleLable
.
snp
.
bottom
)
.
offset
(
2
)
make
.
left
.
equalTo
(
titleLable
.
snp
.
left
)
make
.
height
.
equalTo
(
16
)
make
.
right
.
equalTo
(
titleLable
.
snp
.
right
)
}
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
tapView(gestureRecognizer:)
)
)
addGestureRecognizer
(
tap
)
}
func
updateUI
()
{
if
itemType
==
.
hkID
{
bkgImagV
.
image
=
UIImage
(
named
:
"hklife_bkg_0"
)
iconV
.
image
=
UIImage
(
named
:
"hklife_icon_0"
)
titleLable
.
text
=
"香港身份"
subtitleLable
.
text
=
"去香港"
}
else
if
itemType
==
.
hklife
{
bkgImagV
.
image
=
UIImage
(
named
:
"hklife_bkg_1"
)
iconV
.
image
=
UIImage
(
named
:
"hklife_icon_1"
)
titleLable
.
text
=
"香港生活"
subtitleLable
.
text
=
"在香港"
}
else
{
printLog
(
"errorr:未处理"
)
}
}
@objc
func
tapView
(
gestureRecognizer
:
UITapGestureRecognizer
)
{
if
itemType
==
.
hkID
{
//香港身份
let
vc
=
YHHKCenterViewController
()
vc
.
defaltIndex
=
0
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
itemType
==
.
hklife
{
//香港生活
let
vc
=
YHHKCenterViewController
()
vc
.
defaltIndex
=
1
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
{
printLog
(
"errorr:未处理"
)
}
}
}
galaxy/galaxy/Classes/Modules/Home(首页)/V/YHHkLifeAndIdView.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHkLifeAndIdView.swift
// galaxy
//
// Created by davidhuangA on 2024/4/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
香港身份 香港生活
*/
class
YHHkLifeAndIdView
:
UIView
{
static
let
viewH
:
CGFloat
=
74.0
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
initView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
}
private
extension
YHHkLifeAndIdView
{
func
initView
()
{
let
itemW
:
CGFloat
=
(
KScreenWidth
-
20
*
2
-
12
)
/
2.0
let
item0
=
YHHkLifeAndIdItemView
()
item0
.
itemType
=
.
hkID
addSubview
(
item0
)
item0
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
equalToSuperview
()
make
.
height
.
equalTo
(
YHHkLifeAndIdView
.
viewH
)
make
.
width
.
equalTo
(
itemW
)
}
let
item1
=
YHHkLifeAndIdItemView
()
item1
.
itemType
=
.
hklife
addSubview
(
item1
)
item1
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
equalTo
(
item0
.
snp
.
right
)
.
offset
(
12
)
make
.
height
.
equalTo
(
YHHkLifeAndIdView
.
viewH
)
make
.
width
.
equalTo
(
itemW
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHHKCenterViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHKCenterViewController.swift
// galaxy
//
// Created by EDY on 2024/6/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHHKCenterViewController
:
YHBaseViewController
{
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
=
YHHKIdentityCardViewController
()
arrItemVCs
.
append
(
vc
)
}
else
{
let
vc
=
YHHKLifeViewController
()
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
YHHKCenterViewController
:
JXSegmentedViewDelegate
{
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
didSelectedItemAt
index
:
Int
)
{
navigationController
?
.
interactivePopGestureRecognizer
?
.
isEnabled
=
(
segmentedView
.
selectedIndex
==
0
)
}
}
extension
YHHKCenterViewController
{
func
jumpToItemIndex
(
itemIndex
:
Int
)
{
self
.
segmentedView
.
selectItemAt
(
index
:
itemIndex
)
}
}
extension
YHHKCenterViewController
:
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/IntelligentService(服务中心)/C/YHHKClassListViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHKClassListView.swift
// galaxy
//
// Created by EDY on 2024/6/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHHKClassListViewController
:
YHBaseViewController
{
let
homeViewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
items
:[
YHHomeListModel
?]
=
[]
{
didSet
{
self
.
myCollectView
.
reloadData
()
}
}
lazy
var
myCollectView
=
{
// 设置布局方向
let
flowLayout
=
YHHomeCollectionLayout
()
flowLayout
.
minimumInteritemSpacing
=
7.0
flowLayout
.
minimumColumnSpacing
=
7.0
flowLayout
.
sectionInset
=
UIEdgeInsets
(
top
:
20
,
left
:
20
,
bottom
:
20
,
right
:
20
)
let
collectinoView
=
YHGestureCollectionView
(
frame
:
.
zero
,
collectionViewLayout
:
flowLayout
)
collectinoView
.
backgroundColor
=
.
white
collectinoView
.
register
(
YHHomeCollectionViewCell
.
self
,
forCellWithReuseIdentifier
:
YHHomeCollectionViewCell
.
cellReuseIdentifier
)
collectinoView
.
delegate
=
self
collectinoView
.
dataSource
=
self
// collectinoView.bounces = false
collectinoView
.
translatesAutoresizingMaskIntoConstraints
=
false
collectinoView
.
alwaysBounceVertical
=
true
collectinoView
.
showsVerticalScrollIndicator
=
false
collectinoView
.
showsHorizontalScrollIndicator
=
false
return
collectinoView
}()
var
classId
:
Int
=
0
public
var
vcCanScroll
:
Bool
=
true
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
white
setupUI
()
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
beginDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
endDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
loadData
()
}
}
extension
YHHKClassListViewController
{
func
loadData
()
{
self
.
homeViewModel
.
getList
(
true
,
classId
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
items
=
self
.
homeViewModel
.
arrHomeNewsData
??
[]
if
self
.
homeViewModel
.
hasMoreForHomeNews
==
false
{
self
.
myCollectView
.
es
.
noticeNoMoreData
()
self
.
myCollectView
.
footer
?
.
alpha
=
1
}
}
}
func
setupUI
()
{
gk_navBarAlpha
=
1
gk_navigationBar
.
isHidden
=
true
view
.
addSubview
(
myCollectView
)
myCollectView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
right
.
bottom
.
equalToSuperview
()
}
myCollectView
.
es
.
addInfiniteScrolling
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
self
.
homeViewModel
.
getList
(
false
,
self
.
classId
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
DispatchQueue
.
main
.
asyncAfter
(
wallDeadline
:
.
now
()
+
0.35
,
execute
:
{
CATransaction
.
setDisableActions
(
true
)
self
.
items
=
self
.
homeViewModel
.
arrHomeNewsData
??
[]
CATransaction
.
commit
()
self
.
myCollectView
.
es
.
stopLoadingMore
()
if
self
.
homeViewModel
.
hasMoreForHomeNews
==
false
{
self
.
myCollectView
.
es
.
noticeNoMoreData
()
}
})
}
}
}
}
extension
YHHKClassListViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
}
}
extension
YHHKClassListViewController
{
@objc
func
beginDragging
()
{
myCollectView
.
isScrollEnabled
=
false
vcCanScroll
=
false
}
@objc
func
endDragging
()
{
myCollectView
.
isScrollEnabled
=
true
vcCanScroll
=
true
}
}
extension
YHHKClassListViewController
:
UIScrollViewDelegate
{
//控制滑动交互
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
scrollViewSet
:
CGFloat
=
scrollView
.
contentOffset
.
y
if
vcCanScroll
==
false
{
//不能滚动时
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
0
)
}
else
{
if
(
scrollViewSet
<=
0
)
{
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
0
)
vcCanScroll
=
false
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"leaveTop0"
),
object
:
nil
)
}
else
{
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
scrollViewSet
)
}
}
}
}
extension
YHHKClassListViewController
:
UICollectionViewDelegate
,
UICollectionViewDataSource
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
numberOfItemsInSection
section
:
Int
)
->
Int
{
return
items
.
count
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
cellForItemAt
indexPath
:
IndexPath
)
->
UICollectionViewCell
{
let
cell
=
collectionView
.
dequeueReusableCell
(
withReuseIdentifier
:
YHHomeCollectionViewCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHHomeCollectionViewCell
cell
.
listModel
=
items
[
indexPath
.
row
]
return
cell
}
private
func
collectionView
(
collectionView
:
UICollectionView
,
didSelectItemAtIndexPath
indexPath
:
NSIndexPath
)
{
print
(
"index is
\(
indexPath
.
row
)
"
)
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
guard
let
model
=
items
[
indexPath
.
row
]
else
{
return
}
if
model
.
type
==
2
{
let
vc
=
YHHomeWebViewController
()
vc
.
url
=
YHBaseUrlManager
.
shared
.
curH5URL
()
+
"articleDetail.html"
+
"?id=
\(
model
.
id
)
"
vc
.
id
=
model
.
id
vc
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
arr
=
self
.
items
for
(
index
,
targetItem
)
in
arr
.
enumerated
()
{
guard
let
target
=
targetItem
else
{
return
}
if
target
.
id
==
model
.
id
{
target
.
is_like
=
model
.
is_like
target
.
like_count
=
model
.
like_count
self
.
myCollectView
.
reloadItems
(
at
:
[
IndexPath
.
SubSequence
(
item
:
index
,
section
:
0
)])
}
}
}
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
1
{
printLog
(
"直接播放视频"
)
}
}
}
extension
YHHKClassListViewController
:
CollectionViewWaterfallLayoutDelegate
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
:
UICollectionViewLayout
,
sizeForItemAtIndexPath
indexPath
:
NSIndexPath
)
->
CGSize
{
guard
let
model
=
items
[
indexPath
.
row
]
else
{
return
CGSize
.
zero
}
return
CGSize
(
width
:
model
.
img_width_cell
,
height
:
model
.
img_height_cell
)
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHHKControllerHoldViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHKControllerHoldViewController.swift
// galaxy
//
// Created by EDY on 2024/6/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHHKControllerHoldViewController
:
UIViewController
{
let
homeViewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
canScroll
:
Bool
=
false
{
didSet
{
for
vc
in
arrItemVCs
{
vc
.
vcCanScroll
=
canScroll
}
}
}
var
items
:
[
YHClassifyModel
]
=
[]
var
classID
=
0
var
myDefaultNavItemIndex
:
Int
=
0
{
didSet
{
self
.
segmentedView
.
selectItemAt
(
index
:
self
.
myDefaultNavItemIndex
)
}
}
var
arrItemTitles
:
[
String
]
=
[]
var
arrItemVCs
:
[
YHHKClassListViewController
]
=
[]
var
segmentedView
:
JXSegmentedView
=
JXSegmentedView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
55
))
lazy
var
segmentedDataSource
:
JXSegmentedTitleDataSource
=
{
let
dataSource
=
JXSegmentedTitleDataSource
()
dataSource
.
titles
=
arrItemTitles
dataSource
.
titleNormalFont
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
dataSource
.
titleSelectedColor
=
UIColor
.
labelTextColor2
dataSource
.
titleSelectedFont
=
UIFont
.
PFSC_M
(
ofSize
:
14
)
dataSource
.
titleSelectedColor
=
UIColor
.
white
dataSource
.
isTitleMaskEnabled
=
true
dataSource
.
isItemSpacingAverageEnabled
=
false
dataSource
.
itemWidth
=
JXSegmentedViewAutomaticDimension
dataSource
.
itemSpacing
=
24
return
dataSource
}()
//分类title 所对应的VC
lazy
var
listContainerView
:
JXSegmentedListContainerView
!
=
{
return
JXSegmentedListContainerView
(
dataSource
:
self
,
type
:
.
collectionView
)
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
view
.
addSubview
(
segmentedView
)
segmentedView
.
listContainer
=
listContainerView
view
.
addSubview
(
listContainerView
)
//分类Title
segmentedView
.
dataSource
=
segmentedDataSource
segmentedView
.
delegate
=
self
//配置指示器
let
indicator
=
JXSegmentedIndicatorBackgroundView
()
indicator
.
indicatorColor
=
UIColor
.
brandMainColor
indicator
.
indicatorHeight
=
32
segmentedView
.
indicators
=
[
indicator
]
segmentedView
.
defaultSelectedIndex
=
self
.
myDefaultNavItemIndex
getData
()
}
func
getData
()
{
homeViewModel
.
getHomeClassify
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
,
let
classify
=
self
.
homeViewModel
.
classify
else
{
return
}
for
item
in
classify
{
let
model
=
item
as
YHHomeClassifyModel
if
model
.
id
==
self
.
classID
{
self
.
items
=
model
.
children
self
.
arrItemTitles
.
removeAll
()
for
item
in
model
.
children
{
self
.
arrItemTitles
.
append
(
item
.
name
)
let
vc
=
YHHKClassListViewController
()
vc
.
classId
=
item
.
id
arrItemVCs
.
append
(
vc
)
}
}
self
.
segmentedDataSource
.
titles
=
arrItemTitles
self
.
segmentedView
.
dataSource
=
segmentedDataSource
self
.
segmentedView
.
reloadData
()
}
}
}
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
:
0
,
width
:
view
.
bounds
.
size
.
width
,
height
:
55
)
listContainerView
.
frame
=
CGRect
(
x
:
0
,
y
:
55
,
width
:
view
.
bounds
.
size
.
width
,
height
:
view
.
bounds
.
size
.
height
-
55
)
segmentedView
.
backgroundColor
=
.
white
}
}
extension
YHHKControllerHoldViewController
:
JXSegmentedViewDelegate
{
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
didSelectedItemAt
index
:
Int
)
{
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidToTop"
),
object
:
nil
)
}
/// 正在滚动中的回调
///
/// - Parameters:
/// - segmentedView: JXSegmentedView
/// - leftIndex: 正在滚动中,相对位置处于左边的index
/// - rightIndex: 正在滚动中,相对位置处于右边的index
/// - percent: 从左往右计算的百分比
func
segmentedView
(
_
segmentedView
:
JXSegmentedView
,
scrollingFrom
leftIndex
:
Int
,
to
rightIndex
:
Int
,
percent
:
CGFloat
)
{
NotificationCenter
.
default
.
post
(
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
}
}
extension
YHHKControllerHoldViewController
:
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/IntelligentService(服务中心)/C/YHHKIdentityCardViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHKIdentityCardViewController.swift
// galaxy
//
// Created by EDY on 2024/6/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHHKIdentityCardViewController
:
YHBaseViewController
{
let
homeViewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
tableHeadView
:
YHServerTableHeadView
!
var
orderId
:
Int
?
var
canScroll
:
Bool
=
true
var
myCellHeight
:
CGFloat
{
get
{
return
view
.
bounds
.
size
.
height
}
}
var
myDefaultIndex
:
Int
=
0
{
didSet
{
DispatchQueue
.
global
()
.
asyncAfter
(
wallDeadline
:
.
now
()
)
{[
weak
self
]
in
DispatchQueue
.
main
.
async
{
self
?
.
cellView
.
myDefaultNavItemIndex
=
self
?
.
myDefaultIndex
??
0
}
}
}
}
lazy
var
cellView
:
YHHKControllerHoldViewController
=
{
let
ttt
=
YHHKControllerHoldViewController
()
ttt
.
classID
=
1
return
ttt
}()
var
homeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
return
tableView
}()
var
myHeadView
:
UIView
=
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
kMargin
,
y
:
0
,
width
:
KScreenWidth
,
height
:
365
))
view
.
backgroundColor
=
.
white
return
view
}()
//头像
private
lazy
var
headImagV
:
UIImageView
=
{
let
imageV
=
UIImageView
(
image
:
UIImage
(
named
:
"mine_head_default"
))
imageV
.
contentMode
=
.
scaleAspectFill
imageV
.
layer
.
cornerRadius
=
26.5
imageV
.
clipsToBounds
=
true
imageV
.
layer
.
borderWidth
=
2
imageV
.
layer
.
borderColor
=
UIColor
.
white
.
cgColor
return
imageV
}()
//姓名
private
lazy
var
nameLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
mainTextColor
lable0
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
19
)
return
lable0
}()
//电话号码
private
lazy
var
phoneLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
labelTextColor2
lable0
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
return
lable0
}()
// MARK: - 生命周期方法
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
leaveTopOp
)
,
name
:
Notification
.
Name
(
rawValue
:
"leaveTop0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
beginDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
endDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
scrDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidToTop"
),
object
:
nil
)
//1.UI
initView
()
//2.网络请求
loadData
()
// updateDefaultSearchKeyWord()
}
// func updateDefaultSearchKeyWord() {
// var placeHolder = "香港身份"
// if isHaveLocalSearchRecords() {
// let latestValidSearchWord = getLatestValidSearchWord()
// if !latestValidSearchWord.isEmpty {
// placeHolder = latestValidSearchWord
// }
// }
//// tableHeadView.searchPlaceHolder = placeHolder
// }
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
myCellHeight
)
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
// updateDefaultSearchKeyWord()
}
}
// MARK: - 私有方法
extension
YHHKIdentityCardViewController
{
func
loadData
()
{
self
.
tableHeadView
.
bannarView
.
dataArr
=
[
YHBannerModel
.
localDefaultItem
()]
homeViewModel
.
getHomeBanner
(
1
){[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
tableHeadView
.
bannarView
.
dataArr
=
self
.
homeViewModel
.
banners
??
[
YHBannerModel
.
localDefaultItem
()]
}
}
private
func
initView
()
{
gk_navigationBar
.
isHidden
=
true
homeTableView
.
delegate
=
self
homeTableView
.
dataSource
=
self
view
.
addSubview
(
homeTableView
)
homeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
tableHeadView
=
YHServerTableHeadView
()
tableHeadView
.
titleLabel
.
text
=
"香港身份攻略"
tableHeadView
.
frame
=
CGRect
(
x
:
0
,
y
:
-
YHServerTableHeadView
.
viewH
-
48
,
width
:
KScreenWidth
,
height
:
YHServerTableHeadView
.
viewH
)
homeTableView
.
tableHeaderView
=
tableHeadView
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHHKIdentityCardViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
myCellHeight
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
UITableViewCell
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
cell
.
contentView
.
bounds
.
size
.
width
,
height
:
myCellHeight
)
cell
.
contentView
.
addSubview
(
cellView
.
view
)
cellView
.
view
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalTo
(
0
)
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
}
}
extension
YHHKIdentityCardViewController
:
UIScrollViewDelegate
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
bottomCellOffset
:
CGFloat
=
homeTableView
.
rect
(
forSection
:
0
)
.
origin
.
y
if
(
scrollView
.
contentOffset
.
y
>=
bottomCellOffset
)
{
scrollView
.
contentOffset
=
CGPointMake
(
0
,
bottomCellOffset
)
if
canScroll
==
true
{
canScroll
=
false
//传递参数到 子VC
cellView
.
canScroll
=
true
}
canScroll
=
false
//传递参数到 子VC
cellView
.
canScroll
=
true
}
else
{
if
canScroll
==
false
{
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
bottomCellOffset
)
}
}
self
.
homeTableView
.
showsVerticalScrollIndicator
=
false
}
}
extension
YHHKIdentityCardViewController
{
@objc
func
leaveTopOp
()
{
canScroll
=
true
}
@objc
func
beginDragging
()
{
homeTableView
.
isScrollEnabled
=
false
canScroll
=
false
}
@objc
func
endDragging
()
{
homeTableView
.
isScrollEnabled
=
true
canScroll
=
true
}
@objc
func
scrDragging
()
{
homeTableView
.
setContentOffset
(
CGPoint
(
x
:
0
,
y
:
365
),
animated
:
true
)
}
}
extension
YHHKIdentityCardViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHHKLifeViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHHKLifeViewController.swift
// galaxy
//
// Created by EDY on 2024/6/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHHKLifeViewController
:
YHBaseViewController
{
let
homeViewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
tableHeadView
:
YHServerTableHeadView
!
var
orderId
:
Int
?
var
canScroll
:
Bool
=
true
var
myCellHeight
:
CGFloat
{
get
{
return
view
.
bounds
.
size
.
height
}
}
var
myDefaultIndex
:
Int
=
0
{
didSet
{
DispatchQueue
.
global
()
.
asyncAfter
(
wallDeadline
:
.
now
()
)
{[
weak
self
]
in
DispatchQueue
.
main
.
async
{
self
?
.
cellView
.
myDefaultNavItemIndex
=
self
?
.
myDefaultIndex
??
0
}
}
}
}
lazy
var
cellView
:
YHHKControllerHoldViewController
=
{
let
ttt
=
YHHKControllerHoldViewController
()
ttt
.
classID
=
2
return
ttt
}()
var
homeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
return
tableView
}()
var
myHeadView
:
UIView
=
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
kMargin
,
y
:
0
,
width
:
KScreenWidth
,
height
:
365
))
view
.
backgroundColor
=
.
white
return
view
}()
//头像
private
lazy
var
headImagV
:
UIImageView
=
{
let
imageV
=
UIImageView
(
image
:
UIImage
(
named
:
"mine_head_default"
))
imageV
.
contentMode
=
.
scaleAspectFill
imageV
.
layer
.
cornerRadius
=
26.5
imageV
.
clipsToBounds
=
true
imageV
.
layer
.
borderWidth
=
2
imageV
.
layer
.
borderColor
=
UIColor
.
white
.
cgColor
return
imageV
}()
//姓名
private
lazy
var
nameLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
mainTextColor
lable0
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
19
)
return
lable0
}()
//电话号码
private
lazy
var
phoneLable
:
UILabel
=
{
let
lable0
=
UILabel
(
text
:
""
)
lable0
.
textColor
=
UIColor
.
labelTextColor2
lable0
.
font
=
UIFont
.
PFSC_R
(
ofSize
:
14
)
return
lable0
}()
// MARK: - 生命周期方法
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
leaveTopOp
)
,
name
:
Notification
.
Name
(
rawValue
:
"leaveTop0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
beginDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewWillBeginDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
endDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidEndDragging0"
),
object
:
nil
)
NotificationCenter
.
default
.
addObserver
(
self
,
selector
:
#selector(
scrDragging
)
,
name
:
Notification
.
Name
(
rawValue
:
"scrollViewDidToTop"
),
object
:
nil
)
//1.UI
initView
()
//2.网络请求
loadData
()
// updateDefaultSearchKeyWord()
}
// func updateDefaultSearchKeyWord() {
// var placeHolder = "香港生活"
// if isHaveLocalSearchRecords() {
// let latestValidSearchWord = getLatestValidSearchWord()
// if !latestValidSearchWord.isEmpty {
// placeHolder = latestValidSearchWord
// }
// }
//// tableHeadView.searchPlaceHolder = placeHolder
// }
override
func
viewDidLayoutSubviews
()
{
super
.
viewDidLayoutSubviews
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
myCellHeight
)
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
// updateDefaultSearchKeyWord()
}
}
// MARK: - 私有方法
extension
YHHKLifeViewController
{
func
loadData
()
{
self
.
tableHeadView
.
bannarView
.
dataArr
=
[
YHBannerModel
.
localDefaultItem
()]
homeViewModel
.
getHomeBanner
(
2
){[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
tableHeadView
.
bannarView
.
dataArr
=
self
.
homeViewModel
.
banners
??
[
YHBannerModel
.
localDefaultItem
()]
}
}
private
func
initView
()
{
gk_navigationBar
.
isHidden
=
true
homeTableView
.
delegate
=
self
homeTableView
.
dataSource
=
self
view
.
addSubview
(
homeTableView
)
homeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
tableHeadView
=
YHServerTableHeadView
()
tableHeadView
.
titleLabel
.
text
=
"香港生活攻略"
tableHeadView
.
frame
=
CGRect
(
x
:
0
,
y
:
-
YHServerTableHeadView
.
viewH
-
48
,
width
:
KScreenWidth
,
height
:
YHServerTableHeadView
.
viewH
)
homeTableView
.
tableHeaderView
=
tableHeadView
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHHKLifeViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0.001
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
0.001
))
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
myCellHeight
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
UITableViewCell
()
cellView
.
view
.
frame
=
CGRect
(
x
:
0
,
y
:
0
,
width
:
cell
.
contentView
.
bounds
.
size
.
width
,
height
:
myCellHeight
)
cell
.
contentView
.
addSubview
(
cellView
.
view
)
cellView
.
view
.
snp
.
makeConstraints
{
make
in
make
.
edges
.
equalTo
(
0
)
}
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
}
}
extension
YHHKLifeViewController
:
UIScrollViewDelegate
{
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
bottomCellOffset
:
CGFloat
=
homeTableView
.
rect
(
forSection
:
0
)
.
origin
.
y
if
(
scrollView
.
contentOffset
.
y
>=
bottomCellOffset
)
{
scrollView
.
contentOffset
=
CGPointMake
(
0
,
bottomCellOffset
)
if
canScroll
==
true
{
canScroll
=
false
//传递参数到 子VC
cellView
.
canScroll
=
true
}
canScroll
=
false
//传递参数到 子VC
cellView
.
canScroll
=
true
}
else
{
if
canScroll
==
false
{
scrollView
.
contentOffset
=
CGPoint
(
x
:
0
,
y
:
bottomCellOffset
)
}
}
self
.
homeTableView
.
showsVerticalScrollIndicator
=
false
}
}
extension
YHHKLifeViewController
{
@objc
func
leaveTopOp
()
{
canScroll
=
true
}
@objc
func
beginDragging
()
{
homeTableView
.
isScrollEnabled
=
false
canScroll
=
false
}
@objc
func
endDragging
()
{
homeTableView
.
isScrollEnabled
=
true
canScroll
=
true
}
@objc
func
scrDragging
()
{
homeTableView
.
setContentOffset
(
CGPoint
(
x
:
0
,
y
:
365
),
animated
:
true
)
}
}
extension
YHHKLifeViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServerHKLifeViewController.swift
deleted
100644 → 0
View file @
12200d02
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceCenterSecondViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHServiceCenterSecondViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/1/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
//服务中心
class
YHServiceCenterSecondViewController
:
YHBaseViewController
{
var
orderId
:
Int
=
0
var
mobile
:
String
?
private
let
serviceCenterMainReqVM
:
YHServiceCenterMainViewModel
=
YHServiceCenterMainViewModel
()
private
var
unfoldFlag
:
Bool
=
true
//是否展开
private
lazy
var
downArrowImagev
:
UIImageView
=
{
let
imagV
=
UIImageView
(
frame
:
CGRect
(
x
:
KScreenWidth
-
16
-
32
,
y
:
17
,
width
:
16
,
height
:
16
))
imagV
.
image
=
UIImage
(
named
:
"service_center_down_arrow"
)
imagV
.
contentMode
=
.
scaleAspectFill
return
imagV
}()
private
lazy
var
topBkg
:
UIView
=
{
let
imagV
=
UIImageView
()
imagV
.
image
=
UIImage
(
named
:
"service_center_head_bkg"
)
imagV
.
contentMode
=
.
scaleAspectFill
return
imagV
}()
var
homeTableView
:
UITableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
grouped
)
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
showsHorizontalScrollIndicator
=
false
tableView
.
showsVerticalScrollIndicator
=
false
tableView
.
register
(
YHContractMainItemStatusCell
.
self
,
forCellReuseIdentifier
:
YHContractMainItemStatusCell
.
cellReuseIdentifier
)
return
tableView
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData2
()
loadData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
loadData
()
}
}
extension
YHServiceCenterSecondViewController
{
func
loadData2
()
{
self
.
serviceCenterMainReqVM
.
getPersonInfoFillStep
(
params
:
[
"orderId"
:
orderId
])
{
success
,
error
in
}
}
func
loadData
()
{
self
.
serviceCenterMainReqVM
.
getContactStatus
(
params
:
[
"orderId"
:
orderId
])
{
success
,
error
in
self
.
homeTableView
.
reloadData
()
}
}
func
setupUI
()
{
gk_navTitle
=
"服务中心"
gk_navBarAlpha
=
1.0
gk_navLineHidden
=
false
view
.
addSubview
(
topBkg
)
topBkg
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
right
.
equalToSuperview
()
make
.
height
.
equalTo
(
216
)
}
homeTableView
.
delegate
=
self
homeTableView
.
dataSource
=
self
view
.
addSubview
(
homeTableView
)
homeTableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
}
@objc
func
clickUnfoldView
()
{
unfoldFlag
=
!
unfoldFlag
if
unfoldFlag
==
true
{
UIView
.
animate
(
withDuration
:
0.25
)
{
self
.
downArrowImagev
.
transform
=
CGAffineTransform
.
identity
}
}
else
{
UIView
.
animate
(
withDuration
:
0.25
)
{
self
.
downArrowImagev
.
transform
=
CGAffineTransform
(
rotationAngle
:
.
pi
)
}
}
homeTableView
.
reloadSections
(
IndexSet
(
integer
:
0
),
with
:
UITableView
.
RowAnimation
.
automatic
)
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHServiceCenterSecondViewController
:
UITableViewDelegate
,
UITableViewDataSource
{
func
numberOfSections
(
in
tableView
:
UITableView
)
->
Int
{
return
1
}
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
if
unfoldFlag
==
true
{
return
self
.
serviceCenterMainReqVM
.
arrContactStausItmes
.
count
}
return
0
}
func
tableView
(
_
tableView
:
UITableView
,
heightForHeaderInSection
section
:
Int
)
->
CGFloat
{
return
40
}
func
tableView
(
_
tableView
:
UITableView
,
viewForHeaderInSection
section
:
Int
)
->
UIView
?
{
let
view
=
UIView
(
frame
:
CGRect
(
x
:
0
,
y
:
0
,
width
:
KScreenWidth
,
height
:
40
))
view
.
backgroundColor
=
.
clear
let
lable
=
UILabel
(
frame
:
CGRect
(
x
:
16
,
y
:
0
,
width
:
200
,
height
:
40
))
lable
.
text
=
"身份申请"
lable
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
17
)
lable
.
textColor
=
.
mainTextColor
view
.
addSubview
(
lable
)
lable
.
snp
.
makeConstraints
{
make
in
make
.
top
.
bottom
.
equalToSuperview
()
make
.
left
.
equalTo
(
kMargin
)
}
view
.
addSubview
(
downArrowImagev
)
downArrowImagev
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalToSuperview
()
make
.
right
.
equalTo
(
-
kMargin
)
make
.
width
.
height
.
equalTo
(
16
)
}
let
tap
=
UITapGestureRecognizer
(
target
:
self
,
action
:
#selector(
clickUnfoldView
)
)
view
.
addGestureRecognizer
(
tap
)
return
view
}
func
tableView
(
_
tableView
:
UITableView
,
heightForFooterInSection
section
:
Int
)
->
CGFloat
{
return
0
}
func
tableView
(
_
tableView
:
UITableView
,
viewForFooterInSection
section
:
Int
)
->
UIView
?
{
return
UIView
()
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
return
YHContractMainItemStatusCell
.
cellHeight
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
newCell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHContractMainItemStatusCell
.
self
)
newCell
.
selectionStyle
=
.
none
newCell
.
dataModel
=
self
.
serviceCenterMainReqVM
.
arrContactStausItmes
[
indexPath
.
row
]
return
newCell
}
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
tableView
.
deselectRow
(
at
:
indexPath
,
animated
:
true
)
let
model
=
self
.
serviceCenterMainReqVM
.
arrContactStausItmes
[
indexPath
.
row
]
if
model
.
type
==
1
{
if
self
.
serviceCenterMainReqVM
.
informationFillStepModel
?
.
sweet_notify_status
==
0
{
self
.
showTipsAlert
()
return
}
let
vc
=
YHInformationPerfectListVC
()
vc
.
orderId
=
orderId
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
2
{
let
vc
=
YHMineCertificateEntryViewController
()
vc
.
orderId
=
orderId
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
3
{
let
vc
=
YHScoreDetailViewController
()
vc
.
orderId
=
orderId
vc
.
model
=
serviceCenterMainReqVM
.
allInfoScoreModel
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
4
{
let
vc
=
YHMyDocumentsListViewController
()
vc
.
orderId
=
orderId
vc
.
mobile
=
mobile
??
""
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
5
{
let
vc
=
YHMySignatureListViewController
()
vc
.
orderId
=
orderId
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
6
{
let
vc
=
YHMineSchemeViewController
()
navigationController
?
.
pushViewController
(
vc
)
}
else
{
}
}
}
private
extension
YHServiceCenterSecondViewController
{
func
showTipsAlert
()
{
YHInformationFillTipsAlertView
.
showCheckView
{
agree
in
if
agree
==
true
{
printLog
(
"点击了 确认 按钮"
)
self
.
submitSweetNotify
()
}
else
{
printLog
(
"点击了 取消 按钮"
)
}
}
}
func
submitSweetNotify
()
{
let
params
=
[
"option"
:
1
,
"order_id"
:
orderId
]
serviceCenterMainReqVM
.
submitSweetNotifyOp
(
params
:
params
as
[
String
:
Any
])
{
success
,
error
in
if
success
==
true
{
YHInformationFillTipsAlertView
.
hideCheckView
()
self
.
loadData2
()
let
vc
=
YHInformationPerfectListVC
()
vc
.
orderId
=
self
.
orderId
self
.
navigationController
?
.
pushViewController
(
vc
)
}
else
{
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
"发生错误,请重试"
)
}
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHServiceListViewController.swift
deleted
100644 → 0
View file @
12200d02
//
// YHServiceListViewController.swift
// galaxy
//
// Created by EDY on 2024/4/8.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
JXSegmentedView
class
YHServiceListViewController
:
YHBaseViewController
{
let
homeViewModel
:
YHHomePageViewModel
=
YHHomePageViewModel
()
var
tableHeadView
:
YHServerTableHeadView
!
var
tableFootView
:
YHServiceTableFootView
!
var
sectionView
:
YHServiceSectionView
!
var
classId
:
Int
=
0
var
cell
:
YHServerHKLifeViewCell
!
var
dataSouce
:
[
YHHomeListModel
?]
=
[]
{
didSet
{
homeCollectView
.
reloadData
()
}
}
lazy
var
homeCollectView
=
{
// 设置布局方向
let
flowLayout
=
YHHomeCollectionLayout
()
flowLayout
.
minimumInteritemSpacing
=
7.0
flowLayout
.
minimumColumnSpacing
=
7.0
flowLayout
.
sectionInset
=
UIEdgeInsets
(
top
:
8
,
left
:
20
,
bottom
:
0
,
right
:
20
)
let
collectinoView
=
UICollectionView
(
frame
:
.
zero
,
collectionViewLayout
:
flowLayout
)
collectinoView
.
backgroundColor
=
.
white
collectinoView
.
register
(
YHHomeCollectionViewCell
.
self
,
forCellWithReuseIdentifier
:
YHHomeCollectionViewCell
.
cellReuseIdentifier
)
collectinoView
.
delegate
=
self
collectinoView
.
dataSource
=
self
collectinoView
.
translatesAutoresizingMaskIntoConstraints
=
false
collectinoView
.
alwaysBounceVertical
=
true
return
collectinoView
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
loadData
()
}
}
extension
YHServiceListViewController
{
func
loadData
()
{
self
.
tableHeadView
.
bannarView
.
dataArr
=
[
YHBannerModel
.
localDefaultItem
()]
homeViewModel
.
getHomeBanner
(
1
){[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
tableHeadView
.
bannarView
.
dataArr
=
self
.
homeViewModel
.
banners
??
[
YHBannerModel
.
localDefaultItem
()]
}
homeViewModel
.
getHomeClassify
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
,
let
classify
=
self
.
homeViewModel
.
classify
else
{
return
}
for
item
in
classify
{
let
model
=
item
as
YHHomeClassifyModel
if
model
.
id
==
1
{
self
.
sectionView
.
items
=
model
.
children
if
self
.
classId
==
0
{
let
classifyID
=
model
.
children
.
first
?
.
id
??
0
self
.
classId
=
classifyID
self
.
homeViewModel
.
getList
(
true
,
classifyID
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
dataSouce
=
self
.
homeViewModel
.
arrHomeNewsData
??
[]
if
self
.
homeViewModel
.
hasMoreForHomeNews
==
false
{
self
.
homeCollectView
.
es
.
noticeNoMoreData
()
}
}
}
}
}
}
}
func
setupUI
()
{
gk_navBarAlpha
=
0
gk_navigationBar
.
isHidden
=
true
view
.
backgroundColor
=
.
white
sectionView
=
{
let
view
=
YHServiceSectionView
()
view
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
homeCollectView
.
es
.
resetNoMoreData
()
if
homeCollectView
.
contentOffset
.
y
>
-
48
{
self
.
homeCollectView
.
setContentOffset
(
CGPoint
(
x
:
0
,
y
:
-
48
),
animated
:
false
)
}
self
.
classId
=
model
.
id
self
.
homeViewModel
.
getList
(
true
,
model
.
id
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
dataSouce
=
self
.
homeViewModel
.
arrHomeNewsData
??
[]
if
self
.
homeViewModel
.
hasMoreForHomeNews
==
false
{
self
.
homeCollectView
.
es
.
noticeNoMoreData
()
}
}
}
return
view
}()
view
.
addSubview
(
homeCollectView
)
homeCollectView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
left
.
right
.
equalToSuperview
()
make
.
bottom
.
equalToSuperview
()
}
tableHeadView
=
YHServerTableHeadView
()
tableHeadView
.
titleLabel
.
text
=
"香港身份攻略"
tableHeadView
.
frame
=
CGRect
(
x
:
0
,
y
:
-
YHServerTableHeadView
.
viewH
-
48
,
width
:
KScreenWidth
,
height
:
YHServerTableHeadView
.
viewH
)
sectionView
.
frame
=
CGRect
(
x
:
0
,
y
:
-
YHServiceSectionView
.
viewH
,
width
:
KScreenWidth
,
height
:
YHServiceSectionView
.
viewH
)
homeCollectView
.
addSubview
(
tableHeadView
)
homeCollectView
.
addSubview
(
sectionView
)
homeCollectView
.
contentInset
=
UIEdgeInsets
(
top
:
YHServerTableHeadView
.
viewH
+
YHServiceSectionView
.
viewH
,
left
:
0
,
bottom
:
0
,
right
:
0
)
homeCollectView
.
delegate
=
self
homeCollectView
.
dataSource
=
self
homeCollectView
.
es
.
addInfiniteScrolling
{
self
.
loadMoreData
()
}
}
func
loadMoreData
()
{
self
.
homeViewModel
.
getList
(
false
,
self
.
classId
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
DispatchQueue
.
main
.
asyncAfter
(
wallDeadline
:
.
now
()
+
0.35
,
execute
:
{
CATransaction
.
setDisableActions
(
true
)
self
.
dataSouce
=
self
.
homeViewModel
.
arrHomeNewsData
??
[]
CATransaction
.
commit
()
self
.
homeCollectView
.
es
.
stopLoadingMore
()
if
self
.
homeViewModel
.
hasMoreForHomeNews
==
false
{
self
.
homeCollectView
.
es
.
noticeNoMoreData
()
}
})
}
}
}
extension
YHServiceListViewController
:
UICollectionViewDelegate
,
UICollectionViewDataSource
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
numberOfItemsInSection
section
:
Int
)
->
Int
{
return
self
.
dataSouce
.
count
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
cellForItemAt
indexPath
:
IndexPath
)
->
UICollectionViewCell
{
let
cell
=
collectionView
.
dequeueReusableCell
(
withReuseIdentifier
:
YHHomeCollectionViewCell
.
cellReuseIdentifier
,
for
:
indexPath
)
as!
YHHomeCollectionViewCell
cell
.
listModel
=
self
.
dataSouce
[
indexPath
.
row
]
return
cell
}
func
collectionView
(
_
collectionView
:
UICollectionView
,
didSelectItemAt
indexPath
:
IndexPath
)
{
guard
let
model
=
self
.
dataSouce
[
indexPath
.
row
]
else
{
return
}
if
model
.
type
==
2
{
let
vc
=
YHHomeWebViewController
()
vc
.
url
=
YHBaseUrlManager
.
shared
.
curH5URL
()
+
"articleDetail.html"
+
"?id=
\(
model
.
id
)
"
vc
.
id
=
model
.
id
vc
.
block
=
{
item
in
let
arr
=
self
.
dataSouce
for
(
index
,
targetItem
)
in
arr
.
enumerated
()
{
guard
let
target
=
targetItem
else
{
return
}
if
target
.
id
==
item
.
id
{
target
.
is_like
=
item
.
is_like
target
.
like_count
=
item
.
like_count
self
.
homeCollectView
.
reloadItems
(
at
:
[
IndexPath
.
SubSequence
(
item
:
index
,
section
:
0
)])
}
}
}
self
.
navigationController
?
.
pushViewController
(
vc
)
}
else
if
model
.
type
==
1
{
printLog
(
"直接播放视频"
)
}
}
func
scrollViewDidScroll
(
_
scrollView
:
UIScrollView
)
{
let
offset
=
scrollView
.
contentOffset
.
y
if
offset
>
-
48
{
sectionView
.
frame
.
origin
.
y
=
offset
}
else
{
sectionView
.
frame
.
origin
.
y
=
-
48
}
}
}
extension
YHServiceListViewController
:
CollectionViewWaterfallLayoutDelegate
{
func
collectionView
(
_
collectionView
:
UICollectionView
,
layout
:
UICollectionViewLayout
,
sizeForItemAtIndexPath
indexPath
:
NSIndexPath
)
->
CGSize
{
guard
let
model
=
self
.
dataSouce
[
indexPath
.
row
]
else
{
return
CGSize
.
zero
}
return
CGSize
(
width
:
model
.
img_width_cell
,
height
:
model
.
img_height_cell
)
}
}
//JXSegmentedListContainerViewListDelegate
extension
YHServiceListViewController
:
JXSegmentedListContainerViewListDelegate
{
func
listView
()
->
UIView
{
return
view
}
}
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