mock平台

addInterface.js 3.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. // Actions
  2. const FETCH_ADD_INTERFACE_INPUT = 'yapi/addInterface/FETCH_ADD_INTERFACE_INPUT';
  3. const FETCH_ADD_INTERFACE_TAG_VALUE = 'yapi/addInterface/FETCH_ADD_INTERFACE_TAG_VALUE';
  4. const FETCH_ADD_INTERFACE_HEADER_VALUE = 'yapi/addInterface/FETCH_ADD_INTERFACE_HEADER_VALUE';
  5. const ADD_INTERFACE_SEQ_HEADER = 'yapi/addInterface/ADD_INTERFACE_SEQ_HEADER';
  6. const DELETE_INTERFACE_SEQ_HEADER = 'yapi/addInterface/DELETE_INTERFACE_SEQ_HEADER';
  7. const GET_INTERFACE_REQ_PARAMS = 'yapi/addInterface/GET_INTERFACE_REQ_PARAMS';
  8. const GET_INTERFACE_RES_PARAMS = 'yapi/addInterface/GET_INTERFACE_RES_PARAMS';
  9. const PUSH_INTERFACE_NAME = 'yapi/addInterface/PUSH_INTERFACE_NAME';
  10. const PUSH_INTERFACE_METHOD = 'yapi/addInterface/PUSH_INTERFACE_METHOD';
  11. const FETCH_INTERFACE_PROJECT = 'yapi/addInterface/FETCH_INTERFACE_PROJECT';
  12. const ADD_INTERFACE_CLIPBOARD = 'yapi/addInterface/ADD_INTERFACE_CLIPBOARD';
  13. // Reducer
  14. const initialState = {
  15. interfaceName: '',
  16. url: '',
  17. method: 'GET',
  18. // 默认请求头部有一条数据
  19. seqGroup: [
  20. {
  21. id: 0,
  22. name: '',
  23. value: ''
  24. }
  25. ],
  26. reqParams: '',
  27. resParams: '',
  28. project: {},
  29. clipboard: () => {}
  30. };
  31. export default (state = initialState, action) => {
  32. switch (action.type) {
  33. case FETCH_ADD_INTERFACE_INPUT:
  34. return {
  35. ...state,
  36. url: action.payload
  37. };
  38. case FETCH_ADD_INTERFACE_TAG_VALUE:
  39. return {
  40. ...state,
  41. tagValue: action.payload
  42. };
  43. case FETCH_ADD_INTERFACE_HEADER_VALUE:
  44. return {
  45. ...state,
  46. headerValue: action.payload
  47. };
  48. case ADD_INTERFACE_SEQ_HEADER:
  49. return {
  50. ...state,
  51. seqGroup: action.payload
  52. };
  53. case DELETE_INTERFACE_SEQ_HEADER:
  54. return {
  55. ...state,
  56. seqGroup: action.payload
  57. };
  58. case GET_INTERFACE_REQ_PARAMS:
  59. return {
  60. ...state,
  61. reqParams: action.payload
  62. };
  63. case GET_INTERFACE_RES_PARAMS:
  64. return {
  65. ...state,
  66. resParams: action.payload
  67. };
  68. case PUSH_INTERFACE_NAME:
  69. return {
  70. ...state,
  71. interfaceName: action.payload
  72. };
  73. case PUSH_INTERFACE_METHOD:
  74. return {
  75. ...state,
  76. method: action.payload
  77. };
  78. case FETCH_INTERFACE_PROJECT:
  79. return {
  80. ...state,
  81. project: action.payload.data.data
  82. };
  83. case ADD_INTERFACE_CLIPBOARD:
  84. return {
  85. ...state,
  86. clipboard: action.payload
  87. };
  88. default:
  89. return state;
  90. }
  91. };
  92. // Action Creators
  93. import axios from 'axios';
  94. export function pushInputValue(value) {
  95. return {
  96. type: FETCH_ADD_INTERFACE_INPUT,
  97. payload: value
  98. };
  99. }
  100. export function reqTagValue(value) {
  101. return {
  102. type: FETCH_ADD_INTERFACE_TAG_VALUE,
  103. payload: value
  104. };
  105. }
  106. export function reqHeaderValue(value) {
  107. return {
  108. type: FETCH_ADD_INTERFACE_HEADER_VALUE,
  109. payload: value
  110. };
  111. }
  112. export function addReqHeader(value) {
  113. return {
  114. type: ADD_INTERFACE_SEQ_HEADER,
  115. payload: value
  116. };
  117. }
  118. export function deleteReqHeader(value) {
  119. return {
  120. type: DELETE_INTERFACE_SEQ_HEADER,
  121. payload: value
  122. };
  123. }
  124. export function getReqParams(value) {
  125. return {
  126. type: GET_INTERFACE_REQ_PARAMS,
  127. payload: value
  128. };
  129. }
  130. export function getResParams(value) {
  131. return {
  132. type: GET_INTERFACE_RES_PARAMS,
  133. payload: value
  134. };
  135. }
  136. export function pushInterfaceName(value) {
  137. return {
  138. type: PUSH_INTERFACE_NAME,
  139. payload: value
  140. };
  141. }
  142. export function pushInterfaceMethod(value) {
  143. return {
  144. type: PUSH_INTERFACE_METHOD,
  145. payload: value
  146. };
  147. }
  148. export function fetchInterfaceProject(id) {
  149. return {
  150. type: FETCH_INTERFACE_PROJECT,
  151. payload: axios.get('/api/project/get', { params: { id } })
  152. };
  153. }
  154. export function addInterfaceClipboard(func) {
  155. return {
  156. type: ADD_INTERFACE_CLIPBOARD,
  157. payload: func
  158. };
  159. }