Commit 68493861 authored by CZ1004's avatar CZ1004

修改BUG

parent 37ce2e23
...@@ -33,7 +33,7 @@ struct AdvTipModel { ...@@ -33,7 +33,7 @@ struct AdvTipModel {
class AdvTipDeleteView : UIView { class AdvTipDeleteView : UIView {
var deleteButtonClickCallback : (Bool)->Void = {isMore in } var deleteButtonClickCallback : (Bool,Int)->Void = {isMore,count in }
var deleteType : TipDeleteType? var deleteType : TipDeleteType?
...@@ -284,12 +284,14 @@ extension AdvTipDeleteView : UICollectionViewDataSource, UICollectionViewDelegat ...@@ -284,12 +284,14 @@ extension AdvTipDeleteView : UICollectionViewDataSource, UICollectionViewDelegat
} }
@objc func deleteMoreButtonSelect() { @objc func deleteMoreButtonSelect() {
let photosCount = (self.dataSource!.count > 25 ? 25 : self.dataSource?.count)!
deleteButtonClickCallback(true,photosCount)
self.removeFromSuperview() self.removeFromSuperview()
deleteButtonClickCallback(true)
} }
@objc func deleteLessButtonSelect() { @objc func deleteLessButtonSelect() {
deleteButtonClickCallback(false,self.freeDeleteCount)
self.removeFromSuperview() self.removeFromSuperview()
deleteButtonClickCallback(false)
} }
} }
......
...@@ -50,9 +50,17 @@ class ChargeInfoViewController:BaseViewController { ...@@ -50,9 +50,17 @@ class ChargeInfoViewController:BaseViewController {
sview.flag = self.flag sview.flag = self.flag
sview.isHidden = type == .setting ? false : true sview.isHidden = type == .setting ? false : true
sview.settingCallBack = {isFree in sview.settingCallBack = {isFree,flag in
// 如果是pro用户或者是免费的 // 如果是pro用户或者是免费的或者已经设置过的
if HomePayModel.share.isNoAd == false && isFree != true { 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 {
// 弹出内购页面 // 弹出内购页面
HomePayViewController.show { HomePayViewController.show {
......
...@@ -9,7 +9,7 @@ import UIKit ...@@ -9,7 +9,7 @@ import UIKit
class ChargeInfoSettingView:UIView { class ChargeInfoSettingView:UIView {
var settingCallBack:(Bool)->Void = {pro in} var settingCallBack:(Bool,Int)->Void = {pro,flag in}
var model : ChargeDataModel? var model : ChargeDataModel?
...@@ -55,7 +55,7 @@ class ChargeInfoSettingView:UIView { ...@@ -55,7 +55,7 @@ class ChargeInfoSettingView:UIView {
@objc func settingBtnClick() { @objc func settingBtnClick() {
self.settingCallBack(self.model?.isFree ?? false) self.settingCallBack(self.model?.isFree ?? false,self.flag!)
} }
......
...@@ -57,58 +57,55 @@ class HomeInfoViewController:BaseViewController { ...@@ -57,58 +57,55 @@ class HomeInfoViewController:BaseViewController {
} }
func deleteOp(imgs : [AssetModel]){
var tempStringArray : [String] = []
sview.deleteCallBack = { [weak self] array in for item in imgs {
guard let self = self else { return } tempStringArray.append(item.localIdentifier)
}
let deleteOp:((Any)->Void) = {[weak self] imgs in PhotoAndVideoMananger.deleteAssets(localIdentifiers: tempStringArray) {[weak self] in
if let cA = imgs as? [AssetModel] { guard let self else {return}
var tempStringArray : [String] = []
for item in cA { // 更新免费次数
tempStringArray.append(item.localIdentifier) updateFreeTimes()
}
PhotoAndVideoMananger.deleteAssets(localIdentifiers: tempStringArray) {[weak self] in // 删除缓存数据
guard let self else {return} PhotoDataManager.manager.removeDataWhenDeleteInPage(data: imgs)
// 更新免费次数 // 更新下ids
updateFreeTimes() PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in
DispatchQueue.main.async {
// 删除缓存数据 if self?.type == .duplicates {
PhotoDataManager.manager.removeDataWhenDeleteInPage(data: array as! [AssetModel]) self?.ids = model.titleModelArray[0].assets
}
// 更新下ids if self?.type == .similar {
PhotoDataManager.manager.loadFromFileSystem(resultModel: {[weak self] model in self?.ids = model.titleModelArray[1].assets
DispatchQueue.main.async { }
if self?.type == .duplicates { if self?.type == .SimilarVideos {
self?.ids = model.titleModelArray[0].assets self?.ids = model.otherModelArray[1].assets
} }
if self?.type == .similar { if self?.type == .similarScreenshots {
self?.ids = model.titleModelArray[1].assets self?.ids = model.otherModelArray[3].assets
}
if self?.type == .SimilarVideos {
self?.ids = model.otherModelArray[1].assets
}
if self?.type == .similarScreenshots {
self?.ids = model.otherModelArray[3].assets
}
}
})
self.tablewView.deleteModel()
func updateFreeTimes(){
// 删除成功后更新次数
var times = UserDefaults.standard.object(forKey: "saveAdvTimes") as! Int
if times > 0 {
// 如果免费次数大于0
times = times - 1
UserDefaults.standard.set(times, forKey: "saveAdvTimes")
}
} }
} }
})
self.tablewView.deleteModel()
func updateFreeTimes(){
// 删除成功后更新次数
var times = UserDefaults.standard.object(forKey: "saveAdvTimes") as! Int
if times > 0 {
// 如果免费次数大于0
times = times - 1
UserDefaults.standard.set(times, forKey: "saveAdvTimes")
}
} }
} }
}
sview.deleteCallBack = { [weak self] array in
guard let self = self else { return }
// 首先看是否订阅 // 首先看是否订阅
if HomePayModel.share.isNoAd == false { if HomePayModel.share.isNoAd == false {
...@@ -142,7 +139,7 @@ class HomeInfoViewController:BaseViewController { ...@@ -142,7 +139,7 @@ class HomeInfoViewController:BaseViewController {
} }
}else { }else {
// 如果小于直接删除 // 如果小于直接删除
deleteOp(array) deleteOp(imgs: array as! [AssetModel])
} }
}else{ }else{
...@@ -169,25 +166,37 @@ class HomeInfoViewController:BaseViewController { ...@@ -169,25 +166,37 @@ class HomeInfoViewController:BaseViewController {
} }
}else{ }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 { if isMore == true {
self.popAdverTisement() self.popAdverTisement()
// 广告看完再结束 // 广告看完再结束
AdvManager.shared.finisedCallBack = { AdvManager.shared.finisedCallBack = {
deleteOp(array) DispatchQueue.main.async {
deleteOp(imgs: tempArr)
}
} }
} else { } else {
deleteOp(array) DispatchQueue.main.async {
deleteOp(imgs: tempArr)
}
} }
} }
}else { }else {
deleteOp(array) deleteOp(imgs: array as! [AssetModel])
} }
// //
......
...@@ -411,7 +411,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -411,7 +411,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
} }
}else { }else {
// 如果小于直接删除 // 如果小于直接删除
deleteAction() deleteAction(count: self.selectedModel.count)
} }
}else{ }else{
...@@ -438,24 +438,23 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -438,24 +438,23 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
} }
}else{ }else{
// 如果只是一张,直接删除 // 如果只是一张,直接删除
deleteAction() deleteAction(count: self.selectedModel.count)
} }
} }
}
view.deleteButtonClickCallback = {isMore in view.deleteButtonClickCallback = {isMore,deleteCount in
if isMore == true { if isMore == true {
self.popAdverTisement() self.popAdverTisement()
// 广告看完再结束 // 广告看完再结束
AdvManager.shared.finisedCallBack = { AdvManager.shared.finisedCallBack = {
self.deleteAction() self.deleteAction(count: deleteCount)
}
} else {
self.deleteAction()
} }
} else {
self.deleteAction(count: deleteCount)
} }
} }
}else{ }else{
deleteAction() deleteAction(count: self.selectedModel.count)
} }
...@@ -466,8 +465,10 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -466,8 +465,10 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
func popAdverTisement(){ func popAdverTisement(){
AdvManager.shared.showInterstitialAd(vc: self) 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 allIdent = self.selectedModel.map{ $0.localIdentifier }
let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: allIdent, options: nil) let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: allIdent, options: nil)
PHPhotoLibrary.shared().performChanges ({ PHPhotoLibrary.shared().performChanges ({
...@@ -475,6 +476,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -475,6 +476,7 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
}){ success, error in }){ success, error in
if(success){ if(success){
print("删除文件成功") print("删除文件成功")
self.updateFreeTimes()
self.updateCurrentPageWhenDeleteAny() self.updateCurrentPageWhenDeleteAny()
}else { }else {
if let error = error { if let error = error {
...@@ -484,6 +486,16 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -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(){ func updateCurrentPageWhenDeleteAny(){
for item in self.selectedModel { for item in self.selectedModel {
// 移除当前数据 // 移除当前数据
...@@ -507,10 +519,17 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -507,10 +519,17 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 更新页面 // 更新页面
DispatchQueue.main.async { 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: { UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData() self.collectionView.reloadData()
}, completion: nil) }, completion: nil)
} }
} }
......
...@@ -319,6 +319,8 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -319,6 +319,8 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
@objc func deleteButtonAction(){ @objc func deleteButtonAction(){
// 首先看是否订阅 // 首先看是否订阅
...@@ -353,7 +355,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -353,7 +355,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
} }
}else { }else {
// 如果小于直接删除 // 如果小于直接删除
deleteAction() deleteAction(count: self.selectedModel.count)
} }
}else{ }else{
...@@ -380,24 +382,35 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -380,24 +382,35 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
} }
}else{ }else{
// 如果只是一张,直接删除 // 如果只是一张,直接删除
deleteAction() deleteAction(count: self.selectedModel.count)
} }
} }
view.deleteButtonClickCallback = {isMore in
if isMore == true { }
self.popAdverTisement() view.deleteButtonClickCallback = {isMore,deleteCount in
// 广告看完再结束 if isMore == true {
AdvManager.shared.finisedCallBack = { self.popAdverTisement()
self.deleteAction() // 广告看完再结束
} AdvManager.shared.finisedCallBack = {
} else { self.deleteAction(count: deleteCount)
self.deleteAction()
} }
} else {
self.deleteAction(count: deleteCount)
} }
} }
}else{ }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 ...@@ -406,7 +419,9 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
AdvManager.shared.showInterstitialAd(vc: self) 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) let fetchResult = PHAsset.fetchAssets(withLocalIdentifiers: self.selectedModel.map{$0.localIdentifier}, options: nil)
PHPhotoLibrary.shared().performChanges ({ PHPhotoLibrary.shared().performChanges ({
...@@ -414,6 +429,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -414,6 +429,7 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
}){ success, error in }){ success, error in
if(success){ if(success){
print("删除文件成功") print("删除文件成功")
self.updateFreeTimes()
// 移除当前总数据源的数据 // 移除当前总数据源的数据
self.updateCurrentPageWhenDeleteAny() self.updateCurrentPageWhenDeleteAny()
}else { }else {
...@@ -431,6 +447,10 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -431,6 +447,10 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
self.resourceData.removeAll{ $0.localIdentifier == item.localIdentifier } self.resourceData.removeAll{ $0.localIdentifier == item.localIdentifier }
// 更新下头部数量 // 更新下头部数量
DispatchQueue.main.async { 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 { if self.currentHeaderView != nil {
self.currentHeaderView?.sizeLabel.text = "\(self.resourceData.count) Videos" self.currentHeaderView?.sizeLabel.text = "\(self.resourceData.count) Videos"
} }
......
...@@ -14,6 +14,38 @@ class HomeViewController:BaseViewController { ...@@ -14,6 +14,38 @@ class HomeViewController:BaseViewController {
var homeView:HomeView? 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() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -111,36 +143,13 @@ class HomeViewController:BaseViewController { ...@@ -111,36 +143,13 @@ class HomeViewController:BaseViewController {
if let cIndex = index as? Int { if let cIndex = index as? Int {
// 先走广告策略 // 先走广告策略
popAdverTisement() if AdvManager.shared.advTimeAfterInAPP <= 0 {
AdvManager.shared.showInterstitialAd(vc: self)
switch cIndex { }else {
junmToModule(cIndex, self)
case 0 : }
AdvManager.shared.finisedCallBack = {
DispatchQueue.main.async {[weak self] in self.junmToModule(cIndex, self)
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
} }
} }
...@@ -154,9 +163,7 @@ class HomeViewController:BaseViewController { ...@@ -154,9 +163,7 @@ class HomeViewController:BaseViewController {
/// 弹出广告 /// 弹出广告
func popAdverTisement(){ func popAdverTisement(){
if AdvManager.shared.advTimeAfterInAPP <= 0 {
AdvManager.shared.showInterstitialAd(vc: self)
}
} }
override func addViews() { override func addViews() {
......
...@@ -173,8 +173,9 @@ class HomeInfoView :UIView{ ...@@ -173,8 +173,9 @@ class HomeInfoView :UIView{
for smodel2 in smodel.smodels ?? []{ for smodel2 in smodel.smodels ?? []{
if smodel2.isSeleted ?? false { if smodel2.isSeleted ?? false {
if selectedArray.count < Singleton.shared.maxDeleteCount {
selectedArray.append(smodel2.id!) selectedArray.append(smodel2.id!)
}
} }
} }
} }
......
...@@ -16,6 +16,8 @@ class Singleton { ...@@ -16,6 +16,8 @@ class Singleton {
var resourceModel : [ResourceModel] = [] var resourceModel : [ResourceModel] = []
var maxDeleteCount : Int = 25
func startCountdown(completion: @escaping () -> Void) { func startCountdown(completion: @escaping () -> Void) {
if AdvManager.shared.timer != nil { if AdvManager.shared.timer != nil {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment