gesturePassword

open openCheckPassword setTempColor clearLocalPwd

概述

gesturePassword 模块提供一个矩阵锁,可以加锁屏幕,用户通过输入之前自己设置好的矩阵路线来解锁,手势密码可以保存到本地,可以从远程获取并且进行输入匹配,本模块的矩阵呈正方形,可以设置任意行数(列数与行数一致),模块中主要三个部分为:1.设置密码界面;2.验证密码界面;3.任意绘制密码界面。

在移动应用中由于屏幕大小的问题,有些时候如果使用键盘,会对体验有所影响,在这个时候我们就可以使用矩阵手势密码来替代文本框输入。

open

打开模块,此模块为任意绘制,开发时按照需求进行调用,本接口只返回用户输入的密码

open({params} , callback(ret, err))

rect:

  • 类型: JSON 对象
  • 默认值:见内部字段
  • 描述:模块的位置及尺寸
  • 内部字段:

bgColor:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)模块背景颜色,支持十六进制颜色系,如:#FFFFFF

color:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)元素触摸下的颜色,支持十六进制颜色系,如:#FFFFFF

unTouchColor:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)元素常态下的颜色,支持十六进制颜色系,如:#FFFFFF

pointDistance:

  • 类型: 数字
  • 默认值:20
  • 描述: 每个触点元素之间的间隔

columns:

  • 类型: 数字
  • 默认值:3
  • 描述: 每行(列)显示几个触摸圈元素

fixedOn:

  • 类型: 字符串类型
  • 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 描述: 模块依附于当前 window

fixed:

  • 类型: 布尔
  • 默认值:true
  • 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.open({
  3. rect: {
  4. x: 30,
  5. y: 290,
  6. w: 200
  7. },
  8. color:"#0000ff",
  9. bgColor:"#ffffff",
  10. unTouchColor:"#cccccc",
  11. pointDistance:30,
  12. columns:4,
  13. fixedOn:api.frameName,
  14. fixed:false
  15. },
  16. function(ret,err)
  17. {
  18. if (err){
  19. alert(JSON.stringify(err));
  20. }
  21. else{
  22. alert(JSON.stringify(ret));
  23. }
  24. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openSetPassword

openSetPassword({params}, callback(ret, err))

打开设置密码界面,根据要求进行相应提示。

params

rect:

  • 类型: JSON 对象
  • 默认值:见内部字段
  • 描述:模块的位置及尺寸
  • 内部字段:
  1. {
  2. x: 0, //(必须)数字类型;模块左上角的 x 坐标
  3. y: 0, //(必须)数字类型;模块左上角的 y 坐标
  4. w: 400, //(必须)数字类型;模块的宽度
  5. }

bgColor:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)模块背景颜色,支持十六进制颜色系,如:#FFFFFF

color:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)元素触摸下的颜色,支持十六进制颜色系,如:#FFFFFF

unTouchColor:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)元素常态下的颜色,支持十六进制颜色系,如:#FFFFFF

saveInLocal:

  • 类型: 数字
  • 默认值:false
  • 描述: 是否本机存储密码
  • 类型: 数字
  • 默认值:20
  • 描述: 每个触点元素之间的间隔

columns:

  • 类型: 数字
  • 默认值:3
  • 描述: 每行(列)显示几个触摸圈元素

minLength:

  • 默认值:3
  • 描述: 密码组成的元素最小数量

fixedOn:

  • 类型: 字符串类型
  • 默认值:(可选项)模块视图添加到指定 frame 的名字(只指 frame,传 window 无效)
  • 描述: 模块依附于当前 window

fixed:

  • 类型: 布尔
  • 默认值:true
  • 描述: 是否将模块视图固定到窗口上,不跟随窗口上下滚动,可为空

callback(ret, err)

