@opentiny/tiny-toolkit-pro
Version:
TinyPro Vue:开箱即用、前后端分离的 Vue 后台管理模板
29 lines (27 loc) • 791 B
text/typescript
import { useRouter } from 'vue-router';
import { useI18n } from 'vue-i18n';
import { Modal } from '@opentiny/vue';
import { useUserStore } from '@/store';
export default function useUser() {
const { t } = useI18n();
const router = useRouter();
const userStore = useUserStore();
const logout = async (logoutTo?: string) => {
await userStore.logout();
const currentRoute = router.currentRoute.value;
Modal.message({
message: t('setting.loginout'),
status: 'success',
});
await router.push({
name: logoutTo && typeof logoutTo === 'string' ? logoutTo : 'login',
query: {
...router.currentRoute.value.query,
redirect: currentRoute.name as string,
},
});
};
return {
logout,
};
}