1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { LookDomType } from "@/types";
- import { MessageType } from "@/utils/message";
- // 初始化状态
- const initState = {
- // 所有图片点击预览查看大图
- lookBigImg: {
- url: "",
- show: false,
- },
- // 查看视频、音频、模型
- lookDom: {
- src: "",
- type: "",
- } as LookDomType,
- // antd轻提示(兼容360浏览器)
- message: {
- txt: "",
- type: "info",
- duration: 3,
- } as MessageType,
- // 上传文件点击取消
- closeUpFile: {
- fu: () => {},
- state: false,
- },
- };
- // 定义 action 类型
- type LayoutActionType =
- | { type: "layout/lookBigImg"; payload: { url: string; show: boolean } }
- | { type: "layout/lookDom"; payload: LookDomType }
- | { type: "layout/message"; payload: MessageType }
- | {
- type: "layout/closeUpFile";
- payload: {
- fu: () => void;
- state: boolean;
- };
- };
- // 频道 reducer
- export default function layoutReducer(
- state = initState,
- action: LayoutActionType
- ) {
- switch (action.type) {
- // 所有图片点击预览查看大图
- case "layout/lookBigImg":
- return { ...state, lookBigImg: action.payload };
- // 查看视频
- case "layout/lookDom":
- return { ...state, lookDom: action.payload };
- // antd轻提示(兼容360浏览器)
- case "layout/message":
- return { ...state, message: action.payload };
- // 上传文件点击取消
- case "layout/closeUpFile":
- return { ...state, closeUpFile: action.payload };
- default:
- return state;
- }
- }
|