Prechádzať zdrojové kódy

🔧 chore(auth): update user schema import to UserResponseSchemaMt

- 修改auth中间件中用户数据解析使用的schema
- 更新配送地址模块中关联用户信息的schema引用

🐛 fix(homepage): add login check for home page access

- 引入useAuth hook获取登录状态
- 未登录时不渲染首页内容,防止未授权访问
yourname 1 mesiac pred
rodič
commit
4cabfa20c8

+ 4 - 0
mini/src/pages/index/index.tsx

@@ -5,8 +5,12 @@ import { Input } from '@/components/ui/input'
 import { Label } from '@/components/ui/label'
 import { Navbar } from '@/components/ui/navbar'
 import './index.css'
+import { useAuth } from '@/utils/auth'
 
 const HomePage: React.FC = () => {
+  const { isLoggedIn } = useAuth();
+  if( !isLoggedIn ) return null;
+  
   return (
     <TabBarLayout activeKey="home">
       <Navbar

+ 2 - 2
packages/core-module-mt/auth-module-mt/src/middleware/auth.middleware.mt.ts

@@ -4,7 +4,7 @@ import { UserServiceMt } from '../../../user-module-mt/src/services/index.mt';
 import { AppDataSource } from '@d8d/shared-utils';
 import { AuthContext } from '@d8d/shared-types';
 import { parseWithAwait } from '@d8d/shared-utils';
-import { UserSchemaMt } from '../../../user-module-mt/src/schemas/index.mt';
+import { UserResponseSchemaMt } from '../../../user-module-mt/src/schemas/index.mt';
 
 export async function authMiddleware(c: Context<AuthContext>, next: Next) {
   try {
@@ -36,7 +36,7 @@ export async function authMiddleware(c: Context<AuthContext>, next: Next) {
     }
 
     // 设置用户上下文
-    const userData = await parseWithAwait(UserSchemaMt, user);
+    const userData = await parseWithAwait(UserResponseSchemaMt, user);
     c.set('user', userData);
     c.set('token', token);
 

+ 2 - 2
packages/delivery-address-module-mt/src/schemas/user-delivery-address.mt.schema.ts

@@ -1,5 +1,5 @@
 import { z } from '@hono/zod-openapi';
-import { UserSchemaMt } from '@d8d/user-module-mt/schemas';
+import { UserResponseSchemaMt } from '@d8d/user-module-mt/schemas';
 import { getAreaSchemaMt } from '@d8d/geo-areas-mt/schemas';
 
 // 状态枚举
@@ -134,7 +134,7 @@ export const UserDeliveryAddressSchema = z.object({
       description: '更新时间',
       example: '2024-01-01T12:00:00Z'
     }),
-  user: UserSchemaMt.optional().openapi({
+  user: UserResponseSchemaMt.optional().openapi({
     description: '关联用户信息'
   }),
   province: getAreaSchemaMt.optional().openapi({