Browse Source

修改逻辑:后台生成按钮,在接口成功后显示

100Years 4 weeks ago
parent
commit
b8e543ec23

+ 7 - 1
AIEmoji/Business/TSGenmojiVC/TSGenmojiGennerateVC/TSGenmojiGennerateViewModel.swift

@@ -15,7 +15,7 @@ enum TSProgressState  {
     case progressString(String)
     case success(Any?)
     case failed(String)
-
+    case backstage(Bool)    //进度是否可以后台
     static func fromKeyValue(key string: String,value:String) -> TSProgressState {
         if string == "none" {
             return .none
@@ -35,6 +35,8 @@ enum TSProgressState  {
             return .success(value)
         }else if string == "failed" {
             return .failed(value)
+        }else if string == "backstage" {
+            return .backstage(Bool(value) ?? false)
         }else{
             return .none
         }
@@ -59,6 +61,8 @@ enum TSProgressState  {
             return ("success","")
         case .failed(let string):
             return ("failed",string)
+        case .backstage(let can):
+        return ("backstage",String(can))
         }
     }
     
@@ -79,6 +83,8 @@ enum TSProgressState  {
             return true
         case .failed(_):
             return true
+        case .backstage(_):
+            return false
         }
     }
     

+ 5 - 2
AIEmoji/Business/TSPTPGeneratorVC/TSPTPGeneratorVC/TSPTPGeneratorVC.swift

@@ -181,6 +181,7 @@ class TSPTPGeneratorVC: TSAIPhotoGeneratorBaseVC {
             uploadImageCreatOperation()
         }
     }
+    
     var operation:TSGeneratePTPOperation = TSGeneratePTPOperation(uuid: UUID().uuidString)
     func creatOperation(infoModel: TSActionInfoModel) {
         operation = TSGeneratePTPOperationQueue.shared.creatOperation(uuid: UUID().uuidString)
@@ -189,7 +190,7 @@ class TSPTPGeneratorVC: TSAIPhotoGeneratorBaseVC {
             self.upDateView(state: state, model: model)
         }.store(in: &cancellable)
         operation.creatImage(oldModel: infoModel)
-        generateInView.setBackgroundGenerateBtnHidden(false)
+//        generateInView.setBackgroundGenerateBtnHidden(false)
         xBtn.isHidden = false
     }
     
@@ -203,7 +204,7 @@ class TSPTPGeneratorVC: TSAIPhotoGeneratorBaseVC {
             guard let self = self else { return }
             if let actionInfoModel = actionInfoModel{
                 operation.creatImage(oldModel: actionInfoModel)
-                generateInView.setBackgroundGenerateBtnHidden(false)
+//                generateInView.setBackgroundGenerateBtnHidden(false)
                 xBtn.isHidden = false
             }
         }
@@ -243,6 +244,8 @@ extension TSPTPGeneratorVC {
                 showProgress(text: string)
             case .none:
                 break
+            case .backstage(let show):
+                generateInView.updateShowBackstage(show: show)
             default:
                 showLoading()
         }

+ 5 - 0
AIEmoji/Business/VIewTool/TSGeneratorloadingView.swift

@@ -271,6 +271,11 @@ extension TSGeneratorloadingView{
         }
     }
     
+    
+    func updateShowBackstage(show:Bool){
+        setBackgroundGenerateBtnHidden(!show)
+    }
+    
     func updateShowLoading(text:String){
         isHidden = false
         showLoading(text: text)

+ 5 - 4
AIEmoji/Common/Tool/OperationQueue/TSGenerateBaseOperation/TSGeneratePosterOperation.swift

@@ -129,7 +129,7 @@ class TSGeneratePTPOperation: TSGenerateBaseOperation , @unchecked Sendable{
         }
         
         stopNetwork = false
-        stateDatauPblished = (.start,nil)
+        stateDatauPblished = (.start,currentActionInfoModel)
         
         stateDatauPblished = (.progressString(uploadingPhoto(progress: 0.0)),currentActionInfoModel)
         uploadRequest = TSNetworkShared.uploadImage(upLoadImage: upLoadImage, maxKb: imageMaxKb) { [weak self]  progress in
@@ -141,7 +141,7 @@ class TSGeneratePTPOperation: TSGenerateBaseOperation , @unchecked Sendable{
             guard let self = self else { return }
             if let error = error {
                 generateStyleModel.upLoadImageUrl = nil
-                self.stateDatauPblished = (.failed(error.localizedDescription),nil)
+                self.stateDatauPblished = (.failed(error.localizedDescription),currentActionInfoModel)
                 complete(nil)
             }else{
                 if let string = data as? String {
@@ -165,7 +165,7 @@ class TSGeneratePTPOperation: TSGenerateBaseOperation , @unchecked Sendable{
 
         generatingProgress = 0
         stopNetwork = false
-        stateDatauPblished = (.start,nil)
+        stateDatauPblished = (.start,currentActionInfoModel)
         
         
         currentActionInfoModel.status = "running"
@@ -199,7 +199,8 @@ class TSGeneratePTPOperation: TSGenerateBaseOperation , @unchecked Sendable{
             if let dataDict = kNetWorkCodeSuccess(data: data),
                let actionId = dataDict["actionId"] as? Int{
                 if stopNetwork == false {
-                    self.stateDatauPblished = (.pending,nil) //通知首页进行更新
+                    self.stateDatauPblished = (.pending,currentActionInfoModel) //通知首页进行更新
+                    self.stateDatauPblished = (.backstage(true),currentActionInfoModel) //通知允许进入后台生成
                     self.getActionInfo(action_id:actionId)
                 }
             }else{