vue2项目中调取登录接口登录以后获取个人信息以后,储存在哪里,怎么在不同的页面展示想要的信息?

这篇具有很好参考价值的文章主要介绍了vue2项目中调取登录接口登录以后获取个人信息以后,储存在哪里,怎么在不同的页面展示想要的信息?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在Vue2项目中,可以将个人信息存储在Vuex状态管理中或者浏览器的本地存储中,具体取决于项目的需求和规模。

1. Vuex状态管理

在Vuex中定义一个user模块,用于存储用户信息,可以在登录成功后将用户信息存储到该模块中。

// store/user.js

   const state = {

         userInfo: ''

        }

   const mutations = {

         setUserInfo(state, userInfo) {

         state.userInfo = userInfo

                   }

                 }

   const actions = {

      login({ commit }, userInfo) {

     // 调用登录接口

// 登录成功后将用户信息存储到Vuex中

   commit('setUserInfo', userInfo)

              }

          }

export default {

       namespaced: true,

      state,

       mutations,

       actions

              }

在需要展示用户信息的组件中,可以通过Vuex的mapState辅助函数获取用户信息并展示。

  // components/UserInfo.vue

 <template>

   <div>

       <p>用户名:{{ userInfo.username }}</p>

       <p>邮箱:{{ userInfo.email }}</p>

  </div>

</template>

<script>

import { mapState } from 'vuex'

export default {

computed: {

       ...mapState('user', ['userInfo'])

                  }

                }

</script>

2. 浏览器的本地存储

在登录成功后,可以将用户信息存储到浏览器的本地存储中,例如localStorage或sessionStorage。

        // 登录成功后将用户信息存储到localStorage中

        localStorage.setItem('userInfo', JSON.stringify(userInfo))

在需要展示用户信息的组件中,可以通过localStorage获取用户信息并展示。

// components/UserInfo.vue

<template>

<div>

   <p>用户名:{{ userInfo.username }}</p>

   <p>邮箱:{{ userInfo.email }}</p>

</div>

</template>

<script>

export default {

computed: { userInfo() {

return JSON.parse(localStorage.getItem('userInfo'))

}

}

}

</script>

需要注意的是,使用浏览器的本地存储存储用户信息存在安全风险,因此需要对用户信息进行加密处理。同时,如果用户信息需要在多个页面中展示,建议使用Vuex状态管理。

 文章来源地址https://www.toymoban.com/news/detail-425152.html

补充一点,在 Vue 中,可以使用浏览器的本地存储(localStorage 或 sessionStorage)来存储数据。

当页面重新加载时,浏览器会自动将存储在本地存储中的数据读取出来,因此可以在页面重新加载后重新加载到 Vuex 中。

具体来说,可以在 Vue 应用中使用 Vuex 插件 vuex-persistedstate 来实现将 Vuex 中的数据存储到本地存储中。该插件会在每次 Vuex 状态发生变化时,将状态数据存储到本地存储中。当页面重新加载时,该插件会自动将存储在本地存储中的数据读取出来,并将其设置为 Vuex 的初始状态。

因此,通过使用 vuex-persistedstate 插件,可以实现在页面重新加载后重新加载到 Vuex 中。

 

 首先:我们需要安装一个vuex的插件vuex-persistedstate来支持vuex的状态持久化

 

npm i vuex-persistedstate

 

               然后:在src/store 文件夹下新建 modules 文件,在 modules 下新建 user.js 和 cart.js和category.js三个模块。 (根据项目需求创建)

vue2项目中调取登录接口登录以后获取个人信息以后,储存在哪里,怎么在不同的页面展示想要的信息?

继续:在 src/store/index.js 中导入 user cart category 三模块。

import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'

  最后:使用vuex-persistedstate插件来进行持久化

import { createStore } from 'vuex'
// 引入vuex持久化方法createPersistedState
import createPersistedState from 'vuex-persistedstate'
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'
 
export default createStore({
  state: {},
  mutations: {},
  actions: {},
  getters: {},
  modules: {
    // 模块化数据
    user,
    cart,
    category
  },
  plugins: [
    // veux持久化配置
    createPersistedstate({
      key: 'rabbitstore-client',
      paths: ['user', 'cart', 'category'] 
                                }) 
             ] 
        })

 

  

 

  

 

