之前做过一次项目又忘了,这次记录一下
在这里插入图片描述
也就是这个”个人信息"的小细节
思路:
在登录成功直接保存用户基本信息到全局user,随后在需要获取的时候再从user中取出。退出账户的时候删除user的相关信息
第一步:在登录成功直接保存用户基本信息到全局user
LoginView.vue登录页面:

<script>
  methods: {
    login() {
      this.$refs["form"].validate((valid) => {
        if (valid) {
          request.post("/user/login", this.form).then((res) => {
            if (res.code === 0) {
              this.$message.success("登录成功");
              localStorage.setItem("user", JSON.stringify(res.data)); //存储用户信息到浏览器
              this.$router.push("/"); //登录成功后进行页面跳转
              console.log("Login" + res.data.nickname);
            } else {
              this.$message.error(res.msg);
            }
          });
        }
      });
    },
  },
};
</script>

在登录成功后浏览器已经成功存储user
在这里插入图片描述

第二步:在需要获取的时候再从user中取出
例如:我在header中需要用户的昵称
在这里插入图片描述
那么我就在header组件中取出user
header头部组件

<script >

export default {
 ...
  data() {
    return {
      user: JSON.parse(localStorage.getItem("user")),
    }
  },
...
</script>

再在页面中调用

<span class="el-dropdown-link" style="font-size: 16px">{{ user.nickname }}</span>

于是就成功取出用户的昵称

在账户退出时也不要忘了删本地存储信息

<script>
	methods: {
	    logout() {
	      this.$router.push("/login");
	      localStorage.removeItem("user");
	      this.$message.success("退出成功");
	    },
	  },
</script>

其他的信息,比如头像也是以此类推

个人详情信息也是一样
在这里插入图片描述

  created() {
    const username = this.user.username;
    if (!username) {
      this.$message.error("无法获取用户信息");
      return;
    }
    request.get("/user/getUsername/" + username).then((res) => {
      this.form = res.data;
    });
  },
GitHub 加速计划 / vu / vue
109
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