|
@@ -8,125 +8,32 @@
|
|
|
|
|
|
class TSAIListVC: TSBaseVC {
|
|
|
|
|
|
- lazy var dataArray: [TSBasicSectionModel] = {
|
|
|
- var dataArray = [TSBasicSectionModel]()
|
|
|
- let sectionModel = TSBasicSectionModel()
|
|
|
- dataArray.append(sectionModel)
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- //照片高清修复
|
|
|
- sectionModel.addSubItemModel(
|
|
|
- createItemModel(
|
|
|
- leftImageName:"aiList_Enhance",
|
|
|
- leftTitle: "Enhance".localized,
|
|
|
- leftSubTitle: "Remove blur, sharpen, add details".localized,
|
|
|
- rightViewStyle: 0,
|
|
|
- tapBlock: { [weak self] model, _, _ in
|
|
|
- guard let self = self else { return }
|
|
|
- enterSelectPhotos(style: .enhance) { image in
|
|
|
- let baseVc = TSAIUploadPhotoVC(titleString: model.leftTitle ?? "",upLoadImage: image, generatorStyle: .enhance)
|
|
|
- kPushVC(target: self, modelVC: baseVc)
|
|
|
- }
|
|
|
- }))
|
|
|
-
|
|
|
- //黑白照片变颜色
|
|
|
- sectionModel.addSubItemModel(
|
|
|
- createItemModel(
|
|
|
- leftImageName:"aiList_Colorize",
|
|
|
- leftTitle: "Colorize".localized,
|
|
|
- leftSubTitle: "Add colors to black-and-white photos".localized,
|
|
|
- rightViewStyle: 0,
|
|
|
- tapBlock: { [weak self] model, _, _ in
|
|
|
- guard let self = self else { return }
|
|
|
- enterSelectPhotos(style: .colorize) { image in
|
|
|
- let baseVc = TSAIUploadPhotoVC(titleString: model.leftTitle ?? "",upLoadImage: image, generatorStyle: .colorize)
|
|
|
- kPushVC(target: self, modelVC: baseVc)
|
|
|
- }
|
|
|
- }))
|
|
|
-
|
|
|
- //老照片修复
|
|
|
- sectionModel.addSubItemModel(
|
|
|
- createItemModel(
|
|
|
- leftImageName:"aiList_Descratch",
|
|
|
- leftTitle: "Descratch".localized,
|
|
|
- leftSubTitle: "Remove scratches and dirt".localized,
|
|
|
- rightViewStyle: 0,
|
|
|
- tapBlock: { [weak self] model, _, _ in
|
|
|
- guard let self = self else { return }
|
|
|
- enterSelectPhotos(style: .descratch) { image in
|
|
|
- let baseVc = TSAIUploadPhotoVC(titleString: model.leftTitle ?? "",upLoadImage: image, generatorStyle: .descratch)
|
|
|
- kPushVC(target: self, modelVC: baseVc)
|
|
|
- }
|
|
|
- }))
|
|
|
-
|
|
|
- //修复和上色老照片
|
|
|
- sectionModel.addSubItemModel(
|
|
|
- createItemModel(
|
|
|
- leftImageName:"aiList_Recreate",
|
|
|
- leftTitle: "Recreate".localized,
|
|
|
- leftSubTitle: "Bring new life to old photos".localized,
|
|
|
- rightViewStyle: 0,
|
|
|
- tapBlock: { [weak self] model, _, _ in
|
|
|
- guard let self = self else { return }
|
|
|
- enterSelectPhotos(style: .recreate) { image in
|
|
|
- let baseVc = TSAIUploadPhotoVC(titleString: model.leftTitle ?? "",upLoadImage: image, generatorStyle: .recreate)
|
|
|
- kPushVC(target: self, modelVC: baseVc)
|
|
|
- }
|
|
|
- }))
|
|
|
-
|
|
|
- //调整光线
|
|
|
- sectionModel.addSubItemModel(
|
|
|
- createItemModel(
|
|
|
- leftImageName:"aiList_Enlighten",
|
|
|
- leftTitle: "Enlighten".localized,
|
|
|
- leftSubTitle: "Easily fix lighting issues on photos".localized,
|
|
|
- rightViewStyle: 0,
|
|
|
- tapBlock: { [weak self] model, _, _ in
|
|
|
- guard let self = self else { return }
|
|
|
- enterSelectPhotos(style: .enlighten) { image in
|
|
|
- let baseVc = TSAIUploadPhotoVC(titleString: model.leftTitle ?? "",upLoadImage: image, generatorStyle: .enlighten)
|
|
|
- kPushVC(target: self, modelVC: baseVc)
|
|
|
- }
|
|
|
- }))
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- return dataArray
|
|
|
-
|
|
|
+ lazy var viewModel: TSAIListVM = {
|
|
|
+ let viewModel = TSAIListVM(target: self)
|
|
|
+ return viewModel
|
|
|
}()
|
|
|
|
|
|
- var hintBaseVC:TSAIListHintBaseVC = TSAIListHintBaseVC(config: .descratchConfig)
|
|
|
- //###################################### 导航栏 view ######################################
|
|
|
+ lazy var dataArray: [TSBasicSectionModel] = {
|
|
|
+ return viewModel.dataArray
|
|
|
+ }()
|
|
|
|
|
|
- lazy var recordBtn: UIButton = {
|
|
|
- let recordBtn = UIButton.createButton(image: UIImage(named: "record")) { [weak self] in
|
|
|
- guard let self = self else { return }
|
|
|
- kPushVC(target: self, modelVC: TSAIListHistoryVC())
|
|
|
- }
|
|
|
- return recordBtn
|
|
|
- }()
|
|
|
-
|
|
|
+ //###################################### 导航栏 view ######################################
|
|
|
|
|
|
lazy var navBarView: TSBaseNavContentBarView = {
|
|
|
- let navBarView = TSBaseNavContentBarView()
|
|
|
-
|
|
|
- let titleImageView = UIImageView.createImageView(imageName: "nav_title_ailist",contentMode: .scaleToFill)
|
|
|
- navBarView.barView.addSubview(titleImageView)
|
|
|
- titleImageView.snp.makeConstraints { make in
|
|
|
- make.centerY.equalToSuperview()
|
|
|
- make.left.equalTo(16)
|
|
|
- }
|
|
|
-
|
|
|
- navBarView.barView.addSubview(recordBtn)
|
|
|
- recordBtn.snp.makeConstraints { make in
|
|
|
- make.centerY.equalToSuperview()
|
|
|
- make.trailing.equalTo(-16)
|
|
|
- make.width.height.equalTo(36)
|
|
|
- }
|
|
|
-
|
|
|
+ let navBarView = TSBaseNavContentBarView()
|
|
|
+
|
|
|
+ let label = UILabel.createLabel(text: "Home",font: .font(name: .Pacifico, size: 24))
|
|
|
+ navBarView.barView.addSubview(label)
|
|
|
+ label.snp.makeConstraints { make in
|
|
|
+ make.center.equalToSuperview()
|
|
|
+ }
|
|
|
+
|
|
|
+ kMainAsync {
|
|
|
+ label.applyGradient(colors: ["#F1D3AB".uiColor,"#E4A858".uiColor])
|
|
|
+ }
|
|
|
+
|
|
|
return navBarView
|
|
|
- }()
|
|
|
+ }()
|
|
|
|
|
|
//###################################### 导航栏 ######################################
|
|
|
lazy var layout: UICollectionViewFlowLayout = {
|
|
@@ -155,11 +62,6 @@ class TSAIListVC: TSBaseVC {
|
|
|
return collectionView
|
|
|
}()
|
|
|
|
|
|
- lazy var photoPickerManager: TSPhotoPickerManager = {
|
|
|
- let photoPickerManager = TSPhotoPickerManager(viewController: self)
|
|
|
- return photoPickerManager
|
|
|
- }()
|
|
|
-
|
|
|
override func createView() {
|
|
|
|
|
|
navBarContentView.addSubview(navBarView)
|
|
@@ -186,30 +88,6 @@ class TSAIListVC: TSBaseVC {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-extension TSAIListVC {
|
|
|
-
|
|
|
-// @objc func updateVipView() {
|
|
|
-// kMainAsync {
|
|
|
-// self.vipBtn.isHidden = PurchaseManager.default.isVip
|
|
|
-// }
|
|
|
-// }
|
|
|
-
|
|
|
- func createItemModel(leftImageName: String,
|
|
|
- leftTitle: String,
|
|
|
- leftSubTitle: String,
|
|
|
- rightViewStyle: Int,
|
|
|
- tapBlock: @escaping ((TSBasicItemModel, Int, Any?) -> Void)) -> TSBasicItemModel {
|
|
|
- let model = TSBasicItemModel()
|
|
|
- model.leftImageName = leftImageName
|
|
|
- model.leftTitle = leftTitle
|
|
|
- model.leftSubTitle = leftSubTitle
|
|
|
- model.rightViewStyle = rightViewStyle
|
|
|
- model.tapBlock = tapBlock
|
|
|
- return model
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
extension TSAIListVC: UICollectionViewDataSource ,UICollectionViewDelegate {
|
|
|
|
|
|
public func numberOfSections(in collectionView: UICollectionView) -> Int {
|
|
@@ -241,57 +119,3 @@ extension TSAIListVC: UICollectionViewDataSource ,UICollectionViewDelegate {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-extension TSAIListVC{
|
|
|
-
|
|
|
- func enterSelectPhotos(style:TSGeneratorImageStyle,complete: @escaping (UIImage)->Void){
|
|
|
- if style.userDefaultsKey.isEmpty{
|
|
|
- self.pickSinglePhoto(maxBitSize:style.imageMaxBitSize,complete:complete)
|
|
|
- }else{
|
|
|
- TSAIListHintBaseVC.userDefaultsKey = style.userDefaultsKey
|
|
|
- if TSAIListHintBaseVC.isShowUploadImageHint{
|
|
|
- TSAIListHintBaseVC.isShowUploadImageHint = false
|
|
|
- self.presentModalHintVC(config:style.config,complete:complete)
|
|
|
- }else {
|
|
|
- self.pickSinglePhoto(maxBitSize:style.imageMaxBitSize,complete:complete)
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- func presentModalHintVC(config:TSAIListHintBaseVC.Config,complete:@escaping (UIImage)->Void){
|
|
|
- hintBaseVC = TSAIListHintBaseVC(config: config) { [weak self] image in
|
|
|
- guard let self = self else { return }
|
|
|
- if let image = image {
|
|
|
- complete(image)
|
|
|
- }else{
|
|
|
- dePrint("图片异常")
|
|
|
- }
|
|
|
- kDelayMainShort {
|
|
|
- self.hintBaseVC.dismissPageVC()
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- kPresentModalVC(target: self, modelVC: hintBaseVC,transitionStyle: .crossDissolve)
|
|
|
- }
|
|
|
-
|
|
|
- func pickSinglePhoto(maxBitSize:Int,complete: @escaping (UIImage)->Void) {
|
|
|
-// photoPickerManager.pickSinglePhoto(maxBitSize: maxBitSize) { [weak self] image, errorString in
|
|
|
- photoPickerManager.pickCustomSinglePhoto() { [weak self] image, errorString in
|
|
|
- guard let self = self else { return }
|
|
|
- if let errorString = errorString {
|
|
|
- TSToastShared.showToast(text: errorString)
|
|
|
- }else if let image = image {
|
|
|
- complete(image)
|
|
|
- }else{
|
|
|
- dePrint("图片异常")
|
|
|
- }
|
|
|
- kDelayMainShort {
|
|
|
- self.photoPickerManager.dismissPageVC()
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|