我正在尝试为 FreshChat sdk 编写一个 flutter web 插件。我根本没走多远,因为我正在努力正确传递参数。我有这个代码:
@JS()
library freshchat_sdk;
import 'package:js/js.dart';
@JS('window.fcWidget.open')
external void open();
@JS('window.fcWidget.user.setProperties')
external Future<void> setProperties(dynamic properties);
当我从飞镖端调用
setProperties
并将Map<String, dynamic>
作为参数(或实际上任何其他对象,如字符串等)传递时,我收到以下错误:
Error: PlatformException(error, Invalid argument: Instance of 'LegacyJavaScriptObject', null, null)
这是 FreshChat Javascript 文档中关于如何调用 setProperties 的示例:
<script>
window.fcWidget.user.setProperties({
firstName: <fname>,
lastName: <lname>,
email: <email>,
phone: <phone>,
phoneCountry: <country_code>,
"plan": "Estate",
"status": "Active",
"Last Payment": "12th August"
});
</script>
我的问题是如何正确编写和调用这个互操作?