mock平台

group.js 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. import axios from 'axios';
  2. // Actions
  3. const FETCH_GROUP_LIST = 'yapi/group/FETCH_GROUP_LIST';
  4. const SET_CURR_GROUP = 'yapi/group/SET_CURR_GROUP';
  5. const FETCH_GROUP_MEMBER = 'yapi/group/FETCH_GROUP_MEMBER';
  6. const FETCH_GROUP_MSG = 'yapi/group/FETCH_GROUP_MSG';
  7. const ADD_GROUP_MEMBER = 'yapi/group/ADD_GROUP_MEMBER';
  8. const DEL_GROUP_MEMBER = 'yapi/group/DEL_GROUP_MEMBER';
  9. const CHANGE_GROUP_MEMBER = 'yapi/group/CHANGE_GROUP_MEMBER';
  10. const CHANGE_GROUP_MESSAGE = 'yapi/group/CHANGE_GROUP_MESSAGE';
  11. const UPDATE_GROUP_LIST = 'yapi/group/UPDATE_GROUP_LIST';
  12. const DEL_GROUP = 'yapi/group/DEL_GROUP';
  13. // Reducer
  14. const initialState = {
  15. groupList: [],
  16. currGroup: {
  17. group_name: '',
  18. group_desc: '',
  19. custom_field1: {
  20. name: '',
  21. enable: false
  22. }
  23. },
  24. field: {
  25. name: '',
  26. enable: false
  27. },
  28. member: [],
  29. role: ''
  30. };
  31. export default (state = initialState, action) => {
  32. switch (action.type) {
  33. case FETCH_GROUP_LIST: {
  34. return {
  35. ...state,
  36. groupList: action.payload.data.data
  37. };
  38. }
  39. case UPDATE_GROUP_LIST: {
  40. return {
  41. ...state,
  42. groupList: action.payload
  43. };
  44. }
  45. case SET_CURR_GROUP: {
  46. return {
  47. ...state,
  48. currGroup: action.payload.data.data
  49. };
  50. }
  51. case FETCH_GROUP_MEMBER: {
  52. return {
  53. ...state,
  54. member: action.payload.data.data
  55. };
  56. }
  57. case FETCH_GROUP_MSG: {
  58. console.log(action.payload)
  59. // const {role,group_name,group_desc,} = action.payload.data.data
  60. return {
  61. ...state,
  62. role: action.payload.data.data.role,
  63. currGroup: action.payload.data.data,
  64. field: {
  65. name: action.payload.data.data.custom_field1.name,
  66. enable: action.payload.data.data.custom_field1.enable
  67. }
  68. };
  69. }
  70. default:
  71. return state;
  72. }
  73. };
  74. // 获取 group 信息 (权限信息)
  75. export function fetchGroupMsg(id) {
  76. return {
  77. type: FETCH_GROUP_MSG,
  78. payload: axios.get('/api/group/get', {
  79. params: { id }
  80. })
  81. };
  82. }
  83. // 添加分组成员
  84. export function addMember(param) {
  85. return {
  86. type: ADD_GROUP_MEMBER,
  87. payload: axios.post('/api/group/add_member', param)
  88. };
  89. }
  90. // 删除分组成员
  91. export function delMember(param) {
  92. return {
  93. type: DEL_GROUP_MEMBER,
  94. payload: axios.post('/api/group/del_member', param)
  95. };
  96. }
  97. // 修改分组成员权限
  98. export function changeMemberRole(param) {
  99. return {
  100. type: CHANGE_GROUP_MEMBER,
  101. payload: axios.post('/api/group/change_member_role', param)
  102. };
  103. }
  104. // 修改分组信息
  105. export function changeGroupMsg(param) {
  106. return {
  107. type: CHANGE_GROUP_MESSAGE,
  108. payload: axios.post('/api/group/up', param)
  109. };
  110. }
  111. // 更新左侧的分组列表
  112. export function updateGroupList(param) {
  113. return {
  114. type: UPDATE_GROUP_LIST,
  115. payload: param
  116. };
  117. }
  118. // 删除分组
  119. export function deleteGroup(param) {
  120. return {
  121. type: DEL_GROUP,
  122. payload: axios.post('/api/group/del', param)
  123. };
  124. }
  125. // 获取分组成员列表
  126. export function fetchGroupMemberList(id) {
  127. return {
  128. type: FETCH_GROUP_MEMBER,
  129. payload: axios.get('/api/group/get_member_list', {
  130. params: { id }
  131. })
  132. };
  133. }
  134. // Action Creators
  135. export function fetchGroupList() {
  136. return {
  137. type: FETCH_GROUP_LIST,
  138. payload: axios.get('/api/group/list')
  139. };
  140. }
  141. export function setCurrGroup(group) {
  142. return {
  143. type: SET_CURR_GROUP,
  144. payload: axios.get('/api/group/get', {
  145. params: { id: group._id }
  146. })
  147. };
  148. }