feat: 增加网页后台管理

This commit is contained in:
2026-07-21 17:46:00 +08:00
parent 1edb87b5f2
commit ef786b1529
42 changed files with 5222 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
import { defineStore } from 'pinia';
import { ref } from 'vue';
import { verifyToken } from '@/api/admin';
const TOKEN_KEY = 'admin_token';
const USER_KEY = 'admin_user';
export const useUserStore = defineStore('user', () => {
const token = ref<string>(localStorage.getItem(TOKEN_KEY) || '');
const username = ref<string>(localStorage.getItem(USER_KEY) || 'admin');
function setToken(value: string) {
token.value = value;
localStorage.setItem(TOKEN_KEY, value);
}
function setUser(value: string) {
username.value = value;
localStorage.setItem(USER_KEY, value);
}
/** 登录:先用令牌请求 /health 校验有效性,成功后再保存。 */
async function login(value: string) {
await verifyToken(value);
setToken(value);
}
function logout() {
token.value = '';
localStorage.removeItem(TOKEN_KEY);
}
return { token, username, setToken, setUser, login, logout };
});