vue打包之后通过跳转不能执行代码

我在A页面点击登录,拿到相关信息拼接到地址栏利用js打开B页面,B页面是通过vue生成出来的,在开发阶段vue的代码可以正常执行并显示用户名
image.png
这是开发阶段的样子

但是项目打包之后跳转到B页面,则不能显示用户名
image.png

但是,我如果直接复制这个地址,然后在新标签页里粘贴并打开页面,则可以正常执行我的代码并显示用户名
image.png

相关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;
    }
  }

请大佬帮忙看下是什么问题?谢谢了。

阅读 3.1k
2 个回答

目测是异步代码的时间差问题

找到问题了,这个A页面在登录的时候也会存一个token到sessionStorage里面,然后我这个B页面里sessionStorage里也会有一个token,两个token冲突了,所以判断直接走到下面去了。
这好巧不巧的,我现在把B页面的token名字改掉就可以了o(╥﹏╥)o

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