ForbiddenView.vue 1.0 KB

123456789101112131415161718192021222324
  1. <script setup lang="ts">
  2. import { computed } from 'vue'
  3. import { RouterLink } from 'vue-router'
  4. import { currentUser, defaultRouteFor } from '../auth'
  5. const home = computed(() => currentUser.value ? defaultRouteFor(currentUser.value) : '/login')
  6. </script>
  7. <template>
  8. <section class="forbidden">
  9. <span>403</span>
  10. <h1>无权访问此页面</h1>
  11. <p>当前账号没有对应权限。如需访问,请联系系统管理员。</p>
  12. <RouterLink :to="home">返回可访问页面</RouterLink>
  13. </section>
  14. </template>
  15. <style scoped>
  16. .forbidden { display: grid; min-height: calc(100vh - 130px); place-content: center; text-align: center; }
  17. .forbidden > span { color: #6869d2; font-size: 13px; font-weight: 800; letter-spacing: .2em; }
  18. h1 { margin: 12px 0 8px; color: #262d3d; font-size: 30px; }
  19. p { margin: 0 0 24px; color: #7c8493; font-size: 13px; }
  20. a { justify-self: center; padding: 11px 18px; border-radius: 9px; background: #5b5cc9; color: #fff; font-size: 12px; font-weight: 700; text-decoration: none; }
  21. </style>