顶栏、账户菜单、命令面板、画布余额和 /wallet 回跳都打开同一积分中心弹窗,支付结果不再跳进整页超市。 Co-authored-by: Cursor <cursoragent@cursor.com>
27 lines
1.2 KiB
TypeScript
27 lines
1.2 KiB
TypeScript
const workspaceRouteLoaders = {
|
|
assets: () => import("@/pages/assets"),
|
|
canvas: () => import("@/pages/canvas"),
|
|
create: () => import("@/pages/create"),
|
|
projects: () => import("@/pages/projects"),
|
|
projectDetail: () => import("@/pages/projects/detail"),
|
|
};
|
|
|
|
export const loadAssetsPage = workspaceRouteLoaders.assets;
|
|
export const loadCanvasPage = workspaceRouteLoaders.canvas;
|
|
export const loadCanvasProjectPage = () => import("@/pages/canvas/project");
|
|
export const loadCreatePage = workspaceRouteLoaders.create;
|
|
export const loadProjectDetailPage = workspaceRouteLoaders.projectDetail;
|
|
export const loadProjectsPage = workspaceRouteLoaders.projects;
|
|
|
|
export function preloadWorkspaceRoute(pathnameOrSlug: string) {
|
|
// 根路径就是创作页,预加载时仍映射到其内部模块名。
|
|
const segments = pathnameOrSlug.replace(/^\//, "").split("/").filter(Boolean);
|
|
const slug = segments[0] || "create";
|
|
if (slug === "projects" && segments.length > 1) {
|
|
void workspaceRouteLoaders.projectDetail();
|
|
return;
|
|
}
|
|
const load = workspaceRouteLoaders[slug as keyof typeof workspaceRouteLoaders];
|
|
if (load) void load();
|
|
}
|