11<template >
22 <main >
33 <el-container class =" h-screen" >
4- <Sidebar :sidebarOpen =" sidebarOpen" />
4+ <Sidebar :sidebarOpen =" sidebarOpen" @singOut = " singOut " />
55 <el-container >
66 <el-header class =" bg-white border-b flex items-center justify-between md:justify-end" >
77 <el-icon @click =" toggleSidebar" class =" text-black block md:hidden cursor-pointer" ><Menu /></el-icon >
1616</template >
1717
1818<script setup>
19- import { ref , nextTick } from ' vue'
20- import { Menu } from ' @element-plus/icons-vue'
21- import Sidebar from ' @/components/Sidebar.vue'
22- import Table from ' @/components/Table.vue'
23- const tableData = ref ([
24- { name: ' 4421' , date: ' 2024-09-25T14:20:23' },
25- { name: ' asdsd' , date: ' 2024-09-25T13:37:54' },
26- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
27- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
28- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
29- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
30- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
31- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
32- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
33- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
34- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
35- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
36- { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
37- ])
38-
39- const sidebarOpen = ref (true )
40- const toggleSidebar = async () => {
41- sidebarOpen .value = ! sidebarOpen .value
42- await nextTick ()
19+ import { ref , nextTick , onBeforeMount } from ' vue'
20+ import { useRouter } from ' vue-router'
21+ import { Menu } from ' @element-plus/icons-vue'
22+ import { ElMessage } from ' element-plus'
23+ import Sidebar from ' @/components/Sidebar.vue'
24+ import Table from ' @/components/Table.vue'
25+
26+ import { logout , tableNames } from ' @/composables/apis'
27+
28+ const router = useRouter ()
29+
30+ const tableData = ref ([
31+ { name: ' 4421' , date: ' 2024-09-25T14:20:23' },
32+ { name: ' asdsd' , date: ' 2024-09-25T13:37:54' },
33+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
34+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
35+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
36+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
37+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
38+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
39+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
40+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
41+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
42+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
43+ { name: ' vsssssss' , date: ' 2024-09-25T14:20:23' },
44+ ])
45+
46+ const sidebarOpen = ref (true )
47+ const toggleSidebar = async () => {
48+ sidebarOpen .value = ! sidebarOpen .value
49+ // await nextTick()
50+ }
51+
52+ const singOut = async () => {
53+ try {
54+ const message = ElMessage .success (' 登出成功!' )
55+ const res = await logout ()
56+ if (res .status === 200 ) message
57+ setTimeout (() => {
58+ router .push (' login' )
59+ message .close ()
60+ }, 1000 )
61+ } catch (error) {
62+ ElMessage .success (' 登出失敗!' )
4363 }
64+ }
65+ import { checkLoginStatus } from ' @/composables/apis'
4466
67+ onBeforeMount ( async () => {
68+ try {
69+ const res = await tableNames ()
70+ console .log (res)
71+ } catch (error) {
72+
73+ }
74+ })
4575 </script >
0 commit comments