请使用后端发起调用:
- 如果需要确保安全性,
- 如果需要后端处理结果
- 如果调用可能耗时较长
如果是耗时较长的操作,请将其放入 Job 中。
这将需要在插件中编写一些 Ruby 代码,并使用上述提到的某个 gem。
入门 Discourse 插件开发并非易事,因为这是一个庞大、复杂且带有强烈设计理念的平台,但这里有一些官方优质指南,还有大量现有的开源插件可供参考(参见 Customization > Plugin 及指向 GitHub 的链接)。尝试找一个功能相似的项目,看看它是如何在代码中实现的。
如果改动较为表面,可以考虑使用主题组件(Theme Component)。查看这里的主题开发指南。
可以参考一些示例,例如这个:discourse-tc-quote-of-the-day/get-quote.js.es6 at master · merefield/discourse-tc-quote-of-the-day (github.com)