This commit is contained in:
2026-04-28 18:40:07 +08:00
parent 69b25d2625
commit b5dbe9c351
9 changed files with 70 additions and 33 deletions
+1 -1
View File
@@ -18,7 +18,7 @@ export const authApi = {
/** 获取系统管理员列表(仅管理员可访问) */
sysAdmins() {
return api.post('/users/sysadmins', {})
return api.post('/admin/sysadmins', {})
},
/** 修改密码 */
+8
View File
@@ -95,6 +95,14 @@ export const api = {
return unwrapResponse(res)
},
/**
* POST JSON (原始格式,不包装 data 层)
*/
async postRaw(path, payload = {}) {
const res = await http.post(path, payload)
return unwrapResponse(res)
},
/**
* POST FormData(文件上传)
*/
@@ -19,6 +19,7 @@ const router = useRouter();
const route = useRoute();
const userStore = useUserStore();
const isDark = ref(document.documentElement.classList.contains("dark"));
const mobileMenuOpen = ref(false);
const userDropdownOpen = ref(false);
@@ -152,7 +153,7 @@ const navItems = computed(() => [
</RouterLink>
<RouterLink
v-if="userStore.isSysAdmin"
to="/sysadmin"
to="/admin"
class="flex items-center gap-2 px-4 py-2 text-sm text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-900/20"
@click="userDropdownOpen = false"
>
@@ -225,6 +226,15 @@ const navItems = computed(() => [
<IconSettings :size="16" />
{{ t("message.user_settings") }}
</RouterLink>
<RouterLink
v-if="userStore.isSysAdmin"
to="/admin"
class="flex items-center gap-2 px-4 py-2 text-sm text-amber-600 hover:bg-amber-50 dark:text-amber-400 dark:hover:bg-amber-900/20"
@click="userDropdownOpen = false"
>
<IconShield :size="16" />
系统管理
</RouterLink>
<hr class="my-1 border-gray-200 dark:border-dk-muted" />
<button
class="flex w-full items-center gap-2 px-4 py-2 text-sm text-red-600 hover:bg-red-50 dark:text-red-400 dark:hover:bg-red-900/20"
+1 -1
View File
@@ -109,7 +109,7 @@ const router = createRouter({
component: () => import('@/views/AdminView.vue'),
},
{
path: 'sysadmin',
path: 'admin',
name: 'sysadmin',
component: () => import('@/views/SysAdminView.vue'),
meta: { requireSysAdmin: true },
-2
View File
@@ -41,8 +41,6 @@ export const useUserStore = defineStore('user', () => {
const userInfo = ref(null) // TabUserInfo_ 详情
const userCookie = ref(null) // Cookie session
const isLoggedIn = ref(false)
const sysAdmins = ref([]) // 系统管理员 ID 列表
// ── Getters ──
const cookieValue = computed(() => userCookie.value?.Value ?? '')