|
@@ -7,7 +7,7 @@
|
|
|
|
|
|
/// 基础 URL(根据需求修改)
|
|
|
private let baseURL = "http://ai.100yearslater.com"
|
|
|
-
|
|
|
+import Alamofire
|
|
|
enum TSNeURLType:String {
|
|
|
|
|
|
case imageEmoji = "/api/image/emoji"
|
|
@@ -54,6 +54,40 @@ extension TSNetworkManager {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// /// 通用 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: 接口路径
|
|
@@ -66,25 +100,9 @@ extension TSNetworkManager {
|
|
|
responseType: T.Type? = nil,
|
|
|
streamHandler:@escaping (String) -> Void,
|
|
|
completion: @escaping (Result<Any, Error>) -> Void
|
|
|
- ) -> StreamPostRequest{
|
|
|
+ ) -> DataStreamRequest?{
|
|
|
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()
|
|
|
-
|
|
|
+ let streamRequest = postStreamRequest(urlString: urlString, parameters: parameters, streamHandler: streamHandler, completion: completion)
|
|
|
return streamRequest
|
|
|
}
|
|
|
|