6f14370751
- 将 VimpStation 重命名为 VimpSite,统一"站点"语义贯穿全模块 - 新增 VimpRawSite 表示 /catalog/allDevice 接口原样数据,online 字段可选 - 抽离 normalizeVimpSite 纯函数,集中处理 online 字段缺失时的默认值 - catalogAllDeviceApi 入参改为 VimpRawSite[],出参统一归一化为 VimpSite[] | null - 下游 store、composable、树节点类型同步从 VimpStation 切换到 VimpSite - 内部业务模型保持 online: boolean 必填,避免缺失字段沿调用链向下传播
12 lines
480 B
TypeScript
12 lines
480 B
TypeScript
import { unwrapVimpResponse, vimpClient } from '../client';
|
|
import { normalizeVimpSite, type VimpRawSite } from '../model';
|
|
|
|
export const catalogAllDeviceApi = async (options?: { signal?: AbortSignal }) => {
|
|
const { signal } = options ?? {};
|
|
const client = vimpClient;
|
|
const endpoint = `/catalog/allDevice`;
|
|
const resp = await client.post<VimpRawSite[]>(endpoint, {}, { signal });
|
|
const data = unwrapVimpResponse(resp);
|
|
return data?.map(normalizeVimpSite) ?? null;
|
|
};
|