6-6 vuex配合h5的session解决浏览器刷新问题

在web的pubile中加入session_storage.js:

// 所有的session key都在这里统一定义,可以避免多个功能使用同一个key
SESSION_ORDER = "SESSION_ORDER";
SESSION_TICKET_PARAMS = "SESSION_TICKET_PARAMS";

SessionStorage = {
    get: function (key) {
        // 浏览器关闭下一次重新打开还是能读取缓存: localStorage
        // 会话缓存  只对当前会话有用:sessionStorage
        var v = sessionStorage.getItem(key);
        if (v && typeof(v) !== "undefined" && v !== "undefined") {
            //转换成对象json格式
            return JSON.parse(v);
        }
    },
    set: function (key, data) {
        //放一个对象 转成json数据
        sessionStorage.setItem(key, JSON.stringify(data));
    },
    remove: function (key) {
        sessionStorage.removeItem(key);
    },
    clearAll: function () {
        sessionStorage.clear();
    }
};在

在index.html中加入:

<!--      <%= BASE_URL %>对应的就是public目录-->
    <script src="<%= BASE_URL %>js/session-storage.js"></script>

在store的index.js加入:

const MEMBER = "MEMBER";

member:window.SessionStorage.get(MEMBER) || {}    和   window.SessionStorage.set(MEMBER,_member)

如下:

import { createStore } from 'vuex'

const MEMBER = "MEMBER";

export default createStore({



      //获取实体类属性
      state: {
        //全局变量
        member:window.SessionStorage.get(MEMBER) || {}
      },
      //格式转换
      getters: {
      },
      //值的修改
      mutations: {
        //set设置值
        //_membe    r带表外部传入的值
        setMember(state,_member){
          state.member = _member;
          window.SessionStorage.set(MEMBER,_member)
        }
      },
      //异步任务
      actions: {
      },
      //模块化     
      modules: {
    }

})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值