PermissionCatalog.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. const PermissionCategory = {
  2. PAGE: 'page',
  3. ACTION: 'action'
  4. }
  5. const DEFAULT_PERMISSION_POINTS = [
  6. { code: 'page.admin.userList', name: '用户管理', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'admin.userList', remark: '访问后台用户管理页面' },
  7. { code: 'page.admin.lepaoAccount', name: '乐跑账号管理', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'admin.lepaoAccount', remark: '访问后台乐跑账号管理页面' },
  8. { code: 'page.admin.service.orderList', name: '工单管理', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'admin.service.orderList', remark: '访问后台工单管理页面' },
  9. { code: 'page.admin.goods.sendCountRequestList', name: '赠送审核', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'admin.goods.sendCountRequestList', remark: '访问乐跑次数赠送审核页面' },
  10. { code: 'page.service.createOrder', name: '提交工单', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'service.createOrder', remark: '访问用户提交工单页面' },
  11. { code: 'page.lepao.accountList', name: '乐跑账号', category: PermissionCategory.PAGE, scope_type: 'page', page_route_name: 'lepao.accountList', remark: '访问用户乐跑账号页面' },
  12. { code: 'action.user.changeCount', name: '更改乐跑次数', category: PermissionCategory.ACTION, scope_type: 'action', remark: '管理员调整用户乐跑次数' },
  13. { code: 'action.user.ban', name: '封禁账户', category: PermissionCategory.ACTION, scope_type: 'action', remark: '封禁或解封用户账户' },
  14. { code: 'action.user.permissionManage', name: '权限管理', category: PermissionCategory.ACTION, scope_type: 'action', remark: '查看和编辑用户权限、权限规则' },
  15. { code: 'action.user.setSendCountAutoApprove', name: '赠送免审配置', category: PermissionCategory.ACTION, scope_type: 'action', remark: '配置用户赠送乐跑次数免审白名单' },
  16. { code: 'action.lepao.addAccount', name: '新增乐跑账号', category: PermissionCategory.ACTION, scope_type: 'action', remark: '用户新增或绑定乐跑账号' },
  17. { code: 'action.lepao.singleRun', name: '发起单次乐跑', category: PermissionCategory.ACTION, scope_type: 'action', remark: '用户发起单次乐跑' },
  18. { code: 'action.lepao.changeAutoRun', name: '配置自动乐跑', category: PermissionCategory.ACTION, scope_type: 'action', remark: '用户开启或关闭自动乐跑' },
  19. { code: 'action.lepao.updateAccount', name: '更新乐跑账号', category: PermissionCategory.ACTION, scope_type: 'action', remark: '更新乐跑账号信息' },
  20. { code: 'action.lepao.deleteAccount', name: '解绑乐跑账号', category: PermissionCategory.ACTION, scope_type: 'action', remark: '解绑乐跑账号' },
  21. { code: 'action.lepao.admin.updateAccount', name: '后台更新乐跑账号', category: PermissionCategory.ACTION, scope_type: 'action', remark: '管理员更新乐跑账号信息' },
  22. { code: 'action.goods.sendCount', name: '赠送乐跑次数', category: PermissionCategory.ACTION, scope_type: 'action', remark: '用户向他人赠送乐跑次数' },
  23. { code: 'action.goods.reviewSendCount', name: '审核赠送次数', category: PermissionCategory.ACTION, scope_type: 'action', remark: '管理员审核乐跑次数赠送申请' },
  24. { code: 'action.service.createOrder', name: '发起工单', category: PermissionCategory.ACTION, scope_type: 'action', remark: '用户提交新工单或回复自己的工单' },
  25. { code: 'action.service.replyOrder', name: '回复工单', category: PermissionCategory.ACTION, scope_type: 'action', remark: '客服或管理员回复工单' }
  26. ]
  27. const DEFAULT_PERMISSION_RESOURCE_RULES = [
  28. { resource_type: 'page', resource_key: 'admin.userList', required_codes: ['page.admin.userList'] },
  29. { resource_type: 'page', resource_key: 'admin.lepaoAccount', required_codes: ['page.admin.lepaoAccount'] },
  30. { resource_type: 'page', resource_key: 'admin.service.orderList', required_codes: ['page.admin.service.orderList'] },
  31. { resource_type: 'page', resource_key: 'admin.goods.sendCountRequestList', required_codes: ['page.admin.goods.sendCountRequestList'] },
  32. { resource_type: 'page', resource_key: 'service.createOrder', required_codes: ['page.service.createOrder'] },
  33. { resource_type: 'page', resource_key: 'lepao.accountList', required_codes: ['page.lepao.accountList'] },
  34. { resource_type: 'action', resource_key: 'action.user.changeCount', required_codes: ['action.user.changeCount'] },
  35. { resource_type: 'action', resource_key: 'action.user.ban', required_codes: ['action.user.ban'] },
  36. { resource_type: 'action', resource_key: 'action.user.permissionManage', required_codes: ['action.user.permissionManage'] },
  37. { resource_type: 'action', resource_key: 'action.user.setSendCountAutoApprove', required_codes: ['action.user.setSendCountAutoApprove'] },
  38. { resource_type: 'action', resource_key: 'action.lepao.addAccount', required_codes: ['action.lepao.addAccount'] },
  39. { resource_type: 'action', resource_key: 'action.lepao.singleRun', required_codes: ['action.lepao.singleRun'] },
  40. { resource_type: 'action', resource_key: 'action.lepao.changeAutoRun', required_codes: ['action.lepao.changeAutoRun'] },
  41. { resource_type: 'action', resource_key: 'action.lepao.updateAccount', required_codes: ['action.lepao.updateAccount'] },
  42. { resource_type: 'action', resource_key: 'action.lepao.deleteAccount', required_codes: ['action.lepao.deleteAccount'] },
  43. { resource_type: 'action', resource_key: 'action.lepao.admin.updateAccount', required_codes: ['action.lepao.admin.updateAccount'] },
  44. { resource_type: 'action', resource_key: 'action.goods.sendCount', required_codes: ['action.goods.sendCount'] },
  45. { resource_type: 'action', resource_key: 'action.goods.reviewSendCount', required_codes: ['action.goods.reviewSendCount'] },
  46. { resource_type: 'action', resource_key: 'action.service.createOrder', required_codes: ['action.service.createOrder'] },
  47. { resource_type: 'action', resource_key: 'action.service.replyOrder', required_codes: ['action.service.replyOrder'] },
  48. { resource_type: 'api', resource_key: 'GET /Admin/User/GetUserList', api_method: 'GET', api_path: '/Admin/User/GetUserList', required_codes: ['page.admin.userList'] },
  49. { resource_type: 'api', resource_key: 'POST /Admin/User/ChangeLepaoCount', api_method: 'POST', api_path: '/Admin/User/ChangeLepaoCount', required_codes: ['action.user.changeCount'] },
  50. { resource_type: 'api', resource_key: 'POST /Admin/User/SetUserBan', api_method: 'POST', api_path: '/Admin/User/SetUserBan', required_codes: ['action.user.ban'] },
  51. { resource_type: 'api', resource_key: 'POST /Admin/User/SetSendCountAutoApprove', api_method: 'POST', api_path: '/Admin/User/SetSendCountAutoApprove', required_codes: ['action.user.setSendCountAutoApprove'] },
  52. { resource_type: 'api', resource_key: 'GET /Admin/Lepao/Account', api_method: 'GET', api_path: '/Admin/Lepao/Account', required_codes: ['page.admin.lepaoAccount'] },
  53. { resource_type: 'api', resource_key: 'POST /Admin/Lepao/Account/UpdateAccountInfo', api_method: 'POST', api_path: '/Admin/Lepao/Account/UpdateAccountInfo', required_codes: ['action.lepao.admin.updateAccount'] },
  54. { resource_type: 'api', resource_key: 'POST /Lepao/Account', api_method: 'POST', api_path: '/Lepao/Account', required_codes: ['action.lepao.addAccount'] },
  55. { resource_type: 'api', resource_key: 'GET /Lepao/SingleRun', api_method: 'GET', api_path: '/Lepao/SingleRun', required_codes: ['action.lepao.singleRun'] },
  56. { resource_type: 'api', resource_key: 'GET /Lepao/ChangeAutoRun', api_method: 'GET', api_path: '/Lepao/ChangeAutoRun', required_codes: ['action.lepao.changeAutoRun'] },
  57. { resource_type: 'api', resource_key: 'POST /Lepao/Account/UpdateSelfAccount', api_method: 'POST', api_path: '/Lepao/Account/UpdateSelfAccount', required_codes: ['action.lepao.updateAccount'] },
  58. { resource_type: 'api', resource_key: 'DELETE /Lepao/Account', api_method: 'DELETE', api_path: '/Lepao/Account', required_codes: ['action.lepao.deleteAccount'] },
  59. { resource_type: 'api', resource_key: 'POST /Goods/SendCount', api_method: 'POST', api_path: '/Goods/SendCount', required_codes: ['action.goods.sendCount'] },
  60. { resource_type: 'api', resource_key: 'POST /Kefu/Order', api_method: 'POST', api_path: '/Kefu/Order', required_codes: ['action.service.createOrder'] },
  61. { resource_type: 'api', resource_key: 'GET /Admin/Kefu/Order', api_method: 'GET', api_path: '/Admin/Kefu/Order', required_codes: ['page.admin.service.orderList'] },
  62. { resource_type: 'api', resource_key: 'GET /Admin/Kefu/OrderDetail', api_method: 'GET', api_path: '/Admin/Kefu/OrderDetail', required_codes: ['page.admin.service.orderList'] },
  63. { resource_type: 'api', resource_key: 'PUT /Admin/Kefu/Order', api_method: 'PUT', api_path: '/Admin/Kefu/Order', required_codes: ['action.service.replyOrder'] },
  64. { resource_type: 'api', resource_key: 'GET /Admin/Goods/SendCountRequest/List', api_method: 'GET', api_path: '/Admin/Goods/SendCountRequest/List', required_codes: ['page.admin.goods.sendCountRequestList'] },
  65. { resource_type: 'api', resource_key: 'POST /Admin/Goods/SendCountRequest/Approve', api_method: 'POST', api_path: '/Admin/Goods/SendCountRequest/Approve', required_codes: ['action.goods.reviewSendCount'] },
  66. { resource_type: 'api', resource_key: 'POST /Admin/Goods/SendCountRequest/Reject', api_method: 'POST', api_path: '/Admin/Goods/SendCountRequest/Reject', required_codes: ['action.goods.reviewSendCount'] }
  67. ]
  68. // 所有登录用户默认拥有的基础操作权限(无需在后台单独勾选)
  69. const DEFAULT_BASIC_USER_PERMISSION_CODES = [
  70. 'page.lepao.accountList',
  71. 'action.lepao.addAccount',
  72. 'action.lepao.singleRun',
  73. 'action.lepao.changeAutoRun',
  74. 'action.lepao.updateAccount',
  75. 'action.lepao.deleteAccount',
  76. 'action.goods.sendCount',
  77. 'page.service.createOrder',
  78. 'action.service.createOrder'
  79. ]
  80. const LEGACY_ROLE_PERMISSION_MAP = {
  81. service: [
  82. 'page.admin.userList',
  83. 'page.admin.lepaoAccount',
  84. 'page.admin.service.orderList',
  85. 'page.admin.goods.sendCountRequestList',
  86. 'action.user.changeCount',
  87. 'action.user.ban',
  88. 'action.user.setSendCountAutoApprove',
  89. 'action.lepao.admin.updateAccount',
  90. 'action.goods.reviewSendCount',
  91. 'action.service.replyOrder'
  92. ],
  93. product: [
  94. 'action.goods.reviewSendCount'
  95. ],
  96. path: []
  97. }
  98. module.exports = {
  99. DEFAULT_PERMISSION_POINTS,
  100. DEFAULT_PERMISSION_RESOURCE_RULES,
  101. DEFAULT_BASIC_USER_PERMISSION_CODES,
  102. LEGACY_ROLE_PERMISSION_MAP
  103. }