| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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'
- import { useGlobalStore, useMyResourceStore } from '@/store'
- import routerUtil from '@/utils/routerUtil'
- export const afterLogin = async (loginToken,callBack) => {
- tool.data.set('TOKEN', loginToken)
- //cookie里添加 token
- tool.cookie.set('Token', loginToken)
- // 获取登录的用户信息
- const loginUser = await loginApi.getLoginUser()
- const globalStore = useGlobalStore()
- const myResourceStore = useMyResourceStore()
- if(loginUser.expired == 1 && callBack){
- tool.data.remove('TOKEN', loginToken)
- tool.cookie.remove('Token', loginToken)
- message.error('密码已过期')
- callBack()
- }else{
- globalStore.setUserInfo(loginUser)
- myResourceStore.getUserInfo()
- tool.data.set('USER_INFO', loginUser)
- // 获取用户的菜单
- const menu = await userCenterApi.userLoginMenu()
- let indexMenu = routerUtil.getIndexMenu(menu).path
- tool.data.set('MENU', menu)
- // 重置系统默认应用
- tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
- message.success('登录成功')
- if (!!tool.data.get('LAST_VIEWS_PATH')) {
- // 如果有缓存,将其登录跳转到最后访问的路由
- indexMenu = tool.data.get('LAST_VIEWS_PATH')
- }
- // 如果存在退出后换新账号登录,进行重新匹配,匹配无果则默认首页
- if (menu) {
- let routerTag = 0
- menu.forEach((item) => {
- if (item.children) {
- if (JSON.stringify(item.children).indexOf(indexMenu) > -1) {
- routerTag++
- }
- }
- })
- if (routerTag === 0) {
- // 取首页
- indexMenu = routerUtil.getIndexMenu(menu).path
- }
- }
- dictApi.dictTree().then((data) => {
- // 设置字典到store中
- tool.data.set('DICT_TYPE_TREE_DATA', data)
- })
- await router.replace({
- path: indexMenu
- })
- }
- }
|