Add product source job resolver
This commit is contained in:
@@ -36,7 +36,7 @@ npm run lint
|
||||
- `src/components/`:词云、搜索 dock、QR panel、状态组件。
|
||||
- `src/data/clouds/`:离线 `demo` 词云数据。
|
||||
- `src/lib/wordcloudApi.ts`:WordCloud API 适配器;运行时读取位置数据与 SVG。
|
||||
- `src/hooks/useCloud.ts`:为三个页面统一加载本地 demo 或远程任务词云。
|
||||
- `src/hooks/useCloud.ts`:为三个页面统一加载本地 demo 或远程产品词云。
|
||||
- `src/hooks/`:focus lifecycle、queue 和 realtime integration。
|
||||
- `src/realtime/`:BroadcastChannel adapter;后续 WebSocket/Supabase 等实现替换这一层。
|
||||
- `src/styles/global.css`:从既有设计提取的全局 tokens。
|
||||
@@ -63,14 +63,14 @@ http://<server-host>:47880/control/demo
|
||||
|
||||
如果 A 和 B 是不同域名并都指向同一台服务器,可以在外层网关或 DNS 上都转发到 Compose 暴露的端口;前端与二维码会保留访问者实际使用的域名。
|
||||
|
||||
除 `demo` 外,路由参数即 WordCloud `jobId`。例如:
|
||||
除 `demo` 外,路由参数即 WordCloud `productId`。例如:
|
||||
|
||||
```text
|
||||
/cloud/bd1f240adcb4458f857c40ac427122c6
|
||||
/screen/bd1f240adcb4458f857c40ac427122c6
|
||||
/control/bd1f240adcb4458f857c40ac427122c6
|
||||
/cloud/prod_362d8ecaced241e5ab81dddfc880d6b0
|
||||
/screen/prod_362d8ecaced241e5ab81dddfc880d6b0
|
||||
/control/prod_362d8ecaced241e5ab81dddfc880d6b0
|
||||
```
|
||||
|
||||
`/cloud/imported`、`/screen/imported` 与 `/control/imported` 是由 `VITE_WORDCLOUD_DEFAULT_JOB_ID` 配置的默认任务别名。应用默认从同源 `/wordcloud-api` 读取位置与 SVG,Nginx 再将其转发到 `WORDCLOUD_API_UPSTREAM`,默认值为 `http://192.168.31.213:8000`。这样浏览器不需要跨域读取 SVG,且多域名部署时仍保留访问者实际使用的域名。
|
||||
`/cloud/imported`、`/screen/imported` 与 `/control/imported` 是由 `VITE_WORDCLOUD_DEFAULT_PRODUCT_ID` 配置的默认产品别名。应用先从同源 `/wordcloud-product-api` 解析 Product ID 对应的最新词云归档,再从 `/wordcloud-api` 读取位置数据与 SVG。这样浏览器不需要读取产品管理鉴权信息,多域名部署时仍保留访问者实际使用的域名。一个 Product 下存在多个词云时,当前版本先取最新归档中的第一个词云。
|
||||
|
||||
本地 `npm run dev` 也会将 `/wordcloud-api` 转发到同一个后端。只有在已具备可靠 CORS 的场景,才需要把 `VITE_WORDCLOUD_API_BASE_URL` 改为完整的远端 URL。
|
||||
|
||||
Reference in New Issue
Block a user