web-apis\types

This commit is contained in:
2025-10-16 10:31:32 +08:00
parent aace132108
commit 6858899c4c
21 changed files with 2198 additions and 192 deletions

View File

@@ -0,0 +1,169 @@
/**
* @description 智能体相关类型定义
* @author system
* @since 2025-10-15
*/
import { BaseDTO } from '../base';
/**
* 智能体配置实体
*/
export interface AiAgentConfig extends BaseDTO {
/** 智能体名称 */
name?: string;
/** 智能体头像 */
avatar?: string;
/** 系统提示词 */
systemPrompt?: string;
/** 模型名称 */
modelName?: string;
/** 模型提供商 */
modelProvider?: string;
/** 温度值 */
temperature?: number;
/** 最大tokens */
maxTokens?: number;
/** Top P值 */
topP?: number;
/** 状态0禁用 1启用 */
status?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* 对话会话实体
*/
export interface AiConversation extends BaseDTO {
/** 用户ID */
userID?: string;
/** 会话标题 */
title?: string;
/** 状态0已结束 1进行中 */
status?: number;
/** 消息数量 */
messageCount?: number;
/** 最后消息时间 */
lastMessageTime?: string;
}
/**
* 对话消息实体
*/
export interface AiMessage extends BaseDTO {
/** 会话ID */
conversationID?: string;
/** 用户ID */
userID?: string;
/** 角色user用户 assistant助手 system系统 */
role?: string;
/** 消息内容 */
content?: string;
/** 关联文件IDJSON数组 */
fileIDs?: string;
/** 引用知识IDJSON数组 */
knowledgeIDs?: string;
/** Token数量 */
tokenCount?: number;
}
/**
* 知识库实体
*/
export interface AiKnowledge extends BaseDTO {
/** 知识标题 */
title?: string;
/** 知识内容 */
content?: string;
/** 知识类型1文本 2文件 */
type?: number;
/** 文件ID */
fileID?: string;
/** 状态0禁用 1启用 */
status?: number;
/** 创建者 */
creator?: string;
}
/**
* 上传文件实体
*/
export interface AiUploadFile extends BaseDTO {
/** 用户ID */
userID?: string;
/** 文件名 */
fileName?: string;
/** 文件路径 */
filePath?: string;
/** 文件大小 */
fileSize?: number;
/** 文件类型 */
fileType?: string;
/** 状态0处理中 1成功 2失败 */
status?: number;
/** 错误信息 */
errorMessage?: string;
}
/**
* 使用统计实体
*/
export interface AiUsageStatistics extends BaseDTO {
/** 用户ID */
userID?: string;
/** 统计日期 */
statisticsDate?: string;
/** 对话次数 */
conversationCount?: number;
/** 消息数量 */
messageCount?: number;
/** Token使用量 */
tokenUsage?: number;
/** 文件上传次数 */
fileUploadCount?: number;
}
/**
* 对话请求参数
*/
export interface ChatRequest {
/** 会话ID */
conversationID?: string;
/** 消息内容 */
message?: string;
/** 文件ID列表 */
fileIDs?: string[];
/** 是否流式返回 */
stream?: boolean;
}
/**
* 对话响应参数
*/
export interface ChatResponse {
/** 消息ID */
messageID?: string;
/** 消息内容 */
content?: string;
/** Token使用量 */
tokenUsage?: number;
/** 是否完成 */
isComplete?: boolean;
}
/**
* 文件上传响应
*/
export interface FileUploadResponse {
/** 文件ID */
fileID?: string;
/** 文件名 */
fileName?: string;
/** 文件大小 */
fileSize?: number;
/** 处理状态 */
status?: number;
}

View File

@@ -76,3 +76,117 @@ export enum LoginType {
PASSWORD = 'password'
}
/**
* 资源状态枚举
*/
export enum ResourceStatus {
/** 草稿 */
DRAFT = 0,
/** 已发布 */
PUBLISHED = 1,
/** 下架 */
OFFLINE = 2
}
/**
* 课程状态枚举
*/
export enum CourseStatus {
/** 未上线 */
OFFLINE = 0,
/** 已上线 */
ONLINE = 1,
/** 已下架 */
DISABLED = 2
}
/**
* 学习任务状态枚举
*/
export enum LearningTaskStatus {
/** 草稿 */
DRAFT = 0,
/** 进行中 */
IN_PROGRESS = 1,
/** 已结束 */
COMPLETED = 2
}
/**
* 收藏类型枚举
*/
export enum CollectionType {
/** 资源 */
RESOURCE = 1,
/** 课程 */
COURSE = 2
}
/**
* 资源类型枚举
*/
export enum ResourceType {
/** 资源 */
RESOURCE = 1,
/** 课程 */
COURSE = 2,
/** 章节 */
CHAPTER = 3
}
/**
* Banner链接类型枚举
*/
export enum BannerLinkType {
/** 资源 */
RESOURCE = 1,
/** 课程 */
COURSE = 2,
/** 外部链接 */
EXTERNAL = 3
}
/**
* 智能体消息角色枚举
*/
export enum AiMessageRole {
/** 用户 */
USER = 'user',
/** 助手 */
ASSISTANT = 'assistant',
/** 系统 */
SYSTEM = 'system'
}
/**
* 积分变动类型枚举
*/
export enum PointsType {
/** 获得 */
EARN = 1,
/** 消费 */
CONSUME = 2
}
/**
* 文件状态枚举
*/
export enum FileStatus {
/** 处理中 */
PROCESSING = 0,
/** 成功 */
SUCCESS = 1,
/** 失败 */
FAILED = 2
}
/**
* 数据采集状态枚举
*/
export enum CollectionStatus {
/** 失败 */
FAILED = 0,
/** 成功 */
SUCCESS = 1
}

View File

@@ -25,6 +25,18 @@ export * from './permission';
// 认证相关
export * from './auth';
// 资源相关
export * from './resource';
// 学习相关
export * from './study';
// 智能体相关
export * from './ai';
// 用户中心相关
export * from './usercenter';
// 枚举类型
export * from './enums';

View File

@@ -0,0 +1,213 @@
/**
* @description 资源相关类型定义
* @author system
* @since 2025-10-15
*/
import { BaseDTO } from '../base';
/**
* 资源实体
*/
export interface Resource extends BaseDTO {
/** 资源标题 */
title?: string;
/** 资源内容 */
content?: string;
/** 资源简介 */
summary?: string;
/** 封面图片 */
coverImage?: string;
/** 分类ID */
categoryID?: string;
/** 作者 */
author?: string;
/** 来源 */
source?: string;
/** 来源URL */
sourceUrl?: string;
/** 浏览次数 */
viewCount?: number;
/** 点赞次数 */
likeCount?: number;
/** 收藏次数 */
collectCount?: number;
/** 状态0草稿 1已发布 2下架 */
status?: number;
/** 是否推荐 */
isRecommend?: boolean;
/** 是否轮播 */
isBanner?: boolean;
/** 发布时间 */
publishTime?: string;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* Banner实体
*/
export interface Banner extends BaseDTO {
/** Banner标题 */
title?: string;
/** Banner图片URL */
imageUrl?: string;
/** 链接类型1资源 2课程 3外部链接 */
linkType?: number;
/** 关联ID资源ID或课程ID */
linkID?: string;
/** 外部链接URL */
linkUrl?: string;
/** 排序号 */
orderNum?: number;
/** 状态0禁用 1启用 */
status?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* 资源分类实体
*/
export interface ResourceCategory extends BaseDTO {
/** 分类唯一标识 */
categoryID?: string;
/** 分类名称 */
name?: string;
/** 父分类ID */
parentID?: string;
/** 分类描述 */
description?: string;
/** 分类图标 */
icon?: string;
/** 排序号 */
orderNum?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* 资源标签实体
*/
export interface ResourceTag extends BaseDTO {
/** 资源ID */
resourceID?: string;
/** 标签ID */
tagID?: string;
}
/**
* 标签实体
*/
export interface Tag extends BaseDTO {
/** 标签名称 */
name?: string;
/** 标签描述 */
description?: string;
/** 标签颜色 */
color?: string;
/** 排序号 */
orderNum?: number;
/** 状态0禁用 1启用 */
status?: number;
}
/**
* 资源推荐实体
*/
export interface ResourceRecommend extends BaseDTO {
/** 资源ID */
resourceID?: string;
/** 推荐类型1首页推荐 2分类推荐 */
recommendType?: number;
/** 排序号 */
orderNum?: number;
/** 状态0禁用 1启用 */
status?: number;
}
/**
* 数据采集配置实体
*/
export interface DataCollectionConfig extends BaseDTO {
/** 配置名称 */
name?: string;
/** 采集来源 */
source?: string;
/** 采集频率(天/周) */
frequency?: string;
/** 采集规则 */
rules?: string;
/** 状态0禁用 1启用 */
status?: number;
}
/**
* 数据采集日志实体
*/
export interface DataCollectionLog extends BaseDTO {
/** 配置ID */
configID?: string;
/** 采集时间 */
collectTime?: string;
/** 采集数量 */
collectCount?: number;
/** 采集状态0失败 1成功 */
status?: number;
/** 错误信息 */
errorMessage?: string;
}
/**
* 资源搜索参数
*/
export interface ResourceSearchParams {
/** 关键词 */
keyword?: string;
/** 分类ID */
categoryID?: string;
/** 状态 */
status?: number;
/** 是否推荐 */
isRecommend?: boolean;
/** 是否轮播 */
isBanner?: boolean;
/** 作者 */
author?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 页码 */
page?: number;
/** 每页条数 */
size?: number;
}
/**
* 资源统计信息
*/
export interface ResourceStatistics {
/** 总资源数 */
totalResources?: number;
/** 今日新增 */
todayNew?: number;
/** 已发布 */
published?: number;
/** 草稿 */
draft?: number;
/** 下架 */
offline?: number;
/** 总浏览量 */
totalViews?: number;
/** 总点赞数 */
totalLikes?: number;
/** 总收藏数 */
totalCollections?: number;
}

View File

@@ -0,0 +1,223 @@
/**
* @description 学习相关类型定义
* @author system
* @since 2025-10-15
*/
import { BaseDTO } from '../base';
/**
* 课程实体
*/
export interface Course extends BaseDTO {
/** 课程唯一标识 */
courseID?: string;
/** 课程名称 */
name?: string;
/** 课程封面图片 */
coverImage?: string;
/** 课程描述 */
description?: string;
/** 课程内容 */
content?: string;
/** 课程时长(分钟) */
duration?: number;
/** 授课老师 */
teacher?: string;
/** 状态0未上线 1已上线 2已下架 */
status?: number;
/** 浏览次数 */
viewCount?: number;
/** 学习人数 */
learnCount?: number;
/** 排序号 */
orderNum?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* 课程章节实体
*/
export interface CourseChapter extends BaseDTO {
/** 章节唯一标识 */
chapterID?: string;
/** 课程ID */
courseID?: string;
/** 章节名称 */
name?: string;
/** 章节内容 */
content?: string;
/** 章节时长(分钟) */
duration?: number;
/** 排序号 */
orderNum?: number;
/** 状态0禁用 1启用 */
status?: number;
}
/**
* 课程标签实体
*/
export interface CourseTag extends BaseDTO {
/** 课程ID */
courseID?: string;
/** 标签ID */
tagID?: string;
}
/**
* 学习任务实体
*/
export interface LearningTask extends BaseDTO {
/** 任务唯一标识 */
taskID?: string;
/** 任务名称 */
name?: string;
/** 任务描述 */
description?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 状态0草稿 1进行中 2已结束 */
status?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
/**
* 学习记录实体
*/
export interface LearningRecord extends BaseDTO {
/** 用户ID */
userID?: string;
/** 资源类型1资源 2课程 3章节 */
resourceType?: number;
/** 资源ID */
resourceID?: string;
/** 任务ID */
taskID?: string;
/** 学习时长(秒) */
duration?: number;
/** 学习进度0-100 */
progress?: number;
/** 是否完成 */
isComplete?: boolean;
/** 完成时间 */
completeTime?: string;
/** 最后学习时间 */
lastLearnTime?: string;
}
/**
* 学习统计实体
*/
export interface LearningStatistics extends BaseDTO {
/** 用户ID */
userID?: string;
/** 统计日期 */
statisticsDate?: string;
/** 学习时长(秒) */
totalDuration?: number;
/** 学习资源数 */
resourceCount?: number;
/** 完成任务数 */
taskCount?: number;
/** 获得积分 */
points?: number;
}
/**
* 任务用户关联实体
*/
export interface TaskUser extends BaseDTO {
/** 任务ID */
taskID?: string;
/** 用户ID */
userID?: string;
/** 完成状态0未完成 1已完成 */
status?: number;
/** 完成时间 */
completeTime?: string;
}
/**
* 任务资源关联实体
*/
export interface TaskResource extends BaseDTO {
/** 任务ID */
taskID?: string;
/** 资源ID */
resourceID?: string;
/** 资源类型1资源 2课程 */
resourceType?: number;
/** 排序号 */
orderNum?: number;
}
/**
* 任务课程关联实体
*/
export interface TaskCourse extends BaseDTO {
/** 任务ID */
taskID?: string;
/** 课程ID */
courseID?: string;
/** 排序号 */
orderNum?: number;
}
/**
* 学习计划实体
*/
export interface LearningPlan extends BaseDTO {
/** 计划名称 */
name?: string;
/** 计划描述 */
description?: string;
/** 开始时间 */
startTime?: string;
/** 结束时间 */
endTime?: string;
/** 状态0草稿 1进行中 2已结束 */
status?: number;
/** 创建者 */
creator?: string;
}
/**
* 学习进度统计
*/
export interface LearningProgress {
/** 用户ID */
userID?: string;
/** 任务ID */
taskID?: string;
/** 总任务数 */
totalTasks?: number;
/** 已完成任务数 */
completedTasks?: number;
/** 完成百分比 */
completionRate?: number;
/** 学习时长 */
totalDuration?: number;
}
/**
* 学习记录统计
*/
export interface LearningRecordStatistics {
/** 日期 */
date?: string;
/** 学习时长 */
duration?: number;
/** 学习资源数 */
resourceCount?: number;
/** 完成任务数 */
taskCount?: number;
}

View File

@@ -0,0 +1,143 @@
/**
* @description 用户中心相关类型定义
* @author system
* @since 2025-10-15
*/
import { BaseDTO } from '../base';
/**
* 用户收藏实体
*/
export interface UserCollection extends BaseDTO {
/** 用户ID */
userID?: string;
/** 收藏类型1资源 2课程 */
collectionType?: number;
/** 收藏对象ID */
collectionID?: string;
}
/**
* 用户浏览记录实体
*/
export interface UserBrowseRecord extends BaseDTO {
/** 用户ID */
userID?: string;
/** 浏览类型1资源 2课程 */
browseType?: number;
/** 浏览对象ID */
browseID?: string;
/** 浏览时长(秒) */
duration?: number;
/** 浏览时间 */
browseTime?: string;
}
/**
* 用户积分实体
*/
export interface UserPoints extends BaseDTO {
/** 用户ID */
userID?: string;
/** 积分余额 */
balance?: number;
/** 总获得积分 */
totalEarned?: number;
/** 总消费积分 */
totalConsumed?: number;
}
/**
* 积分记录实体
*/
export interface PointsRecord extends BaseDTO {
/** 用户ID */
userID?: string;
/** 积分变动 */
points?: number;
/** 变动类型1获得 2消费 */
type?: number;
/** 变动原因 */
reason?: string;
/** 关联对象ID */
relatedID?: string;
/** 关联对象类型 */
relatedType?: number;
}
/**
* 用户成就实体
*/
export interface UserAchievement extends BaseDTO {
/** 用户ID */
userID?: string;
/** 成就ID */
achievementID?: string;
/** 获得时间 */
achieveTime?: string;
}
/**
* 成就实体
*/
export interface Achievement extends BaseDTO {
/** 成就名称 */
name?: string;
/** 成就描述 */
description?: string;
/** 成就图标 */
icon?: string;
/** 成就类型 */
type?: number;
/** 获得条件 */
condition?: string;
/** 奖励积分 */
rewardPoints?: number;
/** 状态0禁用 1启用 */
status?: number;
}
/**
* 个人中心统计信息
*/
export interface UserCenterStatistics {
/** 收藏数量 */
collectionCount?: number;
/** 浏览记录数量 */
browseCount?: number;
/** 学习时长 */
learningDuration?: number;
/** 完成任务数 */
completedTasks?: number;
/** 获得积分 */
earnedPoints?: number;
/** 获得成就数 */
achievementCount?: number;
}
/**
* 学习记录图表数据
*/
export interface LearningChartData {
/** 日期 */
date?: string;
/** 学习时长(分钟) */
duration?: number;
/** 学习资源数 */
resourceCount?: number;
}
/**
* 资源学习统计
*/
export interface ResourceLearningStats {
/** 资源ID */
resourceID?: string;
/** 资源标题 */
resourceTitle?: string;
/** 学习次数 */
learnCount?: number;
/** 学习时长 */
learnDuration?: number;
}