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
30124f2b
Commit
30124f2b
authored
Mar 26, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 我的证件
parent
03699a81
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
310 additions
and
133 deletions
+310
-133
YHCertificateListVC.swift
...ce(服务中心)/MyCertificates(我的证书)/C/YHCertificateListVC.swift
+62
-18
YHCertificateSearchViewController.swift
...tificates(我的证书)/C/YHCertificateSearchViewController.swift
+64
-18
YHCertificateUploadContentListVC.swift
...rtificates(我的证书)/C/YHCertificateUploadContentListVC.swift
+86
-18
YHCertificateUploadSheetView.swift
...MyCertificates(我的证书)/V/YHCertificateUploadSheetView.swift
+95
-24
YHCertificateViewModel.swift
...务中心)/MyCertificates(我的证书)/VM/YHCertificateViewModel.swift
+3
-55
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/C/YHCertificateListVC.swift
View file @
30124f2b
...
@@ -229,14 +229,12 @@ extension YHCertificateListVC {
...
@@ -229,14 +229,12 @@ extension YHCertificateListVC {
}
}
}
}
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
supplementInfo
:
YHSupplementInfo
,
successBlock
:((
)
->
())?)
{
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
supplementInfo
:
YHSupplementInfo
,
callBack
:((
Bool
)
->
())?)
{
// 先OSS上传得到URL
// 先OSS上传得到URL
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
viewModel
.
uploadImage
(
img
)
{
self
.
viewModel
.
uploadImage
(
img
)
{
[
weak
self
]
url
,
error
in
[
weak
self
]
url
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
let
url
=
url
,
!
url
.
isEmpty
{
if
let
url
=
url
,
!
url
.
isEmpty
{
var
suffix
=
"jpg"
var
suffix
=
"jpg"
let
suffixName
=
url
.
pathExtension
.
lowercased
()
let
suffixName
=
url
.
pathExtension
.
lowercased
()
...
@@ -249,21 +247,36 @@ extension YHCertificateListVC {
...
@@ -249,21 +247,36 @@ extension YHCertificateListVC {
model
.
name
=
imageName
model
.
name
=
imageName
model
.
url
=
url
model
.
url
=
url
model
.
suffix
=
suffix
model
.
suffix
=
suffix
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
in
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
self
.
requestList
(
status
:
self
.
status
)
success
,
error
in
if
success
{
successBlock
?()
DispatchQueue
.
main
.
async
{
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
}
self
.
requestList
(
status
:
self
.
status
)
callBack
?(
success
)
}
}
return
return
}
}
//
//
var
msg
=
"上传图片失败"
DispatchQueue
.
main
.
async
{
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
var
msg
=
"上传图片失败"
msg
=
errorMsg
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
YHHUD
.
flash
(
message
:
msg
)
callBack
?(
false
)
}
}
}
}
...
@@ -288,9 +301,20 @@ extension YHCertificateListVC {
...
@@ -288,9 +301,20 @@ extension YHCertificateListVC {
model
.
name
=
fileName
model
.
name
=
fileName
model
.
url
=
successUrl
model
.
url
=
successUrl
model
.
suffix
=
suffixName
model
.
suffix
=
suffixName
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
success
in
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
,
error
in
YHHUD
.
hide
()
self
.
requestList
(
status
:
self
.
status
)
self
.
requestList
(
status
:
self
.
status
)
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
if
success
{
if
success
{
successBlock
?()
successBlock
?()
}
}
...
@@ -337,11 +361,31 @@ extension YHCertificateListVC {
...
@@ -337,11 +361,31 @@ extension YHCertificateListVC {
}
}
}
}
sheetView
.
uploadImageBlock
=
{
sheetView
.
uploadImageBlock
=
{
[
weak
self
]
im
age
,
imageName
in
[
weak
self
]
im
gArr
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
uploadImage
(
image
,
imageName
:
imageName
,
supplementInfo
:
supplementInfo
)
{
let
group
=
DispatchGroup
()
// 待上传的进入详情
var
result
=
false
DispatchQueue
.
main
.
async
{
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
for
item
in
imgArr
{
if
let
image
=
item
.
data
{
group
.
enter
()
uploadImage
(
image
,
imageName
:
item
.
name
,
supplementInfo
:
supplementInfo
)
{
success
in
if
success
{
result
=
success
}
group
.
leave
()
}
}
}
// 等待所有任务完成
group
.
notify
(
queue
:
.
main
)
{
// 所有任务完成,回到主线程继续执行
print
(
"所有任务完成"
)
YHHUD
.
hide
()
if
result
{
// 只要有一张照片上传成功即可进入详情
let
vc
=
YHCertificateUploadContentListVC
()
let
vc
=
YHCertificateUploadContentListVC
()
vc
.
orderId
=
self
.
orderId
vc
.
orderId
=
self
.
orderId
vc
.
categoryInfo
=
self
.
categoryInfo
vc
.
categoryInfo
=
self
.
categoryInfo
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/C/YHCertificateSearchViewController.swift
View file @
30124f2b
...
@@ -245,14 +245,12 @@ extension YHCertificateSearchViewController {
...
@@ -245,14 +245,12 @@ extension YHCertificateSearchViewController {
}
}
}
}
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
supplementInfo
:
YHSupplementInfo
,
successBlock
:((
)
->
())?)
{
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
supplementInfo
:
YHSupplementInfo
,
callBack
:((
Bool
)
->
())?)
{
// 先OSS上传得到URL
// 先OSS上传得到URL
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
viewModel
.
uploadImage
(
img
)
{
self
.
viewModel
.
uploadImage
(
img
)
{
[
weak
self
]
url
,
error
in
[
weak
self
]
url
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
let
url
=
url
,
!
url
.
isEmpty
{
if
let
url
=
url
,
!
url
.
isEmpty
{
var
suffix
=
"jpg"
var
suffix
=
"jpg"
let
suffixName
=
url
.
pathExtension
.
lowercased
()
let
suffixName
=
url
.
pathExtension
.
lowercased
()
...
@@ -265,21 +263,35 @@ extension YHCertificateSearchViewController {
...
@@ -265,21 +263,35 @@ extension YHCertificateSearchViewController {
model
.
name
=
imageName
model
.
name
=
imageName
model
.
url
=
url
model
.
url
=
url
model
.
suffix
=
suffix
model
.
suffix
=
suffix
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
in
success
,
error
in
self
.
requestList
(
keyWord
:
self
.
searchBar
.
textField
.
text
)
if
success
{
DispatchQueue
.
main
.
async
{
successBlock
?()
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
}
self
.
requestList
(
keyWord
:
self
.
searchBar
.
textField
.
text
)
callBack
?(
success
)
}
}
return
return
}
}
//
//
var
msg
=
"上传图片失败"
DispatchQueue
.
main
.
async
{
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
var
msg
=
"上传图片失败"
msg
=
errorMsg
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
YHHUD
.
flash
(
message
:
msg
)
callBack
?(
false
)
}
}
}
}
...
@@ -302,8 +314,19 @@ extension YHCertificateSearchViewController {
...
@@ -302,8 +314,19 @@ extension YHCertificateSearchViewController {
model
.
name
=
fileName
model
.
name
=
fileName
model
.
url
=
successUrl
model
.
url
=
successUrl
model
.
suffix
=
suffixName
model
.
suffix
=
suffixName
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
success
in
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
,
error
in
YHHUD
.
hide
()
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
self
.
requestList
(
keyWord
:
self
.
searchBar
.
textField
.
text
)
self
.
requestList
(
keyWord
:
self
.
searchBar
.
textField
.
text
)
if
success
{
if
success
{
successBlock
?()
successBlock
?()
...
@@ -350,12 +373,34 @@ extension YHCertificateSearchViewController {
...
@@ -350,12 +373,34 @@ extension YHCertificateSearchViewController {
}
}
}
}
}
}
sheetView
.
uploadImageBlock
=
{
sheetView
.
uploadImageBlock
=
{
[
weak
self
]
im
age
,
imageName
in
[
weak
self
]
im
gArr
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
uploadImage
(
image
,
imageName
:
imageName
,
supplementInfo
:
supplementInfo
)
{
let
group
=
DispatchGroup
()
// 待上传的进入详情
var
result
=
false
DispatchQueue
.
main
.
async
{
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
for
item
in
imgArr
{
if
let
image
=
item
.
data
{
group
.
enter
()
uploadImage
(
image
,
imageName
:
item
.
name
,
supplementInfo
:
supplementInfo
)
{
success
in
if
success
{
result
=
success
}
group
.
leave
()
}
}
}
// 等待所有任务完成
group
.
notify
(
queue
:
.
main
)
{
// 所有任务完成,回到主线程继续执行
print
(
"所有任务完成"
)
YHHUD
.
hide
()
if
result
{
// 只要有一张照片上传成功即可进入详情
let
vc
=
YHCertificateUploadContentListVC
()
let
vc
=
YHCertificateUploadContentListVC
()
vc
.
orderId
=
self
.
orderId
vc
.
orderId
=
self
.
orderId
vc
.
categoryInfo
=
self
.
categoryInfo
vc
.
categoryInfo
=
self
.
categoryInfo
...
@@ -363,6 +408,7 @@ extension YHCertificateSearchViewController {
...
@@ -363,6 +408,7 @@ extension YHCertificateSearchViewController {
self
.
navigationController
?
.
pushViewController
(
vc
)
self
.
navigationController
?
.
pushViewController
(
vc
)
}
}
}
}
}
}
sheetView
.
show
()
sheetView
.
show
()
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/C/YHCertificateUploadContentListVC.swift
View file @
30124f2b
...
@@ -105,9 +105,21 @@ class YHCertificateUploadContentListVC: YHBaseViewController {
...
@@ -105,9 +105,21 @@ class YHCertificateUploadContentListVC: YHBaseViewController {
[
weak
self
]
text
in
[
weak
self
]
text
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
if
let
selectEditItem
=
selectEditItem
,
var
text
=
text
{
if
let
selectEditItem
=
selectEditItem
,
var
text
=
text
{
// 重命名
text
=
text
+
"."
+
selectEditItem
.
getFileSuffixName
()
text
=
text
+
"."
+
selectEditItem
.
getFileSuffixName
()
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
selectEditItem
,
operation
:
"rename"
,
rename
:
text
)
{
YHHUD
.
show
(
.
progress
(
message
:
"重命名中..."
))
success
in
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
selectEditItem
,
operation
:
"rename"
,
rename
:
text
)
{
success
,
error
in
YHHUD
.
hide
()
if
success
{
YHHUD
.
flash
(
message
:
"重命名成功"
)
}
else
{
var
msg
=
"重命名失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
self
.
requestList
()
self
.
requestList
()
}
}
}
}
...
@@ -133,10 +145,30 @@ class YHCertificateUploadContentListVC: YHBaseViewController {
...
@@ -133,10 +145,30 @@ class YHCertificateUploadContentListVC: YHBaseViewController {
print
(
fileUrl
)
print
(
fileUrl
)
uploadFile
(
fileUrl
)
uploadFile
(
fileUrl
)
}
}
sheetView
.
uploadImageBlock
=
{
sheetView
.
uploadImageBlock
=
{
[
weak
self
]
im
age
,
imageName
in
[
weak
self
]
im
gArr
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
uploadImage
(
image
,
imageName
:
imageName
)
let
group
=
DispatchGroup
()
var
result
=
false
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
for
item
in
imgArr
{
if
let
image
=
item
.
data
{
group
.
enter
()
uploadImage
(
image
,
imageName
:
item
.
name
)
{
success
in
group
.
leave
()
}
}
}
// 等待所有任务完成
group
.
notify
(
queue
:
.
main
)
{
// 所有任务完成,回到主线程继续执行
print
(
"所有任务完成"
)
YHHUD
.
hide
()
}
}
}
sheetView
.
show
()
sheetView
.
show
()
}
}
...
@@ -235,8 +267,20 @@ extension YHCertificateUploadContentListVC: UITableViewDelegate, UITableViewData
...
@@ -235,8 +267,20 @@ extension YHCertificateUploadContentListVC: UITableViewDelegate, UITableViewData
let
msg
=
"您确定要删除文档
\(
contentItem
.
name
)
吗"
let
msg
=
"您确定要删除文档
\(
contentItem
.
name
)
吗"
YHTwoOptionAlertView
.
showAlertView
(
message
:
msg
)
{
sure
in
YHTwoOptionAlertView
.
showAlertView
(
message
:
msg
)
{
sure
in
if
!
sure
{
return
}
if
!
sure
{
return
}
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
self
.
supplementInfo
.
id
,
urlModel
:
contentItem
,
operation
:
"del"
,
rename
:
""
)
{
// 删除
success
in
YHHUD
.
show
(
.
progress
(
message
:
"删除中..."
))
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
self
.
supplementInfo
.
id
,
urlModel
:
contentItem
,
operation
:
"del"
,
rename
:
""
)
{
success
,
error
in
YHHUD
.
hide
()
if
success
{
YHHUD
.
flash
(
message
:
"删除成功"
)
}
else
{
var
msg
=
"删除失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
self
.
requestList
()
self
.
requestList
()
}
}
}
}
...
@@ -522,14 +566,12 @@ extension YHCertificateUploadContentListVC {
...
@@ -522,14 +566,12 @@ extension YHCertificateUploadContentListVC {
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
)
{
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
callBack
:((
Bool
)
->
())?
)
{
// 先OSS上传得到URL
// 先OSS上传得到URL
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
viewModel
.
uploadImage
(
img
)
{
self
.
viewModel
.
uploadImage
(
img
)
{
[
weak
self
]
url
,
error
in
[
weak
self
]
url
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
let
url
=
url
,
!
url
.
isEmpty
{
if
let
url
=
url
,
!
url
.
isEmpty
{
var
suffix
=
"jpg"
var
suffix
=
"jpg"
let
suffixName
=
url
.
pathExtension
.
lowercased
()
let
suffixName
=
url
.
pathExtension
.
lowercased
()
...
@@ -542,18 +584,34 @@ extension YHCertificateUploadContentListVC {
...
@@ -542,18 +584,34 @@ extension YHCertificateUploadContentListVC {
model
.
name
=
imageName
model
.
name
=
imageName
model
.
url
=
url
model
.
url
=
url
model
.
suffix
=
suffix
model
.
suffix
=
suffix
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
in
success
,
error
in
DispatchQueue
.
main
.
async
{
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
callBack
?(
success
)
self
.
requestList
()
self
.
requestList
()
}
}
return
return
}
}
//
//
var
msg
=
"上传图片失败"
DispatchQueue
.
main
.
async
{
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
var
msg
=
"上传图片失败"
msg
=
errorMsg
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
YHHUD
.
flash
(
message
:
msg
)
callBack
?(
false
)
}
}
}
}
...
@@ -576,8 +634,19 @@ extension YHCertificateUploadContentListVC {
...
@@ -576,8 +634,19 @@ extension YHCertificateUploadContentListVC {
model
.
name
=
fileName
model
.
name
=
fileName
model
.
url
=
successUrl
model
.
url
=
successUrl
model
.
suffix
=
suffixName
model
.
suffix
=
suffixName
self
.
viewModel
.
updateCertificateItem
(
supplementId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
success
in
self
.
viewModel
.
updateCertificateItem
(
supplementsId
:
supplementInfo
.
id
,
urlModel
:
model
,
operation
:
"add"
,
rename
:
""
)
{
success
,
error
in
YHHUD
.
hide
()
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
self
.
requestList
()
self
.
requestList
()
}
}
return
return
...
@@ -587,7 +656,6 @@ extension YHCertificateUploadContentListVC {
...
@@ -587,7 +656,6 @@ extension YHCertificateUploadContentListVC {
msg
=
errorMsg
msg
=
errorMsg
}
}
YHHUD
.
flash
(
message
:
msg
)
YHHUD
.
flash
(
message
:
msg
)
YHCertificateUploadFailTipsView
.
tipsView
()
.
show
()
}
}
}
else
{
}
else
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/V/YHCertificateUploadSheetView.swift
View file @
30124f2b
...
@@ -18,6 +18,17 @@
...
@@ -18,6 +18,17 @@
import
UIKit
import
UIKit
import
Photos
import
Photos
import
PhotosUI
class
YHSelectImageItem
{
var
name
:
String
var
data
:
UIImage
?
init
(
name
:
String
=
""
,
data
:
UIImage
?
=
nil
)
{
self
.
name
=
name
self
.
data
=
data
}
}
enum
YHCertificateUploadType
:
Int
{
enum
YHCertificateUploadType
:
Int
{
...
@@ -93,7 +104,7 @@ class YHCertificateUploadSheetView: UIView {
...
@@ -93,7 +104,7 @@ class YHCertificateUploadSheetView: UIView {
// 上传文件
// 上传文件
var
uploadFilesBlock
:((
URL
)
->
())?
var
uploadFilesBlock
:((
URL
)
->
())?
// 上传图片
// 上传图片
var
uploadImageBlock
:((
UIImage
,
String
)
->
())?
var
uploadImageBlock
:((
[
YHSelectImageItem
]
)
->
())?
// 点击模版
// 点击模版
var
clickTemplateBlock
:((
YHMaterialPath
?)
->
())?
var
clickTemplateBlock
:((
YHMaterialPath
?)
->
())?
...
@@ -439,39 +450,47 @@ extension YHCertificateUploadSheetView: (UIImagePickerControllerDelegate & UINav
...
@@ -439,39 +450,47 @@ extension YHCertificateUploadSheetView: (UIImagePickerControllerDelegate & UINav
return
return
}
}
let
isMultiSelect
=
false
if
#available(iOS 14.0, *)
{
// iOS14以上可多选
if
!
isMultiSelect
{
if
UIImagePickerController
.
isSourceTypeAvailable
(
.
photoLibrary
){
var
configuration
=
PHPickerConfiguration
()
let
imagePicker
=
UIImagePickerController
()
// 设置最大选择数量
imagePicker
.
delegate
=
self
configuration
.
selectionLimit
=
9
imagePicker
.
sourceType
=
.
photoLibrary
// 设置选择器的过滤条件 只显示图片
// 这一句,开始调用图库
configuration
.
filter
=
.
images
UIViewController
.
current
?
.
present
(
imagePicker
,
animated
:
true
)
let
picker
=
PHPickerViewController
(
configuration
:
configuration
)
}
picker
.
delegate
=
self
UIViewController
.
current
?
.
present
(
picker
,
animated
:
true
,
completion
:
nil
)
}
else
{
}
else
{
// iOS14以下只能单选
}
if
UIImagePickerController
.
isSourceTypeAvailable
(
.
photoLibrary
){
let
imagePicker
=
UIImagePickerController
()
imagePicker
.
delegate
=
self
imagePicker
.
sourceType
=
.
photoLibrary
// 这一句,开始调用图库
UIViewController
.
current
?
.
present
(
imagePicker
,
animated
:
true
)
}
}
}
}
func
imagePickerController
(
_
picker
:
UIImagePickerController
,
didFinishPickingMediaWithInfo
info
:
[
UIImagePickerController
.
InfoKey
:
Any
])
{
func
imagePickerController
(
_
picker
:
UIImagePickerController
,
didFinishPickingMediaWithInfo
info
:
[
UIImagePickerController
.
InfoKey
:
Any
])
{
if
let
image
=
info
[
UIImagePickerController
.
InfoKey
.
originalImage
]
as?
UIImage
{
if
let
image
=
info
[
UIImagePickerController
.
InfoKey
.
originalImage
]
as?
UIImage
{
// 若无照片名称使用时间字符串
var
imageName
=
""
let
dateFormatter
=
DateFormatter
()
dateFormatter
.
dateFormat
=
"yyyy-MM-dd"
let
dateString
=
dateFormatter
.
string
(
from
:
Date
())
var
imageName
=
dateString
// 获取照片的名称
// 获取照片的名称
if
let
imageUrl
=
info
[
.
imageURL
]
as?
URL
{
if
let
imageUrl
=
info
[
.
imageURL
]
as?
URL
{
let
lastComponent
=
imageUrl
.
lastPathComponent
let
lastComponent
=
imageUrl
.
lastPathComponent
if
!
imageName
.
isEmpty
{
imageName
=
lastComponent
imageName
=
lastComponent
}
}
if
imageName
.
isEmpty
{
let
timestamp
=
Date
()
.
timeIntervalSince1970
imageName
=
"
\(
timestamp
)
.jpg"
}
}
uploadImageBlock
?(
image
,
imageName
)
let
item
=
YHSelectImageItem
(
name
:
imageName
,
data
:
image
)
uploadImageBlock
?([
item
])
self
.
dismiss
()
self
.
dismiss
()
}
else
{
}
else
{
...
@@ -487,6 +506,58 @@ extension YHCertificateUploadSheetView: (UIImagePickerControllerDelegate & UINav
...
@@ -487,6 +506,58 @@ extension YHCertificateUploadSheetView: (UIImagePickerControllerDelegate & UINav
}
}
}
}
extension
YHCertificateUploadSheetView
:
PHPickerViewControllerDelegate
{
func
getImageFromURL
(
url
:
URL
)
->
UIImage
?
{
if
let
imageData
=
try
?
Data
(
contentsOf
:
url
)
{
return
UIImage
(
data
:
imageData
)
}
return
nil
}
@available(iOS 14.0, *)
func
picker
(
_
picker
:
PHPickerViewController
,
didFinishPicking
results
:
[
PHPickerResult
])
{
picker
.
dismiss
(
animated
:
true
,
completion
:
nil
)
self
.
dismiss
()
let
group
=
DispatchGroup
()
let
queue
=
DispatchQueue
.
global
()
var
imageArr
:[
YHSelectImageItem
]
=
[]
for
result
in
results
{
group
.
enter
()
// 此方法是异步操作
result
.
itemProvider
.
loadFileRepresentation
(
forTypeIdentifier
:
UTType
.
image
.
identifier
)
{
url
,
error
in
if
let
error
=
error
{
print
(
"Error loading image:
\(
error
.
localizedDescription
)
"
)
}
else
if
let
url
=
url
{
print
(
url
)
if
let
image
=
self
.
getImageFromURL
(
url
:
url
)
{
var
imgName
=
url
.
lastPathComponent
if
imgName
.
isEmpty
{
let
timestamp
=
Date
()
.
timeIntervalSince1970
imgName
=
"
\(
timestamp
)
.jpg"
}
let
item
=
YHSelectImageItem
(
name
:
imgName
,
data
:
image
)
imageArr
.
append
(
item
)
}
}
group
.
leave
()
}
}
// 等待所有任务完成
group
.
notify
(
queue
:
.
main
)
{
// 所有任务完成,回到主线程继续执行
print
(
"所有任务完成"
)
self
.
uploadImageBlock
?(
imageArr
)
}
}
}
extension
YHCertificateUploadSheetView
:
UIDocumentPickerDelegate
{
extension
YHCertificateUploadSheetView
:
UIDocumentPickerDelegate
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/VM/YHCertificateViewModel.swift
View file @
30124f2b
...
@@ -210,14 +210,14 @@ class YHCertificateViewModel: YHBaseViewModel {
...
@@ -210,14 +210,14 @@ class YHCertificateViewModel: YHBaseViewModel {
// 更改证件
// 更改证件
// operation参数必填,必须是:add(上传)、del(删除)、rename(重命名)
// operation参数必填,必须是:add(上传)、del(删除)、rename(重命名)
func
updateCertificateItem
(
supplement
Id
:
Int
,
urlModel
:
YHContentUrl
,
operation
:
String
,
rename
:
String
,
callBack
:((
Bool
)
->
())?)
{
func
updateCertificateItem
(
supplement
sId
:
Int
,
urlModel
:
YHContentUrl
,
operation
:
String
,
rename
:
String
,
callBack
:((
Bool
,
YHErrorModel
?
)
->
())?)
{
var
name
=
urlModel
.
name
var
name
=
urlModel
.
name
if
operation
==
"rename"
{
if
operation
==
"rename"
{
name
=
rename
name
=
rename
}
}
let
dic
:[
String
:
Any
]
=
[
let
dic
:[
String
:
Any
]
=
[
"id"
:
supplementId
,
"id"
:
supplement
s
Id
,
"content_url"
:
[
"content_url"
:
[
"name"
:
name
,
"name"
:
name
,
"url"
:
urlModel
.
url
,
"url"
:
urlModel
.
url
,
...
@@ -227,65 +227,13 @@ class YHCertificateViewModel: YHBaseViewModel {
...
@@ -227,65 +227,13 @@ class YHCertificateViewModel: YHBaseViewModel {
"operation"
:
operation
,
"operation"
:
operation
,
]
]
var
msg
=
""
if
operation
==
"add"
{
msg
=
"上传中"
}
else
if
operation
==
"del"
{
msg
=
"删除中"
}
else
if
operation
==
"rename"
{
msg
=
"重命名中"
}
YHHUD
.
show
(
.
progress
(
message
:
msg
))
self
.
updateCertificates
(
params
:
params
)
{
self
.
updateCertificates
(
params
:
params
)
{
[
weak
self
]
success
,
error
in
[
weak
self
]
success
,
error
in
YHHUD
.
hide
()
YHHUD
.
hide
()
guard
let
self
=
self
else
{
return
}
guard
let
self
=
self
else
{
return
}
callBack
?(
success
,
error
)
if
operation
==
"del"
{
if
success
{
YHHUD
.
flash
(
message
:
"删除成功"
)
}
else
{
var
msg
=
"删除失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
callBack
?(
success
)
return
}
if
operation
==
"rename"
{
if
success
{
YHHUD
.
flash
(
message
:
"重命名成功"
)
}
else
{
var
msg
=
"重命名失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
callBack
?(
success
)
return
}
if
operation
==
"add"
{
if
success
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
var
msg
=
"上传失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
YHCertificateUploadFailTipsView
.
tipsView
()
.
show
()
}
callBack
?(
success
)
return
}
}
}
}
}
}
}
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