500.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <script setup lang="ts">
  2. import { useRouter } from "vue-router";
  3. import noServer from "@/assets/status/500.svg?component";
  4. defineOptions({
  5. name: "500"
  6. });
  7. const router = useRouter();
  8. </script>
  9. <template>
  10. <div
  11. class="flex flex-col md:flex-row justify-center items-center min-h-full w-full p-4 md:p-0"
  12. >
  13. <noServer />
  14. <div class="mt-8 md:ml-12 md:mt-0 text-center md:text-left">
  15. <p
  16. v-motion
  17. class="font-medium text-4xl mb-4! dark:text-white"
  18. :initial="{
  19. opacity: 0,
  20. y: 100
  21. }"
  22. :enter="{
  23. opacity: 1,
  24. y: 0,
  25. transition: {
  26. delay: 80
  27. }
  28. }"
  29. >
  30. 500
  31. </p>
  32. <p
  33. v-motion
  34. class="text-xl mb-4! text-gray-500"
  35. :initial="{
  36. opacity: 0,
  37. y: 100
  38. }"
  39. :enter="{
  40. opacity: 1,
  41. y: 0,
  42. transition: {
  43. delay: 120
  44. }
  45. }"
  46. >
  47. 抱歉,服务器出错了
  48. </p>
  49. <el-button
  50. v-motion
  51. type="primary"
  52. class="block mx-auto md:inline-block md:mx-0"
  53. :initial="{
  54. opacity: 0,
  55. y: 100
  56. }"
  57. :enter="{
  58. opacity: 1,
  59. y: 0,
  60. transition: {
  61. delay: 160
  62. }
  63. }"
  64. @click="router.push('/')"
  65. >
  66. 返回首页
  67. </el-button>
  68. </div>
  69. </div>
  70. </template>
  71. <style scoped>
  72. .main-content {
  73. margin: 0 !important;
  74. }
  75. </style>