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
afb9da78
Commit
afb9da78
authored
Mar 17, 2024
by
Steven杜宇
1
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
// 我的证书
parent
9f1c8544
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
174 additions
and
76 deletions
+174
-76
YHCertificateResourceUploadVC.swift
...yCertificates(我的证书)/C/YHCertificateResourceUploadVC.swift
+14
-75
YHCertificateUploadSheetView.swift
...MyCertificates(我的证书)/V/YHCertificateUploadSheetView.swift
+160
-1
No files found.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/C/YHCertificateResourceUploadVC.swift
View file @
afb9da78
...
@@ -9,6 +9,7 @@
...
@@ -9,6 +9,7 @@
import
UIKit
import
UIKit
import
JXSegmentedView
import
JXSegmentedView
import
UniformTypeIdentifiers
import
UniformTypeIdentifiers
import
IQKeyboardManagerSwift
class
YHCertificateResourceUploadVC
:
YHBaseViewController
{
class
YHCertificateResourceUploadVC
:
YHBaseViewController
{
...
@@ -33,30 +34,6 @@ class YHCertificateResourceUploadVC: YHBaseViewController {
...
@@ -33,30 +34,6 @@ class YHCertificateResourceUploadVC: YHBaseViewController {
return
tableView
return
tableView
}()
}()
lazy
var
documentPickerVC
:
UIDocumentPickerViewController
=
{
let
docTypes
=
[
"public.image"
,
"com.adobe.pdf"
,
"com.microsoft.word.doc"
,
"com.microsoft.powerpoint.ppt"
]
if
#available(iOS 14.0, *)
{
var
arr
:[
UTType
]
=
[]
for
docStr
in
docTypes
{
if
let
type
=
UTType
(
docStr
)
{
arr
.
append
(
type
)
}
}
let
docPickerVC
=
UIDocumentPickerViewController
(
forOpeningContentTypes
:
arr
)
docPickerVC
.
delegate
=
self
return
docPickerVC
}
let
docPickerVC
=
UIDocumentPickerViewController
(
documentTypes
:
docTypes
,
in
:
.
open
)
docPickerVC
.
delegate
=
self
return
docPickerVC
}()
override
func
viewDidLoad
()
{
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
super
.
viewDidLoad
()
self
.
view
.
backgroundColor
=
.
white
self
.
view
.
backgroundColor
=
.
white
...
@@ -96,12 +73,22 @@ extension YHCertificateResourceUploadVC: UITableViewDelegate, UITableViewDataSou
...
@@ -96,12 +73,22 @@ extension YHCertificateResourceUploadVC: UITableViewDelegate, UITableViewDataSou
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
func
tableView
(
_
tableView
:
UITableView
,
didSelectRowAt
indexPath
:
IndexPath
)
{
// if true {
//
// selectUploadFileFromICouldDrive()
// return
// }
if
true
{
if
true
{
selectUploadFileFromICouldDrive
()
YHCertificateUploadSheetView
.
sheetView
.
show
{
return
[
weak
self
]
actionType
in
guard
let
self
=
self
else
{
return
}
print
(
"%d"
,
actionType
.
rawValue
)
}
return
}
}
YHCertificateFilterView
.
sheetView
.
show
()
YHCertificateFilterView
.
sheetView
.
show
()
return
return
...
@@ -135,51 +122,3 @@ extension YHCertificateResourceUploadVC: JXSegmentedListContainerViewListDelegat
...
@@ -135,51 +122,3 @@ extension YHCertificateResourceUploadVC: JXSegmentedListContainerViewListDelegat
return
view
return
view
}
}
}
}
extension
YHCertificateResourceUploadVC
:
UIDocumentPickerDelegate
{
private
func
selectUploadFileFromICouldDrive
()
{
present
(
documentPickerVC
,
animated
:
true
)
}
func
documentPicker
(
_
controller
:
UIDocumentPickerViewController
,
didPickDocumentsAt
urls
:
[
URL
])
{
guard
let
url
=
urls
.
first
,
let
fileName
=
url
.
lastPathComponent
.
removingPercentEncoding
else
{
return
}
print
(
"
\(
url
)
"
)
// 读取文件数据
// 获取授权
let
fileUrlAuthozied
=
url
.
startAccessingSecurityScopedResource
()
if
fileUrlAuthozied
{
// 通过文件协调工具来得到新的文件地址,以此得到文件保护功能
let
fileCoordinator
=
NSFileCoordinator
()
var
error
:
NSError
?
fileCoordinator
.
coordinate
(
readingItemAt
:
url
,
options
:[
.
forUploading
],
error
:
&
error
)
{
newFileUrl
in
if
let
fileData
=
try
?
Data
(
contentsOf
:
newFileUrl
)
{
// 将文件数据上传到服务器
uploadFile
(
fileData
)
}
}
url
.
stopAccessingSecurityScopedResource
()
if
let
error
=
error
{
}
}
else
{
print
(
"授权失败"
)
}
}
func
documentPickerWasCancelled
(
_
controller
:
UIDocumentPickerViewController
)
{
}
func
uploadFile
(
_
data
:
Data
)
{
let
format
=
String
(
format
:
"%.2fM"
,
Double
(
data
.
count
)
/
(
1024.0
*
1024.0
))
print
(
"
\(
format
)
"
)
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyCertificates(我的证书)/V/YHCertificateUploadSheetView.swift
View file @
afb9da78
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
*/
*/
import
UIKit
import
UIKit
import
Photos
enum
YHCertificateUploadType
:
Int
{
enum
YHCertificateUploadType
:
Int
{
...
@@ -182,6 +183,7 @@ class YHCertificateUploadSheetView: UIView {
...
@@ -182,6 +183,7 @@ class YHCertificateUploadSheetView: UIView {
static
let
sheetView
=
YHCertificateUploadSheetView
(
frame
:
UIScreen
.
main
.
bounds
)
static
let
sheetView
=
YHCertificateUploadSheetView
(
frame
:
UIScreen
.
main
.
bounds
)
var
action
:((
YHCertificateUploadType
)
->
())?
var
action
:((
YHCertificateUploadType
)
->
())?
lazy
var
blackMaskView
:
UIView
=
{
lazy
var
blackMaskView
:
UIView
=
{
let
view
=
UIView
()
let
view
=
UIView
()
view
.
backgroundColor
=
UIColor
(
hex
:
0x0F1214
,
alpha
:
0.5
)
view
.
backgroundColor
=
UIColor
(
hex
:
0x0F1214
,
alpha
:
0.5
)
...
@@ -259,6 +261,32 @@ class YHCertificateUploadSheetView: UIView {
...
@@ -259,6 +261,32 @@ class YHCertificateUploadSheetView: UIView {
return
view
return
view
}()
}()
lazy
var
documentPickerVC
:
UIDocumentPickerViewController
=
{
let
docTypes
=
[
"public.image"
,
"com.adobe.pdf"
,
"com.microsoft.word.doc"
,
"org.openxmlformats.wordprocessingml.document"
,
"com.microsoft.powerpoint.ppt"
,
"org.openxmlformats.presentationml.presentation"
,]
if
#available(iOS 14.0, *)
{
var
arr
:[
UTType
]
=
[]
for
docStr
in
docTypes
{
if
let
type
=
UTType
(
docStr
)
{
arr
.
append
(
type
)
}
}
let
docPickerVC
=
UIDocumentPickerViewController
(
forOpeningContentTypes
:
arr
)
docPickerVC
.
delegate
=
self
return
docPickerVC
}
let
docPickerVC
=
UIDocumentPickerViewController
(
documentTypes
:
docTypes
,
in
:
.
open
)
docPickerVC
.
delegate
=
self
return
docPickerVC
}()
required
init
?(
coder
:
NSCoder
)
{
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
fatalError
(
"init(coder:) has not been implemented"
)
}
}
...
@@ -345,9 +373,140 @@ extension YHCertificateUploadSheetView {
...
@@ -345,9 +373,140 @@ extension YHCertificateUploadSheetView {
if
let
targetView
=
sender
.
view
{
if
let
targetView
=
sender
.
view
{
let
tag
=
targetView
.
tag
let
tag
=
targetView
.
tag
if
let
type
=
YHCertificateUploadType
(
rawValue
:
tag
),
let
action
=
action
{
if
let
type
=
YHCertificateUploadType
(
rawValue
:
tag
),
let
action
=
action
{
action
(
type
)
if
type
==
.
photo
{
selectPhoto
()
}
else
if
type
==
.
camera
{
takePhoto
()
}
else
if
type
==
.
phoneFile
{
selectFile
()
}
}
}
}
}
}
}
}
}
extension
YHCertificateUploadSheetView
:
(
UIImagePickerControllerDelegate
&
UINavigationControllerDelegate
)
{
private
func
getPhotoLibraryAuthorization
()
->
Bool
{
let
authorizationStatus
=
PHPhotoLibrary
.
authorizationStatus
()
switch
authorizationStatus
{
case
.
authorized
:
print
(
"已经授权"
)
return
true
case
.
notDetermined
:
print
(
"不确定是否授权"
)
// 请求授权
PHPhotoLibrary
.
requestAuthorization
({
(
status
)
in
})
case
.
denied
:
print
(
"拒绝授权"
)
case
.
restricted
:
print
(
"限制授权"
)
break
case
.
limited
:
break
@unknown
default
:
break
}
return
false
}
func
takePhoto
()
{
guard
getPhotoLibraryAuthorization
()
else
{
return
}
if
UIImagePickerController
.
isSourceTypeAvailable
(
.
camera
){
//创建图片控制器
let
imagePicker
=
UIImagePickerController
()
//设置代理
imagePicker
.
delegate
=
self
//设置来源
imagePicker
.
sourceType
=
.
camera
//打开相机
UIViewController
.
current
?
.
present
(
imagePicker
,
animated
:
true
,
completion
:
{
()
->
Void
in
})
}
else
{
printLog
(
"找不到相机"
)
}
}
func
selectPhoto
()
{
guard
getPhotoLibraryAuthorization
()
else
{
return
}
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
])
{
if
let
image
=
info
[
UIImagePickerController
.
InfoKey
.
originalImage
]
as?
UIImage
{
// if let block = backImage {
// block(image)
self
.
dismiss
()
// }
}
else
{
printLog
(
"pick image wrong"
)
}
// 收回图库选择界面
picker
.
dismiss
(
animated
:
true
,
completion
:
nil
)
}
func
imagePickerControllerDidCancel
(
_
picker
:
UIImagePickerController
)
{
picker
.
dismiss
(
animated
:
true
,
completion
:
nil
)
}
}
extension
YHCertificateUploadSheetView
:
UIDocumentPickerDelegate
{
func
selectFile
()
{
UIViewController
.
current
?
.
present
(
documentPickerVC
,
animated
:
true
,
completion
:
nil
)
}
func
documentPicker
(
_
controller
:
UIDocumentPickerViewController
,
didPickDocumentsAt
urls
:
[
URL
])
{
guard
let
url
=
urls
.
first
,
let
fileName
=
url
.
lastPathComponent
.
removingPercentEncoding
else
{
return
}
print
(
"
\(
url
)
"
)
// 读取文件数据
// 获取授权
let
fileUrlAuthozied
=
url
.
startAccessingSecurityScopedResource
()
if
fileUrlAuthozied
{
// 通过文件协调工具来得到新的文件地址,以此得到文件保护功能
let
fileCoordinator
=
NSFileCoordinator
()
var
error
:
NSError
?
fileCoordinator
.
coordinate
(
readingItemAt
:
url
,
options
:[
.
forUploading
],
error
:
&
error
)
{
newFileUrl
in
if
let
fileData
=
try
?
Data
(
contentsOf
:
newFileUrl
)
{
// 将文件数据上传到服务器
uploadFile
(
fileData
)
dismiss
()
}
}
url
.
stopAccessingSecurityScopedResource
()
if
let
error
=
error
{
}
}
else
{
print
(
"授权失败"
)
dismiss
()
}
}
func
documentPickerWasCancelled
(
_
controller
:
UIDocumentPickerViewController
)
{
}
func
uploadFile
(
_
data
:
Data
)
{
let
format
=
String
(
format
:
"%.2fM"
,
Double
(
data
.
count
)
/
(
1024.0
*
1024.0
))
print
(
"
\(
format
)
"
)
}
}
David黄金龙
@david.hjl
mentioned in commit
13484f37
·
Mar 17, 2024
mentioned in commit
13484f37
mentioned in commit 13484f37a02979a9aaf760ff9ddf11b17edf052f
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