Skip to content

Commit 7d36d63

Browse files
committed
web: sign out
1 parent d3e65a4 commit 7d36d63

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

web/src/components/Header.vue

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@
2323
Sandbox
2424
</t-menu-item>
2525
<template #operations>
26-
<t-button variant="text" shape="square">
27-
<template #icon>
28-
<t-icon name="ellipsis"/>
29-
</template>
30-
</t-button>
26+
<t-dropdown :options="[{ content: 'Sign Out', value: 'sign-out' }]" @click="onClickDropDown">
27+
<t-button variant="text" shape="square">
28+
<template #icon>
29+
<t-icon name="ellipsis"/>
30+
</template>
31+
</t-button>
32+
</t-dropdown>
3133
</template>
3234
</t-head-menu>
3335
</template>
@@ -36,14 +38,26 @@
3638
import {ref} from 'vue'
3739
import {useRoute, useRouter} from 'vue-router'
3840
import {MenuValue} from "tdesign-vue-next";
41+
import {DropdownOption} from "tdesign-vue-next";
42+
import {useAuthStore} from "@/store";
3943
4044
const route = useRoute()
4145
const router = useRouter()
4246
const menuValue = ref(route.name)
47+
const authStore = useAuthStore()
4348
4449
const onChange = (value: MenuValue) => {
4550
router.push({name: value.toString()})
4651
}
52+
53+
const onClickDropDown = (dropdownItem: DropdownOption, context: { e: MouseEvent }) => {
54+
switch (dropdownItem.value) {
55+
case 'sign-out':
56+
authStore.cleanToken()
57+
router.push({name: 'signIn'})
58+
break
59+
}
60+
}
4761
</script>
4862

4963
<style scoped lang="scss">

0 commit comments

Comments
 (0)