有人知道如何使用 Firebase 简单登录和 Google Dart 吗?我想弄清楚在调用 FirebaseSimpleLogin 时如何定义函数(错误,用户){}。error 和 user() 都是对象。
这是来自 Firebase 的示例 javascript 代码
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
var myDataRef = new Firebase('https://johnstest1.firebaseIO.com/');
var auth = new FirebaseSimpleLogin(myDataRef, function(error, user) {
if (error) {
// an error occurred while attempting login
console.log(error);
} else if (user) {
// user authenticated with Firebase
console.log('User ID: ' + user.id + ', Provider: ' + user.provider);
} else {
// user is logged out
}
});
这是添加到 html 文件中供 Dart 和 Firebase 使用的代码
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase.js'></script>
<script type='text/javascript' src='https://cdn.firebase.com/v0/firebase-simple-login.js'></script>
<script type="application/dart" src="firebasetestlogin.dart"></script>
<script src="packages/browser/dart.js"></script>
<script src="packages/browser/interop.js"></script>
在 .dart 文件中,已使用 pubspec.yaml 导入了 javascript 库
import 'package:js/js.dart' as js;
在 main() 中,这行代码运行良好,我可以将数据写入数据库。被注释掉的行是原始的 javascript 行,而下一行是 Dart 版本,它可以工作。
js.scoped((){
// var myDataRef = new Firebase('https://johnstest1.firebaseio.com');
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
});
这与添加了 Firebase 简单登录行的 main 代码相同。我一直在试图弄清楚如何为函数(错误,用户)编写代码。
js.scoped((){
// var myDataRef = new Firebase('https://johnstest1.firebaseio.com');
var myDataRef = new js.Proxy(js.context.Firebase, 'https://johnstest1.firebaseIO.com/');
//var auth = new FirebaseSimpleLogin(js.context.Firebase(myDataRef, function(error, user){}{}));
var auth = new js.Proxy(js.context.FirebaseSimpleLogin(myDataRef, js.context.function(error, user)));
});