@363045841yyt/klinechart 0.2.12 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/README.md +28 -25
  2. package/dist/index.cjs +8 -8
  3. package/dist/index.d.ts +1 -8
  4. package/dist/index.js +1010 -947
  5. package/dist/klinechart.css +1 -1
  6. package/dist/{api → src/api}/data/baostock.d.ts +1 -1
  7. package/dist/{api → src/api}/data/kLine.d.ts +1 -1
  8. package/dist/{api → src/api}/data/types.d.ts +1 -1
  9. package/dist/{api → src/api}/data/unified.d.ts +1 -1
  10. package/dist/{components → src/components}/KLineChart.vue.d.ts +2 -2
  11. package/dist/{components → src/components}/KLineTooltip.vue.d.ts +1 -1
  12. package/dist/{components → src/components}/MarkerTooltip.vue.d.ts +1 -1
  13. package/dist/{core → src/core}/chart.d.ts +11 -7
  14. package/dist/{core → src/core}/controller/interaction.d.ts +3 -1
  15. package/dist/{core → src/core}/layout/pane.d.ts +4 -4
  16. package/dist/{core → src/core}/renderers/Indicator/boll.d.ts +2 -2
  17. package/dist/{core → src/core}/renderers/Indicator/cci.d.ts +2 -2
  18. package/dist/{core → src/core}/renderers/Indicator/ene.d.ts +2 -2
  19. package/dist/{core → src/core}/renderers/Indicator/expma.d.ts +2 -2
  20. package/dist/{core → src/core}/renderers/Indicator/fastk.d.ts +2 -2
  21. package/dist/{core → src/core}/renderers/Indicator/index.d.ts +1 -1
  22. package/dist/{core → src/core}/renderers/Indicator/kst.d.ts +2 -2
  23. package/dist/{core → src/core}/renderers/Indicator/ma.d.ts +1 -1
  24. package/dist/{core → src/core}/renderers/Indicator/macd.d.ts +2 -2
  25. package/dist/{core → src/core}/renderers/Indicator/macdLegend.d.ts +1 -1
  26. package/dist/{core → src/core}/renderers/Indicator/mainIndicatorLegend.d.ts +1 -1
  27. package/dist/{core → src/core}/renderers/Indicator/mom.d.ts +2 -2
  28. package/dist/{core → src/core}/renderers/Indicator/rsi.d.ts +2 -2
  29. package/dist/{core → src/core}/renderers/Indicator/stoch.d.ts +2 -2
  30. package/dist/{core → src/core}/renderers/Indicator/wmsr.d.ts +2 -2
  31. package/dist/{core → src/core}/renderers/candle.d.ts +5 -4
  32. package/dist/{core → src/core}/renderers/crosshair.d.ts +3 -1
  33. package/dist/{core → src/core}/renderers/customMarkers.d.ts +1 -1
  34. package/dist/{core → src/core}/renderers/extremaMarkers.d.ts +1 -1
  35. package/dist/{core → src/core}/renderers/gridLines.d.ts +1 -1
  36. package/dist/{core → src/core}/renderers/lastPrice.d.ts +1 -1
  37. package/dist/{core → src/core}/renderers/paneTitle.d.ts +1 -1
  38. package/dist/{core → src/core}/renderers/subVolume.d.ts +1 -1
  39. package/dist/{core → src/core}/renderers/timeAxis.d.ts +1 -1
  40. package/dist/{core → src/core}/renderers/yAxis.d.ts +5 -1
  41. package/dist/{core → src/core}/theme/colors.d.ts +2 -2
  42. package/dist/{core → src/core}/viewport/viewport.d.ts +2 -2
  43. package/dist/src/index.d.ts +8 -0
  44. package/dist/{plugin → src/plugin}/rendererPluginManager.d.ts +0 -1
  45. package/dist/{plugin → src/plugin}/types.d.ts +1 -0
  46. package/dist/{semantic → src/semantic}/controller.d.ts +5 -1
  47. package/dist/{utils → src/utils}/kLineDraw/MA.d.ts +1 -1
  48. package/dist/{utils → src/utils}/kLineDraw/axis.d.ts +3 -3
  49. package/dist/{utils → src/utils}/kLineDraw/grid.d.ts +1 -1
  50. package/dist/{utils → src/utils}/kLineDraw/kLine.d.ts +1 -1
  51. package/dist/{utils → src/utils}/kline/format.d.ts +2 -2
  52. package/dist/{utils → src/utils}/kline/ma.d.ts +1 -1
  53. package/dist/{utils → src/utils}/kline/viewport.d.ts +1 -1
  54. package/dist/{utils → src/utils}/mock/genRandomPriceData.d.ts +1 -1
  55. package/dist/{utils → src/utils}/volumePrice.d.ts +2 -2
  56. package/package.json +14 -14
  57. /package/dist/{App.vue.d.ts → src/App.vue.d.ts} +0 -0
  58. /package/dist/{api → src/api}/data/baostock.test.d.ts +0 -0
  59. /package/dist/{api → src/api}/data/index.d.ts +0 -0
  60. /package/dist/{components → src/components}/IndicatorParams.vue.d.ts +0 -0
  61. /package/dist/{components → src/components}/IndicatorSelector.vue.d.ts +0 -0
  62. /package/dist/{components → src/components}/index.d.ts +0 -0
  63. /package/dist/{core → src/core}/draw/pixelAlign.d.ts +0 -0
  64. /package/dist/{core → src/core}/marker/registry.d.ts +0 -0
  65. /package/dist/{core → src/core}/paneRenderer.d.ts +0 -0
  66. /package/dist/{core → src/core}/scale/price.d.ts +0 -0
  67. /package/dist/{core → src/core}/scale/priceScale.d.ts +0 -0
  68. /package/dist/{core → src/core}/utils/klineConfig.d.ts +0 -0
  69. /package/dist/{core → src/core}/utils/tickCount.d.ts +0 -0
  70. /package/dist/{main.d.ts → src/main.d.ts} +0 -0
  71. /package/dist/{plugin → src/plugin}/ConfigManager.d.ts +0 -0
  72. /package/dist/{plugin → src/plugin}/EventBus.d.ts +0 -0
  73. /package/dist/{plugin → src/plugin}/HookSystem.d.ts +0 -0
  74. /package/dist/{plugin → src/plugin}/PluginHost.d.ts +0 -0
  75. /package/dist/{plugin → src/plugin}/PluginRegistry.d.ts +0 -0
  76. /package/dist/{plugin → src/plugin}/index.d.ts +0 -0
  77. /package/dist/{semantic → src/semantic}/drawShape.d.ts +0 -0
  78. /package/dist/{semantic → src/semantic}/index.d.ts +0 -0
  79. /package/dist/{semantic → src/semantic}/types.d.ts +0 -0
  80. /package/dist/{semantic → src/semantic}/validator.d.ts +0 -0
  81. /package/dist/{types → src/types}/kLine.d.ts +0 -0
  82. /package/dist/{types → src/types}/price.d.ts +0 -0
  83. /package/dist/{types → src/types}/volumePrice.d.ts +0 -0
  84. /package/dist/{utils → src/utils}/cache.d.ts +0 -0
  85. /package/dist/{utils → src/utils}/dateFormat.d.ts +0 -0
  86. /package/dist/{utils → src/utils}/logger.d.ts +0 -0
  87. /package/dist/{utils → src/utils}/priceToY.d.ts +0 -0
