简单地说,我想制作一个小型货币兑换应用程序(宠物项目-我想要免费的API(每月1000个请求,包括更多货币是一个完美的选择))。我不喜欢到目前为止所找到的免费API,但是我已经找到了该网站https://bg.coinmill.com/,我想将其用于我的目的。阅读类似问题的答案:
在Flutter中使用JS的唯一方法是使用WebView。
Dart仅针对浏览器应用程序编译为JS,而对于Flutter,它会编译为本机代码。
使用js包直接将js代码转换为dart
package JS不会转换JS,它只是为JS函数创建代理以能够从Dart调用它们,但这仅在Dart Web应用程序中受支持。
说得很简单,就不会碰到一些编译错误和一些变通办法。但是https://github.com/pichillilorenzo/flutter_inappbrowser看起来令人生畏。嵌入的网页看起来很难看,而且我对ui / settings没有任何控制权。我现在的选择是寻找另一个免费的货币API或试图找到一种解决方法。我倾向于另一个API,但不确定哪个。有什么建议吗?
答案 0 :(得分:1)
因此,基本上,您实际上想要做的是使用该网站在后台进行货币换算(输入值,按“转换”),然后在Flutter应用中显示结果?您不需要使用javascript。
输入后,按下提交按钮,该网站将您重定向到具有以下URL的其他页面(GET请求):
https://bg.coinmill.com/CAD_USD.html?CAD=22
使用dart的http
库以正确的货币/值参数执行相同的请求。请求的结果包含网页的源代码。
您无需显示网页,而只需从网页的源代码中读取所需的值:
<div id="currencyBox1">
<input class="currencyField" ... value="16.46" ...>
<a href="/USD_calculator.html">САЩ долар (USD)</a>
</div>
答案 1 :(得分:0)
那么,我如何理解您的问题,您有一些js库,并且想从Dart使用它?
如果有疑问,可以,您可以使用Dart JS Intertop进行。有关更多信息,请访问link。
修改
是的,是的,您只能使用evalJavascript
中的flutter_webview_plugin
函数从Flutter调用js。
答案 2 :(得分:0)
您可以使用Firebase Cloud Functions并将您的函数包装在可调用函数中。您将拥有所有节点js环境,Dart代码将仅调用一个函数。