fork from bc4552c5a8
This commit is contained in:
161
client/reducer/modules/interface.js
Normal file
161
client/reducer/modules/interface.js
Normal file
@@ -0,0 +1,161 @@
|
||||
import axios from 'axios';
|
||||
import qs from 'qs';
|
||||
// Actions
|
||||
const INIT_INTERFACE_DATA = 'yapi/interface/INIT_INTERFACE_DATA';
|
||||
const FETCH_INTERFACE_DATA = 'yapi/interface/FETCH_INTERFACE_DATA';
|
||||
const FETCH_INTERFACE_LIST_MENU = 'yapi/interface/FETCH_INTERFACE_LIST_MENU';
|
||||
const DELETE_INTERFACE_DATA = 'yapi/interface/DELETE_INTERFACE_DATA';
|
||||
const DELETE_INTERFACE_CAT_DATA = 'yapi/interface/DELETE_INTERFACE_CAT_DATA';
|
||||
const UPDATE_INTERFACE_DATA = 'yapi/interface/UPDATE_INTERFACE_DATA';
|
||||
const CHANGE_EDIT_STATUS = 'yapi/interface/CHANGE_EDIT_STATUS';
|
||||
const FETCH_INTERFACE_LIST = 'yapi/interface/FETCH_INTERFACE_LIST';
|
||||
const SAVE_IMPORT_DATA = 'yapi/interface/SAVE_IMPORT_DATA';
|
||||
const FETCH_INTERFACE_CAT_LIST = 'yapi/interface/FETCH_INTERFACE_CAT_LIST';
|
||||
// const SAVE_INTERFACE_PROJECT_ID = 'yapi/interface/SAVE_INTERFACE_PROJECT_ID';
|
||||
// const GET_INTERFACE_GROUP_LIST = 'yapi/interface/GET_INTERFACE_GROUP_LIST';
|
||||
|
||||
// Reducer
|
||||
const initialState = {
|
||||
curdata: {},
|
||||
list: [],
|
||||
editStatus: false, // 记录编辑页面是否有编辑,
|
||||
totalTableList: [],
|
||||
catTableList: [],
|
||||
count: 0,
|
||||
totalCount: 0
|
||||
};
|
||||
|
||||
export default (state = initialState, action) => {
|
||||
switch (action.type) {
|
||||
case INIT_INTERFACE_DATA:
|
||||
return initialState;
|
||||
case UPDATE_INTERFACE_DATA:
|
||||
return {
|
||||
...state,
|
||||
curdata: Object.assign({}, state.curdata, action.updata)
|
||||
};
|
||||
case FETCH_INTERFACE_DATA:
|
||||
return {
|
||||
...state,
|
||||
curdata: action.payload.data.data
|
||||
};
|
||||
case FETCH_INTERFACE_LIST_MENU:
|
||||
return {
|
||||
...state,
|
||||
list: action.payload.data.data
|
||||
};
|
||||
case CHANGE_EDIT_STATUS: {
|
||||
return {
|
||||
...state,
|
||||
editStatus: action.status
|
||||
};
|
||||
}
|
||||
|
||||
case FETCH_INTERFACE_LIST: {
|
||||
return {
|
||||
...state,
|
||||
totalTableList: action.payload.data.data.list,
|
||||
totalCount: action.payload.data.data.count
|
||||
};
|
||||
}
|
||||
|
||||
case FETCH_INTERFACE_CAT_LIST: {
|
||||
return {
|
||||
...state,
|
||||
catTableList: action.payload.data.data.list,
|
||||
count: action.payload.data.data.count
|
||||
};
|
||||
}
|
||||
default:
|
||||
return state;
|
||||
}
|
||||
};
|
||||
|
||||
// 记录编辑页面是否有编辑
|
||||
export function changeEditStatus(status) {
|
||||
return {
|
||||
type: CHANGE_EDIT_STATUS,
|
||||
status
|
||||
};
|
||||
}
|
||||
|
||||
export function initInterface() {
|
||||
return {
|
||||
type: INIT_INTERFACE_DATA
|
||||
};
|
||||
}
|
||||
|
||||
export function updateInterfaceData(updata) {
|
||||
return {
|
||||
type: UPDATE_INTERFACE_DATA,
|
||||
updata: updata,
|
||||
payload: true
|
||||
};
|
||||
}
|
||||
|
||||
export async function deleteInterfaceData(id) {
|
||||
let result = await axios.post('/api/interface/del', {id: id});
|
||||
return {
|
||||
type: DELETE_INTERFACE_DATA,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
export async function saveImportData(data) {
|
||||
let result = await axios.post('/api/interface/save', data);
|
||||
return {
|
||||
type: SAVE_IMPORT_DATA,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
export async function deleteInterfaceCatData(id) {
|
||||
let result = await axios.post('/api/interface/del_cat', {catid: id});
|
||||
return {
|
||||
type: DELETE_INTERFACE_CAT_DATA,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
// Action Creators
|
||||
export async function fetchInterfaceData(interfaceId) {
|
||||
let result = await axios.get('/api/interface/get?id=' + interfaceId);
|
||||
return {
|
||||
type: FETCH_INTERFACE_DATA,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
export async function fetchInterfaceListMenu(projectId) {
|
||||
let result = await axios.get('/api/interface/list_menu?project_id=' + projectId);
|
||||
return {
|
||||
type: FETCH_INTERFACE_LIST_MENU,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
export async function fetchInterfaceList(params) {
|
||||
let result = await axios.get('/api/interface/list', {
|
||||
params,
|
||||
paramsSerializer: params => {
|
||||
return qs.stringify(params, {indices: false})
|
||||
}
|
||||
})
|
||||
return {
|
||||
type: FETCH_INTERFACE_LIST,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
|
||||
export async function fetchInterfaceCatList(params) {
|
||||
let result = axios.get('/api/interface/list_cat', {
|
||||
params,
|
||||
paramsSerializer: params => {
|
||||
return qs.stringify(params, {indices: false})
|
||||
}
|
||||
})
|
||||
return {
|
||||
type: FETCH_INTERFACE_CAT_LIST,
|
||||
payload: result
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user