Meteor,Accounts.callLoginMethod() 不会在移动设备上调用自定义登录处理程序



我的代码在桌面浏览器和android模拟器上正常工作,但在android设备(通过USB调试模式)上不起作用。

我已经在服务器代码中注册了自定义登录处理程序

Accounts.registerLoginHandler("customLoginHandler", function (options) {
    console.log("customLoginHandler()");
});

然后在特定的UI事件中,我从客户端代码调用它

console.log("calling custom login");
Accounts.callLoginMethod({
    methodArguments: [ {clientUser: "hello", clientPassword: "world"} ],
    userCallback: function() {
        console.log("clientCustomLogin callback");
    }
});
console.log("done");

在桌面或android模拟器上运行此代码时的控制台输出

customLoginHandler()
手机

calling custom login
done

整个客户端代码位于

if (Meteor.isClient) {

块。为什么输出如此不同?

流星版本1.1.0.2,服务器操作系统- Linux,移动- Android 4.4.2

流星是由以下命令启动的:

meteor run android-device

包安装:

$ meteor list
accounts-base    1.2.0  A user account system 
http             1.1.0  Make HTTP calls to remote servers
meteor-platform  1.2.2  Include a standard set of Meteor packages in your app
twbs:bootstrap   3.3.4  The most popular front-end framework for developing responsive, mobile first projects on the web.

简短回答:在android上删除应用程序,然后运行meteor run android-device

长说

我不知道为什么这是可能的,但是看起来这个应用程序在移动设备上没有完全更新(或者从某个点开始根本没有更新)。

我正在玩帐户基础,帐户密码和帐户ui包重新安装,但后来我注意到,当我用标准的{{> loginButtons}}替换我的模板(在主html文件中)时,在移动设备上运行后没有任何变化,android上的应用程序刷新。

然后我从android上删除了应用程序,重新启动了meteor。

之后应用程序开始按预期工作

最新更新