猫妈狗爸伴宠师小程序前端代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

98 lines
2.6 KiB

// 答题数据本地存储工具
const EXAM_STORAGE_KEY = 'exam_answers_data'
const examStorage = {
// 保存答题数据
saveAnswer: function(examType, questionId, value) {
try {
let examData = uni.getStorageSync(EXAM_STORAGE_KEY) || {}
// 确保examType存在
if (!examData[examType]) {
examData[examType] = {}
}
// 保存答案
examData[examType][questionId] = {
value: value,
timestamp: Date.now()
}
uni.setStorageSync(EXAM_STORAGE_KEY, examData)
} catch (error) {
console.error('保存答题数据失败:', error)
}
},
// 获取答题数据
getAnswer: function(examType, questionId) {
try {
let examData = uni.getStorageSync(EXAM_STORAGE_KEY) || {}
if (examData[examType] && examData[examType][questionId]) {
return examData[examType][questionId].value
}
return null
} catch (error) {
console.error('获取答题数据失败:', error)
return null
}
},
// 获取某个考试类型的所有答题数据
getAllAnswers: function(examType) {
try {
let examData = uni.getStorageSync(EXAM_STORAGE_KEY) || {}
return examData[examType] || {}
} catch (error) {
console.error('获取所有答题数据失败:', error)
return {}
}
},
// 清除某个考试类型的答题数据
clearExamAnswers: function(examType) {
try {
let examData = uni.getStorageSync(EXAM_STORAGE_KEY) || {}
if (examData[examType]) {
delete examData[examType]
uni.setStorageSync(EXAM_STORAGE_KEY, examData)
}
} catch (error) {
console.error('清除答题数据失败:', error)
}
},
// 清除所有答题数据
clearAllAnswers: function() {
try {
uni.removeStorageSync(EXAM_STORAGE_KEY)
} catch (error) {
console.error('清除所有答题数据失败:', error)
}
},
// 检查答题数据是否过期(可选功能,比如24小时后过期)
isAnswerExpired: function(examType, questionId, expireHours = 24) {
try {
let examData = uni.getStorageSync(EXAM_STORAGE_KEY) || {}
if (examData[examType] && examData[examType][questionId]) {
const timestamp = examData[examType][questionId].timestamp
const now = Date.now()
const expireTime = expireHours * 60 * 60 * 1000 // 转换为毫秒
return (now - timestamp) > expireTime
}
return true // 没有数据视为过期
} catch (error) {
console.error('检查答题数据过期失败:', error)
return true
}
}
}
export default examStorage