import Vue from "vue"; import Vuex from "vuex"; Vue.use(Vuex); const store = new Vuex.Store({ state: { logoText: "EasyDarwin", logoMiniText: "ED", serverInfo: {}, userInfo: null, menus: [ { path: '/', title: "首页", icon: 'dashboard' }, { path: '/pushers/1', title: "推流列表", icon: "video-camera" }, { path: '/players/1', title: "拉流列表", icon: "play" }, { path: "/about", icon: "support", title: "版本信息" }, { path: "/apidoc", target: "blank", icon: "book", title: "接口文档" } ] }, mutations: { updateServerInfo(state, serverInfo) { state.serverInfo = serverInfo; }, updateUserInfo(state, userInfo) { state.userInfo = userInfo; } }, actions : { getServerInfo({commit}){ return new Promise((resolve, reject) => { $.get('/api/v1/serverinfo').then(serverInfo => { commit('updateServerInfo', serverInfo); resolve(serverInfo); }).fail(() => { resolve(null); }); }) }, getUserInfo({ commit, state }) { return new Promise((resolve, reject) => { $.get("/api/v1/userinfo").then(userInfo => { commit('updateUserInfo', userInfo); resolve(userInfo); }).fail(() => { resolve(null); }) }) }, logout({ commit, state }) { return new Promise((resolve, reject) => { $.get('/api/v1/logout').then(data => { commit('updateUserInfo', null); resolve(null); }).fail(() => { resolve(null); }) }) } } }) export default store;