修改當前路由地址引數重新重新整理頁面

awite發表於2024-10-16

需求:不允許token暴漏在位址列

  • 拿到token放到 sessionStorage裡面 並重新重新整理地址
  • 所有統一使用query的頁面就直接替換為sessionStorage
router.beforeEach((to, from, next) => { 
// ... 其他程式碼 ... 
// 檢查是否有 token 引數
if (to.query.token) { 
// 儲存 token 到
sessionStorage sessionStorage.setItem('token', to.query.token);
// 使用 Vue Router 的 replace 方法來更新 URL 
// 這裡我們建立一個新的路由物件,刪除 token 引數 
const newQuery = { ...to.query };
delete newQuery.token; 
// 刪除 token 引數 
router.replace({ ...to, query: newQuery })
.catch(err => {

console.error('Error while navigating:', err); 

}); } // 設定 store 中的 token store.state.login.token = sessionStorage.getItem('token') || ''; 
// ... 其他程式碼 ... // 呼叫 
next() 
以繼續導航 next(); 
});

相關文章