123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- //
- // TSPTPUploadImageVC.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/6/24.
- //
- class TSPTPUploadImageVC: TSBaseVC {
- var generateModel:TSGenerateModel
- var sectionModel:TSDiscoverSectionModel
- init(generateModel:TSGenerateModel,sectionModel: TSDiscoverSectionModel) {
- self.generateModel = generateModel
- self.sectionModel = sectionModel
- super.init()
- }
-
- @MainActor required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- lazy var viewModel: TSPTPUploadImageVM = {
- let viewModel = TSPTPUploadImageVM(generateModel:generateModel,sectionModel: sectionModel)
- viewModel.isCanGennerateBlock = { [weak self] _ in
- guard let self = self else { return }
- setCreatBtnEnabled()
- }
- return viewModel
- }()
-
- lazy var photoPickerManager: TSPhotoPickerManager = TSPhotoPickerManager(viewController: self)
- lazy var uploadView: TSUploadImageView = creatUploadView()
- lazy var selectStyleVC: TSGennertatorStyleVC = creatSelectStyleVC()
- lazy var creatBtnView: TSAppBtnView = creatCreatBtnView() //Button
- override func createView() {
- addNormalNavBarView()
- setPageTitle(viewModel.selectedPTPStyleModel.imageText.localized)
- // setPageTitle(sectionModel.title.localized)
-
- contentView.addSubview(uploadView)
- uploadView.snp.makeConstraints { make in
- make.leading.trailing.equalToSuperview()
- make.top.equalTo(8)
- make.height.equalTo(313*kDesignScale)
- }
-
-
- self.addChild(selectStyleVC)
- contentView.addSubview(selectStyleVC.view)
- selectStyleVC.view.snp.makeConstraints { make in
- make.leading.trailing.bottom.equalToSuperview()
- make.top.equalTo(uploadView.snp.bottom).offset(24)
- }
-
-
- contentView.addSubview(creatBtnView)
- creatBtnView.snp.makeConstraints { make in
- make.bottom.equalTo(-20-k_Height_safeAreaInsetsBottom())
- make.leading.equalTo(16)
- make.trailing.equalTo(-16)
- make.height.equalTo(48)
- }
- }
-
- override func dealThings() {
- updateVipView()
- }
-
- }
- extension TSPTPUploadImageVC {
- func generateImage() {
- let gennerateVC = TSAIGenerateVC(generatorModel: viewModel.generatorModel) { [weak self] _ in
- guard let self = self else { return }
- updateVipView()
- }
- gennerateVC.changeImageBlock = { [weak self] image in
- guard let self = self else { return }
- viewModel.upLoadImage = image
- uploadView.upLoadImage = image
- }
-
- kPresentModalVC(target: self, modelVC: gennerateVC, transitionStyle: .crossDissolve)
- }
- }
- extension TSPTPUploadImageVC {
- func pickSinglePhoto() {
- photoPickerManager.pickCustomSinglePhoto { [weak self] image, errorString in
- guard let self = self else { return }
- if let errorString = errorString {
- TSToastShared.showToast(text: errorString)
- } else {
- viewModel.upLoadImage = image
- uploadView.upLoadImage = image
- }
- kDelayMainShort {
- self.photoPickerManager.dismissPageVC()
- }
- }
- }
-
- @objc func clickView() {
- view.endEditing(true)
- }
- }
|