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); + } + } +}