Bladeren bron

fix:3.6.20(3)提测

100Years 3 weken geleden
bovenliggende
commit
60c53bd558

+ 2 - 2
AIEmoji.xcodeproj/project.pbxproj

@@ -2824,7 +2824,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 3;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;
@@ -2863,7 +2863,7 @@
 				ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor;
 				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
-				CURRENT_PROJECT_VERSION = 1;
+				CURRENT_PROJECT_VERSION = 3;
 				DEVELOPMENT_TEAM = 65UD255J84;
 				ENABLE_USER_SCRIPT_SANDBOXING = NO;
 				GENERATE_INFOPLIST_FILE = YES;

BIN
AIEmoji/Assets.xcassets/Discover/text_toast_loading.imageset/text_toast_loading@2x.png


BIN
AIEmoji/Assets.xcassets/Discover/text_toast_loading.imageset/text_toast_loading@3x.png


+ 4 - 4
AIEmoji/Business/Data/TSDBHistoryManager.swift

@@ -206,8 +206,8 @@ extension TSRealmManager {
         if history.listModels.count == 0,UserDefaults.standard.string(forKey: forKey) == nil {
             let id = Date.timestampInt
             history.updateDatas([
-                createExampleModel(id:id, imageName: "ttp_example_image0"),
-                createExampleModel(id:id+1, imageName: "ttp_example_image1")
+                createExampleModel(id:id, imageName: "ptp_example_image0"),
+                createExampleModel(id:id+1, imageName: "ptp_example_image1")
             ])
             
             mergeAllDataToAIGenerateDB(history: history)
@@ -225,8 +225,8 @@ extension TSRealmManager {
         if history.listModels.count == 0,UserDefaults.standard.string(forKey: "insertTTPExampleData") == nil {
             let id = Date.timestampInt
             history.updateDatas([
-                createExampleModel(id:id, imageName: "ptp_example_image0"),
-                createExampleModel(id:id+1, imageName: "ptp_example_imag1")
+                createExampleModel(id:id, imageName: "ttp_example_image0"),
+                createExampleModel(id:id+1, imageName: "ttp_example_image1")
             ])
             UserDefaults.standard.set("1", forKey: "insertTTPExampleData")
             UserDefaults.standard.synchronize()

+ 4 - 0
AIEmoji/Business/TSGenmojiVC/TSGenmojiVC/Model/TSDBActionInfoModel.swift

@@ -115,6 +115,9 @@ extension TSDBActionInfoModel {
 
     
     func deleteResources() {
+        //退出正在生成的任务
+        TSGenerateBasePhotoOperationQueue.shared.cancelOperations(uuid: uuid)
+        
         if let response = response {
             TSImageStoreTool.removeImage(urlString:response.resultUrl)
             TSImageStoreTool.removeImage(urlString:response.previewUrl)
@@ -130,6 +133,7 @@ extension TSDBActionInfoModel {
         if !videoThumbnailPath.isEmpty {
             TSFileManagerTool.removeItem(from: videoThumbnailPath.fillDocumentURL)
         }
+        
     }
 }
 class TSDBActionRequestModel : Object {

+ 2 - 2
AIEmoji/Business/TSPTPGeneratorVC/TSAIPhotoGeneratorBaseVC/TSAIPhotoBrowseVC.swift

@@ -64,7 +64,7 @@ class TSAIPhotoBrowseVC: TSBaseVC {
     lazy var bottomView: UIView = {
         let bottom = 60+k_Height_safeAreaInsetsBottom()
         let bottomView = UIView(frame: CGRectMake(0, k_ScreenHeight-bottomViewH, k_ScreenWidth, bottomViewH))
-        bottomView.backgroundColor = "#111111".uiColor
+//        bottomView.backgroundColor = "#111111".uiColor
         
         let colorView = UIView.creatColor(color: "#222222".uiColor)
         colorView.frame = bottomView.bounds
@@ -371,7 +371,7 @@ class TSAIPhotoBrowseCell : TSBaseCollectionCell{
 
     lazy var exampleView: UIView = {
         let exampleView = UIView()
-        exampleView.backgroundColor = "#232323".uiColor.withAlphaComponent(0.3)
+//        exampleView.backgroundColor = "#232323".uiColor.withAlphaComponent(0.3)
         
         let textLabel = UILabel.createLabel(
             text: "Example".localized,

+ 1 - 0
AIEmoji/Business/TSPTPGeneratorVC/TSAIPhotoGeneratorBaseVC/TSAIPhotoGeneratorBaseVC.swift

@@ -91,6 +91,7 @@ class TSAIPhotoGeneratorBaseVC: TSBaseVC {
             clickSaveBtn()
         }
         bigSaveBtn.cornerRadius = 22.0
+        kSetBtnVipIcon(btn: bigSaveBtn, show: true)
         return bigSaveBtn
     }()
     

+ 2 - 2
AIEmoji/Business/TSTextGeneralPictureVC/TSTTPInputVC/TSTTPInputVC.swift

@@ -153,7 +153,7 @@ class TSTTPInputVC: TSBaseVC {
 //        }
         
         addNormalNavBarView()
-        setPageTitle("text to image".localized)
+        setPageTitle("Text to Image".localized)
         
         contentView.addSubview(cusStackView)
         cusStackView.snp.makeConstraints { make in
@@ -168,7 +168,7 @@ class TSTTPInputVC: TSBaseVC {
         
         contentView.addSubview(creatBtnView)
         creatBtnView.snp.makeConstraints { make in
-            make.bottom.equalTo(-16)
+            make.bottom.equalTo(-16-k_Height_safeAreaInsetsBottom())
             make.leading.equalTo(16)
             make.trailing.equalTo(-16)
             make.height.equalTo(48)

+ 1 - 1
AIEmoji/Business2/DisCover/Data/TSDiscoverViewModel.swift

@@ -161,7 +161,7 @@ class TSDiscoverViewModel {
                                 generateModel: TSFuncStyle.oldPhoto.generateModel),
             TSDiscoverItemModel(style: .photoLive,
                                 viewModel: TSDiscoverBaseItemVM(title: "Old Photo Animation", imageNamed: "discover_PredictOld"),
-                                generateModel: TSFuncStyle.ageChild.generateModel),
+                                generateModel: TSFuncStyle.photoLive.generateModel),
    
             
         ]]

+ 6 - 0
AIEmoji/Business2/DisCover/TSAIGenerateVC/TSAIGenerateBaseVC/TSAIGenerateBaseVC+Expand.swift

@@ -51,6 +51,12 @@ extension TSAIGenerateBaseVC {
     func setExpandAreaImage(){
         guard let infoModel = infoModel else { return }
         netWorkImageView.image = nil
+        
+        
+        if expandAreaView.superview == nil {
+            setUpExpandAreaView()
+        }
+        
         expandAreaView.bgImageView.setAsyncImage(urlString: infoModel.response.resultUrl)
         expandAreaView.showImageView.setAsyncImage(urlString: infoModel.request.imageUrl)
 

+ 3 - 2
AIEmoji/Business2/DisCover/TSAIGenerateVC/TSAIGenerateVC.swift

@@ -166,7 +166,7 @@ class TSAIGenerateVC: TSAIGenerateBaseVC {
     
     //保存功能
     @objc override func clickSaveBtn(){
-        
+        self.isSavePhotoMark = true
         if kJudgeVip(externalBool: true,vc: self) {
             return
         }
@@ -219,6 +219,7 @@ class TSAIGenerateVC: TSAIGenerateBaseVC {
 //    }
     
     override func clickShare() {
+        self.isSavePhotoMark = true
         if kJudgeVip(externalBool: true,vc: self) {
             return
         }
@@ -289,7 +290,7 @@ extension TSAIGenerateVC{
             guard let self = self else { return }
             self.upDateView(state: state, model: model)
         }.store(in: &cancellable)
-        
+        operation.generateStyleModel = self.generatorModel
         operation.creatImage(oldModel: oldModel){ [weak self]  success in
             guard let self = self else { return }
             if success {

+ 53 - 102
AIEmoji/Business2/DisCover/TSDiscoverVC/TSDiscoverVC.swift

@@ -71,6 +71,16 @@ class TSDiscoverVC: TSBaseVC {
         }
     }
     
+    override func dealThings() {
+        NotificationCenter.default.addObserver(self, selector: #selector(updateVipView), name: .kPurchaseDidChanged, object: nil)
+        updateVipView()
+    }
+    
+    @objc func updateVipView() {
+        kMainAsync{
+            self.vipBtn.isHidden = PurchaseManager.default.isVip
+        }
+    }
 }
 
 extension TSDiscoverVC: UICollectionViewDataSource ,UICollectionViewDelegate,UICollectionViewDelegateFlowLayout{
@@ -150,108 +160,49 @@ extension TSDiscoverVC {
     }
     
     static func clickCell(target:UIViewController,indexPath:IndexPath,itemModel:TSDiscoverItemModel,secModel:TSDiscoverSectionModel) {
-
-           if itemModel.style.isInterceptMultipleGenerations,
-              TSGenerateBasePhotoOperationQueue.isAvailabilityHandle(view: target.view)
-           { return }
-           
-           
-           dePrint("\(itemModel.style)")
-           switch itemModel.style {
-           case .ageOld, .ageChild, .oldPhoto, .eyeOpen, .pretty, .photoLive, .photoQuality, .catTohuman,.process:
-               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: itemModel.name, generatorStyle: itemModel.style,disCoverItemModel: itemModel))
-           case .photoExpand:
-               kPushVC(target: target, modelVC: TSAIExpandImageVC(upLoadImage: nil))
-           case .futureBaby:
-               kPushVC(target: target, modelVC: TSFutureBabyVC())
-           case .changeEmote:
-               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changeEmote))
-               }
-               break
-           case .changehairColor:
-               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehairColor))
-               }
-               break
-           case .changehair:
-               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehair))
-               }
-           case .ttp:
-               kPushVC(target: target, modelVC: TSTTPInputVC())
-           case .chat:
-               let vc = TSChatViewController()
-               vc.viewModel.uiStyle = .chat
-               kPushVC(target: target, modelVC: vc)
-           case .ptp:
-               if let generateModel = itemModel.generateModel{
-                   kPushVC(target: target, modelVC: TSPTPUploadImageVC(generateModel: generateModel, sectionModel: secModel))
-               }
-           default:
-               
-               break
-           }
-       }
-//    static func clickCell(target:UIViewController,indexPath:IndexPath,itemModel:TSDiscoverItemModel,secModel:TSDiscoverSectionModel) {
-//
-//           if itemModel.style.isInterceptMultipleGenerations,
-//              TSGenerateBasePhotoOperationQueue.isAvailabilityHandle(view: target.view)
-//           { return }
-//           
-//           
-//           dePrint("\(itemModel.style)")
-//           switch itemModel.style {
-//           case .ageOld:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Predicting Old Age".localized, generatorStyle: .ageOld))
-//           case .ageChild:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Back to Baby".localized, generatorStyle: .ageChild))
-//           case .oldPhoto:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Restoring Photo".localized, generatorStyle: .oldPhoto))
-//           case .eyeOpen:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Open Eyes".localized, generatorStyle: .eyeOpen))
-//           case .pretty:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Be Pretty".localized, generatorStyle: .pretty))
-//           case .photoLive:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Make photo live".localized, generatorStyle: .photoLive))
-//           case .photoExpand:
-//               kPushVC(target: target, modelVC: TSAIExpandImageVC(upLoadImage: nil))
-//           case .photoQuality:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Photo Enhancer".localized, generatorStyle: .photoQuality))
-//           case .catTohuman:
-//               kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: "Pet Humanization".localized, generatorStyle: .catTohuman))
-//           case .futureBaby:
-//               kPushVC(target: target, modelVC: TSFutureBabyVC())
-//           case .changeEmote:
-//               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-//                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changeEmote))
-//               }
-//               break
-//           case .changehairColor:
-//               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-//                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehairColor))
-//               }
-//               break
-//           case .changehair:
-//               TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
-//                   kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehair))
-//               }
-//           case .ttp:
-//               kPushVC(target: target, modelVC: TSTTPInputVC())
-//           case .chat:
-//               let vc = TSChatViewController()
-//               vc.viewModel.uiStyle = .chat
-//               kPushVC(target: target, modelVC: vc)
-//           case .ptp:
-//               if let generateModel = itemModel.generateModel{
-//                   kPushVC(target: target, modelVC: TSPTPUploadImageVC(generateModel: generateModel, sectionModel: secModel))
-//               }
-//           default:
-//               
-//               break
-//           }
-//       }
-
+        
+        if itemModel.style.isInterceptMultipleGenerations,
+           TSGenerateBasePhotoOperationQueue.isAvailabilityHandle(view: target.view)
+        { return }
+        
+        
+        dePrint("\(itemModel.style)")
+        switch itemModel.style {
+        case .ageOld, .ageChild, .oldPhoto, .eyeOpen, .pretty, .photoLive, .photoQuality, .catTohuman,.process:
+            kPushVC(target: target, modelVC: TSAIUploadPhotoBaseVC(titleString: itemModel.name, generatorStyle: itemModel.style,disCoverItemModel: itemModel))
+        case .photoExpand:
+            kPushVC(target: target, modelVC: TSAIExpandImageVC(upLoadImage: nil))
+        case .futureBaby:
+            kPushVC(target: target, modelVC: TSFutureBabyVC())
+        case .changeEmote:
+            TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
+                kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changeEmote))
+            }
+            break
+        case .changehairColor:
+            TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
+                kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehairColor))
+            }
+            break
+        case .changehair:
+            TSDiscoverVC.enterSelectPhotos(target: target,style: itemModel.style) { image in
+                kPushVC(target: target, modelVC: TSAIChangeEmoteVC(upLoadImage: image, style: .changehair))
+            }
+        case .ttp:
+            kPushVC(target: target, modelVC: TSTTPInputVC())
+        case .chat:
+            let vc = TSChatViewController()
+            vc.viewModel.uiStyle = .chat
+            kPushVC(target: target, modelVC: vc)
+        case .ptp:
+            if let generateModel = itemModel.generateModel{
+                kPushVC(target: target, modelVC: TSPTPUploadImageVC(generateModel: generateModel, sectionModel: secModel))
+            }
+        default:
+            
+            break
+        }
+    }
 }
 
 extension TSDiscoverVC{

+ 6 - 4
AIEmoji/Business2/DisCover/TSPTPUploadImageVC/TSGennertatorStyleVC/TSGennertatorStyleVC.swift

@@ -29,9 +29,11 @@ class TSGennertatorStyleVC: TSBaseVC {
     var dataArray: [TSGenerateModel] = [TSGenerateModel](){
         didSet{
             styleCollectionView.reloadData()
-            if dataArray.count > 0 {
-                self.styleCollectionView.selectItem(at: self.currentIndexPath, animated: false, scrollPosition: .centeredVertically)
-                self.titleLabel.text = "Select Style".localized + "(\(dataArray.count))"
+            kMainAsync {
+                if self.dataArray.count > 0 {
+                    self.styleCollectionView.selectItem(at: self.currentIndexPath, animated: false, scrollPosition: .centeredVertically)
+                    self.titleLabel.text = "Select Style".localized + "(\(self.dataArray.count))"
+                }
             }
         }
     }
@@ -99,7 +101,7 @@ class TSGennertatorStyleVC: TSBaseVC {
     }
     
     @objc func clickView(){
-        self.dismiss(animated: true)
+//        self.dismiss(animated: true)
     }
     func setContentView(){
         

+ 2 - 0
AIEmoji/Business2/DisCover/TSPTPUploadImageVC/TSPTPUploadImageVC+View.swift

@@ -25,6 +25,8 @@ extension TSPTPUploadImageVC {
             guard let self = self else { return }
             viewModel.selectedPTPStyleModel = model
             viewModel.selectedStyleIndex = indexPath.item
+            
+            setTitleText(model.imageText.localized)
         }
         return selectStyleVC
     }

+ 2 - 1
AIEmoji/Business2/DisCover/TSPTPUploadImageVC/TSPTPUploadImageVC.swift

@@ -34,7 +34,8 @@ class TSPTPUploadImageVC: TSBaseVC {
 
     override func createView() {
         addNormalNavBarView()
-        setPageTitle(sectionModel.title.localized)
+        setPageTitle(viewModel.selectedPTPStyleModel.imageText.localized)
+//        setPageTitle(sectionModel.title.localized)
         
         contentView.addSubview(uploadView)
         uploadView.snp.makeConstraints { make in

+ 8 - 5
AIEmoji/Common/Tool/OperationQueue/V2/TSGenerateBasePhotoOperation.swift

@@ -30,7 +30,7 @@ class TSGenerateBasePhotoOperationQueue: TSGenerateBaseOperationQueue {
     
     static func isAvailabilityHandle(view:UIView)->Bool{
         if TSGenerateBasePhotoOperationQueue.shared.isAvailability == false {
-            kTextToastShared.show(atView: view,text: "1 task is processing"){
+            kTextToastShared.show(atView: view,text: "1 task is processing".localized){
                 TSGenerateHistoryVC.showPosition()
             }
             return true
@@ -45,6 +45,8 @@ class TSGenerateBasePhotoOperation: TSGenerateBaseOperation , @unchecked Sendabl
         model.uuid = uuid
         model.request.imageUrlTimestamp = currentActionInfoModel.request.imageUrlTimestamp
         model.request.generatorStyle = currentActionInfoModel.request.generatorStyle
+        model.request.model = currentActionInfoModel.request.model
+        
         if isSaveProcessToDB {
             saveDataDB()
         }
@@ -109,7 +111,7 @@ class TSGenerateBasePhotoOperation: TSGenerateBaseOperation , @unchecked Sendabl
     
     private var uploadRequest:Request?
     private var creatRequest:Request?
-    private var generateStyleModel:TSAIGeneratorModel?
+    var generateStyleModel:TSAIGeneratorModel?
     func createActionInfoModel(generateStyleModel:TSAIGeneratorModel) -> TSActionInfoModel? {
         guard let upLoadImageUrl = generateStyleModel.upLoadImageUrl else { return nil }
 
@@ -123,7 +125,7 @@ class TSGenerateBasePhotoOperation: TSGenerateBaseOperation , @unchecked Sendabl
         infoModel.request.prompt = generateStyleModel.prompt
         infoModel.request.inputText = generateStyleModel.inputText
         infoModel.request.generatorStyle = generateStyleModel.generatorStyle
-        
+        infoModel.request.model = generateStyleModel.model
         return infoModel
     }
     
@@ -295,7 +297,7 @@ extension TSGenerateBasePhotoOperation {
 extension TSGenerateBasePhotoOperation {
 
     func getPostContent()->(TSNeURLType,[String:Any])?{
-        guard let generatorModel = generateStyleModel else { return nil}
+    
         let request = currentActionInfoModel.request
         
         var urlType:TSNeURLType = .changeAge
@@ -319,6 +321,7 @@ extension TSGenerateBasePhotoOperation {
             postDict["quality"] = "720p"
         case .photoExpand:
             urlType = .photoExpand
+            guard let generatorModel = generateStyleModel else { return nil}
             postDict = ["prompt":request.prompt,
                         "top":generatorModel.expandEdge.top,
                         "left":generatorModel.expandEdge.left,
@@ -333,7 +336,7 @@ extension TSGenerateBasePhotoOperation {
             guard request.imageUrls.count > 0 else { return nil}
             urlType = .imageRewrite
             postDict = ["prompt":request.prompt,
-                        "advance": generatorModel.generatorStyle.advance,
+                        "model": request.model,
                         "imageUrls":request.imageUrls
                         ]
             postDict.removeValue(forKey: "imageUrl")

+ 1 - 1
AIEmoji/Common/View/TSTextToastView.swift

@@ -32,7 +32,7 @@ open class TSTextToastView {
     
     
     private lazy var viewButton:UIView = {
-        let color = "#DFD7C0".uiColor
+        let color = UIColor.themeColor
         let viewButton = UIButton.createButton(title: "View".localized ,backgroundColor: color.withAlphaComponent(0.2),font: UIFont.font(size: 12),titleColor: color,corner: 14) { [weak self]  in
             guard let self = self else { return }
             if let clickViewHandle = clickViewHandle {