ret:

  • 类型:JSON对象数组
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功,首次打开会返回
  3. }
  4. 或者
  5. {
  6. state:'', //数字类型,返回值有(1,2,3,4)四种
  7. //1:第一次设置密码
  8. //2:第二次设置密码,并且和第一次一致(成功设置密码,并且根据参数saveInLocal会自动加密保存在本地)
  9. //3:第二次设置密码,但是和第一次不一致
  10. //4:密码长度不够
  11. password:'' //字符串类型,设置的密码
  12. },
  13. ...

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.openSetPassword({
  3. rect: {
  4. x: 30,
  5. y: 290,
  6. w: 200
  7. },
  8. color: "#0000ff",
  9. bgColor: "#ffffff",
  10. unTouchColor: "#cccccc",
  11. saveInLocal:true,
  12. pointDistance:30,
  13. columns:4,
  14. minLength:4,
  15. fixedOn: api.frameName,
  16. },
  17. function(ret,err)
  18. {
  19. if (err){
  20. alert(JSON.stringify(err));
  21. }
  22. else {
  23. if (ret.state == 1) {
  24. api.toast({
  25. msg:"请再一次绘制密码"
  26. });
  27. module.clear();
  28. }
  29. else if (ret.state == 2) {
  30. api.toast({
  31. msg:"密码设置成功"
  32. });
  33. module.setTempColor({
  34. color: "#00aa00",
  35. });
  36. }
  37. else if (ret.state == 3) {
  38. api.toast({
  39. msg:"密码和第一次不一致,请重新设置"
  40. });
  41. module.setTempColor({
  42. color: "#ff0000",
  43. });
  44. }
  45. else if (ret.state == 4) {
  46. api.toast({
  47. msg:"密码长度不足"
  48. });
  49. module.setTempColor({
  50. color: "#ff0000",
  51. });
  52. }
  53. else {
  54. alert(JSON.stringify(ret));
  55. }
  56. }
  57. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

openCheckPassword

openCheckPassword({params}, callback(ret, err))

验证密码,可以验证之前保存在本地密码,也可以验证指定密码。

rect:

  • 类型: JSON 对象
  • 默认值:见内部字段
  • 描述:模块的位置及尺寸
  • 内部字段:

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对象
  1. {
  2. result:'ok|success|fail' //描述执行结果,ok表示模块打开成功,success表示密码验证成功,fail表示密码验证失败
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述(mode=1的情况下,如果没有设置密码,错误信息也在此展示)
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.openCheckPassword({
  3. rect: {
  4. x: 30,
  5. y: 290,
  6. w: 200
  7. },
  8. color: "#0000ff",
  9. bgColor: "#ffffff",
  10. unTouchColor: "#cccccc",
  11. pointDistance:30,
  12. columns:4,
  13. mode:2,
  14. comparePassword:"1,2,3,5",
  15. fixedOn: api.frameName,
  16. fixed: false
  17. },
  18. function(ret,err)
  19. {
  20. if (err){
  21. alert(JSON.stringify(err));
  22. }
  23. else{
  24. }
  25. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

close

关闭模块,并且释放。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,success表示执行成功
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.close(function(ret,err)
  3. {
  4. if (err){
  5. alert(JSON.stringify(err));
  6. }
  7. else{
  8. alert(JSON.stringify(ret));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

setTempColor

setTempColor({params}, callback(ret, err))

设置当前输入密码的所有元素的颜色。

params

color:

  • 类型: 字符串类型
  • 默认值:无
  • 描述: (必须项)元素以及指引线颜色,支持十六进制颜色系,如:#FFFFFF

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,success表示执行成功
  3. }

err:

  • 类型:JSON对象
  • 内部字段:

示例代码

  1. var module = api.require('gesturePassword');
  2. module.setTempColor({
  3. color: "#ff0000",
  4. },function(ret,err)
  5. {
  6. if (err){
  7. alert(JSON.stringify(err));
  8. }
  9. else{
  10. alert(JSON.stringify(ret));
  11. }
  12. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

isSettedPassword

isSettedPassword(callback(ret, err))

本机是否已经设置了密码。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'true|false' //描述执行结果,true表示本地已存储,false表示本地未存储
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.isSettedPassword(function(ret,err)
  3. {
  4. if (err){
  5. alert(JSON.stringify(err));
  6. }
  7. else{
  8. alert(JSON.stringify(ret));
  9. }
  10. });

可用性

iOS系统,Android系统

可提供的1.0.0及更高版本

clearLocalPwd

clearLocalPwd(callback(ret, err))

清空本地存储的密码。

callback(ret, err)

ret:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. result:'ok' //描述执行结果,ok表示执行成功
  3. }

err:

  • 类型:JSON对象
  • 内部字段:
  1. {
  2. msg:'' //错误信息描述
  3. }

示例代码

  1. var module = api.require('gesturePassword');
  2. module.clearLocalPwd(function(ret,err)
  3. {
  4. if (err){
  5. alert(JSON.stringify(err));
  6. }
  7. else{
  8. alert(JSON.stringify(ret));
  9. });

iOS系统,Android系统

可提供的1.0.0及更高版本