From 72a6b47e99f72d2df59a595946ac791a597df92a Mon Sep 17 00:00:00 2001
From: bibabo <765221495@qq.com>
Date: Fri, 12 Jul 2024 11:21:47 +0800
Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E9=A1=B5=E6=9F=A5=E8=AF=A2=E8=81=8A?=
=?UTF-8?q?=E5=A4=A9=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Dto/Chat/CharacterInfoDto.cs | 99 +++++++++++++++++++
.../Controllers/ChatController.cs | 45 +++++++++
2 files changed, 144 insertions(+)
create mode 100644 src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs
create mode 100644 src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs
diff --git a/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs b/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs
new file mode 100644
index 0000000..ceb655d
--- /dev/null
+++ b/src/0-core/HuanMeng.MiaoYu.Model/Dto/Chat/CharacterInfoDto.cs
@@ -0,0 +1,99 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace HuanMeng.MiaoYu.Model.Dto.Home
+{
+ ///
+ /// 用户和人物信息
+ ///
+ public class CharacterInfoDto
+ {
+ ///
+ /// 头像
+ ///
+ public string Icon { get; set; }
+
+ ///
+ /// 亲密值
+ ///
+ public int Intimacy { get; set; }
+
+ ///
+ /// 人物id
+ ///
+ public int CharacterId { get; set; }
+
+ ///
+ /// 人物名称
+ ///
+ public string CharacterName { get; set; }
+
+ ///
+ /// 性别
+ ///
+ public int Gender { get; set; }
+
+ ///
+ /// 有多少人看过
+ ///
+ public int LookCount { get; set; }
+
+ ///
+ /// 背景图片
+ ///
+ public string BgUrl { get; set; }
+
+ ///
+ /// 简介
+ ///
+ public string Biography { get; set; }
+
+ ///
+ /// 开场白
+ ///
+ public string Prologue { get; set; }
+
+ ///
+ /// 标签
+ ///
+ public List Label { get; set; }
+
+ ///
+ /// 余下聊天次数
+ ///
+ public int RemainingChatCount { get; set; }
+ }
+
+ ///
+ /// 人物角色标签
+ ///
+ public class LabelDto
+ {
+ public int Id { get; set; }
+ public string Name { get; set; }
+ }
+
+ ///
+ /// 聊天列表信息
+ ///
+ public class ChatMessageDto
+ {
+ public string Id { get; set; }
+ public string Role { get; set; }
+ public string Content { get; set; }
+ public DateTime Timestamp { get; set; }
+ public int MessageType { get; set; }
+ public string UserIcon { get; set; }
+ }
+
+ ///
+ /// 聊天列表
+ ///
+ public class ChatListDto
+ {
+ public List ChatList { get; set; }
+ }
+}
diff --git a/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs b/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs
new file mode 100644
index 0000000..03007b1
--- /dev/null
+++ b/src/2-api/HuanMeng.MiaoYu.WebApi/Controllers/ChatController.cs
@@ -0,0 +1,45 @@
+using HuanMeng.DotNetCore.Base;
+using HuanMeng.MiaoYu.Model.Dto.Home;
+using HuanMeng.MiaoYu.WebApi.Base;
+using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Mvc;
+using Newtonsoft.Json;
+
+namespace HuanMeng.MiaoYu.WebApi.Controllers
+{
+ [Route("api/[controller]/[action]")]
+ [ApiController]
+ public class ChatController : MiaoYuControllerBase
+ {
+
+ public ChatController(IServiceProvider _serviceProvider) : base(_serviceProvider)
+ {
+ }
+
+ ///
+ /// 获取人物信息
+ ///
+ ///
+ [HttpGet]
+ [AllowAnonymous]
+ public async Task> GetCharacterInfo(int userId)
+ {
+ var obj = JsonConvert.DeserializeObject("{\"Icon\":\"\",\"Intimacy\":10,\"CharacterId\":2,\"CharacterName\":\"许荷姻\",\"Gender\":1,\"LookCount\":2,\"BgUrl\":\"\",\"Biography\":\"你那商业联姻得来的妻子,原本的天才女孩,聪明伶俐,生的漂亮、端庄,不知贵圈多少人梦寐以求的存在。\",\"Prologue\":\"坐在轮椅上,眼神平静的看着你,语气也同样平静)你回来了。饭菜在桌上,我刚刚热了。(说到这,又垂下眸子道)我还做了碗醒酒汤,记得喝\",\"Label\":[{\"Id\":1,\"Name\":\"美女\"},{\"Id\":2,\"Name\":\"二次元\"}],\"RemainingChatCount\":1}");
+
+ return new BaseResponse(ResonseCode.Success, "", obj);
+ }
+
+ ///
+ /// 获取聊天列表信息
+ ///
+ ///
+ ///
+ [HttpGet]
+ [AllowAnonymous]
+ public async Task> GetChatInfo(int userId)
+ {
+ var obj = JsonConvert.DeserializeObject("{\"ChatList\":[{\"Id\":\"1\",\"Role\":\"user\",\"Content\":\"Hello, how are you?\",\"Timestamp\":\"2022-03-01 12:00:00 \",\"MessageType\":0,\"UserIcon\":\"\"},{\"Id\":\"2\",\"Role\":\"assistant\",\"Content\":\"I'm fine, thanks!\",\"Timestamp\":\"2022-03-01 12:05:00 \",\"UserIcon\":\"\"}]}");
+ return new BaseResponse(ResonseCode.Success, "", obj);
+ }
+ }
+}