Skip to content
广告位招租

优质广告位诚邀合作

本广告位曝光量正火速攀升,用户触达规模呈爆发式增长!现向品牌开放合作,趁曝光增长红利期,抓紧机会拿下,让您的品牌借势破圈!

--总浏览量(次)
--总计访客(人)

续签凭证

续签凭证功能在store中的详细配置如下:

js
// /store/modules/user.js
import { setCookie, getCookie, removeCookie, accessTokenKey, refreshTokenKey } from "@/utils/auth"
import { commonApi } from "@/api"
import modal from "@/plugins/modal.js"

const getDefaultState = () => {
  return {
    accessToken: getCookie(accessTokenKey) || "", // 认证token
    refreshToken: getCookie(refreshTokenKey) || "", // 刷新token
  }
}
const state = getDefaultState()

const mutations = {
  // 重置初始化值
  RESET_STATE: (state) => {
    Object.assign(state, getDefaultState())
  },
  // 设置token
  SET_TOKEN: (state, data) => {
    const { accessToken, refreshToken, reFreshExpiresIn, tokenExpiresIn} = data
    // 保持登录时 AccessToken的存储时间和refreshToken一样    不保持登录时 AccessToken的存储有效时间为 真实有效时间
    const expiresIn = state.keepLogin === "1" ? reFreshExpiresIn : tokenExpiresIn
    state.accessToken = accessToken
    setCookie(accessTokenKey, accessToken, expiresIn/1000)
    state.refreshToken = refreshToken
    setCookie(refreshTokenKey, refreshToken, expiresIn/1000)
  },
  SET_USER_INFO: (state, userInfo) => {
    state.userInfo = userInfo
  },
  // 清除token
  CLEAR_AUTH: (state) => {
    state.accessToken = ""
    removeCookie(accessTokenKey)
    state.refreshToken = ""
    removeCookie(refreshTokenKey)
  },
  // 存储refreshToken
  SET_REFRESH_TOKEN: (state, refreshToken) => {
    state.refreshToken = refreshToken
    setCookie(refreshTokenKey, refreshToken)
  },
}

const actions = {
  // 设置项目token
  setToken({commit}, data) {
    return new Promise((resolve, reject) => {
      commit("SET_TOKEN", data)
      resolve()
    })
  },
  // 刷新token
  refreshToken({commit}, refreshToken) {
    return new Promise((resolve, reject) => {
      commonApi.refreshToken({refreshToken}).then(data => {
        commit("SET_TOKEN", data)
        resolve()
      })
    })
  },
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

getters.js 暴露

js
// /store/getters.js
const getters = {
  // token
  accessToken: state => state.user.accessToken,
  refreshToken: state => state.user.refreshToken,
}
export default getters

温馨提示

上面代码为部分代码,仅供参考

微信公众号【爆米花小布】

0%

置顶

置顶