问题描述:

作者发现使用Ant Design Pro中存在一个问题,页面刷新后vuex数据丢失,导致UserInfo找不到影响页面的问题,故而写此文,望能助有需之人。


原因分析:

提示:Vuex的机制问题

vuex是存在浏览器页面内存的数据,所以刷新后就没有了,虽然很多人认为存在localstorage或者sessionstorage内不安全,但作者还是习惯存在浏览器内存。


解决方案:

1.src/store/modules/user.js Login方法内存在LocalStorage中

2.src/permission.js 对应调整

作者的做法是让每一次原项目中的获取getInfo接口至vuex的机制,改为从localstorage中获取,是不是非常的机灵鬼呢 *~*

user.js

    // 登录Login ({ commit }, userInfo) {return new Promise((resolve, reject) => {login(userInfo).then(response => {const result = response.datastorage.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000)storage.set(REFRESH_TOKEN, result.refresh, 7 * 24 * 60 * 60 * 1000)storage.set(USER_INFO,result.userInfo,7 * 24 * 60 * 60 * 1000)commit('SET_INFO', result.userInfo)commit('SET_TOKEN', result.token)commit('SET_NAME', { name: result.userInfo.name, welcome: welcome() })resolve(response)}).catch(error => {reject(error)})})},

permission.js


router.beforeEach((to, from, next) => {NProgress.start() // start progress barto.meta && typeof to.meta.title !== 'undefined' && setDocumentTitle(`${i18nRender(to.meta.title)} - ${domTitle}`)/* has token */console.log(store);if (storage.get(ACCESS_TOKEN) && storage.get(USER_INFO)) {  //是否存在token和UserInfo// 每次变动都存储到vuex中store.commit('SET_INFO', storage.get(USER_INFO))store.commit('SET_TOKEN', storage.get(ACCESS_TOKEN))store.commit('SET_NAME', { name: storage.get(USER_INFO).name, welcome: welcome() })next()} else {if (allowList.includes(to.name)) {// 在免登录名单,直接进入next()} else {next({ path: loginRoutePath, query: { redirect: to.fullPath } })NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it}}
})

去尝试吧。

Ant Design Pro Vue 登录后userInfo存在vuex问题相关推荐

  1. ant design pro vue左侧菜单自定义图标

    做ant design pro vue项目的时候突然想修改左侧菜单的图标,在修改途中发现源码中提供的方法方法居然不生效(如下所示) 在src/assets/icons文件夹中下载svg图标 在src/ ...

  2. ant design pro vue 动态路由 流程详解

    ant design pro vue 动态路由 流程详解 前言 流程图 流程1 src/permission.js 流程2 src/store/modules/user.js 流程3 src/perm ...

  3. Ant Design Pro Vue使用心得

    目录结构 ├── public │ └── logo.png # LOGO | └── index.html # Vue 入口模板 ├── src │ ├── api # Api ajax 等 │ ├ ...

  4. ant design pro取消登录_JeecgBoot实战按需加载 Ant-Design-Vue和Icon

    一.Ant-Design-Vue 按需加载 1.创建js文件 src/components/lazy_antd.js import Vue from 'vue'// base library impo ...

  5. Ant Desgin Pro 修改登录后默认导航到的位置

    src/models/login.js 40行 yield put(routerRedux.replace(redirect || '/')); 修改/为需要的路径

  6. 同志们,免费版的Ant Design Pro Vue3 来啦

    Vue3也出了一段时间了,于是照着ant pro vue搭个免费的vue3版 希望大家喜欢 基于 Vite2 Vue3 Ant-Design-of-Vue2 TS实现的 Ant Design Pro ...

  7. 使用Ant Design 和Vue,React中后台开发套餐

    2019独角兽企业重金招聘Python工程师标准>>> 前言 目前Ant Design 提供 React 和 Vue 两种整合开发框架,开箱即用的中台前端/设计解决方案,可适合中小公 ...

  8. 搭建Vue版Ant Design Pro后台管理系统

    搭建Vue版Ant Design Pro后台管理系统 此文章通过基于Vue实现的Ant DesignPro脚手架快速构建一个后台管理系统的前端 相关文档链接 1.[Ant Design Pro of ...

  9. Ant Design Pro of Vue——蚂蚁金服中后台系统框架搭建

    Ant Design Pro of Vue--蚂蚁金服中后台系统框架搭建 Ant Design Pro of Vue下载安装启动步骤: 一.Ant Design Pro of Vue 的介绍 Ant ...

最新文章

  1. [原创]通过编写PowerDesigner脚本功能批量修改属性
  2. Mozilla的Python3使用情况
  3. C#中使用FilleStream实现视频文件的复制
  4. 机器视觉和Tesseract
  5. 面试 .NET 开发​,为什么也要考算法?​
  6. 电子音乐包括电声乐器和计算机音乐,浅谈电子音乐制作的发展方向
  7. easycode 表配置_EasyCode插件使用及模板参考
  8. THE PRESENT (礼物)
  9. python 描述符有什么用_介绍python描述符的意义
  10. Java中的生产消费者问题
  11. 三菱plc pwm指令_三菱PLC初学者只要解决这50个问题,那你就觉得很容易上手?
  12. 刷排名优优软件_刷网站排名软件
  13. pip 生成 requirement.txt 文件
  14. git常用命令及Commit message规则
  15. 微信小程序点播插件_5个常见的小程序插件功能,教你怎么用
  16. C语言实验六 一维数组程序设计
  17. GitOps 与 ChatOps 的落地实践
  18. python画花瓣飘落_Python——画一棵漂亮的樱花树
  19. UR机器人(3)-精确设定TCP以及有效负载
  20. 几行代码,把zip文件直接破解

热门文章

  1. 移动互联网,是破坏性创新吗?
  2. Python爬虫学习笔记(使用代理及代理池——解决返回状态码302即IP被封的问题)
  3. [Ubuntu]openbox下U盘自动挂载
  4. 海美迪盒子android升级,海美迪4K播放器直升安卓7.0 画质再上新境界
  5. JavaWeb 前端书籍推荐
  6. Js实现中国公民身份证号码有效性验证
  7. 百度飞浆paddle应用之在嵌入式ARM上运行
  8. 柜机服务器物理尺寸是多少,格力5匹柜机空调功率一般是多少?
  9. 地理国情监测arcpy将文件夹多个gdb下的要素类featureClass,使用FeatureClassToShapefile_conversion转换成shapefile文件。
  10. 异星工厂 Libraries and functions