ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 7、最佳做法 # 最佳做法 - - - - - - ## 创造最好的用户体验 我们喜欢我们的图表。 我们希望它们成为整个HTML5世界中最好,最美丽,响应最快,功能最强大的图表。 我们正在努力实现这些目标。 我们了解所有关于我们的图表以及使用它们创建最佳用户体验,我们很乐意与您分享我们的知识。 本文档介绍了将图表库集成到您的网站/应用程序中的几种最佳实践。 重点是始终考虑您的用户和他们的体验。 ### 1. 了解图表库是什么,不是什么 图表库是一个能够显示价格,图形和技术分析工具的图表组件。 我们的图表库使图表变得神奇,仅此而已。 如果您想要一些额外的功能(如聊天,特殊的商品列表,最热门交易栏,广告等),最好的方法是在图表之外实现它们。 但是,如果要将外部功能与图表库链接,可以使用图表库的API链接它们。 ### 2. 返回与库请求一样多的K线 图表库将向您的后端询问数据,并为提供每个请求所需的数据范围界限。 请遵守这些边界并尽可能完整地返回填充此范围的数据。 不要返回范围外的数据。 如果要扩展库请求的默认数据范围,请使用我们的JS API(请参阅calculateHistoryDepth)。 ### 3. 返回与库请求一样多的标记 与上述K线相同。只发送符合要求范围的标记。 ### 4. 不要覆盖calculateHistoryDepth()以获取超过2个屏幕的数据 图表库避免加载用户没有要求的内容。在图表中加载更多的K线,意味着需要更多的CPU和内存。这意味着的响应效率会被降低。 ### 5. 不要让你的图表看起来一团糟 用户喜欢漂亮的图表。我们也是。请务必在自定义尺寸或样式时保持图表看起来不错。避免嵌入看起来与整个图表样式不同的自定义控件。 ### 6. 避免制作非常小的图表 图书馆支持的最小尺寸是`600x600px`。避免使图表变的更小,因为它会看起来一团糟。请使用`mobile`预设,或者隐藏一些工具栏。 ### 7. 使用适当的语言 图表库已翻译成数十种语言。使用符合用户需求的语言。 ### 8. 如果您遇到问题 我们总是渴望帮助你。 但是,不幸的是,我们真的很忙,所以我们没有太多时间。 请帮助我们有效地度过时间,并始终将您的图书馆的版本更新为最新的`unstable`版本,以检查问题是否仍然发生。 如果有,请与我们联系。 另外,检查您传递给图表库的数据,并确保它符合我们的要求,如文档中所述。 要特别注意SymbolInfo的内容,因为它是最常见的发生错误的地方(根据我们的统计)。 您可以看我们的输出[demo data service](https://demo_feed.tradingview.com/quotes?symbols=AAPL) 并将其与您的对比,以确保您的后端行为是正确的。 在开发过程中始终在Widget构造函数选项中使用`debug:true`,并在生产环境中将其删除,以使代码更快地工作。 ### 9. 阅读文档 我们花了很多时间为您创建这些文档,使您的生活更轻松。 请试一试。 ### 10. 为您的解决方案选择适当的数据传输 注意JS API和UDF之间的差异,并选择最符合您需求的API。 如果您需要真正快速的数据更新或数据流传输,请勿使用UDF。 如果您的后端有十几个商品,请勿使用UDF用于数据分组(请参阅`supports_group_request`)。 ### 11. 不要尝试嗅探我们的代码并使用未记录的功能 我们的文档中未提及的所有功能都是可以更改的主题,没有任何警告和向后兼容性。此外,您签署的法律协议严格禁止更改源代码。 ### 12. 不要在您的生产网站上使用我们的演示数据源 这个数据源只是一个演示,不适合实际使用。它可能不稳定,不能承受过大的负载。 ### 13. 使用API进行自定义。 避免编辑CSS。 我们不保证CSS选择器的向后兼容性。 ### 14. 发送到客户端时,将服务器设置为gzip文件 这是静态HTML内容的常见最佳做法。 加载图标库的HTML文件会减少用户的等待时间。 ### 15.设置charting\_library.min.js的最短到期时间 除了添加到HTML文件的`charting_library.min.js`之外,图表库中的所有文件名中都包含哈希值。 将图表库更新为较新版本时,所有文件的名称也会更改。 如果浏览器从缓存中加载`charting_library.min.js`,则该文件中的所有链接都将被破坏。 应将此文件的到期时间设置为最小值,以确保浏览器不缓存该文件。