149 lines
4.7 KiB
JavaScript
149 lines
4.7 KiB
JavaScript
import {createStore} from 'vuex'
|
||
|
||
export default createStore({
|
||
state() {
|
||
return {
|
||
// 文档改变事件,供其他页面watch
|
||
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: {},
|
||
// 方法统计{post: 10, total: 20}
|
||
swaggerMethodStatistic: {},
|
||
|
||
// openApi原始文档
|
||
openApiDoc: {},
|
||
// openApi原始definitions
|
||
openApiComponents: {},
|
||
// url对应的map信息 {'url + "." + method': {swagger.paths.url.method对象信息}}
|
||
openApiUrlMethodMap: {},
|
||
// 方法统计{post: 10, total: 20}
|
||
openApiMethodStatistic: {},
|
||
|
||
// 自建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;
|
||
},
|
||
addDocChangedNum(state) {
|
||
state.docChangedNum++;
|
||
},
|
||
setLeftAsideWidth(state, leftAsideWidth) {
|
||
state.leftAsideWidth = leftAsideWidth;
|
||
},
|
||
// swagger
|
||
setSwaggerDoc(state, swaggerDoc) {
|
||
state.swaggerDoc = swaggerDoc;
|
||
state.swaggerDefinitions = swaggerDoc.definitions || {};
|
||
},
|
||
setSwaggerUrlMethodMap(state, swaggerUrlMethodMap) {
|
||
state.swaggerUrlMethodMap = swaggerUrlMethodMap;
|
||
},
|
||
setSwaggerMethodStatistic(state, swaggerMethodStatistic) {
|
||
state.swaggerMethodStatistic = swaggerMethodStatistic;
|
||
},
|
||
// openApi
|
||
setOpenApiDoc(state, openApiDoc) {
|
||
state.openApiDoc = openApiDoc;
|
||
state.openApiComponents = openApiDoc.components || {};
|
||
},
|
||
setOpenApiUrlMethodMap(state, openApiUrlMethodMap) {
|
||
state.openApiUrlMethodMap = openApiUrlMethodMap;
|
||
},
|
||
setOpenApiMethodStatistic(state, openApiMethodStatistic) {
|
||
state.openApiMethodStatistic = openApiMethodStatistic;
|
||
},
|
||
// 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);
|
||
|
||
|