yapi/client/reducer/modules/interfaceCol.js

89 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-08-14 17:32:17 +08:00
import axios from 'axios'
// Actions
const FETCH_INTERFACE_COL_LIST = 'yapi/interfaceCol/FETCH_INTERFACE_COL_LIST';
2017-08-18 17:31:48 +08:00
const FETCH_CASE_DATA = 'yapi/interfaceCol/FETCH_CASE_DATA';
const FETCH_CASE_LIST = 'yapi/interfaceCol/FETCH_CASE_LIST';
2017-08-17 20:24:07 +08:00
const SET_COL_DATA = 'yapi/interfaceCol/SET_COL_DATA';
2017-08-14 17:32:17 +08:00
// Reducer
const initialState = {
interfaceColList: [{
_id: 0,
name: '',
uid: 0,
project_id: 0,
desc: '',
add_time: 0,
up_time: 0,
2017-08-17 20:24:07 +08:00
caseList: [
2017-08-14 17:32:17 +08:00
{}
]
}],
isShowCol: true,
2017-08-17 20:24:07 +08:00
currColId: 0,
2017-08-18 17:31:48 +08:00
currCaseId: 0,
currCase: {},
currCaseList: []
2017-08-14 17:32:17 +08:00
}
export default (state = initialState, action) => {
switch (action.type) {
2017-08-18 17:31:48 +08:00
case FETCH_INTERFACE_COL_LIST:{
2017-08-14 17:32:17 +08:00
return {
...state,
interfaceColList: action.payload.data.data
}
2017-08-18 17:31:48 +08:00
}
case FETCH_CASE_DATA: {
return {
...state,
currCase: action.payload.data.data
}
}
case FETCH_CASE_LIST: {
2017-08-14 17:32:17 +08:00
return {
...state,
2017-08-18 17:31:48 +08:00
currCaseList: action.payload.data.data
2017-08-17 20:24:07 +08:00
}
}
case SET_COL_DATA: {
return {
...state,
2017-08-18 11:33:37 +08:00
...action.payload
2017-08-14 17:32:17 +08:00
}
}
default:
return state
}
}
// Action Creators
export function fetchInterfaceColList (projectId) {
return {
type: FETCH_INTERFACE_COL_LIST,
payload: axios.get('/api/col/list?project_id=' + projectId)
}
}
2017-08-18 17:31:48 +08:00
export function fetchCaseData(caseId){
return {
type: FETCH_CASE_DATA,
payload: axios.get('/api/col/case?caseid=' + caseId)
}
}
export function fetchCaseList(colId) {
2017-08-14 17:32:17 +08:00
return {
2017-08-18 17:31:48 +08:00
type: FETCH_CASE_LIST,
2017-08-18 17:56:26 +08:00
payload: axios.get('/api/col/case_list/?col_id=' + colId)
2017-08-14 17:32:17 +08:00
}
}
2017-08-17 20:24:07 +08:00
export function setColData(data){
return {
type: SET_COL_DATA,
payload: data
}
}