起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3369|回复: 11

[结贴] 手势密码

[复制链接]

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
发表于 2017-6-7 10:22:36 | 显示全部楼层 |阅读模式
如何将手势密码组件的demo分成2个模块,一个lock,一个unlock,参数是如何调用的,有没有参考的实例?

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-7 10:42:08 | 显示全部楼层
不是很理解你的意思  还请详细说明
回复 支持 反对

使用道具 举报

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
 楼主| 发表于 2017-6-7 16:52:32 | 显示全部楼层
就是手势设定一个.w页面,解锁一个.w页面,之间通过localStorage来传递密码,如何实现呢?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-7 17:24:37 | 显示全部楼层
lsy51739488 发表于 2017-6-7 16:52
就是手势设定一个.w页面,解锁一个.w页面,之间通过localStorage来传递密码,如何实现呢? ...

这个组件有demo的/UI2/system/components/justep/locker/demo/demo.w

你可以在设置成功的(setPasswordSuccess)事件里面把密码存进localStorage里面  

然后在校验的页面 把值取出执行校验  在lockerCheckSuccess事件下接着处理成功后的逻辑
回复 支持 反对

使用道具 举报

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
 楼主| 发表于 2017-6-8 14:16:17 | 显示全部楼层
本帖最后由 lsy51739488 于 2017-6-8 14:20 编辑

按照你说的修改了,可校验时候总提示密码错误,是这样写吗?

        Model.prototype.btnCheckClick = function(event){            
                this.comp('locker').set('mode',Locker.Modes.check);
                this.comp('locker').set('password',localStorage.getItem('lockvalue'));
                this.comp('locker').clear();
               
        };
        
        Model.prototype.btnNormalClick = function(event){
                this.comp('locker').set('mode',Locker.Modes.normal);
                this.comp('locker').clear();
        };
        
        Model.prototype.setPasswordSuccess = function(event){
                //设置密码用于校验
                this.comp('locker').set('password',event.values);
                localStorage.setItem('lockvalue',event.values);
        };
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-8 14:24:20 | 显示全部楼层
lsy51739488 发表于 2017-6-8 14:16
按照你说的修改了,可校验时候总提示密码错误,是这样写吗?

        Model.prototype.btnCheckClick = fu ...

你不是说要放在两个.w页吗?
回复 支持 反对

使用道具 举报

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
 楼主| 发表于 2017-6-8 14:30:58 | 显示全部楼层
本帖最后由 lsy51739488 于 2017-6-8 14:32 编辑
半导体 发表于 2017-6-8 14:24
你不是说要放在两个.w页吗?

先放在单一页面测试下localStorage能否将数据传回的,然后再分离,我的代码有问题吗?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-6-8 15:31:57 | 显示全部楼层
lsy51739488 发表于 2017-6-8 14:30
先放在单一页面测试下localStorage能否将数据传回的,然后再分离,我的代码有问题吗? ...

我觉得代码应该是这样的
设置密码页:选择locker组件的mode属性为 设置密码模式
        Model.prototype.linePoint = function(event){debugger
                justep.Util.hint("手势:"+event.values);
        };
       
        Model.prototype.setPasswordSuccess = function(event){
                //设置密码用于校验
                localStorage.setItem('lockvalue',event.values);
        };

验证密码页:选择locker组件的mode属性为 校验密码模式
        Model.prototype.modelLoad = function(event){
                 this.comp('locker').set('password',localStorage.getItem('lockvalue'));
        };

        Model.prototype.lockerCheckSuccess = function(event){
                 处理其他逻辑
        };
回复 支持 反对

使用道具 举报

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
 楼主| 发表于 2017-6-9 14:09:27 | 显示全部楼层
参阅你说的方法,分别有两个.w文件,执行验证密码的时候,总是提示密码错误,
在验证密码页,我加了一个bottom,通过justep.Util.hint(this.comp('locker').get('password'));password显示传过去的值是正确的,可手势解锁就提示密码错误,什么原因呢?

设置密码页:
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
        var Locker = require("$UI/system/components/justep/locker/locker");

        var Model = function(){
                this.callParent();
        };
Model.prototype.linePoint = function(event){
                justep.Util.hint("手势:"+event.values);
        };

        Model.prototype.setPasswordSuccess = function(event){
localStorage.setItem('lockvalue',event.values);
        };
        return Model;
});

验证密码页:
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");
    var Locker = require("$UI/system/components/justep/locker/locker");
       
        var Model = function(){
                this.callParent();
        };

        Model.prototype.modelLoad = function(event){
         this.comp('locker').set('password',localStorage.getItem('lockvalue'));
         justep.Util.hint(localStorage.getItem('lockvalue'));
        };

//按钮显示locker组建的password值
        Model.prototype.button1Click = function(event){
         justep.Util.hint(this.comp('locker').get('password'));
        };

        return Model;
});
1.png
2.png
回复 支持 反对

使用道具 举报

8

主题

22

帖子

58

积分

初级会员

Rank: 2

积分
58
QQ
 楼主| 发表于 2017-6-9 14:55:05 | 显示全部楼层
找到了原因,输入单个解锁密码是可以解锁的,比如密码设置0,解锁输入0,解锁成功。输入多个字符密码串,就会密码错误。
但是不知道该怎么解决,localStorage.setItem不能传递字符串数组吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-4-27 21:40 , Processed in 0.093500 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表