1. 程式人生 > >vue授權頁面登陸之後返回之前的頁面

vue授權頁面登陸之後返回之前的頁面

import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
import home from "@/pages/home"
import mine from "@/pages/mine"
import login from '@/pages/login'
import register from '@/pages/register'

const router = new Router({
mode: 'history',
routes: [{
path: '/',
name: 'home',
component: home,
meta:{
homePages:true
}
},
{
path:'/home',
component:home,
meta:{
homePages:true
}
},
{
path:"/mine",
name:"mime",
component:mine,
meta:{
requiresAuth:false
}
},
{
path: '/login',
name: 'login',
component: login,
meta:{
requiresAuth:true
}
},
{
path: '/register',
name: 'register',
component: register,
meta:{
requiresAuth:true
}
},
]
});

router.beforeEach((to, from ,next) => {
const token = localStorage.getItem("token")
if(to.matched.some(record => record.meta.requireAuth || record.meta.homePages)){
//路由元資訊requireAuth:true,或者homePages:true,則不做登入校驗
next()
}else{
if(token){//判斷使用者是否登入
if(Object.keys(from.query).length === 0){//判斷路由來源是否有query,處理不是目的跳轉的情況
next()
}else{
let redirect = from.query.redirect//如果來源路由有query
if(to.path === redirect){//這行是解決next無限迴圈的問題
next()
}else{
next({path:redirect})//跳轉到目的路由
}
}
}else{
if(to.path==="/login"){
next()
}else{
next({
path:"/login",
query: {redirect: to.fullPath}//將目的路由地址存入login的query中
})
}
}
}
return
})
export default router;

相關推薦

vue授權頁面登陸之後返回之前頁面

import Vue from 'vue'import Router from 'vue-router'Vue.use(Router)import home from "@/pages/home"import mine from "@/pages/mine"import login from '@/pages

React頁面登入之後返回之前瀏覽頁面

路由配置 <Route path='/Login(/:router)' component={Login}/>//匹配 /Login,/Login/detail/100 在登入頁面程式碼 //驗證如果路由中存在router將跳回到指定頁面 const param

React登陸賬號之後返回之前頁面

登入之後需要跳轉的頁面。即在哪個頁面登入的,登入完了之後還要再跳轉到哪個頁面 路由的配置 登陸的路由 <Route path='/login(/:router)' component={Login} /> 詳情頁的路由 <Route pa

解決vue頁面跳轉返回頁面不重新整理的問題

一、問題:在vue專案中通過location.href跳轉到第三方頁面,然後點選瀏覽器返回按鈕回到自己的頁面,用nginx起服務頁面不重新整理,在用node起服務中頁面是正常重新整理的; 二、產生該問題的原因:微信瀏覽器對頁面進行快取; 三、解決方案: 1    window.onpage

解決vue頁面跳轉返回頁面不刷新的問題

() function -h null 頁面 margin 我們 col cati 一、問題:在vue項目中通過location.href跳轉到第三方頁面,然後點擊瀏覽器返回按鈕回到自己的頁面,用nginx起服務頁面不刷新,在用node起服務中頁面是正常刷新的; 二、產生該

HTML中使用者輸錯使用者名稱或密碼,頁面跳轉3秒鐘之後返回登入頁面

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta http-equiv="re

vue小筆記 打包之後,重新整理頁面出現404的問題

官網解決方案 https://router.vuejs.org/zh-cn/essentials/history-mode.html 需要在後端進行配置 Apache <IfModule mo

web 開發,個人中心每個請求,判斷使用者是否登入,若沒有登入,則跳轉到登入頁面,登入成功後返回之前頁面

首先要在web.xml裡面配製一個usercenter過濾器,當用戶請求中包含http.../usercenter/..如下時,則會執行userCenterFilter過濾器,判斷使用者是否登入,若沒有登入,則通過req.getRequestURI();獲得請求路徑,通過r

