增加定时清理回收站文件
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { ref, computed } from 'vue'
|
||||
import { getSystemConfig } from '@/api/user'
|
||||
|
||||
export const useUserStore = defineStore('user', () => {
|
||||
const token = ref(localStorage.getItem('token') || '')
|
||||
@@ -11,7 +12,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
const phone = ref(localStorage.getItem('phone') || '')
|
||||
const email = ref(localStorage.getItem('email') || '')
|
||||
const storageUsed = ref(Number(localStorage.getItem('storageUsed')) || 0)
|
||||
const storageLimit = ref(Number(localStorage.getItem('storageLimit')) || 20 * 1024 * 1024 * 1024)
|
||||
const storageLimit = ref(Number(localStorage.getItem('storageLimit')) || 0)
|
||||
|
||||
const isLoggedIn = computed(() => !!token.value)
|
||||
|
||||
@@ -54,11 +55,23 @@ export const useUserStore = defineStore('user', () => {
|
||||
localStorage.setItem('storageUsed', storageUsed.value)
|
||||
}
|
||||
if (user.storageLimit !== undefined) {
|
||||
storageLimit.value = Number(user.storageLimit) || 20 * 1024 * 1024 * 1024
|
||||
storageLimit.value = Number(user.storageLimit) || 0
|
||||
localStorage.setItem('storageLimit', storageLimit.value)
|
||||
}
|
||||
}
|
||||
|
||||
const fetchStorageLimit = async () => {
|
||||
try {
|
||||
const res = await getSystemConfig()
|
||||
if (res.data?.storageLimitBytes) {
|
||||
storageLimit.value = res.data.storageLimitBytes
|
||||
localStorage.setItem('storageLimit', storageLimit.value)
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('获取存储配额失败', e)
|
||||
}
|
||||
}
|
||||
|
||||
const logout = () => {
|
||||
token.value = ''
|
||||
username.value = ''
|
||||
@@ -69,7 +82,7 @@ export const useUserStore = defineStore('user', () => {
|
||||
phone.value = ''
|
||||
email.value = ''
|
||||
storageUsed.value = 0
|
||||
storageLimit.value = 20 * 1024 * 1024 * 1024
|
||||
storageLimit.value = 0
|
||||
localStorage.removeItem('token')
|
||||
localStorage.removeItem('username')
|
||||
localStorage.removeItem('userId')
|
||||
@@ -82,5 +95,5 @@ export const useUserStore = defineStore('user', () => {
|
||||
localStorage.removeItem('storageLimit')
|
||||
}
|
||||
|
||||
return { token, username, userId, nickname, signature, avatar, phone, email, storageUsed, storageLimit, isLoggedIn, setToken, setUser, logout }
|
||||
return { token, username, userId, nickname, signature, avatar, phone, email, storageUsed, storageLimit, isLoggedIn, setToken, setUser, fetchStorageLimit, logout }
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user