本番環境とテスト環境のパスが異なり、global_を定義します.variable.jsグローバル変数、異なる環境に異なるパスを与え、vueはグローバル変数を定義する
2058 ワード
tokenの失効には、集約プラットフォームのログインページにジャンプする必要がありますが、本番環境とテスト環境のパスが異なるため、global_を定義します.variable.jsグローバル変数、異なる環境に異なるパスを与える
global_variable.js
main.js
よびだし
tokenが無効になって正しいログインページに移動した後、ブラウザのロールバックページをクリックすると、Cannot read property'relogin_baseUrl’of undefined、解決策はrouter、errorフックの中でこのmessageだと判断し、ログインページにリダイレクトして前のページに戻って対応する変数が見つからないことです.このパスを再度ログインページにリダイレクトします(tokenが失効したりログインを終了したりするのは卑怯なシステムのログインページですが、前のページに戻るのはログイン状態がなく他人のログインページに移動し続けることに相当します)
global_variable.js
let relogin_baseUrl=''
switch (window.location.hostname) {
case '172.16.72.108':// 172.16.72.108
relogin_baseUrl='http://172.16.75.200:81/#/login'
break;
default:// 10.12.31.188
relogin_baseUrl='http://www.xaadmin.com/#/login'
break;
}
console.log(relogin_baseUrl)
export default{
relogin_baseUrl
}
main.js
import global_variable from './global_variable.js'
vue.prototype.global_variable = global_variable
よびだし
window.location.href=this.global_variable.relogin_baseUrl
tokenが無効になって正しいログインページに移動した後、ブラウザのロールバックページをクリックすると、Cannot read property'relogin_baseUrl’of undefined、解決策はrouter、errorフックの中でこのmessageだと判断し、ログインページにリダイレクトして前のページに戻って対応する変数が見つからないことです.このパスを再度ログインページにリダイレクトします(tokenが失効したりログインを終了したりするのは卑怯なシステムのログインページですが、前のページに戻るのはログイン状態がなく他人のログインページに移動し続けることに相当します)
router.onError((error) => {
const pattern = /Loading chunk (\d)+ failed/g;
const isChunkLoadFailed = error.message.match(pattern);
console.log(error)
if (isChunkLoadFailed) {
console.log(isChunkLoadFailed,'/Loading chunk (\d)+ failed/g',' moudle')
window.location.reload();
}else{
if(error.message === "Cannot read property 'relogin_baseUrl' of undefined"){// token moudle
switch (window.location.hostname) {
case '172.16.72.108':// 172.16.72.108
window.location.href='http://172.16.75.200:81/#/login'
break;
default:// 10.12.31.188
window.location.href='http://www.xaadmin.com/#/login'
break;
}
}else{
console.log(error)
}
}
});