zhou zhou
7 小时以前 e9283ffe6822b12ec5dd2ccf4dc13a369b227a61
rsf-design/src/directives/core/auth.js
@@ -1,7 +1,18 @@
import { router } from '@/router'
import { useUserStore } from '@/store/modules/user'
import { useAppMode } from '@/hooks/core/useAppMode'
import { extractRouteAuthMarks, extractUserButtons, hasAuthPermission } from '@/hooks/core/useAuth'
function checkAuthPermission(el, binding) {
  const authList = router.currentRoute.value.meta.authList || []
  const hasPermission = authList.some((item) => item.authMark === binding.value)
  const authList = extractRouteAuthMarks(router.currentRoute.value.meta.authList)
  const buttons = extractUserButtons(useUserStore().getUserInfo)
  const { isBackendMode } = useAppMode()
  const hasPermission = hasAuthPermission(binding.value, {
    authList,
    buttons,
    isBackendMode: isBackendMode.value,
    routePath: router.currentRoute.value.path
  })
  if (!hasPermission) {
    removeElement(el)
  }