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
68493861
Commit
68493861
authored
Apr 23, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改BUG
parent
37ce2e23
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
192 additions
and
124 deletions
+192
-124
AdvTipDeleteView.swift
...r/Class/Session/Advertisement/View/AdvTipDeleteView.swift
+5
-3
ChargeInfoViewController.swift
.../Session/Charge/Controller/ChargeInfoViewController.swift
+11
-3
ChargeInfoSettingView.swift
...ger/Class/Session/Charge/View/ChargeInfoSettingView.swift
+2
-2
HomeInfoViewController.swift
...lass/Session/Home/Controller/HomeInfoViewController.swift
+63
-54
HomePhotosDetailViewController.swift
...sion/Home/Controller/HomePhotosDetailViewController.swift
+33
-14
HomeVideoDetailController.swift
...s/Session/Home/Controller/HomeVideoDetailController.swift
+33
-13
HomeViewController.swift
...er/Class/Session/Home/Controller/HomeViewController.swift
+40
-33
HomeInfoView.swift
PhoneManager/Class/Session/Home/View/HomeInfoView.swift
+3
-2
Singleton.swift
PhoneManager/Class/Tool/Singleton/Singleton.swift
+2
-0
No files found.
PhoneManager/Class/Session/Advertisement/View/AdvTipDeleteView.swift
View file @
68493861
...
...
@@ -33,7 +33,7 @@ struct AdvTipModel {
class
AdvTipDeleteView
:
UIView
{
var
deleteButtonClickCallback
:
(
Bool
)
->
Void
=
{
isMore
in
}
var
deleteButtonClickCallback
:
(
Bool
,
Int
)
->
Void
=
{
isMore
,
count
in
}
var
deleteType
:
TipDeleteType
?
...
...
@@ -284,12 +284,14 @@ extension AdvTipDeleteView : UICollectionViewDataSource, UICollectionViewDelegat
}
@objc
func
deleteMoreButtonSelect
()
{
let
photosCount
=
(
self
.
dataSource
!.
count
>
25
?
25
:
self
.
dataSource
?
.
count
)
!
deleteButtonClickCallback
(
true
,
photosCount
)
self
.
removeFromSuperview
()
deleteButtonClickCallback
(
true
)
}
@objc
func
deleteLessButtonSelect
()
{
deleteButtonClickCallback
(
false
,
self
.
freeDeleteCount
)
self
.
removeFromSuperview
()
deleteButtonClickCallback
(
false
)
}
}
...
...
PhoneManager/Class/Session/Charge/Controller/ChargeInfoViewController.swift
View file @
68493861
...
...
@@ -50,8 +50,16 @@ class ChargeInfoViewController:BaseViewController {
sview
.
flag
=
self
.
flag
sview
.
isHidden
=
type
==
.
setting
?
false
:
true
sview
.
settingCallBack
=
{
isFree
in
// 如果是pro用户或者是免费的
sview
.
settingCallBack
=
{
isFree
,
flag
in
// 如果是pro用户或者是免费的或者已经设置过的
if
UserDefaults
.
standard
.
object
(
forKey
:
"chargePicInfo"
)
!=
nil
{
let
save
:
String
=
UserDefaults
.
standard
.
object
(
forKey
:
"chargePicInfo"
)
as!
String
if
Int
(
save
)
==
flag
{
self
.
setAnimation
()
return
}
}
if
HomePayModel
.
share
.
isNoAd
==
false
&&
isFree
!=
true
{
// 弹出内购页面
...
...
PhoneManager/Class/Session/Charge/View/ChargeInfoSettingView.swift
View file @
68493861
...
...
@@ -9,7 +9,7 @@ import UIKit
class
ChargeInfoSettingView
:
UIView
{
var
settingCallBack
:(
Bool
)
->
Void
=
{
pro
in
}
var
settingCallBack
:(
Bool
,
Int
)
->
Void
=
{
pro
,
flag
in
}
var
model
:
ChargeDataModel
?
...
...
@@ -55,7 +55,7 @@ class ChargeInfoSettingView:UIView {
@objc
func
settingBtnClick
()
{
self
.
settingCallBack
(
self
.
model
?
.
isFree
??
false
)
self
.
settingCallBack
(
self
.
model
?
.
isFree
??
false
,
self
.
flag
!
)
}
...
...
PhoneManager/Class/Session/Home/Controller/HomeInfoViewController.swift
View file @
68493861
...
...
@@ -57,15 +57,9 @@ class HomeInfoViewController:BaseViewController {
}
sview
.
deleteCallBack
=
{
[
weak
self
]
array
in
guard
let
self
=
self
else
{
return
}
let
deleteOp
:((
Any
)
->
Void
)
=
{[
weak
self
]
imgs
in
if
let
cA
=
imgs
as?
[
AssetModel
]
{
func
deleteOp
(
imgs
:
[
AssetModel
]){
var
tempStringArray
:
[
String
]
=
[]
for
item
in
cA
{
for
item
in
imgs
{
tempStringArray
.
append
(
item
.
localIdentifier
)
}
PhotoAndVideoMananger
.
deleteAssets
(
localIdentifiers
:
tempStringArray
)
{[
weak
self
]
in
...
...
@@ -75,7 +69,7 @@ class HomeInfoViewController:BaseViewController {
updateFreeTimes
()
// 删除缓存数据
PhotoDataManager
.
manager
.
removeDataWhenDeleteInPage
(
data
:
array
as!
[
AssetModel
]
)
PhotoDataManager
.
manager
.
removeDataWhenDeleteInPage
(
data
:
imgs
)
// 更新下ids
PhotoDataManager
.
manager
.
loadFromFileSystem
(
resultModel
:
{[
weak
self
]
model
in
...
...
@@ -108,7 +102,10 @@ class HomeInfoViewController:BaseViewController {
}
}
}
}
sview
.
deleteCallBack
=
{
[
weak
self
]
array
in
guard
let
self
=
self
else
{
return
}
// 首先看是否订阅
if
HomePayModel
.
share
.
isNoAd
==
false
{
...
...
@@ -142,7 +139,7 @@ class HomeInfoViewController:BaseViewController {
}
}
else
{
// 如果小于直接删除
deleteOp
(
array
)
deleteOp
(
imgs
:
array
as!
[
AssetModel
]
)
}
}
else
{
...
...
@@ -169,25 +166,37 @@ class HomeInfoViewController:BaseViewController {
}
}
else
{
// 如果只是一张,直接删除
deleteOp
(
array
)
deleteOp
(
imgs
:
array
as!
[
AssetModel
]
)
}
}
}
view
.
deleteButtonClickCallback
=
{
isMore
in
view
.
deleteButtonClickCallback
=
{[
weak
self
]
isMore
,
deleteCount
in
guard
let
self
else
{
return
}
let
finalyDeleteArray
=
array
as!
[
AssetModel
]
var
tempArr
:
[
AssetModel
]
=
[]
for
item
in
finalyDeleteArray
{
if
tempArr
.
count
<
deleteCount
{
tempArr
.
append
(
item
)
}
}
if
isMore
==
true
{
self
.
popAdverTisement
()
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
deleteOp
(
array
)
DispatchQueue
.
main
.
async
{
deleteOp
(
imgs
:
tempArr
)
}
}
}
else
{
deleteOp
(
array
)
DispatchQueue
.
main
.
async
{
deleteOp
(
imgs
:
tempArr
)
}
}
}
}
else
{
deleteOp
(
array
)
deleteOp
(
imgs
:
array
as!
[
AssetModel
]
)
}
//
...
...
PhoneManager/Class/Session/Home/Controller/HomePhotosDetailViewController.swift
View file @
68493861
...
...
@@ -411,7 +411,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
else
{
// 如果小于直接删除
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
}
else
{
...
...
@@ -438,24 +438,23 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
else
{
// 如果只是一张,直接删除
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
}
view
.
deleteButtonClickCallback
=
{
isMore
in
}
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
if
isMore
==
true
{
self
.
popAdverTisement
()
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
deleteAction
(
)
self
.
deleteAction
(
count
:
deleteCount
)
}
}
else
{
self
.
deleteAction
()
}
self
.
deleteAction
(
count
:
deleteCount
)
}
}
}
else
{
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
...
...
@@ -466,8 +465,10 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
func
popAdverTisement
(){
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
func
deleteAction
(){
func
deleteAction
(
count
:
Int
){
// 删除当前选择
let
tempArray
=
Array
(
self
.
selectedModel
.
prefix
(
count
))
self
.
selectedModel
=
tempArray
let
allIdent
=
self
.
selectedModel
.
map
{
$0
.
localIdentifier
}
let
fetchResult
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
allIdent
,
options
:
nil
)
PHPhotoLibrary
.
shared
()
.
performChanges
({
...
...
@@ -475,6 +476,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}){
success
,
error
in
if
(
success
){
print
(
"删除文件成功"
)
self
.
updateFreeTimes
()
self
.
updateCurrentPageWhenDeleteAny
()
}
else
{
if
let
error
=
error
{
...
...
@@ -484,6 +486,16 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}
}
func
updateFreeTimes
(){
// 删除成功后更新次数
var
times
=
UserDefaults
.
standard
.
object
(
forKey
:
"saveAdvTimes"
)
as!
Int
if
times
>
0
{
// 如果免费次数大于0
times
=
times
-
1
UserDefaults
.
standard
.
set
(
times
,
forKey
:
"saveAdvTimes"
)
}
}
func
updateCurrentPageWhenDeleteAny
(){
for
item
in
self
.
selectedModel
{
// 移除当前数据
...
...
@@ -507,10 +519,17 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 更新页面
DispatchQueue
.
main
.
async
{
// 删除完成之后,移除下当前选择的数据
self
.
selectedModel
.
removeAll
()
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
self
.
deleteButton
.
setTitle
(
"Delete"
,
for
:
.
normal
)
UIView
.
transition
(
with
:
self
.
collectionView
,
duration
:
0.3
,
options
:
.
transitionCrossDissolve
,
animations
:
{
self
.
collectionView
.
reloadData
()
},
completion
:
nil
)
}
}
...
...
PhoneManager/Class/Session/Home/Controller/HomeVideoDetailController.swift
View file @
68493861
...
...
@@ -319,6 +319,8 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
@objc
func
deleteButtonAction
(){
// 首先看是否订阅
...
...
@@ -353,7 +355,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
}
else
{
// 如果小于直接删除
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
}
else
{
...
...
@@ -380,24 +382,35 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}
}
else
{
// 如果只是一张,直接删除
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
}
view
.
deleteButtonClickCallback
=
{
isMore
in
}
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
if
isMore
==
true
{
self
.
popAdverTisement
()
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
deleteAction
(
)
self
.
deleteAction
(
count
:
deleteCount
)
}
}
else
{
self
.
deleteAction
()
}
self
.
deleteAction
(
count
:
deleteCount
)
}
}
}
else
{
deleteAction
()
deleteAction
(
count
:
self
.
selectedModel
.
count
)
}
}
func
updateFreeTimes
(){
// 删除成功后更新次数
var
times
=
UserDefaults
.
standard
.
object
(
forKey
:
"saveAdvTimes"
)
as!
Int
if
times
>
0
{
// 如果免费次数大于0
times
=
times
-
1
UserDefaults
.
standard
.
set
(
times
,
forKey
:
"saveAdvTimes"
)
}
}
...
...
@@ -406,7 +419,9 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
func
deleteAction
(){
func
deleteAction
(
count
:
Int
){
let
tempArray
=
Array
(
self
.
selectedModel
.
prefix
(
count
))
self
.
selectedModel
=
tempArray
// 删除当前选择
let
fetchResult
=
PHAsset
.
fetchAssets
(
withLocalIdentifiers
:
self
.
selectedModel
.
map
{
$0
.
localIdentifier
},
options
:
nil
)
PHPhotoLibrary
.
shared
()
.
performChanges
({
...
...
@@ -414,6 +429,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}){
success
,
error
in
if
(
success
){
print
(
"删除文件成功"
)
self
.
updateFreeTimes
()
// 移除当前总数据源的数据
self
.
updateCurrentPageWhenDeleteAny
()
}
else
{
...
...
@@ -431,6 +447,10 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
self
.
resourceData
.
removeAll
{
$0
.
localIdentifier
==
item
.
localIdentifier
}
// 更新下头部数量
DispatchQueue
.
main
.
async
{
self
.
selectedModel
.
removeAll
()
self
.
deleteButton
.
backgroundColor
=
UIColor
(
red
:
0.7
,
green
:
0.7
,
blue
:
0.7
,
alpha
:
1
)
self
.
deleteButton
.
setTitle
(
"Delete"
,
for
:
.
normal
)
if
self
.
currentHeaderView
!=
nil
{
self
.
currentHeaderView
?
.
sizeLabel
.
text
=
"
\(
self
.
resourceData
.
count
)
Videos"
}
...
...
PhoneManager/Class/Session/Home/Controller/HomeViewController.swift
View file @
68493861
...
...
@@ -14,6 +14,38 @@ class HomeViewController:BaseViewController {
var
homeView
:
HomeView
?
fileprivate
func
junmToModule
(
_
cIndex
:
Int
,
_
self
:
HomeViewController
)
{
switch
cIndex
{
case
0
:
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
ChargeViewController
=
ChargeViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
break
case
1
:
DispatchQueue
.
main
.
async
{
[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
SecretViewController
=
SecretViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
case
2
:
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
CompressController
=
CompressController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
break
default
:
break
}
}
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
...
...
@@ -111,36 +143,13 @@ class HomeViewController:BaseViewController {
if
let
cIndex
=
index
as?
Int
{
// 先走广告策略
popAdverTisement
()
switch
cIndex
{
case
0
:
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
ChargeViewController
=
ChargeViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
break
case
1
:
DispatchQueue
.
main
.
async
{
[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
SecretViewController
=
SecretViewController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
}
case
2
:
DispatchQueue
.
main
.
async
{[
weak
self
]
in
guard
let
self
else
{
return
}
let
vc
:
CompressController
=
CompressController
()
self
.
navigationController
?
.
pushViewController
(
vc
,
animated
:
true
)
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
else
{
junmToModule
(
cIndex
,
self
)
}
break
default
:
break
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
junmToModule
(
cIndex
,
self
)
}
}
...
...
@@ -154,9 +163,7 @@ class HomeViewController:BaseViewController {
/// 弹出广告
func
popAdverTisement
(){
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
}
override
func
addViews
()
{
...
...
PhoneManager/Class/Session/Home/View/HomeInfoView.swift
View file @
68493861
...
...
@@ -173,11 +173,12 @@ class HomeInfoView :UIView{
for
smodel2
in
smodel
.
smodels
??
[]{
if
smodel2
.
isSeleted
??
false
{
if
selectedArray
.
count
<
Singleton
.
shared
.
maxDeleteCount
{
selectedArray
.
append
(
smodel2
.
id
!
)
}
}
}
}
return
selectedArray
}
...
...
PhoneManager/Class/Tool/Singleton/Singleton.swift
View file @
68493861
...
...
@@ -16,6 +16,8 @@ class Singleton {
var
resourceModel
:
[
ResourceModel
]
=
[]
var
maxDeleteCount
:
Int
=
25
func
startCountdown
(
completion
:
@escaping
()
->
Void
)
{
if
AdvManager
.
shared
.
timer
!=
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