【优化】封装登录成功后的处理逻辑

pull/60/head
xlzy 2022-11-23 23:45:14 +08:00
parent 0511e9f877
commit 35364c44bf
3 changed files with 33 additions and 45 deletions

View File

@ -99,12 +99,11 @@
<script>
import loginApi from '@/api/auth/loginApi'
import userCenterApi from '@/api/sys/userCenterApi'
import dictApi from '@/api/dev/dictApi'
import phoneLoginForm from './phoneLoginForm.vue'
import threeLogin from './threeLogin.vue'
import smCrypto from '@/utils/smCrypto'
import { required } from '@/utils/formRules'
import { afterLogin } from './util'
export default {
name: 'Login',
@ -200,25 +199,7 @@
// token
try {
const loginToken = await loginApi.login(loginData)
this.$TOOL.data.set('TOKEN', loginToken)
//
const loginUser = await loginApi.getLoginUser()
this.$TOOL.data.set('USER_INFO', loginUser)
//
const menu = await userCenterApi.userLoginMenu()
const indexMenu = menu[0].children[0].path
this.$TOOL.data.set('MENU', menu)
//
this.$TOOL.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
this.$message.success('登录成功')
this.$router.replace({
path: indexMenu
})
dictApi.dictTree().then((data) => {
// store
this.$TOOL.data.set('DICT_TYPE_TREE_DATA', data)
})
afterLogin(loginToken)
} catch (err) {
this.loading = false
}

View File

@ -69,13 +69,10 @@
<script setup name="smsLoginForm">
import { message } from 'ant-design-vue'
import { nextTick } from 'vue'
import tool from '@/utils/tool'
import router from '@/router'
import { required, rules } from '@/utils/formRules'
import loginApi from '@/api/auth/loginApi'
import userCenterApi from '@/api/sys/userCenterApi'
import dictApi from '@/api/dev/dictApi'
import { afterLogin } from './util'
const phoneLoginFormRef = ref()
const phoneFormData = ref({})
const loading = ref(false)
@ -112,25 +109,7 @@
loading.value = true
try {
const token = await loginApi.loginByPhone(phoneFormData.value)
tool.data.set('TOKEN', token)
//
const loginUser = await loginApi.getLoginUser()
tool.data.set('USER_INFO', loginUser)
//
const menu = await userCenterApi.userLoginMenu()
const indexMenu = menu[0].children[0].path
tool.data.set('MENU', menu)
//
tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
message.success('登录成功')
router.replace({
path: indexMenu
})
dictApi.dictTree().then((data) => {
// store
tool.data.set('DICT_TYPE_TREE_DATA', data)
})
afterLogin(token)
} catch (err) {
loading.value = false
}

View File

@ -0,0 +1,28 @@
import loginApi from '@/api/auth/loginApi'
import userCenterApi from '@/api/sys/userCenterApi'
import dictApi from '@/api/dev/dictApi'
import router from '@/router'
import tool from '@/utils/tool'
import { message } from 'ant-design-vue'
export const afterLogin = async (loginToken) => {
tool.data.set('TOKEN', loginToken)
// 获取登录的用户信息
const loginUser = await loginApi.getLoginUser()
tool.data.set('USER_INFO', loginUser)
// 获取用户的菜单
const menu = await userCenterApi.userLoginMenu()
const indexMenu = menu[0].children[0].path
tool.data.set('MENU', menu)
// 重置系统默认应用
tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
message.success('登录成功')
router.replace({
path: indexMenu
})
dictApi.dictTree().then((data) => {
// 设置字典到store中
tool.data.set('DICT_TYPE_TREE_DATA', data)
})
}