util.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import loginApi from '@/api/auth/loginApi'
  2. import userCenterApi from '@/api/sys/userCenterApi'
  3. import dictApi from '@/api/dev/dictApi'
  4. import router from '@/router'
  5. import tool from '@/utils/tool'
  6. import { message } from 'ant-design-vue'
  7. import { useGlobalStore, useMyResourceStore } from '@/store'
  8. import routerUtil from '@/utils/routerUtil'
  9. export const afterLogin = async (loginToken,path,query) => {
  10. tool.data.set('TOKEN', loginToken)
  11. //cookie里添加 token
  12. tool.cookie.set('Token', loginToken)
  13. // 获取登录的用户信息
  14. const loginUser = await loginApi.getLoginUser()
  15. const globalStore = useGlobalStore()
  16. const myResourceStore = useMyResourceStore()
  17. globalStore.setUserInfo(loginUser)
  18. myResourceStore.getUserInfo()
  19. tool.data.set('USER_INFO', loginUser)
  20. // 获取用户的菜单
  21. const menu = await userCenterApi.userLoginMenu()
  22. let indexMenu = routerUtil.getIndexMenu(menu).path
  23. tool.data.set('MENU', menu)
  24. // 重置系统默认应用
  25. tool.data.set('SNOWY_MENU_MODULE_ID', menu[0].id)
  26. // message.success('登录成功')
  27. if (!!tool.data.get('LAST_VIEWS_PATH')) {
  28. // 如果有缓存,将其登录跳转到最后访问的路由
  29. indexMenu = tool.data.get('LAST_VIEWS_PATH')
  30. }
  31. // 如果存在退出后换新账号登录,进行重新匹配,匹配无果则默认首页
  32. if (menu) {
  33. let routerTag = 0
  34. menu.forEach((item) => {
  35. if (item.children) {
  36. if (JSON.stringify(item.children).indexOf(indexMenu) > -1) {
  37. routerTag++
  38. }
  39. }
  40. })
  41. if (routerTag === 0) {
  42. // 取首页
  43. indexMenu = routerUtil.getIndexMenu(menu).path
  44. }
  45. }
  46. dictApi.dictTree().then((data) => {
  47. // 设置字典到store中
  48. tool.data.set('DICT_TYPE_TREE_DATA', data)
  49. })
  50. console.log('转过去吗',path)
  51. await router.replace({
  52. path: path,
  53. query: query // 保留当前的查询参数
  54. })
  55. // location.reload()
  56. }