feat(app): 阶段2 接真实数据——REST + WS 直连本地 daemon
前端从 mock 切换到真实数据源(按 ⑧ 前端 API 契约,复用现有 :4517 daemon API): - src/api.js:REST 封装 + WS 单向订阅(断线指数退避重连) - src/adapt.js:纯映射层,把 API 的 camelCase 行映射成各 surface 期望形状 (扁平任务→children 树、priority 整数→P0/1/2、complexity→cplx、终态→归档卡) - src/app.jsx:改为 useEffect 拉取 + WS 增量刷新;decide/sync 走真实 POST; 审批闸收紧到 plan/spec/exec_review 三态(needs_attention 仍在任务树可见) - vite.config.js:加 /api + /ws 反代到 :4517;去掉 jsxInject(surface 走全局 React,避免生产构建 rollup 从 design/ 解析 react 失败) - main.jsx:移除 data.js mock 导入 验证:dev + 生产构建双通过;真实数据渲染(4 项目/审批闸带 diff/真实配额), WS 已连接,0 console 错误。token/成本类(agentSummary)属 ⑧ ★ 新 /api/usage (预算特性),暂留空待补。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+7
-1
@@ -10,14 +10,20 @@ export default defineConfig({
|
||||
resolve: {
|
||||
alias: { '@ds': path.resolve(__dirname, '../design') },
|
||||
},
|
||||
// surface/.jsx 与 app.jsx 统一走全局 React(globals.js 注入 window.React),
|
||||
// 不向各模块注入 import——否则生产构建时 rollup 会试图从 design/ 解析 react 而失败。
|
||||
esbuild: {
|
||||
jsx: 'transform',
|
||||
jsxFactory: 'React.createElement',
|
||||
jsxFragment: 'React.Fragment',
|
||||
jsxInject: `import React from 'react'`,
|
||||
},
|
||||
server: {
|
||||
port: 4519,
|
||||
fs: { allow: [path.resolve(__dirname, '..')] }, // 允许访问仓库内的 design/
|
||||
// 把 REST + WS 反代到本地 daemon(:4517),客户端用同源相对路径
|
||||
proxy: {
|
||||
'/api': { target: 'http://127.0.0.1:4517', changeOrigin: true },
|
||||
'/ws': { target: 'http://127.0.0.1:4517', ws: true, changeOrigin: true },
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user