UNPKG

@ithinkdt/core

Version:

iThinkDT Core

36 lines (34 loc) 942 B
import { ref } from 'vue' import { useRouter } from 'vue-router' import { Route } from './router' import { useAuth } from './plugin' export function useLogin() { const auth = useAuth() const loging = ref(false) async function login(user, load = true) { loging.value = true try { auth.token = await auth.login(user) load && (await auth.load(true)) } finally { loging.value = false } } const router = useRouter() return { user: auth.user, loging, login, logout: () => { const { user, app } = auth.$state const href = router.resolve({ name: Route.LOGOUT, query: user ? { username: user.username, appCode: app.appCode } : {}, }).href location.replace(href) }, next() { return location.reload() }, } }