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

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

阅读 716
评论
    2 个回答
    • 109

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

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

        撰写回答

        登录后参与交流、获取后续更新提醒

        相似问题
        推荐文章