feat(*): 功能开放与页面布局 - 新增运维开关并优化后台及创作界面空间利用
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { getSystemChannels, type AuthSessionPayload } from "@/services/api/auth";
|
||||
import { getFeatureAvailability, getSystemChannels, type AuthSessionPayload } from "@/services/api/auth";
|
||||
import { localForageStorage } from "@/lib/localforage-storage";
|
||||
import { appQueryClient } from "@/lib/query-client";
|
||||
import { scopedLocalStorage, setActiveUserScope } from "@/lib/user-scope";
|
||||
@@ -26,6 +26,7 @@ export async function applyUserSession(payload: AuthSessionPayload) {
|
||||
useUserStore.getState().setUser(payload.user);
|
||||
useUserStore.getState().setRuntimeLimits(payload.runtimeLimits);
|
||||
useUserStore.getState().setDrawingEngine(payload.drawingEngine);
|
||||
useUserStore.getState().setFeatures(payload.features);
|
||||
await Promise.all([useCanvasStore.persist.rehydrate(), useAssetStore.persist.rehydrate(), useConfigStore.persist.rehydrate()]);
|
||||
// Zustand 在目标 scope 没有快照时会保留旧内存,必须显式恢复该 scope 的空状态。
|
||||
if (!persistedCanvas) useCanvasStore.setState({ projects: [] });
|
||||
@@ -57,3 +58,9 @@ export async function refreshSystemChannels() {
|
||||
const payload = await getSystemChannels();
|
||||
useConfigStore.getState().mergeSystemChannels(payload.channels || []);
|
||||
}
|
||||
|
||||
export async function refreshFeatureAvailability() {
|
||||
const payload = await getFeatureAvailability();
|
||||
useUserStore.getState().setFeatures(payload.features);
|
||||
return payload.features;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user