using System; using System.Diagnostics; using System.Dynamic; using System.Net.Http; using System.Text; using Cysharp.Threading.Tasks; using Newtonsoft.Json; namespace Net.Project.B.AI.Dialogue.MaxKb { public class MaxKbDialogueService:IAiDialogueService { public async UniTask DialogueAsync(int id, string message) { using var client = new HttpClient(); const string url = "http://server.bitfall.icu:18918/api/application/chat_message/ceb19752-185e-11f0-9541-0242ac120009"; dynamic data = new ExpandoObject() { }; data.message = message; data.re_chat = false; data.stream = false; // 构造 JSON 数据 var json = JsonConvert.SerializeObject(data); // 设置请求体 var stringContent = new StringContent(json, Encoding.UTF8, "application/json"); // 添加请求头 client.DefaultRequestHeaders.Clear(); client.DefaultRequestHeaders.Add("AUTHORIZATION", "application-012e89878ee3e8dcfc4bc59a0c5648ae"); client.DefaultRequestHeaders.Add("accept", "application/json"); // 发送请求 var response = await client.PostAsync(url, stringContent); string newMessage; try { response.EnsureSuccessStatusCode(); // 处理返回 json = await response.Content.ReadAsStringAsync(); var result = JsonConvert.DeserializeObject(json); newMessage = result.data.content; } catch (Exception e) { newMessage = e.Message; } return newMessage; } } }