chore: 本轮改造的共享契约与占位——ToolId/ShapeKind/LayerKind 扩充、Dropdown 壳、形状表、三个菜单与两个 composable 的桩

This commit is contained in:
2026-09-05 17:56:10 +08:00
parent 3a3798e37b
commit 19c8c604cb
17 changed files with 512 additions and 28 deletions
+21
View File
@@ -0,0 +1,21 @@
import type { PhotoProvider, PhotoProviderId } from "@/types";
/** 图库调用失败(没配 key、网络错误、被限流)。界面据此显示一句话,不让路径崩掉。 */
export class PhotoProviderError extends Error {
constructor(message: string) {
super(message);
this.name = "PhotoProviderError";
}
}
/**
* 【T14 待实现】图库注册表。
*
* 顺序即界面上标签页的顺序。**Pexels 在前**:Unsplash demo key 每小时只有 50 次
* 请求,开发期点几下就没了;Pexels 是每小时 200 次、每月 2 万次。
*/
export const PHOTO_PROVIDERS: PhotoProvider[] = [];
export function providerById(id: PhotoProviderId): PhotoProvider | undefined {
return PHOTO_PROVIDERS.find((p) => p.id === id);
}