refactor: 使用更简洁的方式进行认证
This commit is contained in:
@@ -418,7 +418,12 @@ import {
|
||||
FileArchiveIcon,
|
||||
FileJsonIcon,
|
||||
} from "lucide-vue-next";
|
||||
import { ExamDto, type FileParameter } from "@/APIClient";
|
||||
import {
|
||||
ExamClient,
|
||||
ExamDto,
|
||||
ResourceClient,
|
||||
type FileParameter,
|
||||
} from "@/APIClient";
|
||||
import { useAlertStore } from "@/components/Alert";
|
||||
import { AuthManager } from "@/utils/AuthManager";
|
||||
import { useRequiredInjection } from "@/utils/Common";
|
||||
@@ -618,7 +623,7 @@ const submitCreateExam = async () => {
|
||||
isUpdating.value = true;
|
||||
|
||||
try {
|
||||
const client = AuthManager.createAuthenticatedExamClient();
|
||||
const client = AuthManager.createClient(ExamClient);
|
||||
|
||||
let exam: ExamInfo;
|
||||
if (mode.value === "create") {
|
||||
@@ -671,7 +676,7 @@ const submitCreateExam = async () => {
|
||||
|
||||
// 上传实验资源
|
||||
async function uploadExamResources(examId: string) {
|
||||
const client = AuthManager.createAuthenticatedResourceClient();
|
||||
const client = AuthManager.createClient(ResourceClient);
|
||||
|
||||
try {
|
||||
// 上传MD文档
|
||||
@@ -750,7 +755,7 @@ function close() {
|
||||
}
|
||||
|
||||
async function editExam(examId: string) {
|
||||
const client = AuthManager.createAuthenticatedExamClient();
|
||||
const client = AuthManager.createClient(ExamClient);
|
||||
const examInfo = await client.getExam(examId);
|
||||
|
||||
editExamInfo.value = {
|
||||
|
||||
@@ -250,7 +250,13 @@
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ResourcePurpose, type ExamInfo, type ResourceInfo } from "@/APIClient";
|
||||
import {
|
||||
ExamClient,
|
||||
ResourceClient,
|
||||
ResourcePurpose,
|
||||
type ExamInfo,
|
||||
type ResourceInfo,
|
||||
} from "@/APIClient";
|
||||
import { useAlertStore } from "@/components/Alert";
|
||||
import { AuthManager } from "@/utils/AuthManager";
|
||||
import { useRequiredInjection } from "@/utils/Common";
|
||||
@@ -274,7 +280,7 @@ const props = defineProps<{
|
||||
|
||||
const commitsList = ref<ResourceInfo[]>();
|
||||
async function updateCommits() {
|
||||
const client = AuthManager.createAuthenticatedExamClient();
|
||||
const client = AuthManager.createClient(ExamClient);
|
||||
const list = await client.getCommitsByExamId(props.selectedExam.id);
|
||||
commitsList.value = list;
|
||||
}
|
||||
@@ -288,7 +294,7 @@ const downloadResources = async () => {
|
||||
downloadingResources.value = true;
|
||||
|
||||
try {
|
||||
const resourceClient = AuthManager.createAuthenticatedResourceClient();
|
||||
const resourceClient = AuthManager.createClient(ResourceClient);
|
||||
|
||||
// 获取资源包列表(模板资源)
|
||||
const resourceList = await resourceClient.getResourceList(
|
||||
|
||||
@@ -181,7 +181,7 @@
|
||||
import { ref, onMounted, computed } from "vue";
|
||||
import { useRoute } from "vue-router";
|
||||
import { AuthManager } from "@/utils/AuthManager";
|
||||
import { type ExamInfo } from "@/APIClient";
|
||||
import { ExamClient, type ExamInfo } from "@/APIClient";
|
||||
import { formatDate } from "@/utils/Common";
|
||||
import ExamInfoModal from "./ExamInfoModal.vue";
|
||||
import ExamEditModal from "./ExamEditModal.vue";
|
||||
@@ -206,7 +206,7 @@ async function refreshExams() {
|
||||
error.value = "";
|
||||
|
||||
try {
|
||||
const client = AuthManager.createAuthenticatedExamClient();
|
||||
const client = AuthManager.createClient(ExamClient);
|
||||
exams.value = await client.getExamList();
|
||||
} catch (err: any) {
|
||||
error.value = err.message || "获取实验列表失败";
|
||||
@@ -218,7 +218,7 @@ async function refreshExams() {
|
||||
|
||||
async function viewExam(examId: string) {
|
||||
try {
|
||||
const client = AuthManager.createAuthenticatedExamClient();
|
||||
const client = AuthManager.createClient(ExamClient);
|
||||
selectedExam.value = await client.getExam(examId);
|
||||
showInfoModal.value = true;
|
||||
} catch (err: any) {
|
||||
@@ -248,7 +248,7 @@ onMounted(async () => {
|
||||
router.push("/login");
|
||||
}
|
||||
|
||||
isAdmin.value = await AuthManager.verifyAdminAuth();
|
||||
isAdmin.value = await AuthManager.isAdminAuthenticated();
|
||||
|
||||
await refreshExams();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user