前端黑洞网 首页
资源下载

前端电子书

前端视频教程

前端小游戏

前端脚本

前端项目实战

其他资源

博客 问答 程序员的那些事
写博客 登录 注册

程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网: it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

若依前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

发布于2023-02-19 12:53     阅读(2558)     评论(0)     点赞(5)     收藏(2)


若依 前后端分离框架去掉首页 登录后跳转至动态路由的第一个路由

  • 若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)
    • 一、登录后跳转第一路由界面
    • 二、设置路由的首页路径,方便后续的获取
    • 三、点击若依的logo跳转的页面的修改
    • 四、关闭所有tagview后,会展示默认页面,设置禁止关闭首界面
    • 五、个人中心关闭按钮后跳转的页面,防止点击关闭后页面空掉
    • 六、隐藏掉若依原本导航中的首页
    • 七、401和404页面返回首页,返回至默认首页
    • 八、屏蔽首页
    • 九、重新登陆页面修改

若依框架VUE前端界面,登录后默认跳转至动态路由第一路由(第一个子菜单)

一、登录后跳转第一路由界面

找到src目录下permission.js文件,作如下改动(如果存在路由参数,则带入):
在这里插入图片描述

let path = '';
path = accessRoutes[0].path + '/' + accessRoutes[0].children[0].path //获取第一路由路径

if (accessRoutes[0].children[0].query !== undefined) { //如果当前路由存在路由参数,则带入
  let query = JSON.parse(accessRoutes[0].children[0].query);
  let temp = '';
  for (var val in query) {
    if (temp.length == 0) {
      temp = "?";
    } else {
      temp = temp + "&";
    }
    temp = temp + val + "=" + query[val];
  }
  path = path + temp;
}

if (from.path == '/login') {
  next({path, replace: true}) // hack方法 确保addRoutes已完成
} else {
  next({...to, replace: true}) // hack方法 确保addRoutes已完成
}

二、设置路由的首页路径,方便后续的获取

找到src目录下store\modules\permission.js文件,作如下改动:

  1. 声明
    在这里插入图片描述
,
    indexPage: '',
  1. 赋值
    在这里插入图片描述
  SET_INDEX_PAGE: (state, routes) => {
      state.indexPage = routes
    }

  1. 获取默认路由的路径
    在这里插入图片描述
getRouters().then(res => {
  const sdata = JSON.parse(JSON.stringify(res.data))
  const rdata = JSON.parse(JSON.stringify(res.data))

  let indexdata = res.data[0].path + "/" + res.data[0].children[0].path
  if (res.data[0].children[0].query !== undefined) { //如果当前路由存在路由参数,则带入
    let query = JSON.parse(res.data[0].children[0].query);
    let temp = '';
    for (var val in query) {
      if (temp.length == 0) {
        temp = "?";
      } else {
        temp = temp + "&";
      }
      temp = temp + val + "=" + query[val];
    }
    indexdata = indexdata + temp;
  }


  const sidebarRoutes = filterAsyncRouter(sdata)
  const rewriteRoutes = filterAsyncRouter(rdata, false, true)
  const asyncRoutes = filterDynamicRoutes(dynamicRoutes);
  rewriteRoutes.push({ path: '*', redirect: '/404', hidden: true })
  router.addRoutes(asyncRoutes);
  commit('SET_ROUTES', rewriteRoutes)
  commit('SET_SIDEBAR_ROUTERS', constantRoutes.concat(sidebarRoutes))
  commit('SET_DEFAULT_ROUTES', sidebarRoutes)
  commit('SET_TOPBAR_ROUTES', sidebarRoutes)
  commit('SET_INDEX_PAGE', indexdata)
  resolve(rewriteRoutes)
})

三、点击若依的logo跳转的页面的修改

找到src目录下src\layout\components\Sidebar\logo.vue文件,作如下改动:
在这里插入图片描述

<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" :to="indexPage">
        <img v-if="logo" :src="logo" class="sidebar-logo" />
        <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
      </router-link>
      <router-link v-else key="expand" class="sidebar-logo-link" :to="indexPage">
        <img v-if="logo" :src="logo" class="sidebar-logo" />
        <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1>
      </router-link>

在这里插入图片描述

import {mapState} from 'vuex'

...mapState({
 indexPage: state => state.permission.indexPage
})

四、关闭所有tagview后,会展示默认页面,设置禁止关闭首界面

找到src目录下src\layout\components\TagsView\index.vue文件,作如下改动:
在这里插入图片描述

import {mapState} from 'vuex'
...mapState({
  indexPage: state => state.permission.indexPage
})

