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
4bb2bced
Commit
4bb2bced
authored
May 23, 2025
by
CZ1004
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
【优化】广告更新
parent
8c1d49c2
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
383 additions
and
85 deletions
+383
-85
AdvManager.swift
...Manager/Class/Page/Advertisement/Manager/AdvManager.swift
+6
-1
CompressCustomHeaderView.swift
...r/Class/Page/Compress/View/CompressCustomHeaderView.swift
+0
-1
MergeButtonView.swift
...Manager/Class/Page/Contact/View/Dup/MergeButtonView.swift
+1
-18
MergePreButtonView.swift
...ager/Class/Page/Contact/View/Dup/MergePreButtonView.swift
+19
-2
HomePhotosDetailViewController.swift
...Page/Home/Controller/HomePhotosDetailViewController.swift
+4
-5
HomeVideoDetailController.swift
...lass/Page/Home/Controller/HomeVideoDetailController.swift
+3
-5
HomeViewController.swift
...nager/Class/Page/Home/Controller/HomeViewController.swift
+5
-0
PhotoRemoveViewController.swift
...lass/Page/Home/Controller/PhotoRemoveViewController.swift
+4
-3
TrashSubView.swift
PhoneManager/Class/Page/Home/View/TrashSubView.swift
+165
-14
PMShowImgVideoController.swift
...eManager/Class/Page/Secret/PMShowImgVideoController.swift
+1
-0
TrashViewController.swift
...ger/Class/Page/Trash/Controller/TrashViewController.swift
+150
-12
TrashDataManager.swift
...nager/Class/Page/Trash/DataManager/TrashDataManager.swift
+12
-6
EmailContentView.swift
PhoneManager/Class/Session/Email/View/EmailContentView.swift
+13
-18
No files found.
PhoneManager/Class/Page/Advertisement/Manager/AdvManager.swift
View file @
4bb2bced
...
@@ -36,6 +36,9 @@ class AdvManager : NSObject, FullScreenContentDelegate {
...
@@ -36,6 +36,9 @@ class AdvManager : NSObject, FullScreenContentDelegate {
// 看完广告的回调
// 看完广告的回调
var
finisedCallBack
:()
->
Void
=
{}
var
finisedCallBack
:()
->
Void
=
{}
// 广告都没播放成功回调
var
failueFinishedCallBack
:
()
->
Void
=
{}
// 激励插页广告
// 激励插页广告
var
rewardedInterstitialAd
:
RewardedInterstitialAd
?
var
rewardedInterstitialAd
:
RewardedInterstitialAd
?
...
@@ -227,7 +230,9 @@ class AdvManager : NSObject, FullScreenContentDelegate {
...
@@ -227,7 +230,9 @@ class AdvManager : NSObject, FullScreenContentDelegate {
vc
.
present
(
alert
,
animated
:
true
,
completion
:
nil
)
vc
.
present
(
alert
,
animated
:
true
,
completion
:
nil
)
// 1 秒后关闭弹窗
// 1 秒后关闭弹窗
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1
)
{
DispatchQueue
.
main
.
asyncAfter
(
deadline
:
.
now
()
+
1
)
{
alert
.
dismiss
(
animated
:
true
,
completion
:
nil
)
alert
.
dismiss
(
animated
:
true
)
{
self
.
failueFinishedCallBack
()
}
}
}
return
return
}
}
...
...
PhoneManager/Class/Page/Compress/View/CompressCustomHeaderView.swift
View file @
4bb2bced
...
@@ -110,7 +110,6 @@ class CompressCustomHeaderView: UICollectionReusableView{
...
@@ -110,7 +110,6 @@ class CompressCustomHeaderView: UICollectionReusableView{
self
.
titlelabel
.
snp
.
makeConstraints
{
make
in
self
.
titlelabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
equalToSuperview
()
.
offset
(
0
)
make
.
left
.
equalToSuperview
()
.
offset
(
0
)
make
.
top
.
equalToSuperview
()
.
offset
(
14
)
make
.
top
.
equalToSuperview
()
.
offset
(
14
)
make
.
width
.
equalTo
(
96
*
RScreenW
())
make
.
height
.
equalTo
(
28
)
make
.
height
.
equalTo
(
28
)
}
}
...
...
PhoneManager/Class/Page/Contact/View/Dup/MergeButtonView.swift
View file @
4bb2bced
...
@@ -60,24 +60,7 @@ class MergeButtonView : UIView {
...
@@ -60,24 +60,7 @@ class MergeButtonView : UIView {
extension
MergeButtonView
{
extension
MergeButtonView
{
@objc
func
merge
(){
@objc
func
merge
(){
if
IAPManager
.
share
.
isSubscribed
==
false
{
self
.
alertWhenMergeContact
()
// 添加的时候需要先弹出广告
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
if
let
vc
=
self
.
responderViewController
()
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
vc
)
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
alertWhenMergeContact
()
}
}
else
{
self
.
alertWhenMergeContact
()
}
}
else
{
self
.
alertWhenMergeContact
()
}
}
else
{
self
.
alertWhenMergeContact
()
}
}
}
fileprivate
func
showMeegeAlert
(
_
self
:
MergeButtonView
)
{
fileprivate
func
showMeegeAlert
(
_
self
:
MergeButtonView
)
{
...
...
PhoneManager/Class/Page/Contact/View/Dup/MergePreButtonView.swift
View file @
4bb2bced
...
@@ -56,7 +56,24 @@ class MergePreButtonView : UIView {
...
@@ -56,7 +56,24 @@ class MergePreButtonView : UIView {
}
}
extension
MergePreButtonView
{
extension
MergePreButtonView
{
@objc
func
mergePre
(){
self
.
mergePreCallBack
()
@objc
func
mergePre
(){
if
IAPManager
.
share
.
isSubscribed
==
false
{
// 添加的时候需要先弹出广告
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
if
let
vc
=
self
.
responderViewController
()
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
vc
)
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
mergePreCallBack
()
}
}
else
{
self
.
mergePreCallBack
()
}
}
else
{
self
.
mergePreCallBack
()
}
}
else
{
self
.
mergePreCallBack
()
}
}
}
}
}
PhoneManager/Class/Page/Home/Controller/HomePhotosDetailViewController.swift
View file @
4bb2bced
...
@@ -227,12 +227,13 @@ class HomePhotosDetailViewController : BaseViewController {
...
@@ -227,12 +227,13 @@ class HomePhotosDetailViewController : BaseViewController {
make
.
bottom
.
equalToSuperview
()
.
offset
(
0
)
make
.
bottom
.
equalToSuperview
()
.
offset
(
0
)
make
.
height
.
equalTo
(
78
+
safeHeight
)
make
.
height
.
equalTo
(
78
+
safeHeight
)
}
}
self
.
trashSubView
.
type
=
self
.
mediaType
==
PhotsFileType
.
Other
?
TrashTypeEnum
.
other
:
TrashTypeEnum
.
shot
// 判断垃圾桶有没有数据
// 判断垃圾桶有没有数据
let
array
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
self
.
mediaType
==
PhotsFileType
.
Other
?
TrashTypeEnum
.
other
:
TrashTypeEnum
.
shot
)
let
array
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
self
.
mediaType
==
PhotsFileType
.
Other
?
TrashTypeEnum
.
other
:
TrashTypeEnum
.
shot
)
self
.
trashSubView
.
resourceCountlabel
.
text
=
String
(
array
.
count
)
self
.
trashSubView
.
resourceCountlabel
.
text
=
String
(
array
.
count
)
self
.
trashSubView
.
isHidden
=
array
.
count
<=
0
self
.
trashSubView
.
isHidden
=
array
.
count
<=
0
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
array
.
count
>
0
||
self
.
resourceData
.
count
<=
0
self
.
deleteButtonView
.
isHidden
=
array
.
count
>
0
self
.
deleteButtonView
.
isHidden
=
array
.
count
>
0
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
array
.
count
>
0
// 改变collection的位置
// 改变collection的位置
if
array
.
count
>
0
{
if
array
.
count
>
0
{
...
@@ -240,7 +241,6 @@ class HomePhotosDetailViewController : BaseViewController {
...
@@ -240,7 +241,6 @@ class HomePhotosDetailViewController : BaseViewController {
}
else
{
}
else
{
self
.
collectionView
.
frame
=
CGRect
(
x
:
marginLR
,
y
:
self
.
videoDetailNavView
!.
height
,
width
:
self
.
view
.
width
-
2
*
marginLR
,
height
:
self
.
view
.
height
-
self
.
videoDetailNavView
!.
height
)
self
.
collectionView
.
frame
=
CGRect
(
x
:
marginLR
,
y
:
self
.
videoDetailNavView
!.
height
,
width
:
self
.
view
.
width
-
2
*
marginLR
,
height
:
self
.
view
.
height
-
self
.
videoDetailNavView
!.
height
)
}
}
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
(
self
.
resourceData
.
count
<=
0
)
}
}
}
}
...
@@ -303,11 +303,10 @@ class HomePhotosDetailViewController : BaseViewController {
...
@@ -303,11 +303,10 @@ class HomePhotosDetailViewController : BaseViewController {
}
}
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
guard
let
self
else
{
return
}
guard
let
self
else
{
return
}
// 清除垃圾桶数据
DispatchQueue
.
main
.
async
{
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
mediaType
==
PhotsFileType
.
Other
?
TrashTypeEnum
.
other
:
TrashTypeEnum
.
shot
)
{[
weak
self
]
in
guard
let
self
else
{
return
}
self
.
addTrashView
()
self
.
addTrashView
()
}
}
}
}
self
.
addListener
()
self
.
addListener
()
...
...
PhoneManager/Class/Page/Home/Controller/HomeVideoDetailController.swift
View file @
4bb2bced
...
@@ -103,6 +103,7 @@ class HomeVideoDetailController :BaseViewController {
...
@@ -103,6 +103,7 @@ class HomeVideoDetailController :BaseViewController {
let
view
=
TrashSubView
()
let
view
=
TrashSubView
()
view
.
backgroundColor
=
UIColor
.
colorWithHex
(
hexStr
:
"#F2F6FC"
)
view
.
backgroundColor
=
UIColor
.
colorWithHex
(
hexStr
:
"#F2F6FC"
)
view
.
tipLabel
.
text
=
"The video in the trash can"
view
.
tipLabel
.
text
=
"The video in the trash can"
view
.
type
=
.
video
view
.
isHidden
=
true
view
.
isHidden
=
true
return
view
return
view
}()
}()
...
@@ -284,9 +285,7 @@ class HomeVideoDetailController :BaseViewController {
...
@@ -284,9 +285,7 @@ class HomeVideoDetailController :BaseViewController {
}
}
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
guard
let
self
else
{
return
}
guard
let
self
else
{
return
}
// 清除垃圾桶数据
DispatchQueue
.
main
.
async
{
TrashDataManager
.
clearTrashData
(
mediaType
:
TrashTypeEnum
.
video
)
{[
weak
self
]
in
guard
let
self
else
{
return
}
self
.
addTrashView
()
self
.
addTrashView
()
}
}
}
}
...
@@ -309,7 +308,7 @@ class HomeVideoDetailController :BaseViewController {
...
@@ -309,7 +308,7 @@ class HomeVideoDetailController :BaseViewController {
self
.
trashSubView
.
resourceCountlabel
.
text
=
String
(
array
.
count
)
self
.
trashSubView
.
resourceCountlabel
.
text
=
String
(
array
.
count
)
self
.
trashSubView
.
isHidden
=
array
.
count
<=
0
self
.
trashSubView
.
isHidden
=
array
.
count
<=
0
self
.
deleteButtonView
.
isHidden
=
array
.
count
>
0
self
.
deleteButtonView
.
isHidden
=
array
.
count
>
0
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
array
.
count
>
0
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
array
.
count
>
0
||
self
.
resourceData
.
count
<=
0
// 改变collection的位置
// 改变collection的位置
if
array
.
count
>
0
{
if
array
.
count
>
0
{
...
@@ -317,7 +316,6 @@ class HomeVideoDetailController :BaseViewController {
...
@@ -317,7 +316,6 @@ class HomeVideoDetailController :BaseViewController {
}
else
{
}
else
{
self
.
collectionView
.
frame
=
CGRect
(
x
:
marginLR
,
y
:
self
.
videoDetailNavView
!.
height
,
width
:
self
.
view
.
width
-
2
*
marginLR
,
height
:
self
.
view
.
height
-
self
.
videoDetailNavView
!.
height
)
self
.
collectionView
.
frame
=
CGRect
(
x
:
marginLR
,
y
:
self
.
videoDetailNavView
!.
height
,
width
:
self
.
view
.
width
-
2
*
marginLR
,
height
:
self
.
view
.
height
-
self
.
videoDetailNavView
!.
height
)
}
}
self
.
videoDetailNavView
?
.
startSelectButton
.
isHidden
=
(
self
.
resourceData
.
count
<=
0
)
}
}
}
}
...
...
PhoneManager/Class/Page/Home/Controller/HomeViewController.swift
View file @
4bb2bced
...
@@ -192,6 +192,11 @@ class HomeViewController:BaseViewController {
...
@@ -192,6 +192,11 @@ class HomeViewController:BaseViewController {
AdvManager
.
shared
.
finisedCallBack
=
{
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
junmToModule
(
cIndex
,
self
)
self
.
junmToModule
(
cIndex
,
self
)
}
}
AdvManager
.
shared
.
failueFinishedCallBack
=
{
// 首页特殊要求广告没准备好也需要跳转
self
.
junmToModule
(
cIndex
,
self
)
}
}
}
}
}
view
.
addSubview
(
homeView
!
)
view
.
addSubview
(
homeView
!
)
...
...
PhoneManager/Class/Page/Home/Controller/PhotoRemoveViewController.swift
View file @
4bb2bced
...
@@ -178,19 +178,20 @@ class PhotoRemoveViewController: BaseViewController {
...
@@ -178,19 +178,20 @@ class PhotoRemoveViewController: BaseViewController {
setupViews
()
setupViews
()
self
.
view
.
addSubview
(
self
.
trashSubView
)
self
.
view
.
addSubview
(
self
.
trashSubView
)
self
.
trashSubView
.
type
=
self
.
mediaType
self
.
trashSubView
.
snp
.
makeConstraints
{
make
in
self
.
trashSubView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
equalToSuperview
()
make
.
left
.
right
.
equalToSuperview
()
self
.
bottomConstraint
=
make
.
bottom
.
equalToSuperview
()
.
offset
(
78
+
safeHeight
)
.
constraint
self
.
bottomConstraint
=
make
.
bottom
.
equalToSuperview
()
.
offset
(
78
+
safeHeight
)
.
constraint
make
.
height
.
equalTo
(
78
+
safeHeight
)
make
.
height
.
equalTo
(
78
+
safeHeight
)
}
}
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
self
.
trashSubView
.
clearTashDataCallBack
=
{[
weak
self
]
in
guard
let
self
else
{
return
}
guard
let
self
else
{
return
}
// 清除垃圾桶数据
DispatchQueue
.
main
.
async
{
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
mediaType
)
{[
weak
self
]
in
guard
let
self
else
{
return
}
self
.
showCurrentPageUIWhenTashDataChanged
()
self
.
showCurrentPageUIWhenTashDataChanged
()
}
}
}
}
self
.
trashSubView
.
presentTashDetailViewClickCallBack
=
{[
weak
self
]
in
self
.
trashSubView
.
presentTashDetailViewClickCallBack
=
{[
weak
self
]
in
guard
let
self
else
{
return
}
guard
let
self
else
{
return
}
...
...
PhoneManager/Class/Page/Home/View/TrashSubView.swift
View file @
4bb2bced
...
@@ -103,29 +103,180 @@ class TrashSubView: UIView {
...
@@ -103,29 +103,180 @@ class TrashSubView: UIView {
extension
TrashSubView
{
extension
TrashSubView
{
@objc
func
emptyButtonAction
(){
@objc
func
emptyButtonAction
(){
if
let
vc
=
self
.
responderViewController
(){
if
IAPManager
.
share
.
isSubscribed
==
false
{
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
self
.
type
)
HomePayViewController
.
show
{
if
data
.
count
<=
0
{
// 添加的时候需要先弹出广告
return
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
}
if
let
vc
=
self
.
responderViewController
()
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
vc
)
// 首先看是否订阅
AdvManager
.
shared
.
finisedCallBack
=
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
self
.
clearTashDataCallBack
()
// 没有订阅
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
vc
.
view
.
bounds
)
view
.
dataSource
=
data
// 获取当前免费次数
let
freeCount
=
AdvManager
.
shared
.
defaultFreeTimes
Print
(
"免费次数----
\(
freeCount
)
"
)
// 当免费次数用完以后,无论删除多少都需要弹出广告
if
freeCount
<=
0
{
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
// 弹出单个删除类型
view
.
deleteType
=
self
.
type
==
.
video
?
.
deleteVideoOne
:
.
deletePhotoOne
view
.
getOtherInfoByType
(
type
:
self
.
type
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
self
.
clearTashDataCallBack
()
}
}
}
else
{
}
else
{
self
.
clearTashDataCallBack
()
// 获取次数对应的删除照片数量
var
freeDeleteCount
=
AdvManager
.
shared
.
advDeleteResouceDic
[
freeCount
]
!
let
tempArray
=
data
if
freeCount
>
1
{
// 如果是前两次,可以免费删除5张照片
if
tempArray
.
count
>
freeDeleteCount
{
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
type
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果小于直接删除
HomePayViewController
.
show
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果免费次数等于1,也就是第三次。看照片删除的数量
// 如果当前删除的照片大于5
if
tempArray
.
count
>
5
{
freeDeleteCount
=
5
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
type
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
if
tempArray
.
count
>
1
&&
tempArray
.
count
<=
5
{
// 如果是1张到5张之间,那么免费的张数是当前张数减一
freeDeleteCount
=
tempArray
.
count
-
1
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
type
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
type
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果只是一张,直接删除
HomePayViewController
.
show
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
}
}
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
if
let
vc
=
self
.
responderViewController
()
{
vc
.
view
.
hideBlur
()
}
if
deleteCount
<
0
{
return
}
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
self
.
type
)
if
data
.
count
<=
0
{
return
}
if
isMore
==
true
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
self
.
popAdverTisement
()
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
type
,
data
:
tempArray
)
{
self
.
clearTashDataCallBack
()
}
}
}
else
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
type
,
data
:
tempArray
)
{
self
.
clearTashDataCallBack
()
}
}
}
else
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
type
,
data
:
tempArray
)
{
self
.
clearTashDataCallBack
()
self
.
updateFreeTimes
()
}
}
}
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
self
.
clearTashDataCallBack
()
}
}
}
}
@objc
func
tapHandle
(){
@objc
func
tapHandle
(){
self
.
presentTashDetailViewClickCallBack
()
self
.
presentTashDetailViewClickCallBack
()
}
}
// MARK: 广告相关
func
delMethod
(
needUpdateFreeTimes
:
Bool
){
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
self
.
type
)
if
data
.
count
>
0
{
TrashDataManager
.
clearTrashData
(
mediaType
:
self
.
type
,
data
:
[])
{
if
needUpdateFreeTimes
{
self
.
updateFreeTimes
()
}
self
.
clearTashDataCallBack
()
}
}
}
/// 弹出广告
func
popAdverTisement
(){
if
let
vc
=
self
.
responderViewController
()
{
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
vc
)
}
}
// 显示弹出框
func
showPopView
(
popView
:
AdvTipDeleteView
){
self
.
responderViewController
()?
.
view
.
showBlur
()
self
.
responderViewController
()?
.
view
.
addSubview
(
popView
)
}
func
updateFreeTimes
(){
// 删除成功后更新次数
var
times
=
UserDefaults
.
standard
.
object
(
forKey
:
"saveAdvTimes"
)
as!
Int
if
times
>
0
{
// 如果免费次数大于0
times
=
times
-
1
UserDefaults
.
standard
.
set
(
times
,
forKey
:
"saveAdvTimes"
)
}
}
}
}
PhoneManager/Class/Page/Secret/PMShowImgVideoController.swift
View file @
4bb2bced
...
@@ -371,6 +371,7 @@ extension PMShowImgVideoController : UICollectionViewDelegate,UICollectionViewDa
...
@@ -371,6 +371,7 @@ extension PMShowImgVideoController : UICollectionViewDelegate,UICollectionViewDa
}
else
{
}
else
{
let
cell
=
collectionView
.
dequeueReusableCell
(
withReuseIdentifier
:
PMShowVideoCellID
,
for
:
indexPath
)
as!
PMShowVideoCell
let
cell
=
collectionView
.
dequeueReusableCell
(
withReuseIdentifier
:
PMShowVideoCellID
,
for
:
indexPath
)
as!
PMShowVideoCell
cell
.
isCurrent
=
selectSet
.
contains
(
indexPath
.
row
)
cell
.
isCurrent
=
selectSet
.
contains
(
indexPath
.
row
)
cell
.
bestResultButton
.
isHidden
=
true
cell
.
playURL
=
showName
cell
.
playURL
=
showName
cell
.
reload
()
cell
.
reload
()
cell
.
callblock
=
{[
weak
self
]
in
cell
.
callblock
=
{[
weak
self
]
in
...
...
PhoneManager/Class/Page/Trash/Controller/TrashViewController.swift
View file @
4bb2bced
...
@@ -188,28 +188,166 @@ extension TrashViewController:UIScrollViewDelegate{
...
@@ -188,28 +188,166 @@ extension TrashViewController:UIScrollViewDelegate{
@objc
func
delBtnAction
(){
@objc
func
delBtnAction
(){
let
info
=
self
.
getTypeByCurrentPage
(
pageIndex
:
currentPage
)
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
info
.
0
)
if
data
.
count
<=
0
{
return
}
// 首先看是否订阅
if
IAPManager
.
share
.
isSubscribed
==
false
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
HomePayViewController
.
show
{
// 没有订阅
// 添加的时候需要先弹出广告
let
view
:
AdvTipDeleteView
=
AdvTipDeleteView
(
frame
:
self
.
view
.
bounds
)
if
AdvManager
.
shared
.
advTimeAfterInAPP
<=
0
{
view
.
dataSource
=
data
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
AdvManager
.
shared
.
finisedCallBack
=
{
// 获取当前免费次数
self
.
delMethod
()
let
freeCount
=
AdvManager
.
shared
.
defaultFreeTimes
Print
(
"免费次数----
\(
freeCount
)
"
)
// 当免费次数用完以后,无论删除多少都需要弹出广告
if
freeCount
<=
0
{
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
// 弹出单个删除类型
view
.
deleteType
=
self
.
currentType
==
.
video
?
.
deleteVideoOne
:
.
deletePhotoOne
view
.
getOtherInfoByType
(
type
:
self
.
currentType
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 获取次数对应的删除照片数量
var
freeDeleteCount
=
AdvManager
.
shared
.
advDeleteResouceDic
[
freeCount
]
!
let
tempArray
=
data
if
freeCount
>
1
{
// 如果是前两次,可以免费删除5张照片
if
tempArray
.
count
>
freeDeleteCount
{
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
currentType
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
currentType
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果小于直接删除
HomePayViewController
.
show
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果免费次数等于1,也就是第三次。看照片删除的数量
// 如果当前删除的照片大于5
if
tempArray
.
count
>
5
{
freeDeleteCount
=
5
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
currentType
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
currentType
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
if
tempArray
.
count
>
1
&&
tempArray
.
count
<=
5
{
// 如果是1张到5张之间,那么免费的张数是当前张数减一
freeDeleteCount
=
tempArray
.
count
-
1
// 弹出多个删除类型
HomePayViewController
.
show
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
view
.
deleteType
=
self
.
currentType
==
.
video
?
.
deleteVideosMore
:
.
deletePhotosMore
view
.
freeDeleteCount
=
freeDeleteCount
view
.
getOtherInfoByType
(
type
:
self
.
currentType
==
TrashTypeEnum
.
video
?
PhotsFileType
.
videos
:
PhotsFileType
.
Other
)
self
.
showPopView
(
popView
:
view
)
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
else
{
// 如果只是一张,直接删除
HomePayViewController
.
show
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
}
else
{
self
.
delMethod
()
}
}
}
}
}
else
{
view
.
deleteButtonClickCallback
=
{
isMore
,
deleteCount
in
self
.
delMethod
()
self
.
view
.
hideBlur
()
if
deleteCount
<
0
{
return
}
let
info
=
self
.
getTypeByCurrentPage
(
pageIndex
:
self
.
currentPage
)
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
info
.
0
)
if
data
.
count
<=
0
{
return
}
if
isMore
==
true
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
self
.
popAdverTisement
()
// 广告看完再结束
AdvManager
.
shared
.
finisedCallBack
=
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
info
.
0
,
data
:
tempArray
)
{
info
.
1
.
dataSource
.
removeAll
(
where
:
{
tempArray
.
map
({
$0
.
localIdentifier
})
.
contains
(
$0
.
localIdentifier
)})
}
}
}
else
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
info
.
0
,
data
:
tempArray
)
{
info
.
1
.
dataSource
.
removeAll
(
where
:
{
tempArray
.
map
({
$0
.
localIdentifier
})
.
contains
(
$0
.
localIdentifier
)})
}
}
}
else
{
let
tempArray
=
Array
(
data
.
prefix
(
deleteCount
))
TrashDataManager
.
clearTrashData
(
mediaType
:
info
.
0
,
data
:
tempArray
)
{
self
.
updateFreeTimes
()
info
.
1
.
dataSource
.
removeAll
(
where
:
{
tempArray
.
map
({
$0
.
localIdentifier
})
.
contains
(
$0
.
localIdentifier
)})
}
}
}
}
else
{
self
.
delMethod
(
needUpdateFreeTimes
:
true
)
}
}
}
}
func
delMethod
(){
/// 弹出广告
func
popAdverTisement
(){
AdvManager
.
shared
.
showInterstitialAd
(
vc
:
self
)
}
// 显示弹出框
func
showPopView
(
popView
:
AdvTipDeleteView
){
self
.
view
.
showBlur
()
self
.
view
.
addSubview
(
popView
)
}
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
delMethod
(
needUpdateFreeTimes
:
Bool
){
let
info
=
self
.
getTypeByCurrentPage
(
pageIndex
:
currentPage
)
let
info
=
self
.
getTypeByCurrentPage
(
pageIndex
:
currentPage
)
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
info
.
0
)
let
data
=
TrashDataManager
.
getCurrentMediaTypeTrashData
(
mediaType
:
info
.
0
)
if
data
.
count
>
0
{
if
data
.
count
>
0
{
TrashDataManager
.
clearTrashData
(
mediaType
:
info
.
0
)
{
TrashDataManager
.
clearTrashData
(
mediaType
:
info
.
0
,
data
:
[])
{
if
needUpdateFreeTimes
{
self
.
updateFreeTimes
()
}
info
.
1
.
dataSource
.
removeAll
()
info
.
1
.
dataSource
.
removeAll
()
}
}
}
}
...
...
PhoneManager/Class/Page/Trash/DataManager/TrashDataManager.swift
View file @
4bb2bced
...
@@ -17,17 +17,23 @@ class TrashDataManager {
...
@@ -17,17 +17,23 @@ class TrashDataManager {
comlete
()
comlete
()
}
}
/// 清除当前类型垃圾桶的所有数据
/// 清除当前类型垃圾桶的所有数据
static
func
clearTrashData
(
mediaType
:
TrashTypeEnum
?,
comlete
:
@escaping
()
->
Void
){
static
func
clearTrashData
(
mediaType
:
TrashTypeEnum
?,
data
:[
AssetModel
],
comlete
:
@escaping
()
->
Void
){
let
trashData
=
self
.
getCurrentMediaTypeTrashData
(
mediaType
:
mediaType
)
let
trashData
=
self
.
getCurrentMediaTypeTrashData
(
mediaType
:
mediaType
)
if
trashData
.
count
>
0
{
if
trashData
.
count
>
0
{
PhotoAndVideoMananger
.
deleteAssets
(
localIdentifiers
:
trashData
.
map
({
$0
.
localIdentifier
}))
{
let
identifierArray
:
[
String
]
=
data
.
count
==
0
?
trashData
.
map
({
$0
.
localIdentifier
})
:
data
.
map
({
$0
.
localIdentifier
})
PhotoAndVideoMananger
.
deleteAssets
(
localIdentifiers
:
identifierArray
)
{
// 清空单利和数据库的数据
// 清空单利和数据库的数据
clearCurrentMediaTypeTrashSigtonData
(
mediaType
:
mediaType
)
if
data
.
count
>
0
{
clearCurrentMediaTypeTrashDBData
(
mediaType
:
mediaType
)
for
item
in
data
{
clearCurrentMediaTypeTrashSigtonData
(
mediaType
:
mediaType
,
identifier
:
item
.
localIdentifier
)
clearCurrentMediaTypeTrashDBData
(
mediaType
:
mediaType
,
identifier
:
item
.
localIdentifier
)
}
}
else
{
clearCurrentMediaTypeTrashSigtonData
(
mediaType
:
mediaType
)
clearCurrentMediaTypeTrashDBData
(
mediaType
:
mediaType
)
}
// 删除完成之后回调
// 删除完成之后回调
PhotoManager
.
shared
.
removeDataWhenDeleteInPage
(
data
:
trashData
)
PhotoManager
.
shared
.
removeDataWhenDeleteInPage
(
data
:
trashData
)
comlete
()
comlete
()
...
...
PhoneManager/Class/Session/Email/View/EmailContentView.swift
View file @
4bb2bced
...
@@ -162,26 +162,21 @@ extension EmailContentView :UITableViewDelegate,UITableViewDataSource{
...
@@ -162,26 +162,21 @@ extension EmailContentView :UITableViewDelegate,UITableViewDataSource{
if
IAPManager
.
share
.
isSubscribed
==
false
{
if
IAPManager
.
share
.
isSubscribed
==
false
{
// 弹出内购页面
// 弹出内购页面
HomePayViewController
.
show
{
HomePayViewController
.
show
{
// 再次判断下
// 弹出提示框
if
IAPManager
.
share
.
isSubscribed
==
false
{
let
alertView
=
AdvTipSelectView
()
// 弹出提示框
alertView
.
selectType
=
.
selectTypeSetAnimation
let
alertView
=
AdvTipSelectView
()
alertView
.
getOtherInfoByType
()
alertView
.
selectType
=
.
selectTypeSetAnimation
self
.
showBlur
()
alertView
.
getOtherInfoByType
()
self
.
responderViewController
()?
.
present
(
alertView
,
animated
:
true
)
self
.
showBlur
()
alertView
.
selectClickCallback
=
{
isSure
in
self
.
responderViewController
()?
.
present
(
alertView
,
animated
:
true
)
alertView
.
dismiss
(
animated
:
true
)
alertView
.
selectClickCallback
=
{
isSure
in
self
.
hideBlur
()
alertView
.
dismiss
(
animated
:
true
)
if
isSure
{
self
.
hideBlur
()
self
.
popAdverTisement
()
if
isSure
{
AdvManager
.
shared
.
finisedCallBack
=
{
self
.
popAdverTisement
()
callblock
()
AdvManager
.
shared
.
finisedCallBack
=
{
callblock
()
}
}
}
}
}
}
else
{
callblock
()
}
}
}
}
}
else
{
}
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