|
|
@@ -15,11 +15,78 @@ const GetStockHistoryParams = z.object({
|
|
|
})
|
|
|
});
|
|
|
|
|
|
+// 股票历史数据项Schema
|
|
|
+const StockHistoryItemSchema = z.object({
|
|
|
+ d: z.string().openapi({
|
|
|
+ description: '日期',
|
|
|
+ example: '2007-09-13'
|
|
|
+ }),
|
|
|
+ o: z.number().openapi({
|
|
|
+ description: '开盘价',
|
|
|
+ example: 40.99
|
|
|
+ }),
|
|
|
+ h: z.number().openapi({
|
|
|
+ description: '最高价',
|
|
|
+ example: 59
|
|
|
+ }),
|
|
|
+ l: z.number().openapi({
|
|
|
+ description: '最低价',
|
|
|
+ example: 40.99
|
|
|
+ }),
|
|
|
+ c: z.number().openapi({
|
|
|
+ description: '收盘价',
|
|
|
+ example: 53.11
|
|
|
+ }),
|
|
|
+ v: z.number().openapi({
|
|
|
+ description: '成交量',
|
|
|
+ example: 78854
|
|
|
+ }),
|
|
|
+ e: z.number().openapi({
|
|
|
+ description: '成交额',
|
|
|
+ example: 369834688.13
|
|
|
+ }),
|
|
|
+ zf: z.number().openapi({
|
|
|
+ description: '振幅',
|
|
|
+ example: 202.13
|
|
|
+ }),
|
|
|
+ hs: z.number().openapi({
|
|
|
+ description: '换手率',
|
|
|
+ example: 78.85
|
|
|
+ }),
|
|
|
+ zd: z.number().openapi({
|
|
|
+ description: '涨跌额',
|
|
|
+ example: 496.07
|
|
|
+ }),
|
|
|
+ zde: z.number().openapi({
|
|
|
+ description: '涨跌幅',
|
|
|
+ example: 44.2
|
|
|
+ }),
|
|
|
+ ud: z.string().openapi({
|
|
|
+ description: '最后更新时间',
|
|
|
+ example: '2025-06-29 02:13:11'
|
|
|
+ })
|
|
|
+});
|
|
|
+
|
|
|
// 响应Schema
|
|
|
const GetStockHistoryResponse = z.object({
|
|
|
- data: z.any().openapi({
|
|
|
- description: '股票历史数据',
|
|
|
- example: []
|
|
|
+ data: z.array(StockHistoryItemSchema).openapi({
|
|
|
+ description: '股票历史K线数据列表',
|
|
|
+ example: [
|
|
|
+ {
|
|
|
+ d: "2007-09-13",
|
|
|
+ o: 40.99,
|
|
|
+ h: 59,
|
|
|
+ l: 40.99,
|
|
|
+ c: 53.11,
|
|
|
+ v: 78854,
|
|
|
+ e: 369834688.13,
|
|
|
+ zf: 202.13,
|
|
|
+ hs: 78.85,
|
|
|
+ zd: 496.07,
|
|
|
+ zde: 44.2,
|
|
|
+ ud: "2025-06-29 02:13:11"
|
|
|
+ }
|
|
|
+ ]
|
|
|
})
|
|
|
});
|
|
|
|