diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..c76c14f --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,5 @@ +{ + "recommendations": [ + "marscode.marscode-extension" + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..137d9f4 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,7 @@ +{ + "marscode.chatLanguage": "cn", + "marscode.codeCompletionPro": { + "enableCodeCompletionPro": true + }, + "marscode.enableInlineCommand": true +} \ No newline at end of file diff --git a/apps/server/src/main.ts b/apps/server/src/main.ts index 8b82ed1..91928ec 100755 --- a/apps/server/src/main.ts +++ b/apps/server/src/main.ts @@ -4,19 +4,27 @@ import { TrpcRouter } from './trpc/trpc.router'; import { WebSocketService } from './socket/websocket.service'; async function bootstrap() { + // 创建NestJS应用实例 const app = await NestFactory.create(AppModule); // 启用 CORS 并允许所有来源 app.enableCors({ origin: '*', }); + + // 获取WebSocket服务实例并初始化 const wsService = app.get(WebSocketService); await wsService.initialize(app.getHttpServer()); + + // 获取tRPC路由实例并应用中间件 const trpc = app.get(TrpcRouter); trpc.applyMiddleware(app); + // 设置服务器端口,优先使用环境变量中的值,默认3000 const port = process.env.SERVER_PORT || 3000; + // 启动应用,监听指定端口 await app.listen(port); } +// 启动应用 bootstrap(); diff --git a/apps/server/src/models/goods/goods.controller.ts b/apps/server/src/models/goods/goods.controller.ts index a118d02..806acd6 100644 --- a/apps/server/src/models/goods/goods.controller.ts +++ b/apps/server/src/models/goods/goods.controller.ts @@ -1,17 +1,20 @@ -import { Controller, Get, Param, Query } from '@nestjs/common'; +import { Controller, Get, Query, Param } from '@nestjs/common'; @Controller('goods') export class GoodsController { constructor() { - console.log('goods Controller'); + console.log('goods controller') } + + // 示例1:基本查询参数 @Get('hello') - getHello(): string { - return 'Hello World!'; + getHello(@Query('name') name?: string) { + return { + message: 'Hello World!', + name: name || 'Guest' + }; } - - // 示例2:路径参数 @Get('detail/:id') getDetail(@Param('id') id: string) { @@ -36,4 +39,3 @@ export class GoodsController { }; } } - diff --git a/apps/server/src/models/goods/goods.module.ts b/apps/server/src/models/goods/goods.module.ts index faadd1e..64565de 100644 --- a/apps/server/src/models/goods/goods.module.ts +++ b/apps/server/src/models/goods/goods.module.ts @@ -1,10 +1,9 @@ import { Module } from '@nestjs/common'; -import { GoodsService } from './goods.servers'; +import { GoodsService } from './goods.service'; import { GoodsController } from './goods.controller'; - @Module({ - providers: [GoodsService], - controllers: [GoodsController] + providers: [GoodsService], + controllers: [GoodsController], }) export class GoodsModule {} diff --git a/apps/server/src/models/goods/goods.service.ts b/apps/server/src/models/goods/goods.service.ts new file mode 100644 index 0000000..f5e6cc7 --- /dev/null +++ b/apps/server/src/models/goods/goods.service.ts @@ -0,0 +1,6 @@ +import { Injectable } from '@nestjs/common'; + +@Injectable() +export class GoodsService { + +} diff --git a/apps/server/src/models/message/message.controller.ts b/apps/server/src/models/message/message.controller.ts index 0738c08..e265c5c 100755 --- a/apps/server/src/models/message/message.controller.ts +++ b/apps/server/src/models/message/message.controller.ts @@ -3,7 +3,6 @@ import { Controller, Get, Query, UseGuards } from '@nestjs/common'; import { MessageService } from './message.service'; import { AuthGuard } from '@server/auth/auth.guard'; import { db, VisitType } from '@nice/common'; - @Controller('message') export class MessageController { constructor(private readonly messageService: MessageService) { } diff --git a/apps/server/src/trpc/trpc.module.ts b/apps/server/src/trpc/trpc.module.ts index 2f7f3a5..ead8b11 100755 --- a/apps/server/src/trpc/trpc.module.ts +++ b/apps/server/src/trpc/trpc.module.ts @@ -34,9 +34,9 @@ import { GoodsModule } from '@server/models/goods/goods.module'; VisitModule, WebSocketModule, ResourceModule, - GoodsModule, + GoodsModule ], controllers: [], providers: [TrpcService, TrpcRouter, Logger], }) -export class TrpcModule {} +export class TrpcModule { } diff --git a/apps/web/src/app/main/component/People.tsx b/apps/web/src/app/main/component/People.tsx new file mode 100644 index 0000000..835b87e --- /dev/null +++ b/apps/web/src/app/main/component/People.tsx @@ -0,0 +1,51 @@ +import { useEffect } from 'react'; +import { api } from '@nice/client'; + +function People() { + // 使用 useQuery 钩子从 API 获取数据,限制查询结果数量为 10 + const { data } = api.staff.findMany.useQuery({ + take: 10, // 限制查询结果数量 + }); + // 当 data 发生变化时,打印数据到控制台 + useEffect(() => { + console.log(data); + }, [data]); + + return ( +
Username | +ID | +Showname | +Password | +Phone Number | +Order | +
---|---|---|---|---|---|
{i.username} | +{i.id} | +{i.showname} | +{i.password} | +{i.phoneNumber} | +{i.order} | +