mirror of https://github.com/EasyDarwin/EasyDarwin
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
79 lines
2.2 KiB
79 lines
2.2 KiB
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; |