当前位置: 首页 > news >正文

【第24章】Vue实战篇之用户信息展示

文章目录

  • 前言
  • 一、准备
    • 1. 获取用户信息
    • 2. 存储用户信息
    • 3. 加载用户信息
  • 二、用户信息
    • 1.昵称
    • 2.头像
  • 三、展示
  • 总结


前言

这里我们来展示用户昵称和头像。


一、准备

1. 获取用户信息

export const userInfoService = ()=>{return request.get('/user/info')
}

2. 存储用户信息

import { ref } from 'vue'
import { defineStore } from 'pinia'const useUserInfoStore = defineStore('userInfo', () => {const userInfo = ref({})const setUserInfo = (info)=>{userInfo.value=info}const getUserInfo = ()=>{return userInfo.value}const removeUserInfo = ()=>{userInfo.value={}}return {userInfo, setUserInfo, getUserInfo, removeUserInfo }
},{persist:true})
export default useUserInfoStore

3. 加载用户信息

完成上面两步的调用

import { onMounted } from 'vue'
import { userInfoService } from '@/api/user.js'
import useUserInfoStore from '@/stores/userInfo.js'onMounted(async () => {let result = await userInfoService()if (result.code == 0) {useUserInfoStore().setUserInfo(result.data)}
})

二、用户信息

1.昵称

<template #dropdown><el-dropdown-menu><div v-if="useUserInfoStore().getUserInfo().nickname" style=" text-align: center; "><span class="accent" data-v-6b0c93fd=""><strong>你好,{{useUserInfoStore().getUserInfo().nickname }}</strong></span></div><el-dropdown-item command="profile" :icon="User">基本资料</el-dropdown-item><el-dropdown-item command="avatar" :icon="Crop">更换头像</el-dropdown-item><el-dropdown-item command="password" :icon="EditPen">重置密码</el-dropdown-item><el-dropdown-item command="logout" :icon="SwitchButton">退出登录</el-dropdown-item></el-dropdown-menu>
</template>

2.头像

<span class="el-dropdown__box"><el-avatar :src="useUserInfoStore().getUserInfo().userPic?'avatar/'+useUserInfoStore().getUserInfo().userPic:avatar" /><el-icon><CaretBottom /></el-icon>
</span>

三、展示

效果如下图所示

在这里插入图片描述


总结

回到顶部

http://www.lryc.cn/news/378909.html

相关文章:

  • “打造智能售货机系统,基于ruoyi微服务版本生成基础代码“
  • oracle12c到19c adg搭建(五)dg搭建后进行切换19c进行数据字典升级
  • 在公司的一些笔记
  • 2020C++等级考试二级真题题解
  • 面试官:聊聊 nextTick
  • shell编程之条件语句(shell脚本)
  • QT中QSettings的使用系列之二:保存和恢复应用程序主窗口
  • Linux系统上安装Miniconda并安装特定版本的Python
  • 解决Qt中 -lGL无法找到的问题
  • 【重要】《HTML趣味编程》专栏内资源的下载链接
  • 苍穹外卖环境搭建
  • 切割游戏介绍
  • 对接Paypal、Stripe支付简单流程
  • 微服务中不同服务使用openfeign 相互调用
  • 社区项目-项目介绍环境搭建
  • 【论文阅读】-- Omnisketch:高效的多维任意谓词高速流分析
  • 【ajax核心03】封装底层axios函数
  • python科学计算
  • Leetcode - 132双周赛
  • Mongodb在UPDATE操作中使用$push向数组中插入数据
  • ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 锐化效果
  • 信息系统项目管理师 | 信息系统安全技术
  • Java数据类型与运算符
  • 网络虚拟化考题
  • 《C++ Primer》导学系列:第 7 章 - 类
  • idea intellij 2023打开微服务项目部分module未在左侧项目目录展示(如何重新自动加载所有maven项目model)
  • 生成视频 zeroscope_v2_576w 学习笔记
  • H3C综合实验
  • QThread 与QObject::moveToThread在UI中的应用
  • 安卓逆向案例——X酷APP逆向分析