Files
airz-uniapp/services/cache-lifecycle.uts
T

20 lines
1.1 KiB
Plaintext
Raw Normal View History

// 只清理指定账户命名空间,不触及其他账户或旧匿名草稿。
export function clearAccountCache(userId: string): void {
if (userId.length == 0) return
const prefix = 'airz:v1:user:' + userId + ':'
const pendingCheckIn = prefix + 'finance.points.checkin.pending'
uni.getStorageInfoSync().keys.forEach((key: string) => {
// 未确认的签到是恢复用命令上下文,仅保留原键/业务日/规则,重新登录后仍须服务端鉴权。
if (key.startsWith(prefix) && key != pendingCheckIn) uni.removeStorageSync(key)
})
}
// 草稿功能已取消,启动时移除旧版本遗留键,不自动导入或恢复敏感表单。
export function clearLegacyAssessmentCache(): void {
uni.getStorageInfoSync().keys.forEach((key: string) => {
if (key == 'assessmentDraft' || key.startsWith('assessmentDraft:') || key.endsWith(':assessmentDraft')
|| key.includes(':assessmentDraft:') || key.endsWith(':assessmentActiveType') || key.endsWith(':assessmentEditStep')
|| key == 'assessmentActiveType' || key == 'assessmentEditStep') uni.removeStorageSync(key)
})
}