feat: 添加realtime_dialog和realtime_dialog_external_rag_test项目,更新test2项目
This commit is contained in:
@@ -2,6 +2,48 @@ const express = require('express');
|
||||
const router = express.Router();
|
||||
const db = require('../db');
|
||||
|
||||
/**
|
||||
* GET /api/session/list
|
||||
* 获取会话列表(按更新时间倒序,带最后一条消息预览)
|
||||
*/
|
||||
router.get('/list', async (req, res) => {
|
||||
try {
|
||||
const userId = req.query.userId || null;
|
||||
const limit = parseInt(req.query.limit) || 50;
|
||||
const sessions = await db.getSessionList(userId, limit);
|
||||
res.json({
|
||||
success: true,
|
||||
data: sessions.map((s) => ({
|
||||
id: s.id,
|
||||
userId: s.user_id,
|
||||
mode: s.mode,
|
||||
createdAt: s.created_at,
|
||||
updatedAt: s.updated_at,
|
||||
lastMessage: s.last_message ? (s.last_message.length > 60 ? s.last_message.slice(0, 60) + '...' : s.last_message) : null,
|
||||
messageCount: parseInt(s.message_count) || 0,
|
||||
})),
|
||||
});
|
||||
} catch (err) {
|
||||
console.error('[Session] List failed:', err.message);
|
||||
res.status(500).json({ success: false, error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* DELETE /api/session/:id
|
||||
* 删除会话及其所有消息
|
||||
*/
|
||||
router.delete('/:id', async (req, res) => {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
await db.deleteSession(id);
|
||||
res.json({ success: true });
|
||||
} catch (err) {
|
||||
console.error('[Session] Delete failed:', err.message);
|
||||
res.status(500).json({ success: false, error: err.message });
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* GET /api/session/:id/history
|
||||
* 获取会话完整历史(用于文字↔语音切换时加载上下文)
|
||||
|
||||
Reference in New Issue
Block a user