123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- //
- // TSNetWork+Business.swift
- // AIEmoji
- //
- // Created by 100Years on 2025/1/16.
- //
- /// 基础 URL(根据需求修改)
- private let baseURL = "http://ai.100yearslater.com"
- import Alamofire
- enum TSNeURLType:String {
-
- case imageEmoji = "/api/image/emoji" //文生emoji
- case actionInfo = "/api/action/info" //查询生成过程接口
- case chat = "/api/text/chat" //AI 对话接口
- case textPicCreate = "/api/image/create" //文生图
-
-
-
- func getUrlString() -> String {
- return baseURL + self.rawValue
- }
- }
- extension TSNetworkManager {
-
- /// 通用 get 请求
- func get<T: TSBaseModel>(
- urlType: TSNeURLType,
- parameters: [String: Any]? = nil,
- responseType: T.Type? = nil,
- completion: @escaping (Result<Any, Error>) -> Void
- ) {
- let urlString = urlType.getUrlString()
- request(method: .get, urlString: urlString, parameters:parameters) { result in
- completion(result)
- }
- }
- /// 通用 POST 请求
- /// - Parameters:
- /// - endpoint: 接口路径
- /// - parameters: 请求参数
- /// - responseType: 响应数据模型(可选)
- /// - completion: 请求完成的回调
- func post<T: TSBaseModel>(
- urlType: TSNeURLType,
- parameters: [String: Any]? = nil,
- responseType: T.Type? = nil,
- completion: @escaping (Result<Any, Error>) -> Void
- ) {
- let urlString = urlType.getUrlString()
- request(method: .post, urlString: urlString, parameters:parameters) { result in
- completion(result)
- }
- }
-
- // /// 通用 POST Stream 请求
- // /// - Parameters:
- // /// - endpoint: 接口路径
- // /// - parameters: 请求参数
- // /// - responseType: 响应数据模型(可选)
- // /// - completion: 请求完成的回调
- // func postStream<T: TSBaseModel>(
- // urlType: TSNeURLType,
- // parameters: [String: Any]? = nil,
- // responseType: T.Type? = nil,
- // streamHandler:@escaping (String) -> Void,
- // completion: @escaping (Result<Any, Error>) -> Void
- // ) -> StreamPostRequest{
- // let urlString = urlType.getUrlString()
- //
- // let streamRequest = StreamPostRequest(url: URL(string: urlString)!, parameters: parameters) { data in
- // if let string = String(data: data, encoding: .utf8) {
- // print("Received chunk: \(string)")
- // streamHandler(string)
- // }
- // } completionHandler: { error in
- // if let error = error {
- // print("Request failed with error: \(error)")
- // completion(.failure(error))
- // } else {
- // print("Request completed successfully.")
- // completion(.success("success"))
- // }
- // }
- // streamRequest.startRequest()
- // return streamRequest
- // }
-
-
- /// 通用 POST Stream 请求
- /// - Parameters:
- /// - endpoint: 接口路径
- /// - parameters: 请求参数
- /// - responseType: 响应数据模型(可选)
- /// - completion: 请求完成的回调
- func postStream<T: TSBaseModel>(
- urlType: TSNeURLType,
- parameters: [String: Any]? = nil,
- responseType: T.Type? = nil,
- streamHandler:@escaping (String) -> Void,
- completion: @escaping (Result<Any, Error>) -> Void
- ) -> DataStreamRequest?{
- let urlString = urlType.getUrlString()
- let streamRequest = postStreamRequest(urlString: urlString, parameters: parameters, streamHandler: streamHandler, completion: completion)
- return streamRequest
- }
- }
|