APAudioToRingVC.swift 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //
  2. // APAudioToRingVC.swift
  3. // AIPlayRingtones
  4. //
  5. // Created by 100Years on 2025/5/15.
  6. //
  7. import MobileCoreServices // 用于定义文件类型
  8. class APAudioToRingVC: TSBaseVC {
  9. lazy var navBarView: TSBaseNavContentBarView = {
  10. let navBarView = TSBaseNavContentBarView()
  11. let titleImageView = UIImageView.createImageView(imageName: "nav_title_audioRingtone", contentMode: .scaleToFill)
  12. navBarView.barView.addSubview(titleImageView)
  13. titleImageView.snp.makeConstraints { make in
  14. make.center.equalToSuperview()
  15. }
  16. return navBarView
  17. }()
  18. lazy var viewModel: APAudioToRingVM = {
  19. let viewModel = APAudioToRingVM()
  20. return viewModel
  21. }()
  22. // lazy var vipBtn: UIButton = creatVipBtn()
  23. lazy var cusStackView: TSCustomStackView = creatCusStackView()
  24. lazy var fileView: ASRTRFileView = creatFileView()
  25. lazy var customTextView: ASPromptTextView = creatCustomTextView()
  26. lazy var ringStyleView: ASRTRStyleView = createRTRStyleView()
  27. lazy var creatBtnView: ASAppBtnView = creatCreatBtnView()
  28. override func createView() {
  29. let tapGesture = UITapGestureRecognizer(target: self, action: #selector(clickView))
  30. tapGesture.cancelsTouchesInView = false
  31. view.addGestureRecognizer(tapGesture)
  32. navBarContentView.addSubview(navBarView)
  33. navBarView.snp.makeConstraints { make in
  34. make.edges.equalToSuperview()
  35. }
  36. contentView.addSubview(cusStackView)
  37. cusStackView.snp.makeConstraints { make in
  38. make.edges.equalToSuperview()
  39. }
  40. contentView.addSubview(creatBtnView)
  41. creatBtnView.snp.makeConstraints { make in
  42. make.centerX.equalToSuperview()
  43. make.bottom.equalTo(-16)
  44. make.size.equalTo(creatBtnView.btnSize)
  45. }
  46. setUpCusStackView()
  47. }
  48. override func dealThings() {
  49. viewModel.$isCanGennerate.receive(on: DispatchQueue.main).sink { [weak self] enble in
  50. guard let self = self else { return }
  51. creatBtnView.setBtnEnabled(isEnabled: enble)
  52. }.store(in: &cancellable)
  53. }
  54. }
  55. extension APAudioToRingVC {
  56. @objc func clickView() {
  57. view.endEditing(true)
  58. }
  59. func generateAI() {
  60. view.endEditing(true)
  61. let gennerateVC = ASRingGeneratorVC(generateStyleModel: viewModel.generateStyleModel) { [weak self] _ in
  62. guard let self = self else { return }
  63. // updateVipView()
  64. }
  65. gennerateVC.reloadViewBlock = { [weak self] in
  66. guard let self = self else { return }
  67. // updataCollectionView()
  68. }
  69. gennerateVC.closePageComplete = {
  70. [weak self] in
  71. guard let self = self else { return }
  72. // updataCollectionView()
  73. }
  74. kPresentModalVC(target: self, modelVC: gennerateVC, transitionStyle: .crossDissolve)
  75. }
  76. }