// Actions const FETCH_ADD_INTERFACE_INPUT = 'yapi/addInterface/FETCH_ADD_INTERFACE_INPUT'; const FETCH_ADD_INTERFACE_TAG_VALUE = 'yapi/addInterface/FETCH_ADD_INTERFACE_TAG_VALUE'; const FETCH_ADD_INTERFACE_HEADER_VALUE = 'yapi/addInterface/FETCH_ADD_INTERFACE_HEADER_VALUE'; const ADD_INTERFACE_SEQ_HEADER = 'yapi/addInterface/ADD_INTERFACE_SEQ_HEADER'; const DELETE_INTERFACE_SEQ_HEADER = 'yapi/addInterface/DELETE_INTERFACE_SEQ_HEADER'; const GET_INTERFACE_REQ_PARAMS = 'yapi/addInterface/GET_INTERFACE_REQ_PARAMS'; const GET_INTERFACE_RES_PARAMS = 'yapi/addInterface/GET_INTERFACE_RES_PARAMS'; const PUSH_INTERFACE_NAME = 'yapi/addInterface/PUSH_INTERFACE_NAME'; const PUSH_INTERFACE_METHOD = 'yapi/addInterface/PUSH_INTERFACE_METHOD'; const FETCH_INTERFACE_PROJECT = 'yapi/addInterface/FETCH_INTERFACE_PROJECT'; const ADD_INTERFACE_CLIPBOARD = 'yapi/addInterface/ADD_INTERFACE_CLIPBOARD'; // Reducer const initialState = { interfaceName: '', url: '', method: 'GET', // 默认请求头部有一条数据 seqGroup: [ { id: 0, name: '', value: '' } ], reqParams: '', resParams: '', project: {}, clipboard: () => {} }; export default (state = initialState, action) => { switch (action.type) { case FETCH_ADD_INTERFACE_INPUT: return { ...state, url: action.payload }; case FETCH_ADD_INTERFACE_TAG_VALUE: return { ...state, tagValue: action.payload }; case FETCH_ADD_INTERFACE_HEADER_VALUE: return { ...state, headerValue: action.payload }; case ADD_INTERFACE_SEQ_HEADER: return { ...state, seqGroup: action.payload }; case DELETE_INTERFACE_SEQ_HEADER: return { ...state, seqGroup: action.payload }; case GET_INTERFACE_REQ_PARAMS: return { ...state, reqParams: action.payload }; case GET_INTERFACE_RES_PARAMS: return { ...state, resParams: action.payload }; case PUSH_INTERFACE_NAME: return { ...state, interfaceName: action.payload }; case PUSH_INTERFACE_METHOD: return { ...state, method: action.payload }; case FETCH_INTERFACE_PROJECT: return { ...state, project: action.payload.data.data }; case ADD_INTERFACE_CLIPBOARD: return { ...state, clipboard: action.payload }; default: return state; } }; // Action Creators import axios from 'axios'; export function pushInputValue(value) { return { type: FETCH_ADD_INTERFACE_INPUT, payload: value }; } export function reqTagValue(value) { return { type: FETCH_ADD_INTERFACE_TAG_VALUE, payload: value }; } export function reqHeaderValue(value) { return { type: FETCH_ADD_INTERFACE_HEADER_VALUE, payload: value }; } export function addReqHeader(value) { return { type: ADD_INTERFACE_SEQ_HEADER, payload: value }; } export function deleteReqHeader(value) { return { type: DELETE_INTERFACE_SEQ_HEADER, payload: value }; } export function getReqParams(value) { return { type: GET_INTERFACE_REQ_PARAMS, payload: value }; } export function getResParams(value) { return { type: GET_INTERFACE_RES_PARAMS, payload: value }; } export function pushInterfaceName(value) { return { type: PUSH_INTERFACE_NAME, payload: value }; } export function pushInterfaceMethod(value) { return { type: PUSH_INTERFACE_METHOD, payload: value }; } export function fetchInterfaceProject(id) { return { type: FETCH_INTERFACE_PROJECT, payload: axios.get('/api/project/get', { params: { id } }) }; } export function addInterfaceClipboard(func) { return { type: ADD_INTERFACE_CLIPBOARD, payload: func }; }