Przeglądaj źródła

🐛 fix(stock): 修复涨跌幅数据字段使用错误

- 调整StockData接口定义,统一使用zd字段表示涨跌幅
- 修复useProfitCalculator中获取涨跌幅百分比的字段错误,从zde改为zd
- 调整服务端接口文档,更新zd字段描述为"涨跌幅"
- 移除服务端代码中未使用的zde字段及相关计算逻辑
yourname 6 miesięcy temu
rodzic
commit
68a612967a

+ 1 - 1
src/client/mobile/components/stock/components/stock-chart/src/hooks/useProfitCalculator.ts

@@ -57,7 +57,7 @@ export function useProfitCalculator(stockData: StockData[], trades: TradeRecord[
       high: parseFloat(currentStockData.h),
       high: parseFloat(currentStockData.h),
       close: parseFloat(currentStockData.c),
       close: parseFloat(currentStockData.c),
       low: parseFloat(currentStockData.l),
       low: parseFloat(currentStockData.l),
-      change: parseFloat(currentStockData.zde), // 改为使用涨跌幅百分比
+      change: parseFloat(currentStockData.zd), // 改为使用涨跌幅百分比
     } : {
     } : {
       date: '', // 添加日期
       date: '', // 添加日期
       open: 0,
       open: 0,

+ 2 - 3
src/client/mobile/components/stock/components/stock-chart/src/types/index.ts

@@ -14,9 +14,8 @@ export interface StockData {
   l: string; // 最低价
   l: string; // 最低价
   v: string; // 成交量
   v: string; // 成交量
   d: string; // 日期
   d: string; // 日期
-  zd: string; // 涨跌额
-  zde: string; // 涨跌幅百分比
-  pc?: string; // 涨跌额(备用字段)
+  zd: string; // 涨跌幅
+  pc?: string; // 涨跌额
 }
 }
 
 
 export interface DateMemo {
 export interface DateMemo {

+ 9 - 9
src/server/api/stock-data/history/[code]/get.ts

@@ -55,13 +55,13 @@ const StockHistoryItemSchema = z.object({
     example: 78.85
     example: 78.85
   }),
   }),
   zd: z.number().openapi({
   zd: z.number().openapi({
-    description: '涨跌额',
-    example: 496.07
-  }),
-  zde: z.number().openapi({
     description: '涨跌幅',
     description: '涨跌幅',
-    example: 44.2
+    example: 496.07
   }),
   }),
+  // pc: z.number().openapi({
+  //   description: '涨跌额',
+  //   example: 44.2
+  // }),
   ud: z.string().openapi({
   ud: z.string().openapi({
     description: '最后更新时间',
     description: '最后更新时间',
     example: '2025-06-29 02:13:11'
     example: '2025-06-29 02:13:11'
@@ -135,7 +135,7 @@ const app = new OpenAPIHono<AuthContext>().openapi(routeDef, async (c) => {
       zf: 0,                        // 振幅 (计算值)
       zf: 0,                        // 振幅 (计算值)
       hs: 0,                        // 换手率 (计算值)
       hs: 0,                        // 换手率 (计算值)
       zd: 0,                        // 涨跌额 (计算值)
       zd: 0,                        // 涨跌额 (计算值)
-      zde: 0,                       // 涨跌幅 (计算值)
+      // pc: 0,                       // 涨跌幅 (计算值)
       ud: new Date().toISOString()  // 最后更新时间
       ud: new Date().toISOString()  // 最后更新时间
     }));
     }));
     
     
@@ -146,20 +146,20 @@ const app = new OpenAPIHono<AuthContext>().openapi(routeDef, async (c) => {
         return {
         return {
           ...item,
           ...item,
           zd: 0,
           zd: 0,
-          zde: 0,
+          // pc: 0,
           zf: 0
           zf: 0
         };
         };
       }
       }
       
       
       const prevItem = array[index - 1];
       const prevItem = array[index - 1];
       const zd = item.c - prevItem.c;  // 涨跌额
       const zd = item.c - prevItem.c;  // 涨跌额
-      const zde = prevItem.c !== 0 ? (zd / prevItem.c) * 100 : 0;  // 涨跌幅百分比
+      // const pc = prevItem.c !== 0 ? (zd / prevItem.c) * 100 : 0;  // 涨跌幅百分比
       const zf = prevItem.c !== 0 ? ((item.h - item.l) / prevItem.c) * 100 : 0;  // 振幅百分比
       const zf = prevItem.c !== 0 ? ((item.h - item.l) / prevItem.c) * 100 : 0;  // 振幅百分比
       
       
       return {
       return {
         ...item,
         ...item,
         zd: parseFloat(zd.toFixed(2)),
         zd: parseFloat(zd.toFixed(2)),
-        zde: parseFloat(zde.toFixed(2)),
+        // pc: parseFloat(pc.toFixed(2)),
         zf: parseFloat(zf.toFixed(2))
         zf: parseFloat(zf.toFixed(2))
       };
       };
     });
     });