web-学习

This commit is contained in:
2025-10-24 18:28:35 +08:00
parent 8968409b2d
commit bc84bd82cc
16 changed files with 1090 additions and 239 deletions

View File

@@ -122,6 +122,18 @@ export enum CollectionType {
COURSE = 2
}
/**
* 文章状态枚举
*/
export enum ArticleStatus {
/** 草稿 */
DRAFT = 0,
/** 已发布 */
PUBLISHED = 1,
/** 下架 */
OFFLINE = 2
}
/**
* 资源类型枚举
*/
@@ -189,4 +201,12 @@ export enum CollectionStatus {
/** 成功 */
SUCCESS = 1
}
/**
* 任务项类型枚举
*/
export enum TaskItemType {
/** 资源类型 */
RESOURCE = 1,
/** 课程类型 */
COURSE = 2
}

View File

@@ -4,7 +4,8 @@
* @since 2025-10-15
*/
import { BaseDTO, SysUser, Resource } from '@/types';
import type { BaseDTO } from '@/types';
/**
* 课程实体
@@ -149,12 +150,18 @@ export interface LearningTask extends BaseDTO {
export interface LearningRecord extends BaseDTO {
/** 用户ID */
userID?: string;
/** 任务ID */
taskID?: string;
/** 资源类型1资源 2课程 3章节 */
resourceType?: number;
/** 资源ID */
resourceID?: string;
/** 任务ID */
taskID?: string;
/** 课程ID */
courseID?: string;
/** 章节ID */
chapterID?: string;
/** 节点ID */
nodeID?: string;
/** 学习时长(秒) */
duration?: number;
/** 学习进度0-100 */
@@ -195,58 +202,84 @@ export interface TaskUser extends BaseDTO {
userID?: string;
/** 完成状态0未完成 1已完成 */
status?: number;
/** 学习进度 */
progress?: number;
/** 完成时间 */
completeTime?: string;
}
/**
* 任务资源关联实体
* 任务项实体(统一管理资源和课程)
*/
export interface TaskResource extends BaseDTO {
export interface TaskItem extends BaseDTO {
/** 任务ID */
taskID?: string;
/** 资源ID */
resourceID?: string;
/** 资源类型1资源 2课程 */
resourceType?: number;
/** 项类型1资源 2课程 */
itemType?: number;
/** 项ID资源ID或课程ID */
itemID?: string;
/** 是否必须完成 */
required?: boolean;
/** 排序号 */
orderNum?: number;
/** 创建者 */
creator?: string;
/** 更新者 */
updater?: string;
}
export interface TaskItemVO extends LearningTask {
courseID?: string;
courseName?: string;
resourceID?: string;
resourceName?: string;
userID?: string;
username?: string;
required?: boolean;
orderNum?: number;
status?: number;
progress?: boolean;
completeTime?: string;
}
export interface TaskVO extends BaseDTO {
learningTask: LearningTask;
taskCourses: TaskItemVO[];
taskResources: TaskItemVO[];
taskUsers: TaskItemVO[];
totalTaskNum?: number;
completedTaskNum?: number;
learningTaskNum?: number;
notStartTaskNum?: number;
taskStatus?: number;
}
/**
* 任务课程关联实体
* 任务项视图对象(扩展了任务基本信息)
*/
export interface TaskCourse extends BaseDTO {
/** 任务ID */
taskID?: string;
export interface TaskItemVO extends LearningTask {
/** 项类型1资源 2课程 */
itemType?: number;
/** 课程ID */
courseID?: string;
/** 课程名称 */
courseName?: string;
/** 资源ID */
resourceID?: string;
/** 资源名称 */
resourceName?: string;
/** 用户ID */
userID?: string;
/** 用户名 */
username?: string;
/** 是否必修 */
required?: boolean;
/** 排序号 */
orderNum?: number;
/** 任务状态 */
status?: number;
/** 学习进度0-100 */
progress?: number;
/** 完成时间 */
completeTime?: string;
}
/**
* 任务视图对象(包含任务及关联的课程、资源、用户)
*/
export interface TaskVO extends BaseDTO {
/** 学习任务基本信息 */
learningTask: LearningTask;
/** 任务关联的课程列表 */
taskCourses: TaskItemVO[];
/** 任务关联的资源列表 */
taskResources: TaskItemVO[];
/** 任务关联的用户列表 */
taskUsers: TaskItemVO[];
/** 总任务数 */
totalTaskNum?: number;
/** 已完成任务数 */
completedTaskNum?: number;
/** 学习中任务数 */
learningTaskNum?: number;
/** 未开始任务数 */
notStartTaskNum?: number;
/** 任务状态 */
taskStatus?: number;
}
/**