package/README.md CHANGED
@@ -4,9 +4,9 @@
4
4
 
5
5
  这是一个基于 Canvas 的金融图表绘制库,提供 Vue 组件封装。专注于高性能 K 线图渲染,支持**语义化 JSON 配置**,便于 AI Agent 直接控制图表渲染。特性包括横向滚动、多种技术指标(MA/BOLL/MACD/RSI 等)、自定义标记标注、多数据源支持(BaoStock、东方财富)。
6
6
 
7
- ![YU8@~$21%{NBJLGIZ}KTKED.png](https://files.seeusercontent.com/2026/04/29/akQ8/YU821NBJLGIZKTKED.png)
7
+ ![pasted-image-1777718129484.webp](https://files.seeusercontent.com/2026/05/02/Lm0w/pasted-image-1777718129484.webp)
8
8
  ![(ZOS$O}EP(_NKI273RXBV17.png](https://files.seeusercontent.com/2026/04/29/olU0/ZOSOEP_NKI273RXBV17.png)
9
- ![1TIVL2M~[(}TWFB_O}JZJ]6.png](https://files.seeusercontent.com/2026/04/29/a6rH/1TIVL2MTWFB_OJZJ6.png)
9
+ ![YU8@~$21%{NBJLGIZ}KTKED.png](https://files.seeusercontent.com/2026/04/29/akQ8/YU821NBJLGIZKTKED.png)
10
10
 
11
11
 
12
12
  ## 功能特性
@@ -98,33 +98,34 @@ pnpm dev
98
98
 
99
99
  ```vue
100
100
  <template>
101
- <KLineChart
102
- :data="klineData"
103
- :kWidth="10"
104
- :kGap="2"
105
- :yPaddingPx="60"
106
- :showMA="{ ma5: true, ma10: true, ma20: true }"
107
- :autoScrollToRight="true"
108
- />
101
+ <KLineChart :semanticConfig="config" />
109
102
  </template>
110
103
 
111
104
  <script setup lang="ts">
112
- import { ref, onMounted } from 'vue'
105
+ import { ref } from 'vue'
113
106
  import KLineChart from '@/components/KLineChart.vue'
114
- import type { KLineData } from '@/types/price'
107
+ import type { SemanticChartConfig } from '@/semantic'
115
108
 
116
- const klineData = ref<KLineData[]>([])
117
-
118
- onMounted(async () => {
119
- // 从数据源获取 K 线数据
120
- const data = await fetchKLineData('baostock', {
121
- symbol: 'sh.601360',
109
+ const config = ref<SemanticChartConfig>({
110
+ version: '1.0.0',
111
+ data: {
112
+ source: 'baostock',
113
+ symbol: '601360',
114
+ exchange: 'SH',
122
115
  startDate: '2024-01-01',
123
116
  endDate: '2024-12-31',
124
117
  period: 'daily',
125
118
  adjust: 'qfq',
126
- })
127
- klineData.value = data
119
+ },
120
+ indicators: {
121
+ main: [{ type: 'MA', enabled: true, params: { periods: [5, 10, 20] } }],
122
+ sub: [{ type: 'MACD', enabled: true }],
123
+ },
124
+ chart: {
125
+ kWidth: 10,
126
+ kGap: 2,
127
+ autoScrollToRight: true,
128
+ },
128
129
  })
129
130
  </script>
130
131
  ```
@@ -201,13 +202,15 @@ uv run python -m aktools # 启动服务
201
202
 
202
203
  | 属性 | 类型 | 默认值 | 说明 |
203
204
  |------|------|--------|------|
204
- | data | KLineData[] | [] | K 线数据数组 |
205
- | semanticConfig | SemanticChartConfig | - | 语义化配置(Agent 模式,唯一数据源) |
205
+ | semanticConfig | SemanticChartConfig | - | **必需**。语义化配置(唯一控制源) |
206
206
  | kWidth | number | 10 | K 线实体宽度 |
207
207
  | kGap | number | 2 | K 线间距 |
208
- | yPaddingPx | number | 60 | Y 轴上下留白像素 |
209
- | showMA | MAFlags | { ma5: true, ma10: true, ma20: true } | 移动平均线配置 |
210
- | autoScrollToRight | boolean | true | 数据更新后自动滚动到最右侧 |
208
+ | yPaddingPx | number | 0 | Y 轴上下留白像素 |
209
+ | minKWidth | number | 2 | K 线最小宽度 |
210
+ | maxKWidth | number | 50 | K 线最大宽度 |
211
+ | rightAxisWidth | number | 0 | 右侧价格轴宽度 |
212
+ | bottomAxisHeight | number | 24 | 底部时间轴高度 |
213
+ | priceLabelWidth | number | 60 | 价格标签额外宽度(用于显示涨跌幅) |
211
214
 
212
215
  ## 环境要求
213
216