黎明前的黑暗
黎明前的黑暗
  • 发布:2016-09-22 16:47
  • 更新:2016-10-11 09:51
  • 阅读:4125

关于MUI默认登录画面的问题

分类:MUI

刚新建了一个MUI的登录测试项目,然后在浏览器里面运行,但是登录画面的按钮点击不起作用,默认的代码我也没改动,不知道怎么回事,有人帮我看下吗?谢谢!

部分代码(关于登录按钮的):

//检查 "登录状态/锁屏状态" 结束
var loginButton = doc.getElementById('login');
var accountBox = doc.getElementById('account');
var passwordBox = doc.getElementById('password');
var autoLoginButton = doc.getElementById("autoLogin");
var regButton = doc.getElementById('reg');
var forgetButton = doc.getElementById('forgetPassword');
loginButton.addEventListener('tap', function(event) {
alert(1);
var loginInfo = {
account: accountBox.value,
password: passwordBox.value
};
app.login(loginInfo, function(err) {
if (err) {
plus.nativeUI.toast(err);
return;
}
toMain();
});
});

2016-09-22 16:47 负责人:无 分享
已邀请:
赵梦欢

赵梦欢 - 专注前端,乐于分享!

涉及plus的方法需要真机运行才能生效。

k***@163.com

k***@163.com

我也在测试,我觉得是因为登陆模板并没有写后台登录验证的部分,而是在
app.login(loginInfo, function(err) {
if (err) {
plus.nativeUI.toast(err);
return;
}
toMain();

这部分,直接执行了toMain();,重新加载了一遍主页。
所以你觉得点击了没有作用。
我也一头雾水,app.login方法后台验证的ajax方法要写在什么地方呢?
我只好打开app.js文件看看了,自己解读了一下,做了些注释,帮助理解,如下:
/**

  • 演示程序当前的 “注册/登录” 等操作,是基于 “本地存储” 完成的
  • 当您要参考这个演示程序进行相关 app 的开发时,
  • 请注意将相关方法调整成 “基于服务端Service” 的实现。
    **/
    owner.login = function(loginInfo, callback) {
    callback = callback || $.noop;
    loginInfo = loginInfo || {};
    loginInfo.account = loginInfo.account || '';
    loginInfo.password = loginInfo.password || '';
    //校验
    if (loginInfo.account.length < 5) {
    return callback('账号最短为 5 个字符');
    }
    if (loginInfo.password.length < 6) {
    return callback('密码最短为 6 个字符');
    }
    //基于本地存储的数据localStorage
    var users = JSON.parse(localStorage.getItem('$users') || '[]');
    var authed = users.some(function(user) {
    return loginInfo.account == user.account && loginInfo.password == user.password;
    });
    if (authed) {
    //验证成功,
    return owner.createState(loginInfo.account, callback);
    } else {//失败
    return callback('用户名或密码错误');
    }
    };
    所以,我们自己的登陆验证,就在这里改写吧。
    前台的成功后,把toMain()改成加载其他页面就可以了。
h***@163.com

h***@163.com

还是在真机运行吧,真机相对还简单点。
我在Chrome 里,也不是不行。

该问题目前已经被锁定, 无法添加新回复