云文件系统初始化

This commit is contained in:
2026-04-01 22:39:11 +08:00
commit 3a20f6e7ed
74 changed files with 8693 additions and 0 deletions

View File

@@ -0,0 +1 @@
export { useUserStore } from './user'

86
web-vue/src/store/user.js Normal file
View File

@@ -0,0 +1,86 @@
import { defineStore } from 'pinia'
import { ref, computed } from 'vue'
export const useUserStore = defineStore('user', () => {
const token = ref(localStorage.getItem('token') || '')
const username = ref(localStorage.getItem('username') || '')
const userId = ref(localStorage.getItem('userId') || null)
const nickname = ref(localStorage.getItem('nickname') || '')
const signature = ref(localStorage.getItem('signature') || '')
const avatar = ref(localStorage.getItem('avatar') || '')
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 isLoggedIn = computed(() => !!token.value)
const setToken = (newToken) => {
token.value = newToken
localStorage.setItem('token', newToken)
}
const setUser = (user) => {
if (user.id) {
userId.value = user.id
localStorage.setItem('userId', user.id)
}
if (user.username) {
username.value = user.username
localStorage.setItem('username', user.username)
}
if (user.nickname) {
nickname.value = user.nickname
localStorage.setItem('nickname', user.nickname)
}
if (user.signature !== undefined) {
signature.value = user.signature || ''
localStorage.setItem('signature', user.signature || '')
}
if (user.avatar !== undefined) {
avatar.value = user.avatar || ''
localStorage.setItem('avatar', user.avatar || '')
}
if (user.phone !== undefined) {
phone.value = user.phone || ''
localStorage.setItem('phone', user.phone || '')
}
if (user.email !== undefined) {
email.value = user.email || ''
localStorage.setItem('email', user.email || '')
}
if (user.storageUsed !== undefined) {
storageUsed.value = Number(user.storageUsed) || 0
localStorage.setItem('storageUsed', storageUsed.value)
}
if (user.storageLimit !== undefined) {
storageLimit.value = Number(user.storageLimit) || 20 * 1024 * 1024 * 1024
localStorage.setItem('storageLimit', storageLimit.value)
}
}
const logout = () => {
token.value = ''
username.value = ''
userId.value = null
nickname.value = ''
signature.value = ''
avatar.value = ''
phone.value = ''
email.value = ''
storageUsed.value = 0
storageLimit.value = 20 * 1024 * 1024 * 1024
localStorage.removeItem('token')
localStorage.removeItem('username')
localStorage.removeItem('userId')
localStorage.removeItem('nickname')
localStorage.removeItem('signature')
localStorage.removeItem('avatar')
localStorage.removeItem('phone')
localStorage.removeItem('email')
localStorage.removeItem('storageUsed')
localStorage.removeItem('storageLimit')
}
return { token, username, userId, nickname, signature, avatar, phone, email, storageUsed, storageLimit, isLoggedIn, setToken, setUser, logout }
})