diff --git a/.data/trip-planner.db b/.data/trip-planner.db index 73a0692..946c8aa 100644 Binary files a/.data/trip-planner.db and b/.data/trip-planner.db differ diff --git a/.data/trip-planner.db-shm b/.data/trip-planner.db-shm index 01bf770..70ea03e 100644 Binary files a/.data/trip-planner.db-shm and b/.data/trip-planner.db-shm differ diff --git a/.data/trip-planner.db-wal b/.data/trip-planner.db-wal index 0b5f31a..e5184c0 100644 Binary files a/.data/trip-planner.db-wal and b/.data/trip-planner.db-wal differ diff --git a/server.js b/server.js index a1aa727..e3c2c1e 100644 --- a/server.js +++ b/server.js @@ -49,6 +49,7 @@ import cors from 'cors' import authRoutes from './src/routes/auth.js' import plansRoutes from './src/routes/plans.js' import statsRoutes from './src/routes/stats.js' +import sharesRoutes from './src/routes/shares.js' const app = express() app.use(cors({ @@ -63,6 +64,7 @@ app.use(express.json()) app.use('/api/auth', authRoutes) app.use('/api/plans', plansRoutes) app.use('/api/stats', statsRoutes) +app.use('/api/shares', sharesRoutes) // API: Get config app.get('/api/config', (req, res) => { @@ -250,6 +252,11 @@ async function start() { // Production: serve static files app.use(express.static(path.join(__dirname, 'dist'))) + // SPA catch-all: serve index.html for all non-API routes + app.get('*', (req, res) => { + res.sendFile(path.join(__dirname, 'dist', 'index.html')) + }) + const port = process.env.PORT || 3000 app.listen(port, () => { console.log(`Server running on port ${port}`) diff --git a/src/components/QuickPlanPanel.vue b/src/components/QuickPlanPanel.vue index badb982..ef4821b 100644 --- a/src/components/QuickPlanPanel.vue +++ b/src/components/QuickPlanPanel.vue @@ -346,15 +346,17 @@ async function generatePlan() { console.log('[generatePlan] AI 返回结果:', result) console.log('[generatePlan] schemes 数量:', result.schemes?.length) + console.log('[generatePlan] result 完整 JSON:', JSON.stringify(result, null, 2)) const newSchemes = result.schemes || [] // 检查每个方案的 points newSchemes.forEach((scheme, idx) => { - console.log(`[generatePlan] 方案 ${idx} - ${scheme.name}:`, { - pointsCount: scheme.points?.length, - points: scheme.points?.map(p => p.name) - }) + console.log(`[generatePlan] === 方案 ${idx} 详情 ===`) + console.log(` 名称:`, scheme.name) + console.log(` points 数量:`, scheme.points?.length) + console.log(` points 列表:`, scheme.points?.map(p => p.name)) + console.log(` points 完整数据:`, JSON.stringify(scheme.points, null, 2)) }) const currentSchemes = [...allSchemes.value] @@ -374,6 +376,12 @@ async function generatePlan() { } console.log('[generatePlan] 保存方案总数:', currentSchemes.length) + + // 保存前最后检查 + currentSchemes.forEach((s, i) => { + console.log(`[generatePlan] 保存前方案 ${i} - ${s.name}: points=${s.points?.length}, 列表=${s.points?.map(p => p.name)}`) + }) + store.saveSchemesToStore(currentSchemes, currentHistory) } catch (error) { if (error.name === 'AbortError') { diff --git a/src/components/Workbench.vue b/src/components/Workbench.vue index 9a0f793..f5a7c34 100644 --- a/src/components/Workbench.vue +++ b/src/components/Workbench.vue @@ -50,6 +50,9 @@ + @@ -156,20 +159,57 @@ + + +
+ +