refactor: 清理未使用代码并添加未来功能标记
Some checks failed
CI / Rust Check (push) Has been cancelled
CI / Lint & TypeCheck (push) Has been cancelled
CI / Unit Tests (push) Has been cancelled
CI / Build Frontend (push) Has been cancelled
CI / Security Scan (push) Has been cancelled
CI / E2E Tests (push) Has been cancelled

style: 统一代码格式和注释风格

docs: 更新多个功能文档的完整度和状态

feat(runtime): 添加路径验证工具支持

fix(pipeline): 改进条件判断和变量解析逻辑

test(types): 为ID类型添加全面测试用例

chore: 更新依赖项和Cargo.lock文件

perf(mcp): 优化MCP协议传输和错误处理
This commit is contained in:
iven
2026-03-25 21:55:12 +08:00
parent aa6a9cbd84
commit bf6d81f9c6
109 changed files with 12271 additions and 815 deletions

View File

@@ -21,7 +21,6 @@ import {
Grid,
Volume2,
VolumeX,
Settings,
Download,
Share2,
} from 'lucide-react';
@@ -78,7 +77,7 @@ interface SceneRendererProps {
showNarration: boolean;
}
function SceneRenderer({ scene, isPlaying, showNarration }: SceneRendererProps) {
function SceneRenderer({ scene, showNarration }: SceneRendererProps) {
const renderContent = () => {
switch (scene.type) {
case 'title':
@@ -240,7 +239,7 @@ function OutlinePanel({
{section.title}
</p>
<div className="space-y-1">
{section.scenes.map((sceneId, sceneIndex) => {
{section.scenes.map((sceneId) => {
const globalIndex = scenes.findIndex(s => s.id === sceneId);
const isActive = globalIndex === currentIndex;
const scene = scenes.find(s => s.id === sceneId);
@@ -271,7 +270,6 @@ function OutlinePanel({
export function ClassroomPreviewer({
data,
onClose,
onExport,
}: ClassroomPreviewerProps) {
const [currentSceneIndex, setCurrentSceneIndex] = useState(0);
@@ -281,7 +279,7 @@ export function ClassroomPreviewer({
const [isFullscreen, setIsFullscreen] = useState(false);
const [viewMode, setViewMode] = useState<'slides' | 'grid'>('slides');
const { showToast } = useToast();
const { toast } = useToast();
const currentScene = data.scenes[currentSceneIndex];
const totalScenes = data.scenes.length;
@@ -310,12 +308,12 @@ export function ClassroomPreviewer({
nextScene();
} else {
setIsPlaying(false);
showToast('课堂播放完成', 'success');
toast('课堂播放完成', 'success');
}
}, duration);
return () => clearTimeout(timer);
}, [isPlaying, currentSceneIndex, currentScene, totalScenes, nextScene, showToast]);
}, [isPlaying, currentSceneIndex, currentScene, totalScenes, nextScene, toast]);
// Keyboard navigation
useEffect(() => {
@@ -352,7 +350,7 @@ export function ClassroomPreviewer({
if (onExport) {
onExport(format);
} else {
showToast(`导出 ${format.toUpperCase()} 功能开发中...`, 'info');
toast(`导出 ${format.toUpperCase()} 功能开发中...`, 'info');
}
};