123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //
- // TSTextGeneralPicVM.swift
- // AIRingtone
- //
- // Created by 100Years on 2025/3/4.
- //
- import Alamofire
- import ObjectMapper
- enum TSGennerateType:Int,Equatable{
- case poster = 0 //海报
- case photo = 1 //头像
- }
- class TSTextGeneralPicVM {
-
- //选择 prompt 类型组
- lazy var ptpStyleModels: [TSPTPStyleModel] = {
- var ptpStyleModels = [TSPTPStyleModel]()
- if let dataArray = Mapper<TSPTPStyleModel>().mapArray(JSONfile: "photo_to_photo_style.json"){
- ptpStyleModels = dataArray
-
- if let model = dataArray.first {
- selectPromptModel = model //加上默认的选择
- }
- }
-
- return ptpStyleModels
- }()
-
- //输入框内容
- var promptText:String = "" {
- didSet{
- isCanGennerateBlock?(isCanGennerate)
- }
- }
-
- //选择的生成图片的 type
- var gennerateType:TSGennerateType = .poster{
- didSet{
- isCanGennerateBlock?(isCanGennerate)
- }
- }
- //选择的 prompt 类型
- var selectPromptModel:TSPTPStyleModel?{
- didSet{
- isCanGennerateBlock?(isCanGennerate)
- }
- }
-
- //可生成状态变化 block
- var isCanGennerateBlock:((Bool)->Void)?
- }
- extension TSTextGeneralPicVM {
- //是否满足生成条件
- var isCanGennerate:Bool {
- if selectPromptModel != nil ,
- promptText.replacingOccurrences(of: " ", with: "").count > 0
- {
- return true
- }
- return false
- }
- var prompt:String{
- var prompt = promptText
- if let selectPromptModel = selectPromptModel {
- prompt+=", \(selectPromptModel.prompt)"
- }
- return prompt
- }
- func saveModel(model:TSGeneralPicModel){
- if gennerateType == .poster {
- TSPosterHistory.saveModel(model: model)
- }else if gennerateType == .photo{
- TSPhotoHistory.saveModel(model: model)
- }
- }
- }
|