vue打包之后通过跳转不能执行代码
我在A页面点击登录,拿到相关信息拼接到地址栏利用js打开B页面,B页面是通过vue生成出来的,在开发阶段vue的代码可以正常执行并显示用户名
这是开发阶段的样子
但是项目打包之后跳转到B页面,则不能显示用户名
但是,我如果直接复制这个地址,然后在新标签页里粘贴并打开页面,则可以正常执行我的代码并显示用户名
相关vue的代码如下
created() {
let _this = this;
let res = GetRequest();
// _this.showEnd = true;
if (
!sessionStorage.getItem("token") ||
sessionStorage.getItem("token") == "undefined"
) {
console.log("from miyue -->");
console.log(res);
if (!!res.token && res.token !== "") {
let loginAuthorization = res.user + ":" + res.user;
Cookies.set("token", res.token);
Cookies.set("loginAuthorization", loginAuthorization);
Cookies.set("refresh_token", res.refresh_token);
sessionStorage.setItem("user", res.user);
sessionStorage.setItem("isOneObject", res.isOneObject);
sessionStorage.setItem("token", res.token);
sessionStorage.setItem("refresh_token", res.refresh_token);
sessionStorage.setItem("loginAuthorization", loginAuthorization);
sessionStorage.setItem("INGEEKClients", res.INGEEKClients);
sessionStorage.setItem("userRole", res.userRole);
let sUserRole = JSON.parse(sessionStorage.getItem("userRole"));
console.log(sUserRole);
if (
sUserRole.indexOf("AMS_ADMIN") != -1 ||
sUserRole.indexOf("ADMIN") != -1
) {
sessionStorage.setItem("userRole", "sysadmin");
} else {
sessionStorage.setItem("userRole", "client_role");
}
this.$store.commit(
"changeUserRole",
sessionStorage.getItem("userRole")
);
_this.showEnd = true;
} else {
_this.$router.replace("/legout");
window.close();
}
} else {
this.$store.commit("changeUserRole", sessionStorage.getItem("userRole"));
_this.showEnd = true;
}
}
请大佬帮忙看下是什么问题?谢谢了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
目测是异步代码的时间差问题
找到问题了,这个A页面在登录的时候也会存一个token到sessionStorage里面,然后我这个B页面里sessionStorage里也会有一个token,两个token冲突了,所以判断直接走到下面去了。
这好巧不巧的,我现在把B页面的token名字改掉就可以了o(╥﹏╥)o