refactor(canvas): 替换自定义ID生成函数为nanoid并优化配置逻辑

- 移除自定义createId函数,统一使用nanoid库生成唯一标识符
- 将useEffectiveAiConfig Hook替换为resolveEffectiveConfig工具函数
- 直接从config store获取publicSettings避免额外的Hook依赖
- 更新所有组件中的ID生成调用以使用nanoid
- 简化buildApiUrl函数中的基础URL规范化逻辑
This commit is contained in:
HouYunFei
2026-05-21 13:50:32 +08:00
parent 6f1e0d347b
commit 22d34a0c99
9 changed files with 53 additions and 67 deletions
@@ -1,7 +1,7 @@
import { create } from "zustand";
import { persist, type PersistStorage, type StorageValue } from "zustand/middleware";
import { createId } from "@/lib/id";
import { nanoid } from "nanoid";
import { localForageStorage } from "@/lib/localforage-storage";
import type { CanvasBackgroundMode } from "@/lib/canvas-theme";
import type { CanvasAssistantSession, CanvasConnection, CanvasNodeData, ViewportTransform } from "../types";
@@ -64,7 +64,7 @@ export const useCanvasStore = create<CanvasStore>()(
projects: [],
createProject: (title = "未命名画布") => {
const now = new Date().toISOString();
const id = createId();
const id = nanoid();
const project: CanvasProject = {
id,
title,
@@ -83,7 +83,7 @@ export const useCanvasStore = create<CanvasStore>()(
importProject: (source) => {
const now = new Date().toISOString();
const project: CanvasProject = {
id: createId(),
id: nanoid(),
title: source.title || "导入画布",
createdAt: source.createdAt || now,
updatedAt: now,