Files
zyplayer-doc/zyplayer-doc-ui/api-ui/src/store/index.js

149 lines
4.7 KiB
JavaScript
Raw Normal View History

import {createStore} from 'vuex'
export default createStore({
state() {
return {
// 文档改变事件供其他页面watch
2021-10-26 23:49:47 +08:00
docChangedNum: 1,
customRequestChange: {},
// 用户信息
userInfo: {},
// tab多标签的标签名map{xxx: 'val'}
pageTabNameMap: {},
// 数据库存储的文档信息
apiDoc: {},
// 全局参数
globalParam: [],
// 当前文档全局参数
docGlobalParam: [],
// 左侧菜单栏宽度
leftAsideWidth: 0,
// swagger原始文档
swaggerDoc: {},
// swagger原始definitions
swaggerDefinitions: {},
// url对应的map信息 {'url + "." + method': {swagger.paths.url.method对象信息}}
swaggerUrlMethodMap: {},
2021-11-29 23:16:55 +08:00
// 方法统计{post: 10, total: 20}
swaggerMethodStatistic: {},
// openApi原始文档
openApiDoc: {},
// openApi原始definitions
2021-12-28 23:58:43 +08:00
openApiComponents: {},
2021-11-29 23:16:55 +08:00
// url对应的map信息 {'url + "." + method': {swagger.paths.url.method对象信息}}
openApiUrlMethodMap: {},
// 方法统计{post: 10, total: 20}
openApiMethodStatistic: {},
2021-12-25 20:46:19 +08:00
// 自建API原始文档
customRequestDoc: {},
// 当前选中的Tab页面
activePage: {},
}
},
getters: {
getCustomRequestChange: (state) => () => {
return state.customRequestChange;
},
getDocChangedNum: (state) => () => {
return state.docChangedNum;
},
getLeftAsideWidth: (state) => () => {
return state.leftAsideWidth;
},
getApiDoc: (state) => () => {
return state.apiDoc;
},
getActivePage: (state) => () => {
return state.activePage;
},
},
mutations: {
setUserInfo(state, userInfo) {
state.userInfo = userInfo;
},
setGlobalParam(state, globalParam) {
state.globalParam = globalParam;
},
setDocGlobalParam(state, globalParam) {
state.docGlobalParam = globalParam;
},
setGlobalParamOnChange(state, globalParam, docId) {
if (docId && docId > 0) {
// 当前选中的文档是修改的文档才更新
if (state.apiDoc.id === docId) {
state.docGlobalParam = globalParam;
}
} else {
state.globalParam = globalParam;
}
},
setApiDoc(state, apiDoc) {
state.apiDoc = apiDoc;
},
2021-10-26 23:49:47 +08:00
addDocChangedNum(state) {
state.docChangedNum++;
},
setLeftAsideWidth(state, leftAsideWidth) {
state.leftAsideWidth = leftAsideWidth;
},
2021-11-29 23:16:55 +08:00
// swagger
2021-10-26 22:32:42 +08:00
setSwaggerDoc(state, swaggerDoc) {
state.swaggerDoc = swaggerDoc;
state.swaggerDefinitions = swaggerDoc.definitions || {};
2021-10-26 22:32:42 +08:00
},
setSwaggerUrlMethodMap(state, swaggerUrlMethodMap) {
state.swaggerUrlMethodMap = swaggerUrlMethodMap;
2021-10-26 22:32:42 +08:00
},
2021-11-29 23:16:55 +08:00
setSwaggerMethodStatistic(state, swaggerMethodStatistic) {
state.swaggerMethodStatistic = swaggerMethodStatistic;
},
// openApi
setOpenApiDoc(state, openApiDoc) {
state.openApiDoc = openApiDoc;
2021-12-28 23:58:43 +08:00
state.openApiComponents = openApiDoc.components || {};
2021-11-29 23:16:55 +08:00
},
setOpenApiUrlMethodMap(state, openApiUrlMethodMap) {
state.openApiUrlMethodMap = openApiUrlMethodMap;
},
setOpenApiMethodStatistic(state, openApiMethodStatistic) {
state.openApiMethodStatistic = openApiMethodStatistic;
},
2021-12-25 20:46:19 +08:00
// openApi
setCustomRequestDoc(state, customRequestDoc) {
state.customRequestDoc = customRequestDoc;
},
addTableName(state, item) {
let sameObj = Object.assign({}, state.pageTabNameMap);
sameObj[item.key] = item.val;
state.pageTabNameMap = sameObj;
},
setCustomRequestChange(state, customRequestChange) {
state.customRequestChange = customRequestChange;
},
setActivePage(state, activePage) {
state.activePage = activePage;
},
}
});
// 使用方法
// return this.$store.state.userInfo
// this.$store.commit('setUserInfo', 111);
// 动态计算值
// computed: {
// initialEnv () {
// return this.$store.state.initialEnv;
// }
// },
// js文件中使用
// import store from '../../store/index'
// store.commit('setInitialEnv', this.initialEnv);