Explorar el Código

♻️ refactor(server): 移除路径别名并更新导入路径

- 移除tsconfig中的路径别名配置,使用相对路径导入
- 更新所有模块的导入路径,将`@/server/*`改为相对路径
- 新增passenger.types.ts文件,包含证件类型枚举定义

📦 build(deps): 添加测试相关依赖

- 添加jest及相关测试库依赖
- 添加@testing-library/react等测试工具
- 更新@hono/zod-openapi依赖版本为caret范围
yourname hace 3 meses
padre
commit
158cb41e28
Se han modificado 27 ficheros con 762 adiciones y 68 borrados
  1. 2 1
      .claude/settings.local.json
  2. 1 1
      packages/server/package.json
  3. 4 4
      packages/server/src/api/admin/activities/index.ts
  4. 4 4
      packages/server/src/api/admin/areas/index.ts
  5. 3 3
      packages/server/src/api/admin/areas/tree.ts
  6. 4 4
      packages/server/src/api/admin/locations/index.ts
  7. 1 1
      packages/server/src/api/admin/passengers/index.ts
  8. 4 4
      packages/server/src/api/admin/routes/index.ts
  9. 2 2
      packages/server/src/api/areas/index.ts
  10. 5 5
      packages/server/src/api/passengers/index.ts
  11. 3 3
      packages/server/src/api/routes/index.ts
  12. 3 3
      packages/server/src/modules/activities/activity.entity.ts
  13. 2 2
      packages/server/src/modules/activities/activity.schema.ts
  14. 1 1
      packages/server/src/modules/areas/area.entity.ts
  15. 1 1
      packages/server/src/modules/areas/area.schema.ts
  16. 2 2
      packages/server/src/modules/areas/area.service.ts
  17. 2 2
      packages/server/src/modules/locations/location.entity.ts
  18. 1 1
      packages/server/src/modules/locations/location.schema.ts
  19. 1 1
      packages/server/src/modules/passengers/passenger.entity.ts
  20. 1 1
      packages/server/src/modules/passengers/passenger.schema.ts
  21. 1 1
      packages/server/src/modules/passengers/passenger.service.ts
  22. 3 3
      packages/server/src/modules/routes/route.entity.ts
  23. 2 2
      packages/server/src/modules/routes/route.schema.ts
  24. 2 2
      packages/server/src/modules/routes/route.service.ts
  25. 8 0
      packages/server/src/share/passenger.types.ts
  26. 1 4
      packages/server/tsconfig.json
  27. 698 10
      pnpm-lock.yaml

+ 2 - 1
.claude/settings.local.json

@@ -35,7 +35,8 @@
       "Bash(pnpm test:unit:*)",
       "Bash(mkdir:*)",
       "Bash(xargs sed:*)",
-      "Bash(git diff:*)"
+      "Bash(git diff:*)",
+      "Bash(pnpm build)"
     ],
     "deny": [],
     "ask": []

+ 1 - 1
packages/server/package.json

