| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- 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
- };
- }
|