技海泛舟(个人技术研究)

  • 首页
  • 日积月累
  • 学习计划
  • 随想
  • project
  • 关于
技海泛舟
一个技术宅的博客
  1. 首页
  2. 日积月累
  3. vue
  4. 正文

vue 整合 secure-ls 和 vuex-persistedstate 实现 vuex 加密持久化

2021年11月17日 2592点热度

vue 整合 secure-ls 和 vuex-persistedstate 实现 vuex 加密持久化

依赖模块
npm install secure-ls
npm install vuex-persistedstate
store 配置
import Vue from 'vue'
import Vuex from 'vuex'
import SecureLS from "secure-ls"
import createPersistedState from "vuex-persistedstate"
var ls = new SecureLS({
    encodingType: "aes",
    isCompression: false,
    encryptionSecret: "old-beauty"
});
Vue.use(Vuex)

const store = new Vuex.Store({
    plugins: [
        createPersistedState({
            key: "oldBeautyStore",
            storage: {
                getItem: key => ls.get(key),
                setItem: (key, value) => ls.set(key, value),
                removeItem: key => ls.remove(key)
            }
        })
    ],
    state: {
        hasLogin: false,
        userInfo: {}
    },
    mutations: {
        login(state, provider) {
            state.hasLogin = true;
            state.userInfo = provider;
        },
        logout(state) {
            state.hasLogin = false;
            state.userInfo = {};
        }
    },
    getters:{
        getUserInfo(state) {
            return state.userInfo;
        }
    }
})

export default store

实现效果
在浏览器调试控制台中以加密形式显示,并且 getter 可以正常获取到数据

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2021年11月17日
下一篇 >
归档
  • 2024 年 11 月
  • 2024 年 8 月
  • 2024 年 5 月
  • 2024 年 2 月
  • 2023 年 12 月
  • 2023 年 11 月
  • 2023 年 9 月
  • 2023 年 6 月
  • 2022 年 12 月
  • 2022 年 11 月
  • 2022 年 10 月
  • 2022 年 9 月
  • 2022 年 8 月
  • 2022 年 7 月
  • 2022 年 6 月
  • 2022 年 5 月
  • 2022 年 4 月
  • 2022 年 3 月
  • 2022 年 2 月
  • 2022 年 1 月
  • 2021 年 12 月
  • 2021 年 11 月
  • 2021 年 10 月
  • 2021 年 5 月
分类
  • Android
  • Arduino
  • cordova
  • css
  • go
  • html5
  • JavaScript
  • nodejs
  • oracle
  • project
  • system
  • uni-app
  • vscode
  • vue
  • 学习计划
  • 摘抄
  • 随想

COPYRIGHT © 技海泛舟(个人技术研究). 2021-2023. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备2026065271号-1

蜀公网安备XXXXX号