import { createStore, Store, useStore } from "vuex"; import { login } from "@/api/login/login"; import { initLedger, queryConfig } from "@/api/statistics/index"; // const store = useStore(); // 定义状态接口 interface State { count: number; token: string; deptId: string; timeType: number; timeValue: string[]; seriousNotice: number; normalNotic: number; voiceType: number; screenNotic: number; eventTypeList: string[]; eventValue: number; eventDuration: number; realData: []; //实时数据 } // 初始状态 const state: State = { count: 0, token: "", deptId: "10001", timeType: 3, //类型(1年 2季度 3月份 4周 5日)") timeValue: [], //类型(1年 2季度 3月份 4周 5日)") seriousNotice: 0, //严重通知(0关闭 1开启) normalNotic: 1, //普通通知(0关闭 1开启) voiceType: 1, //语音类型(1人声音 2音频) screenNotic: 1, //屏幕通知(0关闭 1开启) eventTypeList: [], //触发类型(1告警 2事件) eventValue: 0.7, eventDuration: 5, realData: [], //实时数据 }; // 定义Mutation类型 enum Mutations { INCREMENT = "INCREMENT", SET_TOKEN = "SET_TOKEN", SET_TIME = "SET-TIME", SET_CONFIG = "SET-CONFIG-TIME", } export default createStore({ state, mutations: { [Mutations.INCREMENT](state: State) { state.count++; }, [Mutations.SET_TOKEN](state: State, data: any) { window.sessionStorage.setItem("token", data.token); window.sessionStorage.setItem("deptId", data.deptId); state.token = data.token; state.deptId = data.deptId; }, [Mutations.SET_TIME](state: State, data: any) { state.timeType = data.type; state.timeValue = data.value; }, [Mutations.SET_CONFIG](state: State, data: any) { state.seriousNotice = data.seriousNotice; state.normalNotic = data.normalNotic; state.voiceType = data.voiceType; state.screenNotic = data.screenNotic; state.eventTypeList = data.eventTypeList; state.eventValue = data.eventValue; state.eventDuration = data.eventDuration; }, SET_REAL_DATA(state, data) { state.realData = data; }, }, actions: { async loginAction({ commit }, data: any) { try { // const response = await login({ // username: "screen", // password: "@#001njcnpqs", // }); const response = await login(data); commit(Mutations.SET_TOKEN, response.data); // await initLedger({ deptId: response.data.deptId, type: 0 }); return; return response.data; } catch (error) { console.error("登录失败:", error); throw error; } }, increment({ commit }) { commit(Mutations.INCREMENT); }, setTimeType({ commit }, data: any) { commit(Mutations.SET_TIME, data); }, setConfig({ commit }, data: any) { queryConfig().then((res) => { commit(Mutations.SET_CONFIG, res.data); }); }, updateRealData({ commit }, data) { commit("SET_REAL_DATA", data); }, }, getters: { double(state: State) { return 2 * state.count; }, isAuthenticated(state: State) { return !!state.token; }, }, });