ASRingGeneratorVC+load.swift 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //
  2. // ASRingGeneratorVC+load.swift
  3. // AIPlayRingtones
  4. //
  5. // Created by mini on 2025/5/19.
  6. //
  7. extension ASRingGeneratorVC {
  8. func createGeneratorView() -> ASGeneratorView{
  9. let generateInView = ASGeneratorView()
  10. generateInView.animationView.setText(time: String(format: "~ %d min".localized, 2), info: "Lots of people are creating images right now, so this might take a bit.".localized)
  11. generateInView.clickBackstageBlock = { [weak self] in
  12. guard let self = self else { return }
  13. clickBackstageBtn()
  14. }
  15. generateInView.clickErrorBlock = { [weak self] style in
  16. guard let self = self else { return }
  17. switch style {
  18. case .netWorkError:
  19. // clickTryAgainBtn()
  20. self.dismiss(animated: true, completion: nil)
  21. case .sensitiveError:
  22. // pickSinglePhoto()
  23. self.dismiss(animated: true, completion: nil)
  24. case .generalError:
  25. self.dismiss(animated: true, completion: nil)
  26. default:
  27. break
  28. }
  29. }
  30. return generateInView
  31. }
  32. func upDateView(state:ASProgressState,model:ASActionInfoModel?){
  33. updateInfoModel(model: model)
  34. progressState = state
  35. switch state {
  36. case .failed(let errorStr,let code):
  37. showError(text: errorStr,code:code)
  38. case .success:
  39. if let model = model {
  40. showSuccess(model: model)
  41. }else{
  42. showError(text: "")
  43. }
  44. case .progress(let progress, let string):
  45. showProgress(text: string)
  46. default:
  47. showLoading()
  48. }
  49. }
  50. func showProgress(text:String) {
  51. generateInView.updateShowProgress(text: text)
  52. bottomView.isHidden = true
  53. isClickTheBlankClosePage = false
  54. }
  55. func showLoading(){
  56. generateInView.updateShowLoading(text: "Generating".localized + " ...")
  57. bottomView.isHidden = true
  58. isClickTheBlankClosePage = false
  59. xBtn.isHidden = true
  60. }
  61. func showError(text:String,code:Int = 0){
  62. generateInView.updateShowError(text: text,code: code)
  63. bottomView.isHidden = true
  64. isClickTheBlankClosePage = false
  65. xBtn.isHidden = false
  66. // againBtn.isHidden = false//重试
  67. // failView.isHidden = false
  68. //// failLabel.text = msg
  69. // saveBtn.isHidden = true
  70. // successTopView.isHidden = true
  71. //
  72. // ringView.isHidden = true
  73. // regenerateBtn.isHidden = true
  74. //
  75. // isClickTheBlankClosePage = true
  76. }
  77. func showSuccess(model:ASActionInfoModel){
  78. generateInView.updateShowSuccess()
  79. bottomView.isHidden = false
  80. xBtn.isHidden = false
  81. againBtn.isHidden = true//重试
  82. failView.isHidden = true
  83. saveBtn.isHidden = false
  84. successTopView.isHidden = false
  85. infoModel = model
  86. isClickTheBlankClosePage = true
  87. ringView.isHidden = false
  88. regenerateBtn.isHidden = false
  89. }
  90. }