1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-02 00:59:23 +00:00

Update AppFooter.vue, NamespaceAccess.vue, and index.vue for improved links and UI enhancements. Change footer links to reflect new repository and website, streamline password hint display in NamespaceAccess, and clean up index.vue by removing unnecessary template elements.

This commit is contained in:
SunWuyuan 2025-05-18 15:40:32 +08:00
parent 88ab5e9064
commit 088e19eaa7
No known key found for this signature in database
GPG Key ID: A6A54CF66F56BB64
3 changed files with 27 additions and 20 deletions

View File

@ -12,24 +12,22 @@
<v-icon :icon="item.icon" :size="item.icon === 'mdi-earth' ? 24 : 16" /> <v-icon :icon="item.icon" :size="item.icon === 'mdi-earth' ? 24 : 16" />
</a> </a>
<div <div
class="text-caption text-disabled" class="text-caption text-disabled"
style="position: absolute; right: 16px" style="position: absolute; right: 16px"
> >
&copy; 2020-{{ new Date().getFullYear() }}
<span class="d-none d-sm-inline-block">SunWuyuan</span>
<a <a
class="text-decoration-none on-surface" class="text-decoration-none on-surface"
href="https://github.com/sunwuyuan/classworks-frontend" href="https://github.com/ZeroCatDev/Classworks"
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
Classworks Classworks
</a> <a </a> <a
class="text-decoration-none on-surface" class="text-decoration-none on-surface"
href="https://beiancx.miit.gov.cn" href="https://beian.miit.gov.cn"
rel="noopener noreferrer" rel="noopener noreferrer"
target="_blank" target="_blank"
> >
@ -45,9 +43,9 @@ const { mobile } = useDisplay();
const items = [ const items = [
{ {
title: "孙悟远", title: "Classworks",
icon: `mdi-earth`, icon: `mdi-earth`,
href: "https://wuyuan.dev", href: "https://cs.houlangs.com",
}, },
{ {
title: "ZeroCat", title: "ZeroCat",
@ -57,7 +55,7 @@ const items = [
{ {
title: "GitHub", title: "GitHub",
icon: "mdi-github", icon: "mdi-github",
href: "https://github.com/sunwuyuan/classworks-frontend", href: "https://github.com/ZeroCatDev/Classworks",
}, },
]; ];
</script> </script>

View File

@ -4,8 +4,6 @@
<v-chip <v-chip
v-if="isReadOnly" v-if="isReadOnly"
color="warning" color="warning"
size="small"
class="mr-2"
prepend-icon="mdi-lock-outline" prepend-icon="mdi-lock-outline"
> >
只读 只读
@ -26,10 +24,6 @@
<v-card class="rounded-xl" border hover> <v-card class="rounded-xl" border hover>
<v-card-title class="text-h6">输入访问密码</v-card-title> <v-card-title class="text-h6">输入访问密码</v-card-title>
<v-card-text> <v-card-text>
<div v-if="passwordHint" class="text-body-2 mb-4">
<v-icon icon="mdi-lightbulb-outline" color="warning" class="mr-1" />
提示{{ passwordHint }}
</div>
<v-text-field <v-text-field
v-model="password" v-model="password"
label="密码" label="密码"
@ -41,12 +35,15 @@
:disabled="loading" :disabled="loading"
autofocus autofocus
/> />
<p v-if="passwordHint">密码提示{{ passwordHint }}</p>
</v-card-text> </v-card-text>
<v-card-actions> <v-card-actions>
<v-spacer /> <v-spacer />
<v-btn <v-btn
color="grey" color="grey"
variant="text" variant="text"
class="rounded-xl"
@click="dialog = false" @click="dialog = false"
:disabled="loading" :disabled="loading"
> >
@ -54,6 +51,9 @@
</v-btn> </v-btn>
<v-btn <v-btn
color="primary" color="primary"
class="rounded-xl"
variant="tonal"
@click="checkPassword" @click="checkPassword"
:loading="loading" :loading="loading"
:disabled="!password" :disabled="!password"
@ -113,8 +113,7 @@ export default {
["PRIVATE", "PROTECTED", "PUBLIC"].includes(response.data.accessType) ["PRIVATE", "PROTECTED", "PUBLIC"].includes(response.data.accessType)
) { ) {
this.accessType = response.data.accessType; this.accessType = response.data.accessType;
//
this.passwordHint = response.data.passwordHint || null;
} else { } else {
return; return;
} }
@ -132,6 +131,13 @@ export default {
this.setReadOnly(true); this.setReadOnly(true);
} }
} }
const passwordHintresponse = await axios.get(
`${getSetting("server.domain")}/${getSetting("device.uuid")}/_hint`
);
if (passwordHintresponse.data && passwordHintresponse.data.passwordHint) {
this.passwordHint = passwordHintresponse.data.passwordHint || null;
}
} catch (error) { } catch (error) {
// 403 // 403
if (error.response && error.response.status === 403) { if (error.response && error.response.status === 403) {
@ -209,4 +215,9 @@ export default {
align-items: center; align-items: center;
gap: 8px; gap: 8px;
} }
.password-hint {
max-width: 100%;
word-wrap: break-word;
}
</style> </style>

View File

@ -1,8 +1,6 @@
<template> <template>
<v-app-bar class="no-select"> <v-app-bar class="no-select">
<template #prepend>
<v-app-bar-nav-icon icon="mdi-home" />
</template>
<v-app-bar-title> <v-app-bar-title>
{{ state.classNumber }} - {{ titleText }} {{ state.classNumber }} - {{ titleText }}