@@ -25,7 +25,7 @@
   "dependencies": {
     "@asteasolutions/zod-to-openapi": "^8.1.0",
     "@hono/swagger-ui": "^0.5.0",
-    "@hono/zod-openapi": "1.0.2",
+    "@hono/zod-openapi": "^1.0.2",
     "axios": "^1.12.2",
     "bcrypt": "^6.0.0",
     "debug": "^4.4.3",

+ 4 - 4
packages/server/src/api/admin/activities/index.ts

@@ -1,7 +1,7 @@
-import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { ActivityEntity } from '@/server/modules/activities/activity.entity';
-import { createActivitySchema, updateActivitySchema, getActivitySchema, activityListResponseSchema } from '@/server/modules/activities/activity.schema';
+import { createCrudRoutes } from '../../../utils/generic-crud.routes';
+import { authMiddleware } from '../../../middleware/auth.middleware';
+import { ActivityEntity } from '../../../modules/activities/activity.entity';
+import { createActivitySchema, updateActivitySchema, getActivitySchema, activityListResponseSchema } from '../../../modules/activities/activity.schema';
 
 // 创建活动管理API路由
 export const activitiesRoutes = createCrudRoutes({

+ 4 - 4
packages/server/src/api/admin/areas/index.ts

@@ -1,12 +1,12 @@
-import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { AreaEntity } from '@/server/modules/areas/area.entity';
+import { createCrudRoutes } from '../../../utils/generic-crud.routes';
+import { authMiddleware } from '../../../middleware/auth.middleware';
+import { AreaEntity } from '../../../modules/areas/area.entity';
 import {
   createAreaSchema,
   updateAreaSchema,
   getAreaSchema,
   areaListResponseSchema
-} from '@/server/modules/areas/area.schema';
+} from '../../../modules/areas/area.schema';
 import treeRoutes from './tree';
 import { OpenAPIHono } from '@hono/zod-openapi';
 

+ 3 - 3
packages/server/src/api/admin/areas/tree.ts

@@ -1,8 +1,8 @@
 import { OpenAPIHono } from '@hono/zod-openapi';
 import { createRoute, z } from '@hono/zod-openapi';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { AreaService } from '@/server/modules/areas/area.service';
-import { AreaLevel } from '@/server/modules/areas/area.entity';
+import { authMiddleware } from '../../middleware/auth.middleware';
+import { AreaService } from '../../modules/areas/area.service';
+import { AreaLevel } from '../../modules/areas/area.entity';
 
 
 // 获取完整树形结构

+ 4 - 4
packages/server/src/api/admin/locations/index.ts

@@ -1,12 +1,12 @@
-import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { LocationEntity } from '@/server/modules/locations/location.entity';
+import { createCrudRoutes } from '../../../utils/generic-crud.routes';
+import { authMiddleware } from '../../../middleware/auth.middleware';
+import { LocationEntity } from '../../../modules/locations/location.entity';
 import {
   createLocationSchema,
   updateLocationSchema,
   getLocationSchema,
   locationListResponseSchema
-} from '@/server/modules/locations/location.schema';
+} from '../../../modules/locations/location.schema';
 
 // 使用通用CRUD路由创建地点管理API
 export default createCrudRoutes({

+ 1 - 1
packages/server/src/api/admin/passengers/index.ts

@@ -1,4 +1,4 @@
-import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
+import { createCrudRoutes } from '../../../utils/generic-crud.routes';
 import { Passenger } from '../../../modules/passengers/passenger.entity';
 import {
   PassengerCreateSchema,

+ 4 - 4
packages/server/src/api/admin/routes/index.ts

@@ -1,7 +1,7 @@
-import { createCrudRoutes } from '@/server/utils/generic-crud.routes';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { RouteEntity } from '@/server/modules/routes/route.entity';
-import { createRouteSchema, updateRouteSchema, getRouteSchema, routeListResponseSchema } from '@/server/modules/routes/route.schema';
+import { createCrudRoutes } from '../../../utils/generic-crud.routes';
+import { authMiddleware } from '../../../middleware/auth.middleware';
+import { RouteEntity } from '../../../modules/routes/route.entity';
+import { createRouteSchema, updateRouteSchema, getRouteSchema, routeListResponseSchema } from '../../../modules/routes/route.schema';
 
 // 创建路线管理API路由
 export const routesRoutes = createCrudRoutes({

+ 2 - 2
packages/server/src/api/areas/index.ts

@@ -1,7 +1,7 @@
 import { createRoute, OpenAPIHono } from '@hono/zod-openapi';
 import { z } from '@hono/zod-openapi';
-import { AreaService } from '@/server/modules/areas/area.service';
-import { AreaLevel } from '@/server/modules/areas/area.entity';
+import { AreaService } from '../modules/areas/area.service';
+import { AreaLevel } from '../modules/areas/area.entity';
 
 // 省份查询参数Schema
 const getProvincesSchema = z.object({

+ 5 - 5
packages/server/src/api/passengers/index.ts

@@ -1,16 +1,16 @@
 import { createRoute, OpenAPIHono } from '@hono/zod-openapi';
 import { z } from '@hono/zod-openapi';
-import { authMiddleware } from '@/server/middleware/auth.middleware';
-import { PassengerService } from '@/server/modules/passengers/passenger.service';
+import { authMiddleware } from '../middleware/auth.middleware';
+import { PassengerService } from '../modules/passengers/passenger.service';
 import {
   PassengerUserCreateSchema,
   PassengerUpdateSchema,
   PassengerResponseSchema,
   PassengerListResponseSchema,
   PassengerListParams
-} from '@/server/modules/passengers/passenger.schema';
-import { ErrorSchema } from '@/server/utils/errorHandler';
-import { AuthContext } from '@/server/types/context';
+} from '../modules/passengers/passenger.schema';
+import { ErrorSchema } from '../utils/errorHandler';
+import { AuthContext } from '../types/context';
 
 // 创建用户端乘客API路由
 

+ 3 - 3
packages/server/src/api/routes/index.ts

@@ -1,8 +1,8 @@
 import { createRoute, OpenAPIHono } from '@hono/zod-openapi';
 import { z } from '@hono/zod-openapi';
-import { AppDataSource } from '@/server/data-source';
-import { RouteService } from '@/server/modules/routes/route.service';
-import { VehicleType, TravelMode } from '@/server/modules/routes/route.schema';
+import { AppDataSource } from '../data-source';
+import { RouteService } from '../modules/routes/route.service';
+import { VehicleType, TravelMode } from '../modules/routes/route.schema';
 
 // 路线搜索参数Schema
 const searchRoutesSchema = z.object({

+ 3 - 3
packages/server/src/modules/activities/activity.entity.ts

@@ -1,7 +1,7 @@
 import { Entity, PrimaryGeneratedColumn, Column, OneToMany, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
-import { RouteEntity } from '@/server/modules/routes/route.entity';
-import { LocationEntity } from '@/server/modules/locations/location.entity';
-import { DeleteStatus, DisabledStatus } from '@/share/types';
+import { RouteEntity } from '../routes/route.entity';
+import { LocationEntity } from '../locations/location.entity';
+import { DeleteStatus, DisabledStatus } from '../share/types';
 
 export enum ActivityType {
   DEPARTURE = 'departure', // 去程活动

+ 2 - 2
packages/server/src/modules/activities/activity.schema.ts

@@ -1,7 +1,7 @@
 import { z } from 'zod';
-import { DisabledStatus } from '@/share/types';
+import { DisabledStatus } from '../share/types';
 import { ActivityType } from './activity.entity';
-import { locationInfoSchema } from '@/server/modules/locations/location.schema';
+import { locationInfoSchema } from '../locations/location.schema';
 
 // 活动创建Schema
 export const createActivitySchema = z.object({

+ 1 - 1
packages/server/src/modules/areas/area.entity.ts

@@ -1,5 +1,5 @@
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, OneToMany, CreateDateColumn, UpdateDateColumn } from 'typeorm';
-import { DeleteStatus, DisabledStatus } from '@/share/types';
+import { DeleteStatus, DisabledStatus } from '../../share/types';
 
 export enum AreaLevel {
   PROVINCE = 1, // 省/直辖市

+ 1 - 1
packages/server/src/modules/areas/area.schema.ts

@@ -1,5 +1,5 @@
 import { z } from 'zod';
-import { DisabledStatus } from '@/share/types';
+import { DisabledStatus } from '../../share/types';
 import { AreaLevel } from './area.entity';
 
 // 省市区创建Schema

+ 2 - 2
packages/server/src/modules/areas/area.service.ts

@@ -1,6 +1,6 @@
-import { AppDataSource } from '@/server/data-source';
+import { AppDataSource } from '../data-source';
 import { AreaEntity, AreaLevel } from './area.entity';
-import { DisabledStatus } from '@/share/types';
+import { DisabledStatus } from '../share/types';
 
 export class AreaService {
   private areaRepository = AppDataSource.getRepository(AreaEntity);

+ 2 - 2
packages/server/src/modules/locations/location.entity.ts

@@ -1,6 +1,6 @@
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
-import { AreaEntity } from '@/server/modules/areas/area.entity';
-import { DeleteStatus, DisabledStatus } from '@/share/types';
+import { AreaEntity } from '../areas/area.entity';
+import { DeleteStatus, DisabledStatus } from '../../share/types';
 
 @Entity({ name: 'locations' })
 export class LocationEntity {

+ 1 - 1
packages/server/src/modules/locations/location.schema.ts

@@ -1,5 +1,5 @@
 import { z } from 'zod';
-import { DisabledStatus } from '@/share/types';
+import { DisabledStatus } from '../../share/types';
 
 // 地点信息Schema - 用于其他模块引用
 export const locationInfoSchema = z.object({

+ 1 - 1
packages/server/src/modules/passengers/passenger.entity.ts

@@ -1,6 +1,6 @@
 import { Entity, PrimaryGeneratedColumn, Column, CreateDateColumn, UpdateDateColumn, ManyToOne, JoinColumn, ObjectLiteral } from 'typeorm';
 import { UserEntity } from '../users/user.entity';
-import { IdType } from '@/share/passenger.types';
+import { IdType } from '../../share/passenger.types';
 
 @Entity('passengers')
 export class Passenger implements ObjectLiteral {

+ 1 - 1
packages/server/src/modules/passengers/passenger.schema.ts

@@ -1,4 +1,4 @@
-import { IdType } from '@/share/passenger.types';
+import { IdType } from '../../share/passenger.types';
 import { z } from 'zod';
 
 

+ 1 - 1
packages/server/src/modules/passengers/passenger.service.ts

@@ -1,4 +1,4 @@
-import { AppDataSource } from '@/server/data-source';
+import { AppDataSource } from '../data-source';
 import { Passenger } from './passenger.entity';
 import { PassengerListParams, PassengerCreateInput, PassengerUpdateInput } from './passenger.schema';
 

+ 3 - 3
packages/server/src/modules/routes/route.entity.ts

@@ -1,7 +1,7 @@
 import { Entity, PrimaryGeneratedColumn, Column, ManyToOne, JoinColumn, CreateDateColumn, UpdateDateColumn } from 'typeorm';
-import { ActivityEntity } from '@/server/modules/activities/activity.entity';
-import { LocationEntity } from '@/server/modules/locations/location.entity';
-import { DeleteStatus, DisabledStatus } from '@/share/types';
+import { ActivityEntity } from '../activities/activity.entity';
+import { LocationEntity } from '../locations/location.entity';
+import { DeleteStatus, DisabledStatus } from '../../share/types';
 import { VehicleType, TravelMode } from './route.schema';
 
 @Entity({ name: 'routes' })

+ 2 - 2
packages/server/src/modules/routes/route.schema.ts

@@ -1,6 +1,6 @@
 import { z } from 'zod';
-import { DisabledStatus } from '@/share/types';
-import { locationInfoSchema } from '@/server/modules/locations/location.schema';
+import { DisabledStatus } from '../../share/types';
+import { locationInfoSchema } from '../locations/location.schema';
 
 // 车型枚举
 export enum VehicleType {

+ 2 - 2
packages/server/src/modules/routes/route.service.ts

@@ -1,8 +1,8 @@
 import { DataSource, In, LessThanOrEqual, MoreThanOrEqual, Between } from 'typeorm';
-import { GenericCrudService } from '@/server/utils/generic-crud.service';
+import { GenericCrudService } from '../../utils/generic-crud.service';
 import { RouteEntity } from './route.entity';
 import { VehicleType, TravelMode } from './route.schema';
-import { ActivityEntity } from '@/server/modules/activities/activity.entity';
+import { ActivityEntity } from '../activities/activity.entity';
 
 export interface RouteSearchParams {
   startLocationId?: number;

+ 8 - 0
packages/server/src/share/passenger.types.ts

@@ -0,0 +1,8 @@
+// 证件类型枚举
+export enum IdType {
+  ID_CARD = '身份证',        // 身份证
+  HONG_KONG_MACAO_PASS = '港澳通行证',     // 港澳通行证
+  TAIWAN_PASS = '台湾通行证', // 台湾通行证
+  PASSPORT = '护照',            // 护照
+  OTHER = '其他证件'           // 其他证件
+}

+ 1 - 4
packages/server/tsconfig.json

@@ -20,10 +20,7 @@
     
     "experimentalDecorators": true,
     "emitDecoratorMetadata": true,
-    "baseUrl": ".",
-    "paths": {
-      "@/*": ["./src/*"]
-    }
+    "baseUrl": "."
   },
   "include": [
     "src/**/*"

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 698 - 10
pnpm-lock.yaml


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio