123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187 |
- //
- // TSFuncStyle.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/6/23.
- //
- enum TSFuncStyle:Int,Equatable,CaseIterable {
-
- case ageOld = 1 //变老
- case ageChild = 2 //变年轻
- case oldPhoto = 3 //旧照片修复
- case eyeOpen = 4 //开眼
- case pretty = 5 //变美
- case photoLive = 6 //把照片动起来
- case photoExpand = 7 //照片扩展
- case photoQuality = 8 //照片变高清
- case motherDay = 9 //母亲节
- case catTohuman = 10 //猫变人
- case futureBaby = 11 //预测宝宝
-
- case changeEmote = 12 // 改变表情
- case changehairColor = 13 //改发色
- case changehair = 14 //改发型
-
-
- case ptp = 15
- case ttp = 16
- case chat = 17
- case process = 18 // 走变老变年轻那套交互流程,接口用图生图的接口
- case videoV2 = 19 //视频v2,有声音
-
- var imageMaxKb:Int{
- switch self {
- case .oldPhoto,.eyeOpen,.pretty:
- return 5*1024
- default:
- return 10*1024
- }
- }
-
- var imageMaxBitSize:Int{
- switch self {
- case .oldPhoto,.eyeOpen,.pretty:
- return kUploadImageMaxBit5Size
- default:
- return kUploadImageMaxBit10Size
- }
- }
-
- // var userDefaultsKey:String{
- //
- // }
- func getHintKey(hintType:Int)->String {
- switch self {
- case .ageOld:
- return "isFirstAIListAgeOldHintVC"
- case .ageChild:
- return "isFirstAIListAgeChildHintVC"
- case .oldPhoto:
- return "isFirstAIChangeRestOldPhoto"
- case .eyeOpen:
- return "isFirstAIEyeOpenPhoto"
- case .pretty:
- return "isFirstAIPrettyPhoto"
- case .photoLive:
- return "isFirstAILivePhoto"
- case .photoExpand:
- return ""
- case .photoQuality:
- return ""
- case .motherDay:
- return "isFirstAIMotherDay"
- case .catTohuman:
- return "isFirstAICatTohuman"
- case .futureBaby:
- return "isFirstAIFutureBaby"
- case .changeEmote:
- return "isFirstAIChangeEmote"
- case .changehairColor:
- return "isFirstAIChangeHairColor"
- case .changehair:
- return "isFirstAIChangeHair"
- case .videoV2:
- return "isFirstFunc\(self.rawValue))" + "_hintType\(hintType)"
- default:
- return "isFirstFunc\(self.rawValue))"
- }
- }
-
- func getConfig(hintType:Int)->TSAIListHintBaseVC.Config {
- switch self {
- case .ageOld:
- return .defaultConfig
- case .ageChild:
- return .defaultConfig
- case .oldPhoto:
- return .getDefaultConfig(imageMaxBitSize: imageMaxBitSize)
- case .eyeOpen:
- return .getDefaultConfig(imageMaxBitSize: imageMaxBitSize)
- case .pretty:
- return .getDefaultConfig(imageMaxBitSize:imageMaxBitSize)
- case .photoLive:
- return .getDefaultConfig(imageMaxBitSize: imageMaxBitSize)
- case .photoExpand:
- return .getDefaultConfig(imageMaxBitSize:imageMaxBitSize)
- case .photoQuality:
- return .defaultConfig
- case .motherDay:
- return .getDefaultConfig(imageMaxBitSize: imageMaxBitSize)
- case .catTohuman:
- return .catTohumanConfig
- case .futureBaby:
- return .futureBabyConfig
- case .videoV2:
- return TSAIListHintBaseVC.Config.getConfig(hint: hintType)
- default:
- return .defaultConfig
- }
- }
-
- // var config:TSAIListHintBaseVC.Config{
- //
- // }
-
- var advance:Bool{
- switch self {
- case .catTohuman,.motherDay,.futureBaby:
- return true
- default:
- return false
- }
- }
-
- var vipFreeNumType:VipFreeNumType{
- if self == .videoV2 || self == .photoLive {
- return .videoV2
- }
- return .aiGenerate
- }
- }
- extension TSFuncStyle {
-
- var generateModel:TSGenerateModel? {
- switch self {
- case .ageOld:
- return TSGenerateModel(json: kTSDiscoverVM.ageOld)
- case .ageChild:
- return TSGenerateModel(json: kTSDiscoverVM.ageChild)
- case .oldPhoto:
- return TSGenerateModel(json: kTSDiscoverVM.oldPhoto)
- case .eyeOpen:
- return TSGenerateModel(json: kTSDiscoverVM.eyeOpen)
- case .pretty:
- return TSGenerateModel(json: kTSDiscoverVM.pretty)
- case .photoLive:
- return TSGenerateModel(json: kTSDiscoverVM.photoLive)
- case .photoExpand:
- return TSGenerateModel(json: kTSDiscoverVM.photoExpand)
- case .photoQuality:
- return TSGenerateModel(json: kTSDiscoverVM.photoQuality)
- case .motherDay:
- return TSGenerateModel(json: kTSDiscoverVM.motherDay)
- case .catTohuman:
- return TSGenerateModel(json: kTSDiscoverVM.catTohuman)
- case .futureBaby:
- return TSGenerateModel(json: kTSDiscoverVM.futureBaby)
- default:
- return nil
- }
- }
-
- //是否拦截多个生成
- var isInterceptMultipleGenerations: Bool {
- switch self {
- case .changeEmote,.changehairColor,.changehair,.ttp,.chat:
- dePrint("不拦截")
- return false
- default:
- return true
- }
- }
- }
|