TSGeneralRintoneVC+Event.swift 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //
  2. // TSGeneralRintoneVC+Event.swift
  3. // AIRingtone
  4. //
  5. // Created by 100Years on 2025/3/6.
  6. //
  7. extension TSGeneralRintoneVC {
  8. var resultIcon:UIImage?{
  9. return UIImage(named: "ai_rintone_icon")
  10. }
  11. func updateInfoModel(model:TSActionInfoModel?){
  12. if let model = model {
  13. infoModel = model
  14. complete(model)
  15. setRingViewData(model: model)
  16. }
  17. }
  18. }
  19. extension TSGeneralRintoneVC {
  20. func upDateView(state:TSProgressState,model:TSActionInfoModel?){
  21. updateInfoModel(model: model)
  22. switch state {
  23. case .failed(let errorStr):
  24. showError(text: errorStr)
  25. case .success:
  26. if let model = model {
  27. showSuccess(model: model)
  28. }else{
  29. showError(text: nil)
  30. }
  31. case .progressString(let string):
  32. showProgress(text: string)
  33. default:
  34. showLoading()
  35. }
  36. }
  37. func showProgress(text:String) {
  38. generateInView.isHidden = false
  39. generateInView.showLoading(text: text)
  40. generateInView.isRotating = true
  41. bottomView.isHidden = true
  42. isClickTheBlankClosePage = false
  43. }
  44. func showLoading(){
  45. generateInView.isHidden = false
  46. generateInView.showLoading(text: "Working on your ringtone...".localized)
  47. generateInView.isRotating = true
  48. bottomView.isHidden = true
  49. isClickTheBlankClosePage = false
  50. }
  51. func showError(text:String?){
  52. let msg = "Failed to Generate, please try later".localized
  53. generateInView.isHidden = true
  54. generateInView.isRotating = false
  55. bottomView.isHidden = false
  56. againBtn.isHidden = false//重试
  57. failView.isHidden = false
  58. // failLabel.text = msg
  59. saveBtn.isHidden = true
  60. successTopView.isHidden = true
  61. ringView.isHidden = true
  62. regenerateBtn.isHidden = true
  63. isClickTheBlankClosePage = true
  64. }
  65. func showSuccess(model:TSActionInfoModel){
  66. generateInView.isHidden = true
  67. generateInView.isRotating = false
  68. bottomView.isHidden = false
  69. againBtn.isHidden = true//重试
  70. failView.isHidden = true
  71. saveBtn.isHidden = false
  72. successTopView.isHidden = false
  73. infoModel = model
  74. isClickTheBlankClosePage = true
  75. ringView.isHidden = false
  76. regenerateBtn.isHidden = false
  77. kPurchaseToolShared.useOnceForFree(type: .ringtones)
  78. }
  79. }