Files
Yi.Framework/Yi.Ai.Vue3
chenchun b7756e2112 feat: 新增功能
- 概要
  - 重构并扩展公告相关模型、DTO、服务,新增公告类型、图片与时间字段,调整缓存与查询处理。
  - 新增枚举 AnnouncementTypeEnum。

- 主要改动(简要)
  - Yi.Framework.AiHub.Application.Contracts/Dtos/Announcement/AnnouncementLogDto.cs
    - 新增 ImageUrl、StartTime、EndTime、Type 字段,移除 Date 字段,Title 不再默认空串。
  - Yi.Framework.AiHub.Domain/Entities
    - 重命名 AnnouncementLogAggregateRoot -> AnnouncementAggregateRoot
    - 表名由 Ai_AnnouncementLog 改为 Ai_Announcement(SugarTable 标注)
    - 新增 ImageUrl、StartTime、EndTime、Type、Remark 字段(Remark 已存在,保持)
  - Yi.Framework.AiHub.Domain.Shared/Enums/AnnouncementTypeEnum.cs
    - 新增枚举文件(Activity=1, System=2)
  - Yi.Framework.AiHub.Application.Contracts/IServices/IAnnouncementService.cs
    - GetAsync 返回类型由 AnnouncementOutput 改为 List<AnnouncementLogDto>
  - Yi.Framework.AiHub.Application/Services/AnnouncementService.cs
    - 使用 Mapster 进行 DTO 映射
    - 查询按 StartTime 降序,返回 List<AnnouncementLogDto>,缓存结构简化
  - Yi.Abp.Web/YiAbpWebModule.cs
    - 改为初始化 AnnouncementAggregateRoot 的表(Ai_Announcement)
  - Yi.Ai.Vue3/types/import_meta.d.ts
    - 移除 VITE_BUILD_COMPRESS 环境变量声明

- 重要注意/兼容性提示
  - 接口变更:IAnnouncementService.GetAsync 返回类型已改变,调用方需同步更新(之前返回 AnnouncementOutput 的代码需调整)。
  - 数据库表变更:表名从 Ai_AnnouncementLog -> Ai_Announcement,若需保留历史数据,请在部署前做好数据迁移(重命名表或迁移数据到新表结构),或使用 CodeFirst 初始化新表(当前代码在启动时会 InitTables<AnnouncementAggregateRoot>())。
  - 新增 Mapster 适配(确保项目有 Mapster 依赖)。
  - 前端类型声明移除环境变量后,前端构建/运行脚本若依赖 VITE_BUILD_COMPRESS 需同步调整。
  - 若有缓存结构(AnnouncementCacheDto)或序列化相关约定变更,确认兼容性。

- 建议操作
  - 更新所有使用 IAnnouncementService 的代码(API 层/前端适配返回结构)。
  - 在非生产环境先执行数据迁移验证(保留旧表数据或写迁移脚本)。
  - 确认 Mapster 包已安装并编译通过。
  - 前端项目检查并同步 import_meta.d.ts 变更。
2025-11-10 15:03:02 +08:00
..
2025-06-17 22:37:37 +08:00
2025-06-19 23:45:22 +08:00
2025-06-30 17:53:59 +08:00
2025-06-20 00:06:10 +08:00
2025-11-05 23:12:23 +08:00
2025-11-10 15:03:02 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-07-18 20:46:30 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-11-02 01:27:03 +08:00
2025-06-17 22:37:37 +08:00
2025-07-18 21:08:51 +08:00
2025-07-04 19:17:45 +08:00
2025-10-14 21:29:20 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00
2025-06-17 22:37:37 +08:00

🚀 项目亮点

基于 Vue3.5 + Element-Plus-X + hook-fetch + TypeScript + Eslint9 开发的企业级AI应用模板快速构建仿豆包/通义的全栈AI项目。

💡 核心优势

  • 最新技术栈Vue3.5+/Vite6/Pinia3/TypeScript5
  • 流式交互Hook-Fetch支持Server-Sent Events插件化写法优雅的一批
  • 企业级规范ESLint/Stylelint/husky/commitlint全链路校验
  • 全栈项目:集成 后端服务,快速开发
  • 开箱即用内置动态路由、状态管理、组件库封装、hooks封装

🎯 开发文档

🔗 关键链接

| 📚 前端文档 | 开发指南/项目说明 | 快速了解项目 |

🧰 核心功能

  • 使用 Vue3.5+ 各种新特性的支持,让开发更有效率
  • 采用 Vite6.3+ 作为项目开发、打包工具
  • 使用 Pinia3.0+ 作为全局状态管理库,轻量、优雅、易用,集成 Pinia 持久化插件
  • 使用 TypeScript5.8+ 增强项目的代码规范和可读性
  • 使用 Unocss 预设样式,更快书写简单的样式
  • 弃用 Axios (不支持流式请求) 改用 Hook-Fetch (支持流模式,插件化封装,写法极度优雅) 进行全局的请求封装
  • 使用 VueRouter 配置动态路由权限拦截、路由懒加载
  • 使用 KeepAlive 对页面进行缓存
  • 封装了一些好用的组件和Hooks增强用户交互体验
  • 使用 ESLint9+、Stylelint16+ 代码校验规范、同时统一保存格式化代码
  • 使用 husky、lint-staged、commitlint、cz-git 规范提交信息

📦 安装与运行


# 安装依赖推荐pnpm 避免幻影依赖)
pnpm install

# 开发模式
pnpm run dev

# 生产构建
pnpm build

# 代码校验
pnpm lint          # ESLint检测
pnpm lint:stylelint # 样式格式化
pnpm cz            # 规范提交自动执行lint

服务端启动

目录E:\devDemo\Yi\Yi.Abp.Net8\src\Yi.Abp.Web

dotnet run

🧸 即将推出 (含 接口联调)

  • 会话管理
  • 发送消息
  • 登录注册
  • md 渲染
  • 编辑输入框
  • 文件上传
  • 其他...