feat: 重构项目心跳数据结构并实现项目列表API

- 新增统一项目列表Redis键和迁移工具
- 实现GET /api/projects端点获取项目列表
- 实现POST /api/projects/migrate端点支持数据迁移
- 更新前端ProjectSelector组件使用真实项目数据
- 扩展projectStore状态管理
- 更新相关文档和OpenSpec规范
- 添加测试用例验证新功能
This commit is contained in:
2026-01-13 19:45:05 +08:00
parent 19e65d78dc
commit 282f7268ed
66 changed files with 4378 additions and 456 deletions

View File

@@ -11,7 +11,10 @@
<h1>BLS Project Console</h1>
<div
class="service-status"
:class="{ 'status-ok': serviceStatus === 'ok', 'status-error': serviceStatus === 'error' }"
:class="{
'status-ok': serviceStatus === 'ok',
'status-error': serviceStatus === 'error',
}"
>
{{ serviceStatusText }}
</div>
@@ -72,8 +75,7 @@ const checkServiceHealth = async () => {
try {
console.log('=== 开始检查服务健康状态 ===');
// 测试不同的请求方式
const response = await fetch('http://localhost:3000/api/health', {
const response = await fetch('http://localhost:3001/api/health', {
method: 'GET',
credentials: 'omit',
referrerPolicy: 'no-referrer',
@@ -149,7 +151,7 @@ body {
}
.app-header {
background-color: #008C8C;
background-color: #008c8c;
color: white;
padding: 0.6rem 1rem;
display: flex;
@@ -194,7 +196,9 @@ body {
width: 20px;
height: 2px;
background-color: white;
transition: transform 0.2s, top 0.2s;
transition:
transform 0.2s,
top 0.2s;
}
.menu-icon::before {
@@ -322,4 +326,4 @@ body {
width: 280px;
}
}
</style>
</style>