Merge branch 'main' of http://113.45.157.195:3003/insiinc/nice-playground
This commit is contained in:
commit
f3652b8170
|
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"marscode.marscode-extension"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"marscode.chatLanguage": "cn",
|
||||||
|
"marscode.codeCompletionPro": {
|
||||||
|
"enableCodeCompletionPro": true
|
||||||
|
},
|
||||||
|
"marscode.enableInlineCommand": true
|
||||||
|
}
|
||||||
|
|
@ -4,19 +4,27 @@ import { TrpcRouter } from './trpc/trpc.router';
|
||||||
import { WebSocketService } from './socket/websocket.service';
|
import { WebSocketService } from './socket/websocket.service';
|
||||||
|
|
||||||
async function bootstrap() {
|
async function bootstrap() {
|
||||||
|
// 创建NestJS应用实例
|
||||||
const app = await NestFactory.create(AppModule);
|
const app = await NestFactory.create(AppModule);
|
||||||
|
|
||||||
// 启用 CORS 并允许所有来源
|
// 启用 CORS 并允许所有来源
|
||||||
app.enableCors({
|
app.enableCors({
|
||||||
origin: '*',
|
origin: '*',
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 获取WebSocket服务实例并初始化
|
||||||
const wsService = app.get(WebSocketService);
|
const wsService = app.get(WebSocketService);
|
||||||
await wsService.initialize(app.getHttpServer());
|
await wsService.initialize(app.getHttpServer());
|
||||||
|
|
||||||
|
// 获取tRPC路由实例并应用中间件
|
||||||
const trpc = app.get(TrpcRouter);
|
const trpc = app.get(TrpcRouter);
|
||||||
trpc.applyMiddleware(app);
|
trpc.applyMiddleware(app);
|
||||||
|
|
||||||
|
// 设置服务器端口,优先使用环境变量中的值,默认3000
|
||||||
const port = process.env.SERVER_PORT || 3000;
|
const port = process.env.SERVER_PORT || 3000;
|
||||||
|
|
||||||
|
// 启动应用,监听指定端口
|
||||||
await app.listen(port);
|
await app.listen(port);
|
||||||
}
|
}
|
||||||
|
// 启动应用
|
||||||
bootstrap();
|
bootstrap();
|
||||||
|
|
|
||||||
|
|
@ -38,4 +38,8 @@ export class GoodsController {
|
||||||
results: []
|
results: []
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
<<<<<<< HEAD
|
||||||
|
}
|
||||||
|
=======
|
||||||
|
}
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import { GoodsService } from './goods.service';
|
||||||
import { GoodsController } from './goods.controller';
|
import { GoodsController } from './goods.controller';
|
||||||
|
|
||||||
@Module({
|
@Module({
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
providers: [GoodsService],
|
providers: [GoodsService],
|
||||||
controllers:[GoodsController]
|
controllers:[GoodsController]
|
||||||
|
|
@ -10,4 +11,10 @@ import { GoodsController } from './goods.controller';
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
export class GoodsModule {}
|
export class GoodsModule {}
|
||||||
|
=======
|
||||||
|
providers: [GoodsService],
|
||||||
|
controllers: [GoodsController],
|
||||||
|
})
|
||||||
|
export class GoodsModule {}
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,10 @@
|
||||||
import { Injectable } from '@nestjs/common';
|
import { Injectable } from '@nestjs/common';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class GoodsService {}
|
<<<<<<< HEAD
|
||||||
|
export class GoodsService {}
|
||||||
|
=======
|
||||||
|
export class GoodsService {
|
||||||
|
|
||||||
|
}
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,6 @@ import { Controller, Get, Query, UseGuards } from '@nestjs/common';
|
||||||
import { MessageService } from './message.service';
|
import { MessageService } from './message.service';
|
||||||
import { AuthGuard } from '@server/auth/auth.guard';
|
import { AuthGuard } from '@server/auth/auth.guard';
|
||||||
import { db, VisitType } from '@nice/common';
|
import { db, VisitType } from '@nice/common';
|
||||||
|
|
||||||
@Controller('message')
|
@Controller('message')
|
||||||
export class MessageController {
|
export class MessageController {
|
||||||
constructor(private readonly messageService: MessageService) { }
|
constructor(private readonly messageService: MessageService) { }
|
||||||
|
|
|
||||||
|
|
@ -34,9 +34,13 @@ import { GoodsModule } from '@server/models/goods/goods.module';
|
||||||
VisitModule,
|
VisitModule,
|
||||||
WebSocketModule,
|
WebSocketModule,
|
||||||
ResourceModule,
|
ResourceModule,
|
||||||
|
<<<<<<< HEAD
|
||||||
GoodsModule,
|
GoodsModule,
|
||||||
|
=======
|
||||||
|
GoodsModule
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
],
|
],
|
||||||
controllers: [],
|
controllers: [],
|
||||||
providers: [TrpcService, TrpcRouter, Logger],
|
providers: [TrpcService, TrpcRouter, Logger],
|
||||||
})
|
})
|
||||||
export class TrpcModule {}
|
export class TrpcModule { }
|
||||||
|
|
|
||||||
|
|
@ -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 (
|
||||||
|
<div>
|
||||||
|
{
|
||||||
|
// 遍历 data 并渲染每个元素
|
||||||
|
data?.map((i) => {
|
||||||
|
return (
|
||||||
|
<table className='table-auto w-full'>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th className='px-4 py-2'>Username</th>
|
||||||
|
<th className='px-4 py-2'>ID</th>
|
||||||
|
<th className='px-4 py-2'>Showname</th>
|
||||||
|
<th className='px-4 py-2'>Password</th>
|
||||||
|
<th className='px-4 py-2'>Phone Number</th>
|
||||||
|
<th className='px-4 py-2'>Order</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
{data?.map((i) => (
|
||||||
|
<tr key={i.id} className='hover:bg-gray-100'>
|
||||||
|
<td className='border px-4 py-2'>{i.username}</td>
|
||||||
|
<td className='border px-4 py-2'>{i.id}</td>
|
||||||
|
<td className='border px-4 py-2'>{i.showname}</td>
|
||||||
|
<td className='border px-4 py-2'>{i.password}</td>
|
||||||
|
<td className='border px-4 py-2'>{i.phoneNumber}</td>
|
||||||
|
<td className='border px-4 py-2'>{i.order}</td>
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default People;
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
<<<<<<< HEAD
|
||||||
import { api } from "@nice/client";
|
import { api } from "@nice/client";
|
||||||
import { apiClient } from "@web/src/utils";
|
import { apiClient } from "@web/src/utils";
|
||||||
|
|
||||||
|
|
@ -50,4 +51,51 @@ function HomePage() {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
export default HomePage;
|
export default HomePage;
|
||||||
|
=======
|
||||||
|
import { api } from "@nice/client"
|
||||||
|
import { apiClient } from "@web/src/utils"
|
||||||
|
import { Button, Tag } from "antd"
|
||||||
|
import { useEffect, useMemo, useState } from "react"
|
||||||
|
|
||||||
|
function HomePage() {
|
||||||
|
const { data } = api.staff.findMany.useQuery({
|
||||||
|
take: 10
|
||||||
|
})
|
||||||
|
const [counter, setCounter] = useState<number>(0)
|
||||||
|
const counterText = useMemo(() => {
|
||||||
|
return `当前计数为:${counter}`
|
||||||
|
}, [counter])
|
||||||
|
|
||||||
|
const getData = async () => {
|
||||||
|
const res = await apiClient.get("/goods/hello")
|
||||||
|
console.log(res)
|
||||||
|
}
|
||||||
|
useEffect(() => {
|
||||||
|
getData()
|
||||||
|
}, [])
|
||||||
|
return <div className="p-2 space-y-2">
|
||||||
|
<Tag>{counterText}</Tag>
|
||||||
|
<div className="space-x-2" >
|
||||||
|
<Button type="primary" onClick={() => {
|
||||||
|
setCounter(counter + 1)
|
||||||
|
}}>加1</Button>
|
||||||
|
<Button danger
|
||||||
|
onClick={() => {
|
||||||
|
setCounter(counter - 1)
|
||||||
|
}}
|
||||||
|
>减1</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{
|
||||||
|
data?.map(i => {
|
||||||
|
return <div className="p-2 rounded border shadow">
|
||||||
|
<Tag>{i.username}</Tag>
|
||||||
|
</div>
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
// export { HomePage }
|
||||||
|
export default HomePage
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
|
|
|
||||||
|
|
@ -325,7 +325,12 @@ model Resource {
|
||||||
@@map("resource")
|
@@map("resource")
|
||||||
|
|
||||||
}
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
|
|
||||||
|
=======
|
||||||
|
|
||||||
|
|
||||||
|
>>>>>>> de6e632ec69dd408a6c4e85d5cda01a1aa8e8276
|
||||||
|
|
||||||
//商品表
|
//商品表
|
||||||
model Goods {
|
model Goods {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue