Files
mini-programs/src/store/publishBallStore.ts
2025-09-27 21:23:45 +08:00

42 lines
1.0 KiB
TypeScript

import { create } from "zustand";
type PublishData = {
game_type: string;
[key: string]: any;
}
interface PublishBallState {
// 待注入到发布页面的表单数据(支持单场或多场)
publishData: PublishData[] | null;
// 赋值/覆盖整份数据
setPublishData: (
data: PublishData[] | null
) => void;
// 读取当前数据
getPublishData: () => PublishData[] | null;
// 清空
clearPublishData: () => void;
}
export const usePublishBallStore = create<PublishBallState>()((set, get) => ({
publishData: null,
setPublishData: (data) => set({ publishData: data }),
getPublishData: () => get().publishData,
clearPublishData: () => set({ publishData: null }),
}));
// 便捷 hooks
export const usePublishBallData = () =>
usePublishBallStore((state) => state.publishData);
export const usePublishBallActions = () =>
usePublishBallStore((state) => ({
setPublishData: state.setPublishData,
clearPublishData: state.clearPublishData,
}));