Android 如何保證App切換到後臺,或頁面跳轉後,重新開啟APP、或返回之前頁面時,維持其狀態不變

專案中遇到的一些小問題,記錄、分享一下。 Android 如何保證App切換到後臺,或頁面跳轉後,重新開啟APP、或返回之前頁面時,維持其頁面狀態不變? 1、問:當APP啟動後,開啟某一介面,然後點選手機HOME鍵,使應用程式退到後臺;當再次開啟App時,如何保證

頁面submit 之後重新整理父頁面

解決問題之後寫的部落格,直接上程式碼了,為了說明的清楚加了些註釋。 function openWin() { window.open('addInfo.jsp', '_blank', 'width=300,height=400,top=200,left=400'); }   //定義callbac

SpringMvc中,Controller方法的多種實現方式(指定返回到哪個頁面,指定返回頁面的資料)

1)ModelAndView@RequestMapping("/list") public ModelAndView itemsList() throws Exception{ List<Items> list = itmesService.lis

Vue中使用vuex在頁面重新整理之後狀態不丟失的解決方法

const store = new Vuex.Store({ // 定義狀態             myInfo: JSON.parse(localStorage.getItem("myInfo")) || {}, //這裡

點選vue-scroller中的item進入其他頁面返回時,定位到點選前的item位置

1.新建.vue檔案封裝vue-scroller,並新增如下方法 getPosition(){ return this.$refs.scroller.getPosition() }, scrollTo(x, y, animate){ this.$refs

nginx 配置解決 ---react 、vue頁面路由之後重新整理404---問題

nginx中文文件:http://www.nginx.cn/doc/ nginx官網:http://nginx.org/en/docs/ Nginx開發從入門到精通:http://tengine.taobao.org/book/index.html 1、問題現象? 答:在瀏覽器中直接

ajax請求成功之後返回的資料,怎樣顯示到頁面,跟隨表單一起提交

.val用來獲取input框內輸入的值 ajax裡 $("#imageSrc").val(data); // 獲取到輸入的值 對應html裡 < input name=“data[imageSrc]” id=“imageSrc” type=“hidden”> .html,用來

學習札記——JSP實現登陸返回歷史瀏覽頁面

參考資料 :1、  http://www.myexception.cn/java-web/21981.html      2、http://www.myexception.cn/web/605128.html 實現思路: 1、獲取歷史瀏覽頁面路徑 2、儲存路徑 3、登陸成

vue 返回重新整理頁面 不keepAlive

問題: vue專案,從A頁面進入B頁面,再返回A頁面的時候,頁面不重新整理。 舉例: 從列表頁面,選擇一條資料點選進去檢視詳情,這時候頁面重新整理了,並且執行了 created()方法和 mounted()方法,這個時候返回上一頁,也就是列表頁面,選擇另外一條資料點選進來檢視詳情,頁面上

vue移動端專案中返回上一路由頁面、根據當前路由資訊控制返回鍵的顯示與隱藏

最近在做一個小型的vue移動端專案(自己練手),遇到的兩個問題記錄一下: 問題1:如何使用點選方式控制當前頁面返回到上一個路由頁面:  在網上查閱了相關的資料,返回上一目錄用到的是 this.$router.go(-1); 將該方法些到返回按鈕上,點選觸發該方法;具體程

shiro自定義登陸和推出的過濾器,實現登陸之後根據條件跳轉不同頁面,推出登陸根據條件跳轉不同頁面

shiro中我們可以通過自定義過濾器的方式來實現自己想要的結果,比如想要登陸之後跳轉不同頁面 @Bean(name = "shiroFilter") public ShiroFilterFactoryBean getShiroFilterFacto

微信公眾號開發 用vue做前端頁面 解決IOS返回白屏問題

問題描述: 進入A頁面——>B頁面——>ios自帶的返回——>白屏出現——>手動點選白屏處——>問題解決 原因分析:  在ios機器上使用webview開發Vue專案時候,go history(-1), 無法將body的高度拉掉,使得遮住,