在这里插入图片描述

      if (tag.fullPath == this.indexPage) {
        return true
      } else {
        return tag.meta && tag.meta.affix
      }

在这里插入图片描述

this.$router.push(this.indexPage)

五、个人中心关闭按钮后跳转的页面,防止点击关闭后页面空掉

找到src目录下src\plugns\tab.js文件,作如下改动:
在这里插入图片描述

 let indexPage = store.state.permission.indexPage;
    if (obj === undefined) {
      return store.dispatch('tagsView/delView', router.currentRoute).then(({ lastPath }) => {
        return router.push(lastPath || indexPage);
      });
    }

六、隐藏掉若依原本导航中的首页

找到src目录下src\components\BredCrumb\index.vue文件,作如下改动:
在这里插入图片描述

七、401和404页面返回首页,返回至默认首页

找到src目录下src\views\error\401.vue和404文件,作如下改动:
在这里插入图片描述

<ul class="list-unstyled">
          <li class="link-type">
            <router-link :to="indexPage">
              回首页
            </router-link>
          </li>
</ul>
import {mapState} from "vuex";
, computed: {
    ...mapState({
      indexPage: state => state.permission.indexPage
})

八、屏蔽首页

找到src目录下src\router\index.js文件,作如下改动:
在这里插入图片描述

九、重新登陆页面修改

找到src目录下src\utils\request.js文件,作如下改动:
在这里插入图片描述

let indexurl = this.$store.state.permission.indexPage
location.href = indexurl;

为了防止有的童鞋没敲对导致404
我把我改的项目上传了
项目下载

原文链接:https://blog.csdn.net/qq_41089622/article/details/128417627


window属性:controllers

2022年最受欢迎的8大编程语言

为什么都说程序员找不到女朋友,但是身边程序猿的却没一个单身的

30岁以上你还死磕技术,别说拿高薪,可能你连饭碗都会保不住

程序员被开除,老板:“有你参与的项目全黄了!”

笑话:一个测试工程师走进一家酒吧

趣图:程序员头疼的4种原因

笑话:面试官:请拿出一段体现你水平的代码。我: sudo rm -rf /*面试官:这体现了你哪方面能力?

网友说:做开发,不被领导喜欢怎么办?

前端精选:在 WPF 中实现融合效果



所属网站分类: 技术文章 > 博客

作者: 小兔崽子

链接: http://www.qianduanheidong.com/blog/article/498290/c248e81d7b63f23fcae3/

来源: 前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

5 0
收藏该文
已收藏

评论内容:(最多支持255个字符)




程序员的那些事(new)

window属性:controllers

2022年最受欢迎的8大编程语言

为什么都说程序员找不到女朋友,但是身边程序猿的却没一个单身的

30岁以上你还死磕技术,别说拿高薪,可能你连饭碗都会保不住

程序员被开除,老板:“有你参与的项目全黄了!”

笑话:一个测试工程师走进一家酒吧

趣图:程序员头疼的4种原因

笑话:面试官:请拿出一段体现你水平的代码。我: sudo rm -rf /*面试官:这体现了你哪方面能力?

网友说:做开发,不被领导喜欢怎么办?

前端精选:在 WPF 中实现融合效果

电子书(new)

CSS3学习必备书籍(CSS3 实战).pdf

CSS网站布局实录(第二版).pdf

CSS禅意花园.pdf

HTML5权威指南.pdf

HTML5移动Web开发指南.pdf

零基础学HTML+CSS [第三版].pdf 下载

数据结构与算法 JavaScript 描述.pdf

客户端存储技术.pdf 下载

前端100本高清pdf电子书打包下载

深入理解HTML5:语义、标准与样式 PDF 下载

脚本(new)

压扁小鸟小游戏

.美女拼图游戏源码

JavaScript按键控制坦克移动

JavaScript打地鼠游戏

HTML5实现抓怪物小游戏

网页版-别踩白块游戏

网页版扫雷

HTML5实现拼图游戏

网页版2048

HTML5箭头射击游戏代码

博客(new)

Web 页面之间传递参数的几种方法

uniapp安卓离线打包步骤

Vue--》深入理解 Vue 3 导航守卫,掌握前端路由的灵魂技能!

java图片转二进制流_java将文件转化成二进制流

个人简历html网页代码(使用chatgpt完成web开发课的实验)

【HTTP 协议】掌握 Web 的核心技术

Three.js指定路径漫游(站走切换、路径动画、展示路线、开始、暂停、继续、退出、镜头跟随)

完全卸载vscode

flex布局优化(两端对齐,从左至右)

【熬夜送书 | 第二期】清华社赞助 | 《前端系列丛书》

视频教程(new)

带你快速入坑ES6

0到1快速构建自己的后台管理系统

基于Element-UI二次封装业务组件-前端视频教程

基于WebAR实现3D任务书桌上跳舞

Tensorflow.js 实现垃圾分类

全方位入门git

六个案例学会响应式布局

Ajax实战案例之列表渲染

Phaser从0到1实战微信2D小游戏【钢琴方块】

元旦贺卡-前端视频教程

项目实战(new)

NodeJS+Express+MongoDB实战项目

打造仿小米电商网站

2020版uni-app项目实战

2020前端React项目实战

小程序全栈开发之喵喵交友

Vue实战项目之喵喵电影

实战项目之网易云

实战项目之头条

前端实战项目之幸福西饼

实战项目之拉勾网

问答(new)

居中网站内容 + 垂直导航栏

如何将项目左对齐(标题)

Nunjucks 嵌套变量

文本显示在图像上悬停

HTML/CSS - 按钮在另一个元素下排列

MathJax 库在公式中留下滚动条

如何在MVC5中用Razor将一行设为红色

在 Razor 页面 WebApplication 中将帖子从文本区域保存到数据库

响应式图像背景尺寸封面

将图像放入图像内

游戏(new)

jQuery坦克大战网页小游戏

JS俄罗斯方块游戏代码

Vue.js注意力大考验小游戏代码

HTML欢乐打地鼠小游戏

HTML5糖果消消乐闯关小游戏

扑克牌翻牌记忆小游戏

HTML翻牌小游戏代码

HTML5拉杆子过关小游戏代码

HTML5倾斜迷宫小游戏

HTML5五子棋小游戏

其他资源(new)

jQuery益智拼图游戏

HTML5制作的2048游戏

.小球撞击游戏源码

驴子跳跳网页游戏源码

.jQuery五子棋游戏

HTML5街头霸王游戏源码

.网页版台球小游戏

地图拼图游戏

HTML5中国象棋游戏

Maven+JSP+SSM+Mysql实现的音乐网站

聚圣源男孩起名字好寓意的字鼠年风组词自己的店铺起名字新起点新征程励志名句牟其中萌字起名女孩鲁艺起名疯狂宝贝公司起名 水产起名包水机店起名古诗句 起名字增益给男孩起名的诗店铺起名周铭睿鼠年男宝宝起名免费梦见别人杀人砖厂起什么名字好一个小型餐馆起个名字卢姓女孩起名分数高威娜美发鹿鼎记黄晓明版剧情王者归来林风苏雅小说免费阅读中国叙利亚比分3寸是多少厘米西甲球队排名香艳小说建筑劳务公司起名参考公司起名吉数查询淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻让美丽中国“从细节出发”清明节放假3天调休1天男孩疑遭霸凌 家长讨说法被踢出群国产伟哥去年销售近13亿网友建议重庆地铁不准乘客携带菜筐雅江山火三名扑火人员牺牲系谣言代拍被何赛飞拿着魔杖追着打月嫂回应掌掴婴儿是在赶虫子山西高速一大巴发生事故 已致13死高中生被打伤下体休学 邯郸通报李梦为奥运任务婉拒WNBA邀请19岁小伙救下5人后溺亡 多方发声王树国3次鞠躬告别西交大师生单亲妈妈陷入热恋 14岁儿子报警315晚会后胖东来又人满为患了倪萍分享减重40斤方法王楚钦登顶三项第一今日春分两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?周杰伦一审败诉网易房客欠租失踪 房东直发愁男子持台球杆殴打2名女店员被抓男子被猫抓伤后确诊“猫抓病”“重生之我在北大当嫡校长”槽头肉企业被曝光前生意红火男孩8年未见母亲被告知被遗忘恒大被罚41.75亿到底怎么缴网友洛杉矶偶遇贾玲杨倩无缘巴黎奥运张立群任西安交通大学校长黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发妈妈回应孩子在校撞护栏坠楼考生莫言也上北大硕士复试名单了韩国首次吊销离岗医生执照奥巴马现身唐宁街 黑色着装引猜测沈阳一轿车冲入人行道致3死2伤阿根廷将发行1万与2万面值的纸币外国人感慨凌晨的中国很安全男子被流浪猫绊倒 投喂者赔24万手机成瘾是影响睡眠质量重要因素春分“立蛋”成功率更高?胖东来员工每周单休无小长假“开封王婆”爆火:促成四五十对专家建议不必谈骨泥色变浙江一高校内汽车冲撞行人 多人受伤许家印被限制高消费

聚圣源 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化