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
aaed0e53
Commit
aaed0e53
authored
Jun 06, 2024
by
Steven杜宇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 优化弹出上传文件弹窗逻辑
parent
ca5d1189
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
150 additions
and
0 deletions
+150
-0
YHCertificateViewModel.swift
...务中心)/MyCertificates(我的证书)/VM/YHCertificateViewModel.swift
+150
-0
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/VM/YHCertificateViewModel.swift
View file @
aaed0e53
...
...
@@ -233,3 +233,153 @@ class YHCertificateViewModel: YHBaseViewModel {
}
}
}
extension
YHCertificateViewModel
{
func
showUploadSheetView
(
orderId
:
Int
,
categoryId
:
Int
,
supplementId
:
Int
,
completion
:(()
->
())?)
{
let
sheetView
=
YHCertificateUploadSheetView
.
sheetView
()
sheetView
.
maxSelectCount
=
9
sheetView
.
uploadFilesBlock
=
{
[
weak
self
]
fileUrl
in
guard
let
self
=
self
else
{
return
}
print
(
fileUrl
)
uploadFile
(
fileUrl
,
supplementId
:
supplementId
)
{
completion
?()
}
}
sheetView
.
uploadImageBlock
=
{
[
weak
self
]
targetImgArr
in
guard
let
self
=
self
else
{
return
}
uploadImageArr
(
targetImgArr
,
supplementId
:
supplementId
)
{
completion
?()
}
}
sheetView
.
show
()
}
func
uploadFile
(
_
fileUrl
:
URL
,
supplementId
:
Int
,
successBlock
:(()
->
())?)
{
if
let
fileData
=
try
?
Data
(
contentsOf
:
fileUrl
)
{
// 将文件数据上传到服务器
let
size
=
String
(
format
:
"%.2fM"
,
Double
(
fileData
.
count
)
/
(
1024.0
*
1024.0
))
print
(
"
\(
size
)
"
)
// 先OSS上传得到URL
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
uploadFile
(
fileUrl
.
absoluteString
)
{
[
weak
self
]
successUrl
,
error
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
// 再调用业务接口
if
let
successUrl
=
successUrl
,
!
successUrl
.
isEmpty
{
let
fileName
=
successUrl
.
lastPathComponent
let
suffixName
=
successUrl
.
pathExtension
.
lowercased
()
let
model
=
YHContentUrl
()
model
.
name
=
fileName
model
.
url
=
successUrl
model
.
suffix
=
suffixName
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
self
.
updateCertificateItem
(
supplementsId
:
supplementId
,
urlModels
:[
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
)
}
successBlock
?()
}
return
}
var
msg
=
"上传图片失败"
if
let
errorMsg
=
error
?
.
errorMsg
,
!
errorMsg
.
isEmpty
{
msg
=
errorMsg
}
YHHUD
.
flash
(
message
:
msg
)
}
}
else
{
YHHUD
.
flash
(
message
:
"识别文件失败"
)
}
}
func
uploadImageArr
(
_
targetImgArr
:[
YHSelectImageItem
],
supplementId
:
Int
,
successBlock
:(()
->
())?)
{
let
ossGroup
=
DispatchGroup
()
var
ossArr
:[
YHContentUrl
]
=
[]
YHHUD
.
show
(
.
progress
(
message
:
"上传中..."
))
// 先将所有图片组上传到OSS
for
item
in
targetImgArr
{
if
let
image
=
item
.
data
{
ossGroup
.
enter
()
uploadImage
(
image
,
imageName
:
item
.
name
)
{
success
,
urlModel
in
if
success
,
let
model
=
urlModel
{
ossArr
.
append
(
model
)
}
ossGroup
.
leave
()
}
}
}
// 再将OSS上传信息组上传到服务器
ossGroup
.
notify
(
queue
:
.
main
)
{
if
ossArr
.
count
<=
0
{
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
"上传失败"
)
return
}
self
.
updateCertificateItem
(
supplementsId
:
supplementId
,
urlModels
:
ossArr
,
operation
:
"add"
,
rename
:
""
)
{
[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
hide
()
if
success
{
if
ossArr
.
count
==
targetImgArr
.
count
{
YHHUD
.
flash
(
message
:
"上传成功"
)
}
else
{
YHHUD
.
flash
(
message
:
"
\(
ossArr
.
count
)
张照片上传成功
\n\(
targetImgArr
.
count
-
ossArr
.
count
)
张照片上传失败"
)
}
successBlock
?()
}
else
{
YHHUD
.
flash
(
message
:
"上传失败"
)
}
}
}
}
func
uploadImage
(
_
img
:
UIImage
,
imageName
:
String
,
callBack
:((
Bool
,
YHContentUrl
?)
->
())?)
{
// 先OSS上传得到URL
self
.
uploadImage
(
img
)
{
[
weak
self
]
url
,
error
in
guard
let
self
=
self
else
{
return
}
if
let
url
=
url
,
!
url
.
isEmpty
{
var
suffix
=
"jpg"
let
suffixName
=
url
.
pathExtension
.
lowercased
()
if
!
suffixName
.
isEmpty
{
suffix
=
suffixName
}
// 再调用业务接口
let
model
=
YHContentUrl
()
model
.
name
=
imageName
model
.
url
=
url
model
.
suffix
=
suffix
callBack
?(
true
,
model
)
}
else
{
callBack
?(
false
,
nil
)
}
}
}
}
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