1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import { DictListTypeObj, PermissionsAPIType } from "@/types";
- import { MessageType } from "@/utils/message";
- // 初始化状态
- const initState = {
- // 所有图片点击预览查看大图
- lookBigImg: {
- url: "",
- show: false,
- },
- // 加载请求的loding
- asyncLoding: false,
- // 视频的src
- videoSrc: "",
- // 所有的下拉框数据
- dictList: {
- age: [],
- texture: [],
- level: [],
- source: [],
- } as DictListTypeObj,
- // 有关权限的信息
- authPageArr: [] as PermissionsAPIType[],
- // antd轻提示(兼容360浏览器)
- message: {
- txt: "",
- type: "info",
- duration: 3,
- } as MessageType,
- };
- // 定义 action 类型
- type LoginActionType =
- | { type: "login/lookBigImg"; payload: { url: string; show: boolean } }
- | { type: "login/asyncLoding"; payload: boolean }
- | { type: "login/lookVideo"; payload: string }
- | { type: "login/getDictList"; payload: DictListTypeObj }
- | { type: "login/setAuthPageArr"; payload: PermissionsAPIType[] }
- | { type: "login/message"; payload: MessageType };
- // 频道 reducer
- export default function loginReducer(
- state = initState,
- action: LoginActionType
- ) {
- switch (action.type) {
- // 所有图片点击预览查看大图
- case "login/lookBigImg":
- return { ...state, lookBigImg: action.payload };
- // 加载请求的loding
- case "login/asyncLoding":
- return { ...state, asyncLoding: action.payload };
- // 查看视频
- case "login/lookVideo":
- return { ...state, videoSrc: action.payload };
- // 所有的下拉框数据
- case "login/getDictList":
- return { ...state, dictList: action.payload };
- // antd轻提示(兼容360浏览器)
- case "login/message":
- return { ...state, message: action.payload };
- // 有关权限的信息
- case "login/setAuthPageArr":
- return { ...state, authPageArr: action.payload };
- default:
- return state;
- }
- }
|