Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
P
PhoneManager
Project
Project
Details
Activity
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Yang
PhoneManager
Commits
227e8318
Commit
227e8318
authored
May 14, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【新增】撤回功能,照片详情页面
parent
ba9a2776
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
112 additions
and
37 deletions
+112
-37
HomePhotosDetailViewController.swift
...Page/Home/Controller/HomePhotosDetailViewController.swift
+1
-14
HomeVideoDetailController.swift
...lass/Page/Home/Controller/HomeVideoDetailController.swift
+1
-10
PhotoDetailViewController.swift
...lass/Page/Home/Controller/PhotoDetailViewController.swift
+49
-0
PhotoRemoveViewController.swift
...lass/Page/Home/Controller/PhotoRemoveViewController.swift
+41
-8
HomeInfoView.swift
PhoneManager/Class/Page/Home/View/HomeInfoView.swift
+1
-1
PhotoRemoveNavView.swift
PhoneManager/Class/Page/Home/View/PhotoRemoveNavView.swift
+3
-1
PhotosRemoveBaseView.swift
PhoneManager/Class/Page/Home/View/PhotosRemoveBaseView.swift
+14
-0
YearMonthPickerView.swift
PhoneManager/Class/Page/Home/View/YearMonthPickerView.swift
+1
-1
TrashDataManager.swift
...nager/Class/Page/Trash/DataManager/TrashDataManager.swift
+1
-1
PMScaleImageView.swift
...Manager/Class/Tool/Class/showImage/PMScaleImageView.swift
+0
-1
No files found.
PhoneManager/Class/Page/Home/Controller/HomePhotosDetailViewController.swift
View file @
227e8318
...
...
@@ -48,11 +48,7 @@ class HomePhotosDetailViewController : BaseViewController {
var
datas
:
[
AssetModel
]
=
[]
// 排序
var
currentSort
:
Int
=
0
{
didSet
{
clearSelected
()
}
}
var
currentSort
:
Int
=
0
// 当前页面选中的
var
selectedModel
:
[
AssetModel
]
=
[]
{
...
...
@@ -651,9 +647,6 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 清理下缓存数据
PhotoDataManager
.
manager
.
removeDataWhenDeleteInPage
(
data
:
self
.
selectedModel
)
// 更新页面
DispatchQueue
.
main
.
async
{
// 删除完成之后,移除下当前选择的数据
...
...
@@ -668,10 +661,4 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
setDefaultPage
()
}
func
clearSelected
()
{
self
.
selectedModel
.
removeAll
()
}
}
PhoneManager/Class/Page/Home/Controller/HomeVideoDetailController.swift
View file @
227e8318
...
...
@@ -39,11 +39,7 @@ class HomeVideoDetailController :BaseViewController {
var
model
:
HomePhotosModel
// 排序
var
currentSort
:
Int
=
0
{
didSet
{
clearSelected
()
}
}
var
currentSort
:
Int
=
0
// 当前页面选中的
var
selectedModel
:
[
AssetModel
]
=
[]
{
...
...
@@ -569,11 +565,6 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
func
clearSelected
()
{
self
.
selectedModel
.
removeAll
()
}
/// 改变标题
func
changeHeaderTitle
(){
var
title
:
String
=
"Largest"
...
...
PhoneManager/Class/Page/Home/Controller/PhotoDetailViewController.swift
0 → 100644
View file @
227e8318
//
// PhotoDetailViewController.swift
// PhoneManager
//
// Created by edy on 2025/5/14.
//
import
UIKit
class
PhotoDetailViewController
:
BaseViewController
{
lazy
var
showView
:
PMScaleImageView
=
{
let
view
=
PMScaleImageView
()
return
view
}()
lazy
var
closeButton
:
UIButton
=
{
let
view
=
UIButton
(
type
:
.
custom
)
view
.
setImage
(
UIImage
(
named
:
"ic_close_charging"
),
for
:
.
normal
)
view
.
addTarget
(
self
,
action
:
#selector(
closeButtonAction
)
,
for
:
.
touchUpInside
)
return
view
}()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
self
.
view
.
addSubview
(
self
.
closeButton
)
self
.
closeButton
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
15
)
make
.
top
.
equalToSuperview
()
.
offset
(
statusBarHeight
+
8
)
make
.
width
.
height
.
equalTo
(
28
)
}
self
.
view
.
addSubview
(
self
.
showView
)
self
.
showView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
top
.
equalTo
(
statusBarHeight
+
44
)
make
.
bottom
.
equalTo
(
-
safeHeight
)
}
}
@objc
func
closeButtonAction
(){
self
.
dismiss
(
animated
:
true
)
}
}
PhoneManager/Class/Page/Home/Controller/PhotoRemoveViewController.swift
View file @
227e8318
...
...
@@ -44,16 +44,20 @@ class PhotoRemoveViewController: BaseViewController {
}()
// MARK: - 初始化
init
(
data
:
[
AssetModel
],
currentIndex
:
Int
,
mediaType
:
TrashTypeEnum
)
{
self
.
mediaType
=
mediaType
let
tempData
=
data
// 从currentIndex截断拼接在末尾,设置currentIndex为0
let
result
=
Array
(
tempData
[
currentIndex
...
])
+
Array
(
tempData
[
..<
currentIndex
])
self
.
currentIndex
=
0
// 从currentIndex截断拼接在末尾,设置currentIndex为0,将单利的数据拼接在最前面
var
tempArray
:
[
AssetModel
]
=
[]
if
let
type
=
self
.
mediaType
{
if
let
dataSg
=
Singleton
.
shared
.
trashData
[
type
]{
tempArray
=
dataSg
}
}
let
result
=
tempArray
+
Array
(
tempData
[
currentIndex
...
])
+
Array
(
tempData
[
..<
currentIndex
])
self
.
currentIndex
=
tempArray
.
count
self
.
dataModel
=
result
super
.
init
(
nibName
:
nil
,
bundle
:
nil
)
}
...
...
@@ -100,8 +104,37 @@ class PhotoRemoveViewController: BaseViewController {
}
}
self
.
navView
.
reSetCallBack
=
{
if
self
.
currentIndex
>
0
{
self
.
currentIndex
=
self
.
currentIndex
-
1
// 重新设置下图片
self
.
updateViewContents
()
// 视图层级处理
self
.
bringCurrentViewToFront
()
}
// 移除单利中当前类型数组的最后一个数据
self
.
removeCurrentMediaTypeTrashLastData
()
// 移除完成后 重新设置下按钮状态
self
.
showCurrentPageUIWhenTashDataChanged
()
}
showCurrentPageUIWhenTashDataChanged
()
}
private
func
removeCurrentMediaTypeTrashLastData
()
{
// 移除单利中当前类型最后一个数据
if
let
type
=
self
.
mediaType
{
if
let
dataSg
=
Singleton
.
shared
.
trashData
[
type
]{
var
tempArray
=
dataSg
if
tempArray
.
count
>
0
{
tempArray
.
removeLast
()
}
Singleton
.
shared
.
trashData
[
type
]
=
tempArray
}
}
}
override
func
viewDidDisappear
(
_
animated
:
Bool
)
{
...
...
@@ -238,13 +271,13 @@ class PhotoRemoveViewController: BaseViewController {
showCurrentPageUIWhenTashDataChanged
()
}
/// 将保留列表单利数据存到数据库
func
saveDataToKeepListDB
(){
let
uinqueId
=
UUID
()
.
uuidString
if
let
type
=
self
.
mediaType
{
if
let
dataSg
=
Singleton
.
shared
.
keepList
[
type
]{
for
item
in
dataSg
{
// 如果是视频的话不会进行分组,所以每次传入不同的id组
let
uinqueId
=
UUID
()
.
uuidString
let
success
=
GroupDatabase
.
shared
.
insert
(
localIdentifier
:
item
.
localIdentifier
,
assetSize
:
item
.
assetSize
,
createDate
:
item
.
createDate
,
mediaType
:
type
.
dbType
,
groupId
:
uinqueId
)
if
success
==
false
{
Print
(
"保留单利数据到数据库保留列表失败"
)
...
...
PhoneManager/Class/Page/Home/View/HomeInfoView.swift
View file @
227e8318
...
...
@@ -498,7 +498,7 @@ class HomeInfoTitleView:UIView {
self
.
filterButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalToSuperview
()
.
offset
(
35
)
make
.
centerY
.
equalTo
(
self
.
titleLabel
.
snp
.
centerY
)
make
.
right
.
equalToSuperview
()
.
offset
(
-
15
)
make
.
height
.
equalTo
(
28
)
make
.
width
.
equalTo
(
98
)
...
...
PhoneManager/Class/Page/Home/View/PhotoRemoveNavView.swift
View file @
227e8318
...
...
@@ -20,6 +20,8 @@ class PhotoRemoveNavView: UIView {
private
var
topConstraint
:
Constraint
?
var
reSetCallBack
:()
->
Void
=
{}
public
var
mediaType
:
TrashTypeEnum
=
.
shot
{
didSet
{
if
mediaType
==
.
video
{
...
...
@@ -99,7 +101,7 @@ class PhotoRemoveNavView: UIView {
}
@objc
private
func
resetButtonAction
()
{
self
.
reSetCallBack
()
}
}
PhoneManager/Class/Page/Home/View/PhotosRemoveBaseView.swift
View file @
227e8318
...
...
@@ -18,6 +18,7 @@ class PhotosRemoveBaseView: UIView {
var
innerVideoController
:
VideoViewController
?
func
reload
(
index
:
Int
)
->
Void
{
if
let
url
=
url
{
self
.
innerVideoController
=
VideoViewController
()
...
...
@@ -51,6 +52,11 @@ class PhotosRemoveBaseView: UIView {
self
.
layer
.
cornerRadius
=
20
self
.
clipsToBounds
=
true
setupUI
()
self
.
imageView
.
isUserInteractionEnabled
=
true
let
tap
=
UITapGestureRecognizer
()
tap
.
addTarget
(
self
,
action
:
#selector(
showDeatail
)
)
self
.
imageView
.
addGestureRecognizer
(
tap
)
}
...
...
@@ -120,4 +126,12 @@ class PhotosRemoveBaseView: UIView {
self
.
rightButton
.
center
=
self
.
center
}
}
@objc
func
showDeatail
(){
let
vc
:
PhotoDetailViewController
=
PhotoDetailViewController
()
vc
.
showView
.
icon
=
self
.
imageView
.
image
vc
.
modalPresentationStyle
=
.
fullScreen
self
.
responderViewController
()?
.
present
(
vc
,
animated
:
true
)
}
}
PhoneManager/Class/Page/Home/View/YearMonthPickerView.swift
View file @
227e8318
...
...
@@ -32,7 +32,7 @@ class YearMonthPickerView: UIView {
return
picker
}()
private
let
years
=
Array
(
Array
(
Calendar
.
current
.
component
(
.
year
,
from
:
Date
())
-
3
0
...
Calendar
.
current
.
component
(
.
year
,
from
:
Date
()))
.
reversed
())
private
let
years
=
Array
(
Array
(
197
0
...
Calendar
.
current
.
component
(
.
year
,
from
:
Date
()))
.
reversed
())
private
lazy
var
months
:
[
String
]
=
{
let
formatter
=
DateFormatter
()
...
...
PhoneManager/Class/Page/Trash/DataManager/TrashDataManager.swift
View file @
227e8318
...
...
@@ -19,7 +19,7 @@ class TrashDataManager {
// 清空单利和数据库的数据
clearCurrentMediaTypeTrashSigtonData
()
clearCurrentMediaTypeTrashDBData
()
// 删除完成之后
重新
// 删除完成之后
回调
comlete
()
}
}
else
{
...
...
PhoneManager/Class/Tool/Class/showImage/PMScaleImageView.swift
View file @
227e8318
...
...
@@ -63,7 +63,6 @@ class PMScaleImageView: UIView , UIScrollViewDelegate {
}()
func
scrollViewDidZoom
(
_
scrollView
:
UIScrollView
)
{
Print
(
scrollView
.
zoomScale
)
if
scrollView
.
zoomScale
>
1.5
{
self
.
Radius
=
16
}
else
{
...
...
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