ASRingGeneratorVC+load.swift 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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.clickClosePage = { [weak self] in
  12. guard let self = self else { return }
  13. closePage()
  14. }
  15. generateInView.clickBackstageBlock = { [weak self] in
  16. guard let self = self else { return }
  17. clickBackstageBtn()
  18. }
  19. generateInView.clickErrorBlock = { [weak self] style in
  20. guard let self = self else { return }
  21. switch style {
  22. case .netWorkError:
  23. creatRintone()
  24. case .sensitiveError:
  25. self.dismiss(animated: true, completion: nil)
  26. case .generalError:
  27. self.dismiss(animated: true, completion: nil)
  28. default:
  29. break
  30. }
  31. }
  32. return generateInView
  33. }
  34. func upDateView(state:ASProgressState,model:ASActionInfoModel?){
  35. updateInfoModel(model: model)
  36. progressState = state
  37. switch state {
  38. case .failed(let errorStr,let code):
  39. showError(text: errorStr,code:code)
  40. case .success:
  41. if let model = model {
  42. showSuccess(model: model)
  43. }else{
  44. showError(text: "")
  45. }
  46. case .progress(let progress, let string):
  47. showProgress(progress:progress,text: string)
  48. default:
  49. showLoading()
  50. }
  51. }
  52. func showProgress(progress:Float, text:String) {
  53. generateInView.updateShowProgress(progress: progress,text: text)
  54. bottomView.isHidden = true
  55. }
  56. func showLoading(){
  57. generateInView.updateShowLoading(progress: 0.0,text: "Generating".localized + " 0%")
  58. bottomView.isHidden = true
  59. }
  60. func showError(text:String,code:Int = 0){
  61. generateInView.updateShowError(text: text,code: code)
  62. bottomView.isHidden = true
  63. }
  64. func showSuccess(model:ASActionInfoModel){
  65. generateInView.updateShowSuccess()
  66. bottomView.isHidden = false
  67. infoModel = model
  68. }
  69. }