index.ts 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import wsCache from '@/cache'
  2. import { Role } from './types'
  3. import { checkedNodes, checkedkeys } from './admin-role'
  4. import { checkedRoleNodes } from './test-role'
  5. let List: Role[] = wsCache.get('roleList') || [
  6. {
  7. roleName: 'admin',
  8. id: '1',
  9. checkedNodes: checkedNodes,
  10. checkedkeys: checkedkeys
  11. },
  12. {
  13. roleName: 'test',
  14. id: '2',
  15. checkedNodes: checkedRoleNodes,
  16. checkedkeys: []
  17. }
  18. ]
  19. export default [
  20. // 列表接口
  21. {
  22. url: 'http://mockjs.test.cn/role/list',
  23. type: 'get',
  24. response: (config: any) => {
  25. const {
  26. roleName,
  27. pageIndex,
  28. pageSize
  29. } = config.query
  30. const mockList = List.filter(item => {
  31. if (roleName && item.roleName.indexOf(roleName) < 0) return false
  32. return true
  33. })
  34. const pageList = mockList.filter((item, index) => index < pageSize * pageIndex && index >= pageSize * (pageIndex - 1))
  35. return {
  36. code: '0000',
  37. data: {
  38. total: mockList.length,
  39. list: pageList
  40. }
  41. }
  42. }
  43. },
  44. // 详情接口
  45. {
  46. url: 'http://mockjs.test.cn/role/detail',
  47. type: 'get',
  48. response: (config: any) => {
  49. const {
  50. id
  51. } = config.query
  52. for (const role of List) {
  53. if (role.id === id) {
  54. return {
  55. code: '0000',
  56. data: role
  57. }
  58. }
  59. }
  60. }
  61. },
  62. // 保存接口
  63. {
  64. url: 'http://mockjs.test.cn/role/save',
  65. type: 'post',
  66. response: (config: any) => {
  67. const data = config.body
  68. if (!data.id) {
  69. List = [data].concat(List)
  70. return {
  71. code: '0000',
  72. data: 'success'
  73. }
  74. } else {
  75. List.map(item => {
  76. if (item.id === data.id) {
  77. for (const key in item) {
  78. item[key] = data[key]
  79. }
  80. }
  81. })
  82. // 存在缓存中,避免刷新没有掉
  83. wsCache.set('roleList', List)
  84. return {
  85. code: '0000',
  86. data: 'success'
  87. }
  88. }
  89. }
  90. }
  91. ]