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
578d4e5b
Commit
578d4e5b
authored
Feb 22, 2024
by
Steven杜宇
1
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' into duyu
parents
cacb95e4
d24da1b5
Changes
34
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
34 changed files
with
993 additions
and
128 deletions
+993
-128
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+36
-0
YHWorkExampleViewController.swift
...ss(流程)/WorkExperience/C/YHWorkExampleViewController.swift
+149
-0
YHWorkExperienceListViewController.swift
...WorkExperience/C/YHWorkExperienceListViewController.swift
+27
-2
YHWorkExperienceViewController.swift
...流程)/WorkExperience/C/YHWorkExperienceViewController.swift
+19
-0
YHWorkIntroductionViewController.swift
...)/WorkExperience/C/YHWorkIntroductionViewController.swift
+15
-0
YHWorkExampleModel.swift
...Process(流程)/WorkExperience/Model/YHWorkExampleModel.swift
+18
-0
YHWorkItemListModel.swift
...rocess(流程)/WorkExperience/Model/YHWorkItemListModel.swift
+17
-11
YHWorkActionView.swift
...erviceProcess(流程)/WorkExperience/V/YHWorkActionView.swift
+5
-1
YHWorkExampleMessageTableViewCell.swift
.../WorkExperience/V/YHWorkExampleMessageTableViewCell.swift
+125
-0
YHWorkExampleMessageView.swift
...ocess(流程)/WorkExperience/V/YHWorkExampleMessageView.swift
+135
-0
YHWorkExampleTypeView.swift
...eProcess(流程)/WorkExperience/V/YHWorkExampleTypeView.swift
+96
-0
YHWorkExperienceListTableViewCell.swift
.../WorkExperience/V/YHWorkExperienceListTableViewCell.swift
+35
-15
YHWorkFileItemView.swift
...viceProcess(流程)/WorkExperience/V/YHWorkFileItemView.swift
+1
-1
YHWorkHighlightsTableViewCell.swift
...(流程)/WorkExperience/V/YHWorkHighlightsTableViewCell.swift
+8
-1
YHWorkIntroductionItemView.swift
...ess(流程)/WorkExperience/V/YHWorkIntroductionItemView.swift
+7
-8
YHWorkItemView.swift
.../ServiceProcess(流程)/WorkExperience/V/YHWorkItemView.swift
+36
-15
YHWorkResponsibilitiesTableViewCell.swift
...orkExperience/V/YHWorkResponsibilitiesTableViewCell.swift
+8
-0
YHWorkExperienceViewModel.swift
.../WorkExperience/ViewModel/YHWorkExperienceViewModel.swift
+25
-1
YHWorkIntroductionViewModel.swift
...orkExperience/ViewModel/YHWorkIntroductionViewModel.swift
+41
-0
YHWorkItemListViewModel.swift
...程)/WorkExperience/ViewModel/YHWorkItemListViewModel.swift
+39
-4
YHCodeSueecssViewController.swift
...ses/Modules/Login(登录)/C/YHCodeSueecssViewController.swift
+22
-4
YHPhoneLoginViewController.swift
...sses/Modules/Login(登录)/C/YHPhoneLoginViewController.swift
+26
-6
YHUserModel.swift
galaxy/galaxy/Classes/Modules/Login(登录)/M/YHUserModel.swift
+9
-16
YHLoginManager.swift
...axy/Classes/Modules/Login(登录)/Server/YHLoginManager.swift
+24
-0
YHPhoneMessageView.swift
...laxy/Classes/Modules/Login(登录)/V/YHPhoneMessageView.swift
+9
-0
YHLoginViewModel.swift
...alaxy/Classes/Modules/Login(登录)/VM/YHLoginViewModel.swift
+16
-10
String+Extension.swift
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
+0
-32
YHNetRequest.swift
galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
+1
-1
Contents.json
...rviceCenter/工作经验/work_example_back.imageset/Contents.json
+22
-0
work_example_back@2x.png
.../工作经验/work_example_back.imageset/work_example_back@2x.png
+0
-0
work_example_back@3x.png
.../工作经验/work_example_back.imageset/work_example_back@3x.png
+0
-0
Contents.json
...viceCenter/工作经验/work_example_close.imageset/Contents.json
+22
-0
work_example_close@2x.png
...作经验/work_example_close.imageset/work_example_close@2x.png
+0
-0
work_example_close@3x.png
...作经验/work_example_close.imageset/work_example_close@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
578d4e5b
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkExampleViewController.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkExampleViewController.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
enum
YHWorkExampleType
:
Int
{
case
wduty
=
0
case
highlight
=
1
case
introduction
=
2
}
class
YHWorkExampleViewController
:
YHBaseViewController
{
var
closeButton
:
UIButton
!
var
titleLabel
:
UILabel
!
var
lineView
:
UIView
!
var
typeView
:
YHWorkExampleTypeView
!
var
messageView
:
YHWorkExampleMessageView
!
var
dataSource
:
[
YHWorkExampleModel
]?
var
type
:
YHWorkExampleType
=
.
wduty
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setView
()
gk_navBackgroundColor
=
.
clear
gk_navShadowColor
=
.
clear
gk_navigationBar
.
isHidden
=
true
getData
()
}
func
setView
()
{
view
.
backgroundColor
=
.
white
closeButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setImage
(
UIImage
(
named
:
"work_example_close"
),
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
close
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
closeButton
)
closeButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
21
)
make
.
top
.
equalTo
(
16
)
make
.
width
.
height
.
equalTo
(
24
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
text
=
"参考示例"
label
.
font
=
kBoldFont
(
size
:
17
)
label
.
textColor
=
UIColor
(
hex
:
0x222222
)
label
.
textAlignment
=
.
center
return
label
}()
view
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
24
)
make
.
right
.
equalTo
(
-
24
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
24
)
}
lineView
=
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
(
hex
:
0xf0f0f0
)
return
line
}()
view
.
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
21
)
make
.
top
.
equalTo
(
52
)
make
.
height
.
equalTo
(
1
)
}
typeView
=
{
let
view
=
YHWorkExampleTypeView
()
view
.
dataSource
=
self
.
getData
()
view
.
isHidden
=
false
view
.
exampleBlock
=
{[
weak
self
]
index
in
guard
let
self
=
self
else
{
return
}
view
.
isHidden
=
true
self
.
messageView
.
isHidden
=
false
self
.
messageView
.
titleLabel
.
text
=
self
.
getExampleTitle
(
index
:
index
)
self
.
messageView
.
dataSource
=
self
.
getExampleArray
(
index
:
index
)
}
return
view
}()
view
.
addSubview
(
typeView
)
typeView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
53
)
make
.
height
.
equalTo
(
KScreenHeight
-
150
)
}
messageView
=
{
let
view
=
YHWorkExampleMessageView
()
view
.
backBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
view
.
isHidden
=
true
self
.
typeView
.
isHidden
=
false
}
view
.
isHidden
=
true
return
view
}()
view
.
addSubview
(
messageView
)
messageView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
53
)
make
.
height
.
equalTo
(
KScreenHeight
-
150
)
}
}
func
getData
()
->
[
String
]
{
var
array
:
[
String
]
=
[]
guard
let
dataSource
=
dataSource
else
{
return
[]}
for
item
in
dataSource
{
array
.
append
(
item
.
industry
??
""
)
}
return
array
}
func
getExampleArray
(
index
:
Int
)
->
[
String
]
{
if
type
==
.
wduty
{
return
dataSource
?[
index
]
.
wduty_list
??
[]
}
else
if
type
==
.
highlight
{
return
dataSource
?[
index
]
.
highlights_list
??
[]
}
return
dataSource
?[
index
]
.
template
??
[]
}
func
getExampleTitle
(
index
:
Int
)
->
String
{
return
dataSource
?[
index
]
.
industry
??
""
}
@objc
func
getCode
()
{
}
@objc
func
close
()
{
self
.
dismiss
(
animated
:
true
)
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkExperienceListViewController.swift
View file @
578d4e5b
...
...
@@ -14,6 +14,7 @@ class YHWorkExperienceListViewController: YHBaseViewController {
var
tableView
:
UITableView
!
var
dataSource
:
[
YHWorkItemListModel
]?
var
viewModel
:
YHWorkItemListViewModel
?
var
isMore
:
Bool
=
false
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
...
...
@@ -25,8 +26,11 @@ class YHWorkExperienceListViewController: YHBaseViewController {
}
func
getData
()
{
dataSource
=
viewModel
?
.
getBaseDataSource
()
updateDataSource
()
viewModel
?
.
requestWorkList
(
"133969"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
dataSource
=
success
self
.
tableView
.
reloadData
()
})
}
func
updateDataSource
()
{
...
...
@@ -99,6 +103,27 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkExperienceListTableViewCell
.
self
)
cell
.
dataSource
=
dataSource
if
isMore
{
cell
.
more
()
}
else
{
cell
.
cannal
()
}
cell
.
clickBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
let
vc
=
YHWorkExperienceViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
cell
.
deleteBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
self
.
viewModel
?
.
requestDeleteWorkExperience
(
"
\(
model
.
id
??
0
)
"
,
callBackBlock
:
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
self
.
getData
()
})
}
cell
.
isMoreBlock
=
{[
weak
self
]
isMore
in
guard
let
self
=
self
else
{
return
}
self
.
isMore
=
isMore
}
return
cell
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkExperienceViewController.swift
View file @
578d4e5b
...
...
@@ -27,6 +27,9 @@ class YHWorkExperienceViewController: YHBaseViewController {
}
func
getData
()
{
viewModel
.
requestWorkExample
{
success
,
error
in
}
updateDataSource
()
}
...
...
@@ -117,9 +120,25 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
if
stepView
.
currentIndex
==
1
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkResponsibilitiesTableViewCell
.
self
)
cell
.
exampleBlock
=
{[
weak
self
]
in
let
mainVc
=
YHWorkExampleViewController
()
mainVc
.
dataSource
=
self
?
.
viewModel
.
exampleModels
mainVc
.
type
=
.
wduty
let
vc
=
UINavigationController
(
rootVC
:
mainVc
)
vc
.
modalPresentationStyle
=
.
pageSheet
self
?
.
navigationController
?
.
present
(
vc
,
animated
:
true
)
}
return
cell
}
else
if
stepView
.
currentIndex
==
2
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkHighlightsTableViewCell
.
self
)
cell
.
exampleBlock
=
{[
weak
self
]
in
let
mainVc
=
YHWorkExampleViewController
()
mainVc
.
dataSource
=
self
?
.
viewModel
.
exampleModels
mainVc
.
type
=
.
highlight
let
vc
=
UINavigationController
(
rootVC
:
mainVc
)
vc
.
modalPresentationStyle
=
.
pageSheet
self
?
.
navigationController
?
.
present
(
vc
,
animated
:
true
)
}
return
cell
}
else
if
stepView
.
currentIndex
==
3
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkIntroductionTableViewCell
.
self
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkIntroductionViewController.swift
View file @
578d4e5b
...
...
@@ -17,16 +17,22 @@ class YHWorkIntroductionViewController: YHBaseViewController {
var
actionView
:
YHWorkActionView
!
var
bottomView
:
UIView
!
var
bottomButton
:
UIButton
!
var
viewModel
:
YHWorkIntroductionViewModel
?
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
gk_navTitle
=
"工作经验信息填写"
viewModel
=
YHWorkIntroductionViewModel
()
setView
()
getData
()
// Do any additional setup after loading the view.
}
func
getData
()
{
viewModel
?
.
requestIntroducetionExample
(
callBackBlock
:
{
success
,
error
in
})
}
func
setView
()
{
...
...
@@ -171,6 +177,15 @@ class YHWorkIntroductionViewController: YHBaseViewController {
}
actionView
=
{
let
view
=
YHWorkActionView
()
view
.
exampleBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
let
mainVc
=
YHWorkExampleViewController
()
mainVc
.
dataSource
=
self
.
viewModel
?
.
introducetionExampleModels
mainVc
.
type
=
.
introduction
let
vc
=
UINavigationController
(
rootVC
:
mainVc
)
vc
.
modalPresentationStyle
=
.
pageSheet
self
.
navigationController
?
.
present
(
vc
,
animated
:
true
)
}
return
view
}()
view
.
addSubview
(
actionView
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/Model/YHWorkExampleModel.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkExampleModel.swift
// galaxy
//
// Created by EDY on 2024/2/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
struct
YHWorkExampleModel
:
SmartCodable
{
var
type
:
Int
?
var
industry
:
String
?
var
wduty_list
:
[
String
]?
var
highlights_list
:
[
String
]?
var
template
:
[
String
]?
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/Model/YHWorkItemListModel.swift
View file @
578d4e5b
...
...
@@ -7,17 +7,23 @@
//
import
UIKit
import
SmartCodable
struct
YHWorkItemListModel
{
var
title
:
String
?
var
subTitle
:
String
?
var
message
:
String
?
var
isShowDelete
:
Bool
?
struct
YHWorkModel
:
SmartCodable
{
var
count
:
Int
?
var
list
:
[
YHWorkItemListModel
]?
}
struct
YHWorkItemListModel
:
SmartCodable
{
var
id
:
Int
?
var
order_id
:
Int
?
var
company_name
:
String
?
var
position
:
String
?
var
entry_time
:
String
?
var
departure_time
:
Bool
?
var
vacant_num
:
Int
?
init
(
title
:
String
?
=
nil
,
subTitle
:
String
?
=
nil
,
message
:
String
?
=
nil
,
isShowDelete
:
Bool
?
=
nil
)
{
self
.
title
=
title
self
.
subTitle
=
subTitle
self
.
message
=
message
self
.
isShowDelete
=
isShowDelete
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkActionView.swift
View file @
578d4e5b
...
...
@@ -9,6 +9,8 @@
import
UIKit
class
YHWorkActionView
:
UIView
{
typealias
ExampleBlock
=
()
->
()
var
exampleBlock
:
ExampleBlock
?
var
photoButton
:
UIButton
!
var
wxButton
:
UIButton
!
var
exampleButton
:
UIButton
!
...
...
@@ -82,6 +84,8 @@ class YHWorkActionView: UIView {
}
@objc
func
exampleClick
()
{
if
let
block
=
exampleBlock
{
block
()
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkExampleMessageTableViewCell.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkExampleMessageTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHWorkExampleMessageTableViewCell
:
UITableViewCell
{
typealias
IndexBlock
=
(
_
index
:
Int
)
->
()
var
indexBlock
:
IndexBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
useButton
:
UIButton
!
var
lineView
:
UIView
!
var
messageLabel
:
UILabel
!
var
dataSource
:
String
?{
didSet
{
updateAllViews
()
}
}
override
func
awakeFromNib
()
{
super
.
awakeFromNib
()
// Initialization code
}
override
func
setSelected
(
_
selected
:
Bool
,
animated
:
Bool
)
{
super
.
setSelected
(
selected
,
animated
:
animated
)
// Configure the view for the selected state
}
required
init
?(
coder
:
NSCoder
)
{
super
.
init
(
coder
:
coder
)
}
override
init
(
style
:
UITableViewCell
.
CellStyle
,
reuseIdentifier
:
String
?)
{
super
.
init
(
style
:
style
,
reuseIdentifier
:
reuseIdentifier
)
selectionStyle
=
.
none
setupUI
()
}
func
setupUI
()
{
backgroundColor
=
.
white
centerView
=
{
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
hex
:
0xf8f9fb
)
view
.
layer
.
cornerRadius
=
8
return
view
}()
contentView
.
addSubview
(
centerView
)
centerView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
21
)
make
.
top
.
equalTo
(
6
)
make
.
bottom
.
equalTo
(
-
6
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
kFont
(
size
:
14
)
label
.
text
=
"工作职责范例1"
label
.
textColor
=
UIColor
(
hex
:
0x222222
)
return
label
}()
centerView
.
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
20
)
make
.
right
.
equalTo
(
-
120
)
}
useButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
backgroundColor
=
UIColor
(
hex
:
0x2f7ef6
)
.
withAlphaComponent
(
0.08
)
button
.
titleLabel
?
.
font
=
kBoldFont
(
size
:
12
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"使用此模板"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0x2f7ef6
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
3
// button.addTarget(self, action: #selector(submit), for: .touchUpInside)
return
button
}()
centerView
.
addSubview
(
useButton
)
useButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
12
)
make
.
height
.
equalTo
(
27
)
make
.
width
.
equalTo
(
80
)
}
lineView
=
{
let
line
=
UIView
()
line
.
backgroundColor
=
UIColor
(
hex
:
0xf0f0f0
)
return
line
}()
centerView
.
addSubview
(
lineView
)
lineView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
47
)
make
.
height
.
equalTo
(
1
)
}
messageLabel
=
{
let
label
=
UILabel
()
label
.
numberOfLines
=
0
label
.
font
=
kFont
(
size
:
14
)
label
.
textColor
=
UIColor
(
hex
:
0x222222
)
return
label
}()
centerView
.
addSubview
(
messageLabel
)
messageLabel
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
59
)
make
.
left
.
equalTo
(
16
)
}
}
func
updateAllViews
()
{
messageLabel
.
text
=
dataSource
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkExampleMessageView.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkExampleMessageView.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHWorkExampleMessageView
:
UIView
{
typealias
ExampleBlock
=
(
_
message
:
String
)
->
()
typealias
BackBlock
=
()
->
()
var
exampleBlock
:
ExampleBlock
?
var
backBlock
:
BackBlock
?
var
backButton
:
UIButton
!
var
titleLabel
:
UILabel
!
var
tableView
:
UITableView
!
var
dataSource
:
[
String
]?{
didSet
{
updateView
()
}
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
backgroundColor
=
.
white
setUpView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setUpView
()
{
backButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setBackgroundImage
(
UIImage
(
named
:
"work_example_back"
),
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
back
)
,
for
:
.
touchUpInside
)
return
button
}()
addSubview
(
backButton
)
backButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
16
)
make
.
top
.
equalTo
(
20
)
make
.
height
.
width
.
equalTo
(
16
)
}
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
kBoldFont
(
size
:
16
)
label
.
text
=
"业务支援及人力资源"
label
.
textAlignment
=
.
left
label
.
textColor
=
UIColor
(
hex
:
0x222222
)
return
label
}()
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
backButton
.
snp
.
right
)
.
offset
(
6
)
make
.
centerY
.
equalTo
(
backButton
.
snp
.
centerY
)
make
.
right
.
equalTo
(
-
16
)
make
.
height
.
equalTo
(
23
)
}
tableView
=
{
let
tableView
=
UITableView
(
frame
:
.
zero
,
style
:
.
plain
)
if
#available(iOS 11.0, *)
{
tableView
.
contentInsetAdjustmentBehavior
=
.
never
}
tableView
.
backgroundColor
=
.
clear
tableView
.
separatorStyle
=
.
none
tableView
.
delegate
=
self
tableView
.
dataSource
=
self
tableView
.
register
(
cellWithClass
:
YHWorkExampleMessageTableViewCell
.
self
)
return
tableView
}()
addSubview
(
tableView
)
tableView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
50
)
make
.
left
.
right
.
bottom
.
equalToSuperview
()
}
}
func
updateView
()
{
tableView
.
reloadData
()
}
@objc
func
exampleClick
()
{
if
let
block
=
exampleBlock
{
block
(
""
)
}
}
@objc
func
back
()
{
if
let
block
=
backBlock
{
block
()
}
}
}
extension
YHWorkExampleMessageView
:
UITableViewDelegate
,
UITableViewDataSource
{
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
dataSource
?
.
count
??
0
}
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHWorkExampleMessageTableViewCell
.
self
)
cell
.
titleLabel
.
text
=
"范例
\(
indexPath
.
row
+
1
)
"
cell
.
dataSource
=
dataSource
?[
indexPath
.
row
]
return
cell
}
func
tableView
(
_
tableView
:
UITableView
,
heightForRowAt
indexPath
:
IndexPath
)
->
CGFloat
{
let
text
=
dataSource
?[
indexPath
.
row
]
// 要显示的文本内容
let
font
=
UIFont
.
systemFont
(
ofSize
:
14
)
// 字体大小
let
maxWidth
=
KScreenWidth
-
74
// 最大宽度限制
// 创建NSAttributedString对象并设置属性
let
attributes
=
[
NSAttributedString
.
Key
.
font
:
font
]
as
[
NSAttributedString
.
Key
:
Any
]
_
=
NSMutableAttributedString
(
string
:
text
??
""
,
attributes
:
attributes
)
// 根据指定的最大宽度和字体大小计算文本的高度
let
size
=
(
text
!
as
NSString
)
.
boundingRect
(
with
:
CGSize
(
width
:
maxWidth
,
height
:
.
greatestFiniteMagnitude
),
options
:
.
usesLineFragmentOrigin
,
attributes
:
attributes
,
context
:
nil
)
.
size
// if size.height < 311 {
// return CGFloat(size.height + 87)
// } else {
// return CGFloat(385)
// }
return
CGFloat
(
size
.
height
+
87
)
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkExampleTypeView.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkExampleTypeView.swift
// galaxy
//
// Created by EDY on 2024/2/20.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHWorkExampleTypeView
:
UIView
{
typealias
ExampleBlock
=
(
_
index
:
Int
)
->
()
var
exampleBlock
:
ExampleBlock
?
var
titleLabel
:
UILabel
!
var
dataSource
:
[
String
]?{
didSet
{
updateView
()
}
}
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
backgroundColor
=
.
white
setUpView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setUpView
()
{
titleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
kBoldFont
(
size
:
14
)
label
.
text
=
"请选择您的行业:"
label
.
textAlignment
=
.
left
label
.
textColor
=
UIColor
(
hex
:
0x222222
)
return
label
}()
addSubview
(
titleLabel
)
titleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
21
)
make
.
right
.
equalTo
(
-
21
)
make
.
top
.
equalTo
(
16
)
make
.
height
.
equalTo
(
23
)
}
}
func
updateView
()
{
guard
let
dataSource
=
dataSource
else
{
return
}
var
x
=
0
var
y
=
0
for
i
in
0
..<
dataSource
.
count
{
let
string
=
dataSource
[
i
]
let
font
=
UIFont
.
systemFont
(
ofSize
:
13
)
// 设置字体样式及大小
let
maxWidth
=
KScreenWidth
-
42
// label最大宽度限制
// 创建NSAttributedString对象并指定字体属性
let
attributedText
=
NSMutableAttributedString
(
string
:
string
)
attributedText
.
addAttribute
(
.
font
,
value
:
font
,
range
:
NSRange
(
location
:
0
,
length
:
string
.
count
))
// 获取文本所需的高度和宽度
var
boundingBox
=
CGRect
()
boundingBox
=
NSString
(
string
:
string
)
.
boundingRect
(
with
:
CGSize
(
width
:
maxWidth
,
height
:
.
greatestFiniteMagnitude
),
options
:
[
.
usesLineFragmentOrigin
],
attributes
:
[
.
font
:
font
],
context
:
nil
)
let
width
=
boundingBox
.
size
.
width
if
CGFloat
(
x
)
+
width
+
24
>
maxWidth
{
x
=
0
y
=
y
+
1
}
let
button
=
UIButton
(
type
:
.
custom
)
button
.
setTitle
(
dataSource
[
i
],
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0x222222
),
for
:
.
normal
)
button
.
setBackgroundColor
(
color
:
UIColor
(
hex
:
0xf8f9fb
),
forState
:
.
normal
)
button
.
titleLabel
?
.
font
=
kFont
(
size
:
13
)
button
.
layer
.
cornerRadius
=
16
button
.
tag
=
3000
+
i
button
.
addTarget
(
self
,
action
:
#selector(
exampleClick(sender:)
)
,
for
:
.
touchUpInside
)
addSubview
(
button
)
button
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
21
+
x
)
make
.
top
.
equalTo
(
56
+
y
*
44
)
make
.
height
.
equalTo
(
32
)
make
.
width
.
equalTo
(
width
+
24
)
}
x
=
x
+
Int
(
width
)
+
36
}
}
@objc
func
exampleClick
(
sender
:
UIButton
)
{
let
tag
=
sender
.
tag
-
3000
if
let
block
=
exampleBlock
{
block
(
tag
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkExperienceListTableViewCell.swift
View file @
578d4e5b
...
...
@@ -9,9 +9,11 @@
import
UIKit
class
YHWorkExperienceListTableViewCell
:
UITableViewCell
{
typealias
ExperienceListBlock
=
(
_
model
:
YHItemModel
)
->
()
var
experienceListBlock
:
ExperienceListBlock
?
typealias
ExperienceListBlock
=
(
_
model
:
YHWorkItemListModel
)
->
()
typealias
IsMoreBlock
=
(
_
isMore
:
Bool
)
->
()
var
clickBlock
:
ExperienceListBlock
?
var
deleteBlock
:
ExperienceListBlock
?
var
isMoreBlock
:
IsMoreBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
...
...
@@ -162,13 +164,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
make
.
right
.
equalTo
(
-
18
)
}
let
itemView
=
YHWorkItemView
()
itemView
.
dataSource
=
YHWorkItemListModel
(
title
:
"工作经历1"
,
subTitle
:
""
,
message
:
"有16项未填写"
,
isShowDelete
:
false
)
itemView
.
block
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
experienceListBlock
{
block
(
model
)
}
}
itemView
.
dataSource
=
YHWorkItemListModel
()
mainItemView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
...
...
@@ -190,13 +186,21 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
make
.
right
.
equalTo
(
-
18
)
}
let
itemView
=
YHWorkItemView
()
itemView
.
dataSource
=
dataSource
[
i
]
itemView
.
block
=
{[
weak
self
]
model
in
itemView
.
clickBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
experienceList
Block
{
if
let
block
=
self
.
click
Block
{
block
(
model
)
}
}
itemView
.
deleteBlock
=
{[
weak
self
]
model
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
deleteBlock
{
block
(
model
)
}
}
itemView
.
tag
=
4000
+
i
itemView
.
dataSource
=
dataSource
[
i
]
mainItemView
.
addSubview
(
itemView
)
itemView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalTo
(
18
)
...
...
@@ -208,10 +212,26 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
}
@objc
func
cannal
()
{
moreButton
.
isHidden
=
false
cannalButton
.
isHidden
=
true
for
i
in
0
..<
(
dataSource
?
.
count
??
0
)
{
let
view
=
mainItemView
.
viewWithTag
(
4000
+
i
)
as!
YHWorkItemView
view
.
isShowDelete
(
i
,
isShow
:
false
)
}
if
let
block
=
isMoreBlock
{
block
(
false
)
}
}
@objc
func
more
()
{
moreButton
.
isHidden
=
true
cannalButton
.
isHidden
=
false
for
i
in
0
..<
(
dataSource
?
.
count
??
0
)
{
let
view
=
mainItemView
.
viewWithTag
(
4000
+
i
)
as!
YHWorkItemView
view
.
isShowDelete
(
i
,
isShow
:
true
)
}
if
let
block
=
isMoreBlock
{
block
(
true
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkFileItemView.swift
View file @
578d4e5b
...
...
@@ -67,7 +67,7 @@ class YHWorkFileItemView: UIView {
func
updateAllViews
()
{
guard
let
dataSource
=
dataSource
else
{
return
}
titleLabel
.
text
=
dataSource
.
title
//
titleLabel.text = dataSource.title
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkHighlightsTableViewCell.swift
View file @
578d4e5b
...
...
@@ -9,7 +9,8 @@
import
UIKit
class
YHWorkHighlightsTableViewCell
:
UITableViewCell
{
typealias
ExampleBlock
=
()
->
()
var
exampleBlock
:
ExampleBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
...
...
@@ -168,6 +169,12 @@ class YHWorkHighlightsTableViewCell: UITableViewCell {
bottomView
=
{
let
view
=
YHWorkActionView
()
view
.
exampleBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
exampleBlock
{
block
()
}
}
return
view
}()
centerView
.
addSubview
(
bottomView
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkIntroductionItemView.swift
View file @
578d4e5b
...
...
@@ -102,18 +102,17 @@ class YHWorkIntroductionItemView: UIView {
make
.
width
.
equalTo
(
28
)
make
.
centerY
.
equalTo
(
titleLabel
.
snp
.
centerY
)
}
}
func
updateAllViews
()
{
guard
let
dataSource
=
dataSource
else
{
return
}
titleLabel
.
text
=
dataSource
.
title
subTitleLabel
.
text
=
dataSource
.
subTitle
if
dataSource
.
isShowDelete
??
false
{
deleteButton
.
isHidden
=
false
}
else
{
deleteButton
.
isHidden
=
true
}
//
titleLabel.text = dataSource.title
//
subTitleLabel.text = dataSource.subTitle
//
if dataSource.isShowDelete ?? false {
//
deleteButton.isHidden = false
//
} else {
//
deleteButton.isHidden = true
//
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkItemView.swift
View file @
578d4e5b
...
...
@@ -10,8 +10,9 @@ import UIKit
class
YHWorkItemView
:
UIView
{
typealias
ItemBlock
=
(
_
model
:
YHItemModel
)
->
()
var
block
:
ItemBlock
?
typealias
ItemBlock
=
(
_
model
:
YHWorkItemListModel
)
->
()
var
clickBlock
:
ItemBlock
?
var
deleteBlock
:
ItemBlock
?
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
var
explainLabel
:
UILabel
!
...
...
@@ -87,7 +88,7 @@ class YHWorkItemView: UIView {
addSubview
(
nextStepImageView
)
nextStepImageView
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalToSuperview
()
make
.
centerY
.
equalTo
Superview
(
)
make
.
centerY
.
equalTo
(
titleLabel
.
snp
.
centerY
)
make
.
height
.
width
.
equalTo
(
20
)
}
...
...
@@ -107,16 +108,17 @@ class YHWorkItemView: UIView {
button
.
titleLabel
?
.
font
=
kFont
(
size
:
14
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"删除"
,
for
:
.
normal
)
button
.
contentHorizontalAlignment
=
.
right
button
.
setTitleColor
(
UIColor
(
hex
:
0xf81d22
),
for
:
.
normal
)
button
.
addTarget
(
self
,
action
:
#selector(
center
Click
)
,
for
:
.
touchUpInside
)
button
.
addTarget
(
self
,
action
:
#selector(
delete
Click
)
,
for
:
.
touchUpInside
)
button
.
isHidden
=
true
return
button
}()
addSubview
(
deleteButton
)
deleteButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
24
)
make
.
right
.
equalTo
Superview
(
)
make
.
height
.
equalTo
(
20
)
make
.
width
.
equalTo
(
28
)
make
.
width
.
equalTo
(
35
)
make
.
centerY
.
equalTo
(
titleLabel
.
snp
.
centerY
)
}
...
...
@@ -124,20 +126,39 @@ class YHWorkItemView: UIView {
func
updateAllViews
()
{
guard
let
dataSource
=
dataSource
else
{
return
}
titleLabel
.
text
=
dataSource
.
title
subTitleLabel
.
text
=
dataSource
.
subTitle
explainLabel
.
text
=
dataSource
.
message
if
dataSource
.
isShowDelete
??
false
{
deleteButton
.
isHidden
=
false
explainLabel
.
isHidden
=
true
titleLabel
.
text
=
dataSource
.
company_name
subTitleLabel
.
text
=
dataSource
.
position
if
dataSource
.
vacant_num
!=
0
{
explainLabel
.
text
=
"有"
+
"
\(
dataSource
.
vacant_num
??
0
)
"
+
"项未填写"
}
else
{
deleteButton
.
isHidden
=
true
explainLabel
.
isHidden
=
false
explainLabel
.
text
=
(
dataSource
.
entry_time
??
""
)
+
"-"
+
(
dataSource
.
entry_time
??
""
)
}
}
@objc
func
centerClick
()
{
if
let
block
=
clickBlock
{
block
(
self
.
dataSource
??
YHWorkItemListModel
())
}
}
@objc
func
deleteClick
()
{
if
let
block
=
deleteBlock
{
block
(
self
.
dataSource
??
YHWorkItemListModel
())
}
}
func
isShowDelete
(
_
index
:
Int
,
isShow
:
Bool
)
{
if
isShow
{
explainLabel
.
isHidden
=
true
nextStepImageView
.
isHidden
=
true
if
index
!=
0
{
deleteButton
.
isHidden
=
false
}
}
else
{
explainLabel
.
isHidden
=
false
nextStepImageView
.
isHidden
=
false
deleteButton
.
isHidden
=
true
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkResponsibilitiesTableViewCell.swift
View file @
578d4e5b
...
...
@@ -9,6 +9,8 @@
import
UIKit
class
YHWorkResponsibilitiesTableViewCell
:
UITableViewCell
{
typealias
ExampleBlock
=
()
->
()
var
exampleBlock
:
ExampleBlock
?
var
centerView
:
UIView
!
var
titleLabel
:
UILabel
!
var
subTitleLabel
:
UILabel
!
...
...
@@ -136,6 +138,12 @@ class YHWorkResponsibilitiesTableViewCell: UITableViewCell {
bottomView
=
{
let
view
=
YHWorkActionView
()
view
.
exampleBlock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
if
let
block
=
self
.
exampleBlock
{
block
()
}
}
return
view
}()
centerView
.
addSubview
(
bottomView
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/ViewModel/YHWorkExperienceViewModel.swift
View file @
578d4e5b
...
...
@@ -10,7 +10,8 @@ import UIKit
class
YHWorkExperienceViewModel
:
YHBaseViewModel
{
var
mainModel
:
YHMainInformationModel
=
YHMainInformationModel
()
var
exampleModels
:
[
YHWorkExampleModel
]?
override
init
()
{
super
.
init
()
}
...
...
@@ -126,4 +127,27 @@ class YHWorkExperienceViewModel: YHBaseViewModel {
mainModel
.
birth_place
?
.
foreign
=
item
.
message
}
}
func
requestWorkExample
(
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"frontend/workInfo/example"
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
model
=
NetBaseModel
.
deserialize
(
dict
:
json
)
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
error
)
return
}
let
dic
=
model
.
data
?
.
peel
guard
let
result
=
[
YHWorkExampleModel
]
.
deserialize
(
array
:
dic
as?
[
Any
])
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
exampleModels
=
result
as?
[
YHWorkExampleModel
]
callBackBlock
(
true
,
nil
)
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/ViewModel/YHWorkIntroductionViewModel.swift
0 → 100644
View file @
578d4e5b
//
// YHWorkIntroductionViewModel.swift
// galaxy
//
// Created by EDY on 2024/2/21.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHWorkIntroductionViewModel
:
YHBaseViewModel
{
var
introducetionExampleModels
:
[
YHWorkExampleModel
]?
override
init
()
{
super
.
init
()
}
func
requestIntroducetionExample
(
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"frontend/workInfo/item-example"
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
model
=
NetBaseModel
.
deserialize
(
dict
:
json
)
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
error
)
return
}
let
dic
=
model
.
data
?
.
peel
guard
let
result
=
[
YHWorkExampleModel
]
.
deserialize
(
array
:
dic
as?
[
Any
])
else
{
callBackBlock
(
false
,
nil
)
return
}
self
.
introducetionExampleModels
=
result
as?
[
YHWorkExampleModel
]
callBackBlock
(
true
,
nil
)
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/ViewModel/YHWorkItemListViewModel.swift
View file @
578d4e5b
...
...
@@ -10,15 +10,50 @@ import UIKit
class
YHWorkItemListViewModel
:
YHBaseViewModel
{
var
mainModel
:
YHMainInformationModel
=
YHMainInformationModel
()
var
mainModel
:
[
YHWorkItemListModel
]?
override
init
()
{
super
.
init
()
}
func
getBaseDataSource
()
->
[
YHWorkItemListModel
]
{
let
item
=
YHWorkItemListModel
(
title
:
"华为有限公司"
,
subTitle
:
"后端开发工程师"
,
message
:
"2019.07-至今"
,
isShowDelete
:
false
)
return
[
item
]
func
requestWorkList
(
_
orderId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
[
YHWorkItemListModel
]?,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"frontend/workInfo/list?order_id=
\(
orderId
)
"
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
model
=
NetBaseModel
.
deserialize
(
dict
:
json
)
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
([],
error
)
return
}
let
dic
=
model
.
data
?
.
peel
guard
let
result
=
YHWorkModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
callBackBlock
([],
nil
)
return
}
self
.
mainModel
=
result
.
list
callBackBlock
(
self
.
mainModel
,
nil
)
}
failBlock
:
{
err
in
callBackBlock
([],
err
)
}
}
func
requestDeleteWorkExperience
(
_
orderId
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
?,
_
error
:
YHErrorModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"id"
:
orderId
]
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"frontend/workInfo/del"
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{
[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
model
=
NetBaseModel
.
deserialize
(
dict
:
json
)
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
error
)
return
}
callBackBlock
(
true
,
nil
)
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
}
galaxy/galaxy/Classes/Modules/Login(登录)/C/YHCodeSueecssViewController.swift
View file @
578d4e5b
...
...
@@ -19,15 +19,18 @@ class YHCodeSueecssViewController: YHBaseViewController {
var
getCodeLabel
:
UILabel
!
var
getCodeButton
:
UIButton
!
var
smscodeView
:
YHSmsCodeInputView
!
var
phoneNumber
:
String
?
var
viewModel
:
YHLoginViewModel
?
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHLoginViewModel
()
gk_navBackgroundColor
=
.
clear
gk_navShadowColor
=
.
clear
gk_navigationBar
.
isHidden
=
true
setView
()
// Do any additional setup after loading the view.
start
Clicked
()
start
Time
()
}
func
setView
()
{
...
...
@@ -74,7 +77,7 @@ class YHCodeSueecssViewController: YHBaseViewController {
loginSubTitleLabel
=
{
let
label
=
UILabel
()
label
.
text
=
"已发送至
+86 188****2882
"
label
.
text
=
"已发送至
\(
phoneNumber
??
""
)
"
label
.
font
=
kFont
(
size
:
13
)
label
.
textColor
=
UIColor
(
hex
:
0xc0c0c0
)
return
label
...
...
@@ -90,7 +93,14 @@ class YHCodeSueecssViewController: YHBaseViewController {
smscodeView
=
{
let
view
=
YHSmsCodeInputView
(
config
:
YHSmsCodeViewConfig
())
view
.
complete
=
{
[
weak
self
]
code
in
self
?
.
dismiss
(
animated
:
true
)
guard
let
self
=
self
else
{
return
}
self
.
viewModel
?
.
login
(
self
.
phoneNumber
??
""
,
code
:
code
,
callBackBlock
:
{[
weak
self
]
success
in
guard
let
self
=
self
else
{
return
}
YHLoginManager
.
shared
.
userModel
=
success
if
success
?
.
token
?
.
count
!=
0
{
self
.
dismiss
(
animated
:
true
)
}
})
}
return
view
}()
...
...
@@ -146,7 +156,7 @@ class YHCodeSueecssViewController: YHBaseViewController {
}
@objc
func
startClicked
()
{
func
startTime
()
{
getCodeLabel
.
isHidden
=
false
getCodeButton
.
isHidden
=
true
let
sourceTimer
=
DispatchSource
.
makeTimerSource
()
...
...
@@ -171,6 +181,14 @@ class YHCodeSueecssViewController: YHBaseViewController {
sourceTimer
.
resume
()
}
@objc
func
startClicked
()
{
viewModel
?
.
getLoginCode
(
phoneNumber
??
""
,
callBackBlock
:
{[
weak
self
]
success
in
guard
let
self
=
self
else
{
return
}
self
.
startTime
()
})
}
@objc
func
close
()
{
self
.
navigationController
?
.
popViewController
()
}
...
...
galaxy/galaxy/Classes/Modules/Login(登录)/C/YHPhoneLoginViewController.swift
View file @
578d4e5b
...
...
@@ -18,11 +18,12 @@ class YHPhoneLoginViewController: YHBaseViewController {
var
phoneMessageView
:
YHPhoneMessageView
!
var
getCodeButton
:
UIButton
!
var
privacyView
:
YHLoginPrivacyView
!
var
viewModel
:
YHLoginViewModel
?
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHLoginViewModel
()
setView
()
gk_navBackgroundColor
=
.
clear
gk_navShadowColor
=
.
clear
gk_navigationBar
.
isHidden
=
true
...
...
@@ -113,6 +114,16 @@ class YHPhoneLoginViewController: YHBaseViewController {
view
.
layer
.
cornerRadius
=
6
view
.
layer
.
borderWidth
=
1
view
.
layer
.
borderColor
=
UIColor
(
hex
:
0xebeef4
)
.
cgColor
view
.
phoneBlock
=
{[
weak
self
]
count
in
guard
let
self
=
self
else
{
return
}
if
count
==
0
{
self
.
getCodeButton
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
.
withAlphaComponent
(
0.4
)
self
.
getCodeButton
.
isEnabled
=
false
}
else
{
self
.
getCodeButton
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
self
.
getCodeButton
.
isEnabled
=
true
}
}
return
view
}()
view
.
addSubview
(
phoneMessageView
)
...
...
@@ -125,13 +136,14 @@ class YHPhoneLoginViewController: YHBaseViewController {
getCodeButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
.
withAlphaComponent
(
0.
8
)
button
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
.
withAlphaComponent
(
0.
4
)
button
.
titleLabel
?
.
font
=
kBoldFont
(
size
:
16
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"获取验证码"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0x
979797
),
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0x
ffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
6
button
.
addTarget
(
self
,
action
:
#selector(
getCode
)
,
for
:
.
touchUpInside
)
button
.
isEnabled
=
false
return
button
}()
view
.
addSubview
(
getCodeButton
)
...
...
@@ -157,10 +169,18 @@ class YHPhoneLoginViewController: YHBaseViewController {
}
@objc
func
getCode
()
{
let
phoneNumer
=
phoneMessageView
.
phoneTextField
.
text
??
""
guard
phoneNumer
.
isMobile
()
==
true
else
{
YHHUD
.
flash
(
message
:
"请输入正确的手机号"
)
return
}
if
privacyView
.
isAgree
{
let
vc
=
YHCodeSueecssViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
)
viewModel
?
.
getLoginCode
(
phoneNumer
,
callBackBlock
:
{[
weak
self
]
success
in
guard
let
self
=
self
else
{
return
}
let
vc
=
YHCodeSueecssViewController
()
vc
.
phoneNumber
=
self
.
phoneMessageView
.
phoneTextField
.
text
self
.
navigationController
?
.
pushViewController
(
vc
)
})
}
else
{
let
view
=
YHPrivacyAlertView
(
frame
:
view
.
bounds
)
view
.
urlBlock
=
{
[
weak
self
]
url
in
...
...
galaxy/galaxy/Classes/Modules/Login(登录)/M/YHUserModel.swift
View file @
578d4e5b
...
...
@@ -10,22 +10,15 @@ import UIKit
import
SmartCodable
struct
YHUserModel
:
SmartCodable
{
var
userid
:
Int
?
var
yhId
:
String
?
var
nickname
:
String
?
var
mobile
:
String
?
var
headpic
:
String
?
var
sex
:
Int
?
var
token
:
String
?
init
(
userid
:
Int
?
=
nil
,
nickname
:
String
?
=
nil
,
mobile
:
String
?
=
nil
,
headpic
:
String
?
=
nil
,
sex
:
Int
?
=
nil
,
token
:
String
?
=
nil
)
{
self
.
userid
=
userid
self
.
nickname
=
nickname
self
.
mobile
=
mobile
self
.
headpic
=
headpic
self
.
sex
=
sex
self
.
token
=
token
}
var
brand
:
String
?
var
os
:
String
?
var
ip
:
String
?
var
imei
:
String
?
var
channel
:
String
?
init
()
{
}
var
token
:
String
?
// 暂无token
}
galaxy/galaxy/Classes/Modules/Login(登录)/Server/YHLoginManager.swift
0 → 100644
View file @
578d4e5b
//
// YHLoginManager.swift
// galaxy
//
// Created by EDY on 2024/2/22.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHLoginManager
:
NSObject
{
static
let
shared
=
YHLoginManager
()
var
userModel
:
YHUserModel
?
private
override
init
()
{}
func
isLogin
()
->
Bool
{
if
userModel
?
.
token
?
.
count
!=
0
{
return
true
}
return
false
}
}
galaxy/galaxy/Classes/Modules/Login(登录)/V/YHPhoneMessageView.swift
View file @
578d4e5b
...
...
@@ -9,8 +9,10 @@
import
UIKit
class
YHPhoneMessageView
:
UIView
{
typealias
PhoneBlock
=
(
_
count
:
Int
)
->
()
typealias
Block
=
()
->
()
var
block
:
Block
?
var
phoneBlock
:
PhoneBlock
?
var
messageButton
:
UIButton
!
var
pointImageView
:
UIImageView
!
var
phoneTextField
:
UITextField
!
...
...
@@ -59,6 +61,7 @@ class YHPhoneMessageView: UIView {
text
.
textAlignment
=
.
left
text
.
keyboardType
=
.
phonePad
text
.
clearButtonMode
=
.
always
text
.
addTarget
(
self
,
action
:
#selector(
textFeildChange
)
,
for
:
.
allEvents
)
return
text
}()
addSubview
(
phoneTextField
)
...
...
@@ -74,4 +77,10 @@ class YHPhoneMessageView: UIView {
block
()
}
}
@objc
func
textFeildChange
()
{
if
let
block
=
phoneBlock
{
block
(
phoneTextField
.
text
?
.
count
??
0
)
}
}
}
galaxy/galaxy/Classes/Modules/Login(登录)/VM/YHLoginViewModel.swift
View file @
578d4e5b
...
...
@@ -19,9 +19,11 @@ class YHLoginViewModel: YHBaseViewModel {
//接口
extension
YHLoginViewModel
{
//发送验证码
func
getLoginCode
(
callBackBlock
:
@escaping
(
_
success
:
Bool
)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"/user/login-code"
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
)
{[
weak
self
]
json
,
code
in
func
getLoginCode
(
_
phone
:
String
,
callBackBlock
:
@escaping
(
_
success
:
Bool
)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"type"
:
"Phone"
,
"value"
:
phone
]
let
strUrl
=
"http://192.168.35.135:18087/"
+
"user/verify-code"
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
//1. json字符串 转 对象
if
code
==
200
{
...
...
@@ -32,26 +34,30 @@ extension YHLoginViewModel {
}
}
func
login
(
callBackBlock
:
@escaping
(
_
success
:
Bool
)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
"/user/userlogin"
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
)
{[
weak
self
]
json
,
code
in
func
login
(
_
phone
:
String
,
code
:
String
,
callBackBlock
:
@escaping
(
_
success
:
YHUserModel
?)
->
())
{
let
params
:
[
String
:
Any
]
=
[
"mobile"
:
phone
,
"sms_code"
:
code
,
"channel"
:
"app"
,
"client"
:
"super_app"
]
let
strUrl
=
"http://192.168.25.12:18083/"
+
"auth/login"
let
_
=
YHNetRequest
.
postRequest
(
url
:
strUrl
,
params
:
params
)
{[
weak
self
]
json
,
code
in
//1. json字符串 转 对象
guard
let
self
=
self
else
{
return
}
guard
let
model
=
NetBaseModel
.
deserialize
(
dict
:
json
)
else
{
let
error
:
YHErrorModel
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
)
callBackBlock
(
nil
)
return
}
// printLog("model 是 ==> \(model)")
let
dic
=
model
.
data
?
.
peel
guard
let
resultModel
=
YHUserModel
.
deserialize
(
dict
:
dic
as?
[
AnyHashable
:
Any
])
else
{
callBackBlock
(
nil
)
return
}
self
.
userModel
=
resultModel
callBackBlock
(
true
)
callBackBlock
(
resultModel
)
}
failBlock
:
{
err
in
callBackBlock
(
false
)
callBackBlock
(
nil
)
}
}
}
galaxy/galaxy/Classes/Tools/Extention/String+Extension.swift
View file @
578d4e5b
...
...
@@ -128,38 +128,6 @@ extension String {
}
}
// MARK: - 计算文字的宽高
extension
String
{
/// 计算文字的宽高
///
/// - Parameters:
/// - font: 字体大小
/// - lineSpacing: 行高
/// - constraintRect: 大小范围
/// - Returns: 宽高
public
func
bs_sizeWithConstrained
(
_
font
:
UIFont
,
lineSpacing
:
CGFloat
?
=
nil
,
constraintRect
:
CGSize
=
CGSize
(
width
:
CGFloat
.
greatestFiniteMagnitude
,
height
:
CGFloat
.
greatestFiniteMagnitude
))
->
CGSize
{
var
attributes
:
[
NSAttributedString
.
Key
:
Any
]
=
[
NSAttributedString
.
Key
.
font
:
font
]
if
let
lineSpacing
=
lineSpacing
{
//格式调整
let
style
=
NSMutableParagraphStyle
()
/**调行间距*/
style
.
lineSpacing
=
lineSpacing
style
.
alignment
=
.
left
attributes
[
.
paragraphStyle
]
=
style
}
let
boundingBox
=
self
.
boundingRect
(
with
:
constraintRect
,
options
:
NSStringDrawingOptions
.
usesLineFragmentOrigin
,
attributes
:
attributes
,
context
:
nil
)
return
boundingBox
.
size
}
}
// MARK: - 正则获取http
extension
String
{
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
View file @
578d4e5b
...
...
@@ -95,7 +95,7 @@ class YHNetRequest: NSObject {
requestHeader
.
add
(
name
:
"sign"
,
value
:
sign
)
requestHeader
.
add
(
name
:
"token"
,
value
:
"eyJpdiI6Ik
5aeEVDclZTK0FISEFBZUgxN2VkdGc9PSIsInZhbHVlIjoiRFRJOHlObzVrZlp4T2tVYW1MSE1ZK0Z3dXlyK3p4QlczNmxsTXdkdW5GQVY4Q2VqZlNNUDdrdVpsb0JcLytpYmJheUp2MWZTUE5pOWgrVWRLdEtIUkx4R1wvS3F6SmRSQ0dWeFVXanFINGkyRWNMTXB4TVlcLzhjXC9NSzVoMFwvZ1ZOaVIwb0VqWlo1VERPSHY2RWJhME1RdWtkXC8yanBQdm9lMWM4WXJVK1BnMDd6SncwVVlWMDNnbSswSnM3eVwveFRRck03M3pOaDFSc3g0UmlYMTJQdmZpSkhUWHVMa21RV2xRbXBkalVTTUFicmFaN2NVNXl1ZTJOeEJoKzhrMnZtdzdvM1U5Qmh4WXNiSEFERUpiZHNWNkxoM2ZkVVRUdFlMMU1MQnIyaWNxNSt4S1NocDVEbnNqeHphUCtVVk1qTlVnMk1ydVNPamJ0c2tDQ1wvWFk1SkxtSWtDMU9oT3ZqaFpuNU5aVUVicHpYVU56VnlqK01Cb20welJMbkQrcTFWOHFUbzlPK0RGdDRcLzJ1T094MjNjYTVZZmJcL2txRE93cEFUYzlKWWdVWE9cLzFnYnVwTFZ4VUtqMFQ5QlgzZitDQjhyNURpU3p0bktqblBicUxPekNBcWRWM0g0WklSOEc0T0RPVkNBMGZQdEtWV3ZqN3IrcHZDYm9UNjREdnA3U1RZY1Z1dFE3K1RRM2F2eGY0QXc2dGlha0RBUDVpVHdFWE53dzl2eVczVk9VNTJSa1Fzb1J4ZGd0c0RCdktPQ1FWOUQ5Y0krckQ3bFc4NkNJMHliSXlnNGtYU1ZCUHRZWTdCKzA5d1wvdldzWTlpeUdYaEg4eGhITHpRSUthMWpSVlZvZVhwZ3BvamxCTHFSUXJmQ1hQNThYbUNNanZnVGs0b3RDTUFmYkdsYTEzeEtnTXJpZVU0QnJHWDJoUk9sUklzaFFhUkJiNWk0Z2E0cUUwejU4RmF2RnE4Z2U0eEo3VmZ2SmFMTlVacFBvSFlZUmM2N3liVTdhTk5NWU9YS0xtalk3QUN3NWV2UTlPeE5hMmk0aHU4MSt0YjNJQytFczRMa2l6XC9jV0Jxc01QYU0yYXdTXC92RXBxTFNVOVd6SlwvRm9KM21jUHlcL2diRlMyU3REeEl0K1RxSjRuck8xaXlOaWY4NXVzMVBibXpVSEZJWkVZQnFUd2k5TUVJcDUwUEFjTmljTzYyaWFYaFkzZUtkR294d29LUzBUTFF1Y0xxbWtMNFF4ZlZkN2k4YktEUnRGekU3OEdaN2J3TUR4T2FpVHRKaGlqRWNcL2c5dlwvOUVEVmdLNUhBSk1wSGV5UXVoOFJydlczc09HU1EyeXI4SFZZQmJJQWx1cGFIaXhmK1VJNmdoNmwrOElMZXFxSHZtazQreW84RFBlOXFnVDI2bm1tZWl0K01OcU1DSGJEQXdnWW9Hc0ptWFVJbXVXdEpyT2FKUHprTzJ1MkxFSEViZGV4cFpuOWRXK3dUdVR4bmJHZ1VRRGJycFRBME5lWUtaT0JCYjViSWVvcVJ3RXllb2tQZ1VkUWFqVWo0UHQzMUQwWVMwZ05rTTU0Nk1QQUdxTm9rZFNISVYrTG5DWlArNkt5RkZxajdZN1luakRKQVdUaVpnOUhCUExYMEVKRXRRT3QyZTI4cU9TdlBrbWxVZkFLSWZFbXNha3lCZUhFRVpyTmxQOERjbVwvMytCc0JpNnZcL1Nvek9yR2pUWGF2XC9VMzN4OEY5T3VsdUNGRFNWbHZZMnBzNHhMeEdIR21majBOOUJNbEhlK1J4S3dFTnlJamdTeFQyTWlTTlhCUWxnSDF6VmNhWHIzVGpoREY5clB2XC9uZHZjSm1iTHZ1bjFIUUFRait6dUJlUk1WQ1FhdXFoN002YlQ5MVwvQVMzYzJJQ0RFR1czdEtqMFBTQT09IiwibWFjIjoiOGVlZjBmNTVmMzEwNjhkZjVmYTlkYzAwYzllMjJmNjUyZmRmN2U1ODFiZTIzNzRjMDVjMTNiOTNhOWRhMmVkYSJ9
"
)
requestHeader
.
add
(
name
:
"token"
,
value
:
"eyJpdiI6Ik
o1OGFleVJ5SVBEaDh6U0J4R0dqa1E9PSIsInZhbHVlIjoic3ZQWVBiNEVvTmpxaEFcL2pKc3NkKzlhaXZ0Qk1nallPcUdnbkVISUJZT0tNTHAyTmtzY3lUMVh3VURnUnpSTWRsZXNHVVNhR2RPeU05NnprdTlhUXMyWENyTWVFU3B4SGlxenBcL1ZnWEk2Vnl3bjRuT1NhcDVCV2k2bXl4Y3F4RXRsaXBTdWVKUUQwTjFadUx2UURvK2RZS3VsWEJpb2xETUc4RzZWdnh0ZzJVVGhzVGdoYjdOT2ZDMFpld2plU2pCVDl3elgxVEpjYmJQQnZlYnRoMTJheUlicVVURWx4XC81elVCS21nSzF4SkhhN2VNTE12ZUVMNThpWElPY3d0MVNlQkRUSW9Rd3V0ZTYwSytPaDhYSElHdDJvWSs4cWpkRkRMU3pKaUdvNW1DTmJiK3Zvdmk4REk2VWpzTCs3cERSUXFkc3hOREJaNVdGU1lEOXN2b1JQSWNZYWVCQjZBaHJCUEV0UmhLMWFrWFN3ZGx4ZGR3Q3FHVm83QjgxMEFHWDQ3aVdnMVVNYnpjS2JuTkpHdnFYK0FoNksyWkFSZGJNcXFTenhXdWpubTZsQXhmZ0g0ekc5REVkQW1xbEVTYktiTmRaMTN6blF4NkFZQzNxMlp0bDlDcGpsdGFpWFNtRmVVa1FYSEtjZUJKbUhWZ2VZanh6VEpWRHpWK0RPZlJKN0UxOHJHcmpFZ1d3XC94WlplOWZHSlNBVnRJKzNFTzNtMk9uXC8xb1hzS3pjalJmYktCa1hqdFJjSVwvMWNWUnlqYU14R01Lbko5TjZHNGlxZnUyOEpnamw5ZEFQK3M1MVZJYjI5RWhON3Q5YlVyMWZYbUNtMmpjTDFVemtjUVVRQmwzSEp6TFZZRytja3A5Q2hSS2xycDF2RXZUbUdzTWVHNHNjVG81UUZqeUV2ck9QdHczS3hHYkpPR09vQ0ZkK0kwVEZoaVFUajF4XC9vSFBJUllNbFlqWUFYYzRRMGJabGxBV2RmTUtOSmNRcVZpM0lNVVpNWWdhNEJLWXlkVG82c3pcLzFsSkNyQmhkNFZ6WTcwbEloSkFndCtEUDNwVkF1MG9GUGQ1allBT3Q4Q0hsSFkrK2lveWxaVHE4UFNDR0JvTERoc1BYdnp0UFVSYWlxQjFCbVdkdGl5YWFnZVRpK1YzUzVBa1I4cU91V0pkSnBcL0o0K1pqbzJQZVRuR0wzXC9cLzVna0JiWVhlRXFwRXljN3N0NURhdkZFV001TU9QdFBXQjM0bXplSnl3T1RjMFBqbCtkSytIZ0tyME5vdEpSMnd0Z3pvRHpSWUkydEFCb2plYlpPQW9WaVRMcmxyYkxPZnd6RllkR2VoQTBEZVZjNjRTcWVlS1AxT0wybXVuQWJZQzhOVW44K3RJT000endabjEyR3d5OHhhbzNyT0hpdEd2VWRiallmc1ZuQkhaWmF2ODhVclpNb2lGUDB6Z3dqMVdVczh3RGQ4WnZ1a1o2Qzh5XC8yS1pmRjJ2TkhWXC9QTkFuY0NGR0FIc1BJcThadk1ZTFFxeXJKZ05XT2t4SzFQa1RnaTg2WXBhMnNzM0k4bk90aEQ1aFwvXC9lY1dpVFFzYUVoNGVhdWhsNEQwczJGTWtncTA0aDQ5SDlDTGtOREVYNVJQNU9HaURnZ01wR2JWaWkyWVVlK2FcL3JNZVB4d2dcLzR6MjNPYTJrcW83T2cyVVFONWVnMTRXczB3azVteHVzMGVYUEhVVEt4SmpROCtLZGwrRW5HbVpxV3F4cHZOZ2x6M1ZoNFFHRmxnZGs4alEwaU9cL09WSDZpSkRsYitzdzNWT1IrZk5VN0R1QkZDUGw4WGhVZnhjQ1lmNmJhU0VCYVp2VUNiUVlcL1VvbTY0bzAzdEFzbVJLQUhUWW1UT2RcL1Bqbmh5XC9keDRGRThzNlY2aFFVbEpqMnc9PSIsIm1hYyI6IjFjMDE1NmZiNDc4ZWE2ZWUwZDI0N2I3MTc3N2QxMmZjNzE4OTExNGYwNDIwMzgzNTA1YWQyOGMyNzIwYjllMDUifQ==
"
)
headers
=
requestHeader
}
...
...
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_back.imageset/Contents.json
0 → 100644
View file @
578d4e5b
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"work_example_back@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"work_example_back@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_back.imageset/work_example_back@2x.png
0 → 100644
View file @
578d4e5b
689 Bytes
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_back.imageset/work_example_back@3x.png
0 → 100644
View file @
578d4e5b
930 Bytes
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_close.imageset/Contents.json
0 → 100644
View file @
578d4e5b
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"work_example_close@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"work_example_close@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_close.imageset/work_example_close@2x.png
0 → 100644
View file @
578d4e5b
2.23 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/work_example_close.imageset/work_example_close@3x.png
0 → 100644
View file @
578d4e5b
3.36 KB
David黄金龙
@david.hjl
mentioned in commit
ad3a56cb
·
Feb 22, 2024
mentioned in commit
ad3a56cb
mentioned in commit ad3a56cbf011cfb0909cc713ecba18619e4bf9ba
Toggle commit list
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