ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

TradingView Charting Library 集成指南:React、Vue、Android 等 14 个框架示例一次跑通

TradingView Charting Library 集成指南:React、Vue、Android 等 14 个框架示例一次跑通 TradingView Charting Library 集成指南React、Vue、Android 等 14 个框架示例一次跑通【免费下载链接】charting-library-examplesExamples of Charting Library integrations with other libraries, frameworks and data transports项目地址: https://gitcode.com/gh_mirrors/ch/charting-library-examples当你要给产品里加一张专业的金融图表——K 线、画线、MACD 一应俱全从日线切到 15 分钟线还能实时跳动——自己画至少要几个月。TradingView Charting Library 是一个免费的 HTML5 图表库代码托管在你自己的服务器上数据接你自己的行情源。这个官方示例仓库则帮你省掉了研究怎么接入的时间React、Vue、Angular、Next.js、Nuxt、Svelte、Rails甚至 Android WebView 和 iOS WKWebView每个技术栈都有能直接跑的工程。项目速览一句话定位它不是图表库本身而是 Charting Library 的官方接线图。每个示例工程都已配好目录结构、生命周期管理和数据源你照着自己的技术栈抄作业即可。核心能力帮你解决什么适合谁现成的 HTML5 图表库免开发 K 线、画线工具、技术指标有自研图表需求的团队UDF 数据源适配器把自有行情服务接到图表上有行情数据接口的后端14 个框架接入示例不同技术栈下的接入方式与生命周期处理前端和移动端开发者移动端 WebView 集成在 App 内嵌入同一套图表Android / iOS 开发者10 分钟跑通第一个图表先说前提Charting Library 需要向 TradingView 官方申请下载权限示例代码在拿到库文件之前无法运行。申请通过后最短路径是git clone https://gitcode.com/gh_mirrors/ch/charting-library-examples cd charting-library-examples/react-typescript npm install然后执行仓库自带的copy_charting_library_files.sh它会自动把charting_library和datafeeds两个目录复制进工程的 public 与 src。如果手动手动拷贝也一样React 示例放public/和src/Angular 放src/assets/Vue 放public/。之后npm start浏览器里就能看到一张 AAPL 的日 K 线画线、切换周期都是可用的。到这里你就有了能跑。剩下的是跑在自己的数据上。核心功能拆解最小图表代码所有框架只差几行无论 React、Vue 还是 Rails初始化都是同一个new widget(options)只是挂载和销毁的位置不同const tvWidget new widget({ symbol: AAPL, datafeed: new window.Datafeeds.UDFCompatibleDatafeed(https://demo_feed.tradingview.com), interval: D, container: containerEl, library_path: /charting_library/, });效果一个能交互的专业图表组件就成立了。symbol 决定初始标的interval 是周期container 是占位的 DOM。类比一下widget 像一台需要插电数据源和装进机柜容器的机器其余配置只是旋钮。接上自己的行情UDF 数据源示例默认指向 TradingView 的演示 feed方便你立刻看到效果。上生产时把它换成你自己的 UDF 接口即可一个提供标的信息、历史 K 线、实时 tick 三个接口的服务。仓库里datafeeds/udf目录就是 UDF 协议的完整参考实现。// datafeedUrl 指向你自己的行情服务 datafeed: new UDFCompatibleDatafeed(https://your-host/feed)效果图表上的每个蜡烛都来自你的服务器用户把周期从日线切到 15 分钟库会自动向你的服务拉取对应数据。注意 feed 地址的末尾不要带斜杠示例代码里专门有注释提醒这一点。多框架 移动端生命周期是关键差异各框架示例的真正价值不在初始化而在什么时候销毁。React 版在useEffect的 cleanup 里调tvWidget.remove()Vue 3 放在onUnmountedAngular 放在ngOnDestroy。漏掉这一步图表 DOM 和事件监听会一直留在内存里——路由频繁切换的后台尤其明显。Nuxt 的做法更省事在plugins/TVChart.js里用defineNuxtPlugin把 widget 注册为全局依赖任何页面都能直接用不用逐页 import。移动端则是 WebView 思路。Android 示例把图表文件放进 assets用 WebView 加载本地index.html再通过 JS Bridge 把图表事件回传给原生层webView.evaluateJavascript( tvWidget.onChartReady(function() { tvWidget.chart().onIntervalChanged().subscribe( null, function(interval) { ApplicationBridge.onIntervalChanged(interval); }); }); )效果用户在 App 里切换周期原生侧立刻收到通知可以同步刷新导航栏或请求原生推送。iOS 示例走 WKWebView同样加载本地资源并顺手处理了外部链接跳转。适合谁不适合谁适合要自研专业图表产品、有或准备有行情数据接口、技术栈在上述列表之内的团队。不适合两类人只想在网页里嵌入一张别人数据源的图表——直接用 TradingView 的嵌入式 widget 代码片段即可不需要申请库做销售报表、监控大盘这类通用可视化——ECharts、D3 更对口Charting Library 是金融图表专用做柱状图是杀鸡用牛刀。方案数据来源定制深度TradingView 嵌入 widget只能用它家的基本不可定制Charting Library本仓库你自己的工具栏、指标、存储全开放ECharts / D3你自己的通用图表强金融交互要自己造避坑与技巧代码看起来对却白屏九成是没申请到库权限或charting_library目录没放进library_path指向的位置。404 报错先查这两处。feed URL 别加尾斜杠官方示例在多处专门注释了这一点加了会静默失败。组件卸载必须调remove()。三个框架示例的 cleanup 写法可以直接抄别自己发明。Android WebView 里图表文字被放大、布局错乱示例里用textZoom 100修掉了系统字体缩放的影响这是移动端常见的隐藏坑。需要保存用户的图表布局吗在 options 里配charts_storage_urlclient_id/user_id即可示例已预置接上你自己的存储服务就能用。延伸入口React TypeScript 完整示例react-typescript/Vue 2 / Vue 3vuejs/、vuejs3/Angularangular/Next.js13 / 更早版本nextjs/、nextjs-javascript/Nuxt 2 / Nuxt 3nuxtjs/、nuxtjs3/Svelte / SolidJSsveltekit/、solidjs-typescript/Ruby on Railsruby-on-rails/移动端android/、ios-swift/、react-native/UDF 数据源协议参考各示例 public/datafeeds/udf/把仓库 clone 下来挑一个和你技术栈同名的目录跑起来——今天就能在自己的工程里看到一张会动的 K 线图。【免费下载链接】charting-library-examplesExamples of Charting Library integrations with other libraries, frameworks and data transports项目地址: https://gitcode.com/gh_mirrors/ch/charting-library-examples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表