gesturePassword
来自于:开发者立即使用
open openSetPassword openCheckPassword close setTempColor isSettedPassword clearLocalPwd
概述
gesturePassword 模块提供一个矩阵锁,可以加锁屏幕,用户通过输入之前自己设置好的矩阵路线来解锁,手势密码可以保存到本地,可以从远程获取并且进行输入匹配,本模块的矩阵呈正方形,可以设置任意行数(列数与行数一致),模块中主要三个部分为:1.设置密码界面;2.验证密码界面;3.任意绘制密码界面。
在移动应用中由于屏幕大小的问题,有些时候如果使用键盘,会对体验有所影响,在这个时候我们就可以使用矩阵手势密码来替代文本框输入。
open
打开模块,此模块为任意绘制,开发时按照需求进行调用,本接口只返回用户输入的密码
open({params} , callback(ret, err))
params
rect:
- 类型: JSON 对象
- 默认值:见内部字段
- 描述:模块的位置及尺寸
- 内部字段:
{
x: 0, //(必须)数字类型;模块左上角的 x 坐标
y: 0, //(必须)数字类型;模块左上角的 y 坐标
w: 400, //(必须)数字类型;模块的宽度
}
bgColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)模块背景颜色,支持十六进制颜色系,如:#FFFFFF
color:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素触摸下的颜色,支持十六进制颜色系,如:#FFFFFF
unTouchColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素常态下的颜色,支持十六进制颜色系,如:#FFFFFF
pointDistance:
- 类型: 数字
- 默认值:20
- 描述: 每个触点元素之间的间隔
columns:
- 类型: 数字
- 默认值:3
- 描述: 每行(列)显示几个触摸圈元素
fixedOn:
- 类型: 字符串类型
- 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 描述: 模块依附于当前 window
fixed:
- 类型: 布尔
- 默认值:true
- 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'ok' //描述执行结果,ok表示执行成功
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.open({
rect: {
x: 30,
y: 290,
w: 200
},
color:"#0000ff",
bgColor:"#ffffff",
unTouchColor:"#cccccc",
pointDistance:30,
columns:4,
fixedOn:api.frameName,
fixed:false
},
function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
openSetPassword
openSetPassword({params}, callback(ret, err))
打开设置密码界面,根据要求进行相应提示。
params
rect:
- 类型: JSON 对象
- 默认值:见内部字段
- 描述:模块的位置及尺寸
- 内部字段:
{
x: 0, //(必须)数字类型;模块左上角的 x 坐标
y: 0, //(必须)数字类型;模块左上角的 y 坐标
w: 400, //(必须)数字类型;模块的宽度
}
bgColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)模块背景颜色,支持十六进制颜色系,如:#FFFFFF
color:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素触摸下的颜色,支持十六进制颜色系,如:#FFFFFF
unTouchColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素常态下的颜色,支持十六进制颜色系,如:#FFFFFF
saveInLocal:
- 类型: 数字
- 默认值:false
- 描述: 是否本机存储密码
pointDistance:
- 类型: 数字
- 默认值:20
- 描述: 每个触点元素之间的间隔
columns:
- 类型: 数字
- 默认值:3
- 描述: 每行(列)显示几个触摸圈元素
minLength:
- 类型: 数字
- 默认值:3
- 描述: 密码组成的元素最小数量
fixedOn:
- 类型: 字符串类型
- 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 描述: 模块依附于当前 window
fixed:
- 类型: 布尔
- 默认值:true
- 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空
callback(ret, err)
ret:
- 类型:JSON对象数组
- 内部字段:
{
result:'ok' //描述执行结果,ok表示执行成功,首次打开会返回
}
或者
{
state:'', //数字类型,返回值有(1,2,3,4)四种
//1:第一次设置密码
//2:第二次设置密码,并且和第一次一致(成功设置密码,并且根据参数saveInLocal会自动加密保存在本地)
//3:第二次设置密码,但是和第一次不一致
//4:密码长度不够
password:'' //字符串类型,设置的密码
},
...
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.openSetPassword({
rect: {
x: 30,
y: 290,
w: 200
},
color: "#0000ff",
bgColor: "#ffffff",
unTouchColor: "#cccccc",
saveInLocal:true,
pointDistance:30,
columns:4,
minLength:4,
fixedOn: api.frameName,
fixed: false
},
function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else {
if (ret.state == 1) {
api.toast({
msg:"请再一次绘制密码"
});
module.clear();
}
else if (ret.state == 2) {
api.toast({
msg:"密码设置成功"
});
module.setTempColor({
color: "#00aa00",
});
}
else if (ret.state == 3) {
api.toast({
msg:"密码和第一次不一致,请重新设置"
});
module.setTempColor({
color: "#ff0000",
});
}
else if (ret.state == 4) {
api.toast({
msg:"密码长度不足"
});
module.setTempColor({
color: "#ff0000",
});
}
else {
alert(JSON.stringify(ret));
}
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
openCheckPassword
openCheckPassword({params}, callback(ret, err))
验证密码,可以验证之前保存在本地密码,也可以验证指定密码。
params
rect:
- 类型: JSON 对象
- 默认值:见内部字段
- 描述:模块的位置及尺寸
- 内部字段:
{
x: 0, //(必须)数字类型;模块左上角的 x 坐标
y: 0, //(必须)数字类型;模块左上角的 y 坐标
w: 400, //(必须)数字类型;模块的宽度
}
bgColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)模块背景颜色,支持十六进制颜色系,如:#FFFFFF
color:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素触摸下的颜色,支持十六进制颜色系,如:#FFFFFF
unTouchColor:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素常态下的颜色,支持十六进制颜色系,如:#FFFFFF
pointDistance:
- 类型: 数字
- 默认值:20
- 描述: 每个触点元素之间的间隔
columns:
- 类型: 数字
- 默认值:3
- 描述: 每行(列)显示几个触摸圈元素
mode:
- 类型: 数字
- 默认值:1
- 描述:1表示和本机保存的密码进行匹对,2表示和指定的密码匹对
comparePassword:
- 类型: 字符串
- 默认值:无
- 描述: 指定匹对的密码
fixedOn:
- 类型: 字符串类型
- 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
- 描述: 模块依附于当前 window
fixed:
- 类型: 布尔
- 默认值:true
- 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'ok|success|fail' //描述执行结果,ok表示模块打开成功,success表示密码验证成功,fail表示密码验证失败
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述(mode=1的情况下,如果没有设置密码,错误信息也在此展示)
}
示例代码
var module = api.require('gesturePassword');
module.openCheckPassword({
rect: {
x: 30,
y: 290,
w: 200
},
color: "#0000ff",
bgColor: "#ffffff",
unTouchColor: "#cccccc",
pointDistance:30,
columns:4,
mode:2,
comparePassword:"1,2,3,5",
fixedOn: api.frameName,
fixed: false
},
function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
close
close(callback(ret, err))
关闭模块,并且释放。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'ok' //描述执行结果,success表示执行成功
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.close(function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
setTempColor
setTempColor({params}, callback(ret, err))
设置当前输入密码的所有元素的颜色。
params
color:
- 类型: 字符串类型
- 默认值:无
- 描述: (必须项)元素以及指引线颜色,支持十六进制颜色系,如:#FFFFFF
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'ok' //描述执行结果,success表示执行成功
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.setTempColor({
color: "#ff0000",
},function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
isSettedPassword
isSettedPassword(callback(ret, err))
本机是否已经设置了密码。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'true|false' //描述执行结果,true表示本地已存储,false表示本地未存储
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.isSettedPassword(function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本
clearLocalPwd
clearLocalPwd(callback(ret, err))
清空本地存储的密码。
callback(ret, err)
ret:
- 类型:JSON对象
- 内部字段:
{
result:'ok' //描述执行结果,ok表示执行成功
}
err:
- 类型:JSON对象
- 内部字段:
{
msg:'' //错误信息描述
}
示例代码
var module = api.require('gesturePassword');
module.clearLocalPwd(function(ret,err)
{
if (err){
alert(JSON.stringify(err));
}
else{
alert(JSON.stringify(ret));
}
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本