import { api } from '@/common/api' import { token } from '@/common/token' import { encryptByDES, decryptByDES } from '@/util/des' import { encryptByRSA } from '@/util/rsa' import { removeGlobal, RSA_PUBLIC_KEY } from '@/util/global' import app from '@/main' const doLogin = (args) => { return new Promise((resolve, reject) => { let { account, password } = args password = encryptByRSA(password, RSA_PUBLIC_KEY) api.login({ account, password }).then(({ success, data, message }) => { if (success) { token.value = data app.$message.success('登录成功') if (app.$route.query.return) { const r = decryptByDES(app.$route.query.return) app.$router.replace(r) } else { app.$router.replace('/') } resolve() } else { app.$message.error(message) reject() } }).catch(({ message }) => { if (typeof message === 'object' && message[0]) { app.$message.error(message[0].messages[0]) } reject() }) }) } const doLogout = () => { return new Promise((resolve, reject) => { api.logout().then(({ success, message }) => { if (success) { removeGlobal() token.value = '' if (app.$route.path === '/') { app.$router.replace('/login') } else { app.$router.replace({ path: '/login', query: { return: decodeURIComponent(encryptByDES(app.$route.path)) } }) } resolve() } else { app.$message.error(message) reject() } }) }) } export { doLogin, doLogout, }