Commit 38989c96 authored by CZ1004's avatar CZ1004

【优化】部分功能新增优化

parent f1791fbd
...@@ -39,7 +39,8 @@ class HomePhotosDetailViewController : BaseViewController { ...@@ -39,7 +39,8 @@ class HomePhotosDetailViewController : BaseViewController {
for item in self.model.assets { for item in self.model.assets {
dataArray = dataArray + item dataArray = dataArray + item
} }
self.resourceData = dataArray self.resourceData = self.filterTrashData(array: dataArray)
self.selectedModel = self.filterTrashData(array: self.selectedModel)
self.sortByType(sortType: self.currentSort) self.sortByType(sortType: self.currentSort)
} }
...@@ -113,6 +114,15 @@ class HomePhotosDetailViewController : BaseViewController { ...@@ -113,6 +114,15 @@ class HomePhotosDetailViewController : BaseViewController {
}() }()
/// 过滤垃圾桶数据
/// - Parameter array: 当前数据
/// - Returns: 过滤后的数据
func filterTrashData(array : [AssetModel]) -> [AssetModel]{
let data = TrashDataManager.getCurrentMediaTypeTrashData(mediaType: self.mediaType == PhotsFileType.Other ? TrashTypeEnum.other : TrashTypeEnum.shot)
return array.filter({!data.map({$0.localIdentifier}).contains($0.localIdentifier)})
}
func setUI(){ func setUI(){
...@@ -332,10 +342,22 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti ...@@ -332,10 +342,22 @@ extension HomePhotosDetailViewController:WaterfallMutiSectionDelegate,UICollecti
// 点击之后跳转详情页面 // 点击之后跳转详情页面
if self.mediaType == .screenshots { if self.mediaType == .screenshots {
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .shot) let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .shot)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
} }
if self.mediaType == .Other { if self.mediaType == .Other {
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .other) let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .other)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
} }
} }
......
...@@ -32,7 +32,8 @@ class HomeVideoDetailController :BaseViewController { ...@@ -32,7 +32,8 @@ class HomeVideoDetailController :BaseViewController {
for item in self.model.assets { for item in self.model.assets {
dataArray = dataArray + item dataArray = dataArray + item
} }
self.resourceData = dataArray self.resourceData = self.filterTrashData(array: dataArray)
self.selectedModel = self.filterTrashData(array: self.selectedModel)
self.sortByType(sortType: self.currentSort) self.sortByType(sortType: self.currentSort)
} }
...@@ -108,6 +109,14 @@ class HomeVideoDetailController :BaseViewController { ...@@ -108,6 +109,14 @@ class HomeVideoDetailController :BaseViewController {
return label return label
}() }()
/// 过滤垃圾桶数据
/// - Parameter array: 当前数据
/// - Returns: 过滤后的数据
func filterTrashData(array : [AssetModel]) -> [AssetModel]{
let data = TrashDataManager.getCurrentMediaTypeTrashData(mediaType: .video)
return array.filter({!data.map({$0.localIdentifier}).contains($0.localIdentifier)})
}
func setUI(){ func setUI(){
videoDetailNavView = VideoDetaiNavView(frame: CGRect(x: 0, y: 0, width: self.view.width, height: statusBarHeight + 44)) videoDetailNavView = VideoDetaiNavView(frame: CGRect(x: 0, y: 0, width: self.view.width, height: statusBarHeight + 44))
...@@ -276,6 +285,12 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie ...@@ -276,6 +285,12 @@ extension HomeVideoDetailController:WaterfallMutiSectionDelegate,UICollectionVie
PhotoAndVideoMananger.mananger.getVideoImageByIdent(ident: ident) { image in PhotoAndVideoMananger.mananger.getVideoImageByIdent(ident: ident) { image in
// 点击之后跳转详情页面 // 点击之后跳转详情页面
let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .video) let vc = PhotoRemoveViewController(data: self.resourceData,currentIndex: indexPath.row,mediaType: .video)
vc.dismissCallback = {
self.dealData()
UIView.transition(with: self.collectionView, duration: 0.3, options: .transitionCrossDissolve, animations: {
self.collectionView.reloadData()
}, completion: nil)
}
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
} errorHandler: { } errorHandler: {
DispatchQueue.main.async { DispatchQueue.main.async {
......
...@@ -11,6 +11,9 @@ import Photos ...@@ -11,6 +11,9 @@ import Photos
class PhotoRemoveViewController: BaseViewController { class PhotoRemoveViewController: BaseViewController {
var dismissCallback : ()->Void = {}
var mediaType : TrashTypeEnum? { var mediaType : TrashTypeEnum? {
didSet{ didSet{
if mediaType == .video { if mediaType == .video {
...@@ -203,6 +206,7 @@ class PhotoRemoveViewController: BaseViewController { ...@@ -203,6 +206,7 @@ class PhotoRemoveViewController: BaseViewController {
super.viewDidDisappear(animated) super.viewDidDisappear(animated)
// 视图消失的时候存到数据库 // 视图消失的时候存到数据库
saveDataToKeepListDB() saveDataToKeepListDB()
self.dismissCallback()
} }
......
...@@ -313,6 +313,33 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate { ...@@ -313,6 +313,33 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate {
self.tableScrollToNextRow() self.tableScrollToNextRow()
} }
// 重新设置models
func resetModels(){
var newArray : [HomeInfoTableItem] = []
for array in ids ?? [] {
var smodels:[ImageSeletedCollectionItem] = []
for id in array {
let smodel = ImageSeletedCollectionItem()
smodel.id = id
smodel.isSeleted = false
smodels.append(smodel)
}
let smodel = HomeInfoTableItem()
smodel.type = type
smodel.smodels = smodels
smodel.titleText = titleText
newArray.append(smodel)
}
self.models = newArray
}
/// 让表格自动滚动一行 /// 让表格自动滚动一行
private func tableScrollToNextRow(){ private func tableScrollToNextRow(){
...@@ -351,6 +378,11 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate { ...@@ -351,6 +378,11 @@ extension HomeInfoView:UITableViewDataSource,UITableViewDelegate {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: HomeInfoTableViewCell.identifier, for: indexPath) as! HomeInfoTableViewCell let cell = tableView.dequeueReusableCell(withIdentifier: HomeInfoTableViewCell.identifier, for: indexPath) as! HomeInfoTableViewCell
cell.saveKeepListFinishedCallback = {
self.ids?.remove(at: indexPath.section)
self.resetModels()
tableView.deleteRows(at: [indexPath], with: .automatic)
}
cell.type = self.type cell.type = self.type
cell.model = models[indexPath.row] cell.model = models[indexPath.row]
......
...@@ -24,6 +24,8 @@ class HomeInfoTableViewCell:UITableViewCell { ...@@ -24,6 +24,8 @@ class HomeInfoTableViewCell:UITableViewCell {
var callBack:callBack<Any> = {text in} var callBack:callBack<Any> = {text in}
var saveKeepListFinishedCallback : ()->Void = {}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier) super.init(style: style, reuseIdentifier: reuseIdentifier)
...@@ -222,6 +224,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou ...@@ -222,6 +224,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou
cell.keepAllCallBack = { cell.keepAllCallBack = {
//存到保留列表 //存到保留列表
saveAllDataToKeepList() saveAllDataToKeepList()
self.saveKeepListFinishedCallback()
} }
// 存全部数据到保留列表 // 存全部数据到保留列表
func saveAllDataToKeepList(){ func saveAllDataToKeepList(){
...@@ -237,6 +240,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou ...@@ -237,6 +240,7 @@ extension HomeInfoTableViewCell:UICollectionViewDelegate,UICollectionViewDataSou
} }
} }
} }
cell.callBack = {[weak self] _ in cell.callBack = {[weak self] _ in
guard let self else {return} guard let self else {return}
......
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