前端Vue怎么获取登录的用户名或用户id

server/2024/9/24 8:01:46/

一、使用全局状态管理(Vuex)获取登录用户名

创建 Vuex store,并在其中定义一个用于存储用户名的状态。

javascript">// store.js
import Vue from 'vue';
import Vuex from 'vuex';Vue.use(Vuex);export default new Vuex.Store({state: {username: '', // 存储登录用户名的状态userid:'',//储存登录用户id},mutations: {setUsername(state, username) {state.username = username;},setUserid(state, userid) {state.userid = userid;},},
});

在登录成功后,将用户名保存到 Vuex store 中。

javascript">// 登录成功后的处理
this.$store.commit('setUsername', username);
this.$store.commit('setUserid', userid);

在需要获取登录用户名的组件中,使用计算属性来获取用户名。

javascript"><template><div><p>Welcome, {{ username }}</p></div>
</template><script>
export default {computed: {username() {return this.$store.state.username;},userid() {return this.$store.state.userid;},},
};
</script>

二、使用浏览器本地存储(localStorage)获取登录用户id

1.在登录成功后getUserid是我写的后端接口函数,SetUserId将用户id保存到 localStorage 中。

javascript">    getUserid().then(response => {// 获取用户ID成功const userId = response.data;setUserId(userId); // 保存用户id}).catch(error => {// 获取用户ID失败,可能是因为用户未登录console.error('获取用户ID失败:', error.response.data);// 在这里处理未登录的情况,比如跳转到登录页});

在auth.js中

javascript">// 设置用户id到 localStorage 中
export function setUserId(userId) {localStorage.setItem('userid', userId);
}
export function getUserId() {return localStorage.getItem('userid');
}

在需要获取登录用户名的组件中,通过读取 localStorage 来获取用户id。

javascript"><template><div></div>
</template><script>
export default {data() {return {userid:'',};},mounted() {this.user = getUserId('userid');},
};
</script>


http://www.ppmy.cn/server/39702.html

相关文章

DSOX4054A 示波器:500 MHz,4 个模拟通道

DSOX4054A 示波器 500 MHz 4 个模拟通道 100 万波形/秒捕获率 4000 X 系列拥有一系列引以为傲的配置&#xff0c;包括采用了电容触摸屏技术的 12.1 英寸显示屏、InfiniiScan 区域触摸触发、100 万波形/秒捕获率、MegaZoom IV 智能存储器技术和标配分段存储器。 主要特点 —…

android 蓝牙技术 学习记录 二

android 蓝牙连接 关键类 BluetoothDevice--------------------蓝牙设备 BluetoothGattCallback--------------连接回调 BluetoothGatt----------------------gatt 1. public BluetoothGatt connectGatt(Context context, boolean autoConnect, BluetoothGattCallback call…

【计网】TCP中的滑动窗口

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;日常聊聊 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 正文 工作原理如下&#xff1a; 结语 我的其他博客 正文 TCP&#xff08;传输控制协议&#xff09;中的滑动窗口是一种用于流量控制和拥…

Python框架Django入门教程

Django 是一个使用 Python 编程语言开发的、免费且开源的 Web 应用框架。它遵循 "DRY&#xff08;Dont Repeat Yourself&#xff09;" 原则&#xff0c;旨在简化创建功能丰富的、高效率的 Web 网站。Django 提供了模型-视图-控制器&#xff08;MVC&#xff09;架构的…

基于Springboot的家具网站

基于SpringbootVue的家具网站设计与实现 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringbootMybatis工具&#xff1a;IDEA、Maven、Navicat 系统展示 用户登录 首页 商家 家具信息 家居资讯 后台管理 后台首页 用户管理 商家管理 家具类型管理 家具…

05-07 周二 Python使用并行程序取代串行加速运行,样例程序演示

简介 在进行FastBuild优化的时候&#xff0c;需要串行的获取需要的组件的特征&#xff0c;之前是串行进行的&#xff0c;但是由于之前的设计存在问题&#xff0c;因此&#xff0c;总是很低效&#xff0c;主要是如下的原因&#xff1a; 镜像需要先下载&#xff0c;然后检测运行环…

Matten:视频生成与Mamba-Attention

Matten:视频生成与Mamba-Attention 摘要IntroductionRelated WorkMethodology Matten: Video Generation with Mamba-Attention 摘要 在本文中&#xff0c;作者介绍了Matten&#xff0c;一种具有Mamba-Attention架构的尖端潜在扩散模型&#xff0c;用于视频生成。在极小的计算…

如何設置使用Socks5代理(Mac系統)

Socks5代理是一種常用的代理伺服器協議&#xff0c;與其他類型的代理相比&#xff0c;Socks5代理支持更多的網路協議&#xff0c;因此它可以用於更多的應用場景&#xff0c;如Web流覽&#xff0c;郵件等等。此外&#xff0c;Socks5代理還支持各種身份驗證方法&#xff0c;包括無…