feat: 全站登录保护,管理后台仅管理员可访问
- tasks 路由级认证保护,所有 API 需登录 - 未登录时显示登录页面,不暴露导航和功能 - ConfigView 仅管理员可访问,普通用户显示权限提示 - BuildView/HistoryView 所有 API 请求携带 token
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
<template>
|
||||
<div class="container">
|
||||
<div v-if="!isLoggedIn" class="access-denied">
|
||||
<div v-if="!isAdmin" class="access-denied">
|
||||
<h3>需要管理员权限</h3>
|
||||
<p>请先登录管理员账号以访问配置管理页面</p>
|
||||
<button class="btn-login" @click="showLogin = true">登录管理员账号</button>
|
||||
<p>{{ isLoggedIn ? '当前账号无管理员权限' : '请先登录管理员账号' }}</p>
|
||||
<button v-if="!isLoggedIn" class="btn-login" @click="showLogin = true">登录管理员账号</button>
|
||||
</div>
|
||||
<div v-else class="admin-page">
|
||||
<div class="sidebar">
|
||||
@@ -448,6 +448,7 @@ import { ref, onMounted, inject } from 'vue'
|
||||
const showLogin = inject('showLogin')
|
||||
const getToken = inject('getToken')
|
||||
const isLoggedIn = inject('isLoggedIn')
|
||||
const isAdmin = inject('isAdmin')
|
||||
const tab = ref('servers')
|
||||
|
||||
// 带认证的 fetch 封装
|
||||
|
||||
Reference in New Issue
Block a user