到了这里,关于vue2项目中调取登录接口登录以后获取个人信息以后,储存在哪里,怎么在不同的页面展示想要的信息?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【项目复盘Vue2-移动端】IOS使用Vant表单组件输入框获取焦点后放大页面,安卓软键盘遮挡问题

    使用Vue+Vant做的移动端项目,在登录界面使用Vant的表单组件van-input时发现在真机测试IOS会出现获取焦点输入时会撑大原页面的宽度,每一个输入框获取到焦点就会页面就会放大一点点,需要双指缩放才能回到原来的比例。 经过一番百度后发现: 在移动端开发项目中,发现页

    2024年02月12日
    浏览(69)
  • springboot获取登录用户的个人信息

    在Spring Boot中,获取登录用户的个人信息通常需要使用Spring Security框架来进行身份认证和授权。Spring Security提供了一个名为SecurityContextHolder的上下文对象,它包含了当前请求的身份认证信息。通过SecurityContextHolder,可以访问当前已认证的用户的信息。 当使用 Spring Boot + Spring

    2023年04月19日
    浏览(76)
  • uniapp获取用户信息(登录及个人中心页面的实现)

    因为在微信小程序中wx.getuserInfo已经失效,所以我们在uniapp中也应该使用wx.getUserProfile来获取用户信息 页面的逻辑 一上来加载个人中心页,当用户点击未登录三个字时跳转登录页 登录页点击微信登录应该跳出授权弹窗获取用户的授权信息(使用wx.getUserProfile) 当用户点击同意

    2024年02月11日
    浏览(53)
  • Vue系列第四篇:Vue2 + Element开发登录页面

           Vue开发中Element是一个比较受欢迎的界面库,实际开发中Vue2搭配Element UI开发,Vue3搭配Element plus开发,今天就用Vue2 + Element来开发登录页面。 目录 1.Element UI介绍 1.1官网 1.2element-ui安装 2.开发环境准备 2.1core-js安装 2.2浏览器自动打开和关闭useEslint校验配置 2.3Element UI全局

    2024年02月16日
    浏览(49)
  • SpringBoot调取OpenAi接口实现ChatGpt功能

    很高兴和大家分享我实现的一个小项目,利用 Spring Boot 实现了一个 ChatGpt 对话系统。在本文中,我将详细介绍这个项目的实现步骤,以及代码实现。 ChatGpt 是一种基于 GPT 技术的对话系统,能够生成连贯、流畅、语法正确的自然语言响应。GPT (Generative Pretrained Transformer) 是一种

    2024年02月02日
    浏览(43)
  • 个人项目(1):资源获取

    一个游戏项目往往需要许多美术及多媒体资源的支持,包括人物模型及动画、音效、图片、视频等,有了这些资源才能更好地规划项目的主体制作过程以及一些功能,我项目制作的第一步是从资源寻找开始的。 Unity商店 获取模型与动画资源最直接的方法就是直接去Unity商店下

    2024年02月04日
    浏览(35)
  • Vue系列第五篇:Vue2(Element UI) + Go(gin框架) + nginx开发登录页面及其校验登录功能

       本篇使用Vue2开发前端,Go语言开发服务端,使用nginx代理部署实现登录页面及其校验功能。 目录 1.部署结构 2.Vue2前端 2.1代码结构 2.1源码 3.Go后台服务 3.2代码结构 3.2 源码 3.3单测效果 4.nginx 5.运行效果 6.问题总结   index.html !DOCTYPE html html   head     meta charset=\\\"utf-8\\\"     m

    2024年02月15日
    浏览(58)
  • element上传图片,调取接口传值,参数FormData为空

    输入完reason,选完文件后,点击提交按钮后 调取接口。 上传文件 orderFile 字段一直为空 打印了发现,上传文件也是有值得。但是传到接口中就为空 json 里边不能放 file ,但是 formData 里可以放 file 也可以放 json 应该说是 formData 里可以放任何你需要提交的东西 所以 修改后将需

    2024年02月11日
    浏览(43)
  • 【h5+微信小程序】vue2实现h5扫码登录功能

    需要实现在同域名的h5页面上增加一个微信扫码登录的功能,如果用户已经有小程序的账号,可以直接登录。 使用 :vue2+微信小程序原生开发 可以实现上述功能的 前提 是:同一用户,对同一个微信开放平台下的不同应用,UnionID是相同的。域名已经配置。 可以用什么来区分

    2024年02月14日
    浏览(71)
  • vue2和elementUI 打造落日余晖登录页和滑块校验

    标题很夸张,实则是AI的功能,今天咱也搞一个登录页,其实满简单的一个东东,大家也都会用到,本次仅限前端,没有任何后台交互,技术 vue 、 vue-router 、 element-ui ,因为背景图是落日,所以就叫它 落日余晖登录页 吧 使用指令直接构建的,选择vue2版本 构建后的项目,删

    2024年02月05日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包