From f4c2539c688aa1d66e183c1907e2f8e4d2caea92 Mon Sep 17 00:00:00 2001
From: npmrun <1549469775@qq.com>
Date: Thu, 2 Jul 2026 11:23:45 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=85=A8=E5=B1=80?=
=?UTF-8?q?=E9=85=8D=E7=BD=AE=E4=BB=A5=E6=8E=A7=E5=88=B6=E6=B3=A8=E5=86=8C?=
=?UTF-8?q?=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=9B=B4=E6=96=B0=E7=9B=B8=E5=85=B3?=
=?UTF-8?q?=E7=BB=84=E4=BB=B6=E4=BB=A5=E9=80=82=E5=BA=94=E6=96=B0=E9=80=BB?=
=?UTF-8?q?=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
app/components/TopNav.vue | 5 +++--
app/middleware/auth.global.ts | 11 ++++++++++-
app/pages/auth/login.vue | 3 ++-
app/pages/auth/register.vue | 8 ++++++++
packages/drizzle-pkg/db.sqlite | Bin 282624 -> 282624 bytes
5 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/app/components/TopNav.vue b/app/components/TopNav.vue
index 0fb8c28..3cd6e29 100644
--- a/app/components/TopNav.vue
+++ b/app/components/TopNav.vue
@@ -6,6 +6,7 @@ const navHidden = ref(false)
const route = useRoute()
const { loggedIn, user, clear, initialized } = useAuthSession()
+const { config: globalConfig } = useGlobalConfig()
const links: any = [
{ to: "/", label: "首页" },
@@ -66,7 +67,7 @@ watch(() => route.path, () => {
登录
- 注册
+ 注册
{{ user?.username }}
@@ -75,7 +76,7 @@ watch(() => route.path, () => {
登录
- 注册
+ 注册
管理
diff --git a/app/middleware/auth.global.ts b/app/middleware/auth.global.ts
index 99d4032..9e943a8 100644
--- a/app/middleware/auth.global.ts
+++ b/app/middleware/auth.global.ts
@@ -5,7 +5,7 @@ import {
normalizeSafeRedirect,
} from "@/utils/auth-routes";
import { useAuthSession } from "../composables/useAuthSession";
-import { FRONTEND_LOGIN_PATH } from "common/config"
+import { FRONTEND_LOGIN_PATH, FRONTEND_REGISTER_PATH } from "common/config"
export default defineNuxtRouteMiddleware(async (to) => {
if(to.path.startsWith("/__nuxt_error")) {
@@ -45,6 +45,15 @@ export default defineNuxtRouteMiddleware(async (to) => {
});
}
+ if (!isLoggedIn && currentPath === FRONTEND_REGISTER_PATH) {
+ const { config: globalConfig } = useGlobalConfig();
+ if (globalConfig.value.allowRegister === false) {
+ const { $toast } = useNuxtApp();
+ $toast?.warning("当前已关闭注册");
+ return navigateTo(FRONTEND_LOGIN_PATH);
+ }
+ }
+
if (isLoggedIn && isGuestOnlyRoute(currentPath)) {
const redirectCandidate = Array.isArray(to.query.redirect)
? to.query.redirect[0]
diff --git a/app/pages/auth/login.vue b/app/pages/auth/login.vue
index bd94093..6234433 100644
--- a/app/pages/auth/login.vue
+++ b/app/pages/auth/login.vue
@@ -5,6 +5,7 @@ definePageMeta({
const route = useRoute()
const { $toast } = useNuxtApp()
+const { config: globalConfig } = useGlobalConfig()
const redirect = computed(() => route.query.redirect as string || '/')
const loginForm = reactive({
@@ -172,7 +173,7 @@ onMounted(() => {
-->
-
diff --git a/app/pages/auth/register.vue b/app/pages/auth/register.vue
index a3758f5..97ac6b6 100644
--- a/app/pages/auth/register.vue
+++ b/app/pages/auth/register.vue
@@ -4,6 +4,14 @@ definePageMeta({
})
const { $toast } = useNuxtApp()
+const { config: globalConfig } = useGlobalConfig()
+
+watch(() => globalConfig.allowRegister, (val) => {
+ if (val === false) {
+ $toast.error('当前已关闭注册')
+ navigateTo('/auth/login')
+ }
+}, { immediate: true })
const registerForm = reactive({
username: '',
diff --git a/packages/drizzle-pkg/db.sqlite b/packages/drizzle-pkg/db.sqlite
index 2ee02d5b85025635e4a8944dd362c645af73e1d4..d7a12231fb5d8f0fc193e4b6318e676473c0985a 100644
GIT binary patch
delta 128
zcmZozAlR@#aDp`BsfjYqjHenCS`!$zCNRaHF-)~EFf~p#GuBN>Hn-F@F*G;VwM=Kb&D&C!j)%zV<_RnYJIg%WPK!0D|%=
ACIA2c
delta 128
zcmZozAlR@#aDp`BiHS1Kj3*isS`!$zCNRaHF*GwyHBL6MOw=_pH8$2YNiNYPcbk_N#SOkZ*#X>o^ig!MRxh^AI>nX6Hp;WU;ClEOxq9LWwt8<08qRs
ATL1t6