// 此接口提供获取例程目录服务 // GET /api/tutorials 返回所有可用的例程目录 import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; import { Request, Response } from 'express'; // 获取当前文件的目录 const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); const publicDir = path.resolve(__dirname, '../public'); export function getTutorials(req: Request, res: Response) { try { const docDir = path.join(publicDir, 'doc'); // 读取doc目录下的所有文件夹 const entries = fs.readdirSync(docDir, { withFileTypes: true }); const dirs = entries .filter(dirent => dirent.isDirectory()) .map(dirent => dirent.name); // 返回文件夹列表 res.json({ tutorials: dirs }); } catch (error) { console.error('获取例程目录失败:', error); res.status(500).json({ error: '无法读取例程目录' }); } }