美文网首页
sessionStorage

sessionStorage

作者: Gopal | 来源:发表于2017-11-13 16:20 被阅读5次

    作用
    提供web存储功能

    封装
    项目中将其封装成一个类,并使用export default new WebStoarage()导出

    storage.js

    /**
     * storage.js
     * 提供web存储功能
     *  - 只使用sessionStorage
     */
    
    class WebStoarge {
      constructor () {
        if (!window.sessionStorage) {
          console.warn('该浏览器不支持window.sessionStorage')
        }
        this.storage = {}
      }
    
      injection (name) {
        if (name && typeof name === 'string') {
          this.storage[name] = 'DOCUMENT-' + name.toUpperCase()
        }
      }
    
      get (name) {
        if (name in this.storage) {
          return window.sessionStorage.getItem(this.storage[name])
        }
        return ''
      }
    
      set (name, value) {
        if (name in this.storage) {
          window.sessionStorage.setItem(this.storage[name], value)
        }
      }
    
      remove (name) {
        if (name in this.storage) {
          window.sessionStorage.removeItem(this.storage[name])
        }
      }
    
      clear () {
        window.sessionStorage.clear()
      }
    }
    
    export default new WebStoarge()
    

    main.js
    导入
    import webStorage from './utils/storage'
    Vue.prototype.$storage = webStorage

    // 注册storage, 形式:DOCUMENT-CODE
    webStorage.injection('NAME')
    webStorage.injection('TOKEN')
    

    相关文章

      网友评论

          本文标题:sessionStorage

          本文链接:https://www.haomeiwen.com/subject/pnaamxtx.html