Initial commit
This commit is contained in:
124
src/types/itto.ts
Normal file
124
src/types/itto.ts
Normal file
@@ -0,0 +1,124 @@
|
||||
/**
|
||||
* ITTO数据类型定义
|
||||
* PMP项目管理ITTO可视化学习平台
|
||||
*/
|
||||
|
||||
// 知识领域
|
||||
export interface KnowledgeArea {
|
||||
id: string; // 如 "KA01"
|
||||
name: string; // 如 "项目整合管理"
|
||||
nameEn: string; // 如 "Project Integration Management"
|
||||
chapter: number; // PMBOK章节号 4-13
|
||||
order: number; // 排序序号 1-10
|
||||
color: string; // 主题色
|
||||
description: string; // 简要描述
|
||||
processCount: number; // 包含的过程数量
|
||||
}
|
||||
|
||||
// 过程组
|
||||
export interface ProcessGroup {
|
||||
id: string; // 如 "PG01"
|
||||
name: string; // 如 "启动过程组"
|
||||
nameEn: string; // 如 "Initiating Process Group"
|
||||
order: number; // 排序序号 1-5
|
||||
color: string; // 主题色
|
||||
description: string; // 简要描述
|
||||
processCount: number; // 包含的过程数量
|
||||
}
|
||||
|
||||
// 过程
|
||||
export interface Process {
|
||||
id: string; // 如 "P4.1"
|
||||
code: string; // 如 "4.1"
|
||||
name: string; // 如 "制定项目章程"
|
||||
nameEn: string; // 如 "Develop Project Charter"
|
||||
knowledgeAreaId: string; // 所属知识领域ID
|
||||
processGroupId: string; // 所属过程组ID
|
||||
order: number; // 在知识领域内的序号
|
||||
inputs: string[]; // 输入工件ID列表
|
||||
tools: string[]; // 工具与技术ID列表
|
||||
outputs: string[]; // 输出工件ID列表
|
||||
}
|
||||
|
||||
// 工件类别
|
||||
export type ArtifactCategory =
|
||||
| 'document' // 文档
|
||||
| 'plan' // 计划
|
||||
| 'baseline' // 基准
|
||||
| 'report' // 报告
|
||||
| 'register' // 登记册
|
||||
| 'log' // 日志
|
||||
| 'deliverable' // 可交付成果
|
||||
| 'other'; // 其他
|
||||
|
||||
// 工件/文档
|
||||
export interface Artifact {
|
||||
id: string; // 如 "A001"
|
||||
name: string; // 如 "项目章程"
|
||||
nameEn: string; // 如 "Project Charter"
|
||||
category: ArtifactCategory;
|
||||
description?: string;
|
||||
}
|
||||
|
||||
// 工具类型
|
||||
export type ToolType =
|
||||
| 'tool' // 工具
|
||||
| 'technique' // 技术
|
||||
| 'method' // 方法
|
||||
| 'skill' // 技能
|
||||
| 'meeting'; // 会议
|
||||
|
||||
// 工具与技术
|
||||
export interface ToolTechnique {
|
||||
id: string; // 如 "TT001"
|
||||
name: string; // 如 "专家判断"
|
||||
nameEn: string; // 如 "Expert Judgment"
|
||||
type: ToolType;
|
||||
category: string; // 分类
|
||||
description?: string;
|
||||
}
|
||||
|
||||
// 学习掌握程度
|
||||
export type MasteryLevel = 'familiar' | 'fuzzy' | 'unfamiliar';
|
||||
|
||||
// 学习记录
|
||||
export interface LearningRecord {
|
||||
id: string;
|
||||
processId: string;
|
||||
masteryLevel: MasteryLevel;
|
||||
reviewCount: number;
|
||||
correctCount: number;
|
||||
lastReviewAt: Date;
|
||||
nextReviewAt: Date; // 基于间隔重复算法计算
|
||||
}
|
||||
|
||||
// 题目类型
|
||||
export type QuestionType = 'choice' | 'fill' | 'match';
|
||||
|
||||
// 错题记录
|
||||
export interface WrongAnswer {
|
||||
id: string;
|
||||
questionId: string;
|
||||
questionType: QuestionType;
|
||||
userAnswer: string;
|
||||
correctAnswer: string;
|
||||
createdAt: Date;
|
||||
reviewed: boolean;
|
||||
}
|
||||
|
||||
// 学习统计
|
||||
export interface LearningStats {
|
||||
totalStudyTime: number; // 总学习时长(分钟)
|
||||
totalQuestions: number; // 总答题数
|
||||
correctRate: number; // 正确率
|
||||
masteredCount: number; // 已掌握过程数
|
||||
streakDays: number; // 连续学习天数
|
||||
lastStudyDate: Date;
|
||||
}
|
||||
|
||||
// 数据流向关系
|
||||
export interface DataFlow {
|
||||
sourceProcessId: string; // 源过程ID
|
||||
targetProcessId: string; // 目标过程ID
|
||||
artifactId: string; // 流转的工件ID
|
||||
}
|
||||
Reference in New Issue
Block a user