Files
client-qgdzs/utils/storage.js

83 lines
1.6 KiB
JavaScript

const TOKEN_KEY = 'access_token'
const REFRESH_TOKEN_KEY = 'refresh_token'
const USER_INFO_KEY = 'user_info'
const QUESTION_KEY = 'question'
const ANSWERED_QUESTIONS_KEY = 'answered_questions'
const storage = {
setToken(token) {
uni.setStorageSync(TOKEN_KEY, token)
},
getToken() {
return uni.getStorageSync(TOKEN_KEY) || ''
},
removeToken() {
uni.removeStorageSync(TOKEN_KEY)
},
setRefreshToken(token) {
uni.setStorageSync(REFRESH_TOKEN_KEY, token)
},
getRefreshToken() {
return uni.getStorageSync(REFRESH_TOKEN_KEY) || ''
},
removeRefreshToken() {
uni.removeStorageSync(REFRESH_TOKEN_KEY)
},
setUserInfo(userInfo) {
uni.setStorageSync(USER_INFO_KEY, userInfo)
},
getUserInfo() {
return uni.getStorageSync(USER_INFO_KEY) || null
},
removeUserInfo() {
uni.removeStorageSync(USER_INFO_KEY)
},
setQuestion(question) {
uni.setStorageSync(QUESTION_KEY, question)
},
getQuestion() {
return uni.getStorageSync(QUESTION_KEY) || null
},
removeQuestion() {
uni.removeStorageSync(QUESTION_KEY)
},
addAnsweredQuestion(sn) {
const answeredQuestions = this.getAnsweredQuestions()
if (!answeredQuestions.includes(sn)) {
answeredQuestions.push(sn)
uni.setStorageSync(ANSWERED_QUESTIONS_KEY, answeredQuestions)
}
},
getAnsweredQuestions() {
return uni.getStorageSync(ANSWERED_QUESTIONS_KEY) || []
},
isQuestionAnswered(sn) {
const answeredQuestions = this.getAnsweredQuestions()
return answeredQuestions.includes(sn)
},
clearAnsweredQuestions() {
uni.removeStorageSync(ANSWERED_QUESTIONS_KEY)
},
clearAll() {
uni.clearStorageSync()
}
}
export default storage