1e41f4b71Sopenharmony_ci# PatternLock 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci图案密码锁组件,以九宫格图案的方式输入密码,用于密码验证场景。手指在PatternLock组件区域按下时开始进入输入状态,手指离开屏幕时结束输入状态完成密码输入。 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **说明:** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> 该组件从API Version 9开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci## 子组件 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci无 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci## 接口 14e41f4b71Sopenharmony_ci 15e41f4b71Sopenharmony_ciPatternLock(controller?: PatternLockController) 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci**参数:** 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 24e41f4b71Sopenharmony_ci| ---------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ | 25e41f4b71Sopenharmony_ci| controller | [PatternLockController](#patternlockcontroller) | 否 | 设置PatternLock组件控制器,可用于控制组件状态重置。 | 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci## 属性 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci除支持[通用属性](ts-universal-attributes-size.md)外,还支持以下属性: 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci### sideLength 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_cisideLength(value: Length) 34e41f4b71Sopenharmony_ci 35e41f4b71Sopenharmony_ci设置组件的宽度和高度(宽高相同)。设置为0或负数时组件不显示。 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci**参数:** 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 44e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ------------------ | 45e41f4b71Sopenharmony_ci| value | [Length](ts-types.md#length) | 是 | 组件的宽度和高度。默认值:288vp | 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_ci### circleRadius 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_cicircleRadius(value: Length) 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci设置宫格中圆点的半径。设置为0或负数时取默认值。 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci**参数:** 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 60e41f4b71Sopenharmony_ci| ------ | ---------------------------- | ---- | ---------------------------------- | 61e41f4b71Sopenharmony_ci| value | [Length](ts-types.md#length) | 是 | 宫格中圆点的半径。<br/>默认值:6vp | 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ci### backgroundColor 64e41f4b71Sopenharmony_cibackgroundColor(value: ResourceColor) 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci设置背景颜色 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 73e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ | ---- | ---------------------------------------------------------- | 74e41f4b71Sopenharmony_ci| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 背景颜色 | 75e41f4b71Sopenharmony_ci 76e41f4b71Sopenharmony_ci### regularColor 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ciregularColor(value: ResourceColor) 79e41f4b71Sopenharmony_ci 80e41f4b71Sopenharmony_ci设置宫格圆点在“未选中”状态的填充颜色。 81e41f4b71Sopenharmony_ci 82e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 83e41f4b71Sopenharmony_ci 84e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 85e41f4b71Sopenharmony_ci 86e41f4b71Sopenharmony_ci**参数:** 87e41f4b71Sopenharmony_ci 88e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 89e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ | ---- | ---------------------------------------------------------- | 90e41f4b71Sopenharmony_ci| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 宫格圆点在“未选中”状态的填充颜色。<br/>默认值:'#ff182431' | 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci### selectedColor 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ciselectedColor(value: ResourceColor) 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci设置宫格圆点在“选中“状态的填充颜色。 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci**参数:** 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 105e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ | ---- | -------------------------------------------------------- | 106e41f4b71Sopenharmony_ci| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 宫格圆点在“选中”状态的填充颜色。<br/>默认值:'#ff182431' | 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci### activeColor 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ciactiveColor(value: ResourceColor) 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci设置宫格圆点在“激活”状态的填充颜色,“激活”状态为手指经过圆点但还未选中的状态。 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 115e41f4b71Sopenharmony_ci 116e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 117e41f4b71Sopenharmony_ci 118e41f4b71Sopenharmony_ci**参数:** 119e41f4b71Sopenharmony_ci 120e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 121e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ | ---- | -------------------------------------------------------- | 122e41f4b71Sopenharmony_ci| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 宫格圆点在“激活”状态的填充颜色。<br/>默认值:'#ff182431' | 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci### pathColor 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_cipathColor(value: ResourceColor) 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci设置连线的颜色。 129e41f4b71Sopenharmony_ci 130e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 131e41f4b71Sopenharmony_ci 132e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 133e41f4b71Sopenharmony_ci 134e41f4b71Sopenharmony_ci**参数:** 135e41f4b71Sopenharmony_ci 136e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 137e41f4b71Sopenharmony_ci| ------ | ------------------------------------------ | ---- | ------------------------------------ | 138e41f4b71Sopenharmony_ci| value | [ResourceColor](ts-types.md#resourcecolor) | 是 | 连线的颜色。<br/>默认值:'#33182431' | 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci### pathStrokeWidth 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_cipathStrokeWidth(value: number | string) 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci设置连线的宽度。设置为0或负数时连线不显示。 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 147e41f4b71Sopenharmony_ci 148e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 149e41f4b71Sopenharmony_ci 150e41f4b71Sopenharmony_ci**参数:** 151e41f4b71Sopenharmony_ci 152e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 153e41f4b71Sopenharmony_ci| ------ | -------------------------- | ---- | ----------------------------- | 154e41f4b71Sopenharmony_ci| value | number \| string | 是 | 连线的宽度。<br/>默认值:12vp | 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci### autoReset 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ciautoReset(value: boolean) 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci设置在完成密码输入后再次在组件区域按下时是否重置组件状态。 161e41f4b71Sopenharmony_ci 162e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 163e41f4b71Sopenharmony_ci 164e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci**参数:** 167e41f4b71Sopenharmony_ci 168e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 169e41f4b71Sopenharmony_ci| ------ | ------- | ---- | ------------------------------------------------------------ | 170e41f4b71Sopenharmony_ci| value | boolean | 是 | 在完成密码输入后再次在组件区域按下时是否重置组件状态。<br/>为true时,完成密码输入后再次在组件区域按下时会重置组件状态(即清除之前输入的密码);为false时,不会重置组件状态。<br/>默认值:true | 171e41f4b71Sopenharmony_ci 172e41f4b71Sopenharmony_ci### activateCircleStyle<sup>12+</sup> 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ciactivateCircleStyle(options: Optional\<CircleStyleOptions\>) 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ci设置宫格圆点在“激活”状态的背景圆环样式。 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 179e41f4b71Sopenharmony_ci 180e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 181e41f4b71Sopenharmony_ci 182e41f4b71Sopenharmony_ci**参数:** 183e41f4b71Sopenharmony_ci 184e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 185e41f4b71Sopenharmony_ci| ------ | ------- | ---- | ------------------------------------------------------------ | 186e41f4b71Sopenharmony_ci| options | [CircleStyleOptions](#circlestyleoptions12对象说明) | 是 | 宫格圆点在“激活”状态的背景圆环样式。| 187e41f4b71Sopenharmony_ci 188e41f4b71Sopenharmony_ci## CircleStyleOptions<sup>12+</sup>对象说明 189e41f4b71Sopenharmony_ci 190e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 191e41f4b71Sopenharmony_ci 192e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 193e41f4b71Sopenharmony_ci 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 196e41f4b71Sopenharmony_ci| ------------- | ------- | ---- | -------- | 197e41f4b71Sopenharmony_ci| color | [ResourceColor](ts-types.md#resourcecolor) | 否 | 背景圆环颜色。 <br/>默认值:与pathColor值相同 | 198e41f4b71Sopenharmony_ci| radius | [LengthMetrics](../js-apis-arkui-graphics.md#lengthmetrics12) | 否 | 背景圆环的半径。<br/>默认值:circleRadius的11/6 | 199e41f4b71Sopenharmony_ci| enableWaveEffect | boolean | 否 | 波浪效果开关。<br/>默认值:true | 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci## 事件 202e41f4b71Sopenharmony_ci 203e41f4b71Sopenharmony_ci除支持[通用事件](ts-universal-events-click.md)外,还支持以下事件: 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ci### onPatternComplete 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_cionPatternComplete(callback: (input: Array\<number\>) => void) 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci密码输入结束时触发该回调。 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 212e41f4b71Sopenharmony_ci 213e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 214e41f4b71Sopenharmony_ci 215e41f4b71Sopenharmony_ci**参数:** 216e41f4b71Sopenharmony_ci 217e41f4b71Sopenharmony_ci| 参数名 | 类型 | 必填 | 说明 | 218e41f4b71Sopenharmony_ci| ------ | --------------- | ---- | ------------------------------------------------------------ | 219e41f4b71Sopenharmony_ci| input | Array\<number\> | 是 | 与选中宫格圆点顺序一致的数字数组,数字为选中宫格圆点的索引值(第一行圆点从左往右依次为0、1、2,第二行圆点依次为3、4、5,第三行圆点依次为6、7、8)。 | 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci### onDotConnect<sup>11+</sup> 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_cionDotConnect(callback: [CallBack](../../apis-basic-services-kit/js-apis-base.md#callback)\<number\>) 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci密码输入选中宫格圆点时触发该回调。 226e41f4b71Sopenharmony_ci 227e41f4b71Sopenharmony_ci回调参数为选中宫格圆点顺序的数字,数字为选中宫格圆点的索引值(第一行圆点从左往右依次为0、1、2,第二行圆点依次为3、4、5,第三行圆点依次为6、7、8)。 228e41f4b71Sopenharmony_ci 229e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 230e41f4b71Sopenharmony_ci 231e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 232e41f4b71Sopenharmony_ci 233e41f4b71Sopenharmony_ci## PatternLockController 234e41f4b71Sopenharmony_ci 235e41f4b71Sopenharmony_ciPatternLock组件的控制器,可以通过它进行组件状态重置。 236e41f4b71Sopenharmony_ci 237e41f4b71Sopenharmony_ci### 导入对象 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci```typescript 240e41f4b71Sopenharmony_cilet patternLockController: PatternLockController = new PatternLockController() 241e41f4b71Sopenharmony_ci``` 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci### constructor 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ciconstructor() 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ciPatternLockController的构造函数。 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci### reset 254e41f4b71Sopenharmony_ci 255e41f4b71Sopenharmony_cireset() 256e41f4b71Sopenharmony_ci 257e41f4b71Sopenharmony_ci重置组件状态。 258e41f4b71Sopenharmony_ci 259e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 260e41f4b71Sopenharmony_ci 261e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 262e41f4b71Sopenharmony_ci 263e41f4b71Sopenharmony_ci### setChallengeResult<sup>11+</sup> 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_cisetChallengeResult(result: PatternLockChallengeResult): void 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ci用于设置图案密码正确或错误状态。 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 272e41f4b71Sopenharmony_ci 273e41f4b71Sopenharmony_ci| 名称 | 类型 | 必填 | 说明 | 274e41f4b71Sopenharmony_ci| ------ | ------------------------------------------------------------ | ---- | -------------- | 275e41f4b71Sopenharmony_ci| result | [PatternLockChallengeResult](#patternlockchallengeresult11枚举说明) | 是 | 图案密码状态。 | 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_ci## PatternLockChallengeResult<sup>11+</sup>枚举说明 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ci**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 280e41f4b71Sopenharmony_ci 281e41f4b71Sopenharmony_ci**系统能力:** SystemCapability.ArkUI.ArkUI.Full 282e41f4b71Sopenharmony_ci 283e41f4b71Sopenharmony_ci| 名称 | 说明 | 284e41f4b71Sopenharmony_ci| ------- | -------------- | 285e41f4b71Sopenharmony_ci| CORRECT | 图案密码正确。 | 286e41f4b71Sopenharmony_ci| WRONG | 图案密码错误。 | 287e41f4b71Sopenharmony_ci 288e41f4b71Sopenharmony_ci## 示例 289e41f4b71Sopenharmony_ci 290e41f4b71Sopenharmony_ci```ts 291e41f4b71Sopenharmony_ci// xxx.ets 292e41f4b71Sopenharmony_ciimport { LengthUnit } from '@kit.ArkUI' 293e41f4b71Sopenharmony_ci 294e41f4b71Sopenharmony_ci@Entry 295e41f4b71Sopenharmony_ci@Component 296e41f4b71Sopenharmony_cistruct PatternLockExample { 297e41f4b71Sopenharmony_ci @State passwords: Number[] = [] 298e41f4b71Sopenharmony_ci @State message: string = 'please input password!' 299e41f4b71Sopenharmony_ci private patternLockController: PatternLockController = new PatternLockController() 300e41f4b71Sopenharmony_ci 301e41f4b71Sopenharmony_ci build() { 302e41f4b71Sopenharmony_ci Column() { 303e41f4b71Sopenharmony_ci Text(this.message).textAlign(TextAlign.Center).margin(20).fontSize(20) 304e41f4b71Sopenharmony_ci PatternLock(this.patternLockController) 305e41f4b71Sopenharmony_ci .sideLength(200) 306e41f4b71Sopenharmony_ci .circleRadius(9) 307e41f4b71Sopenharmony_ci .pathStrokeWidth(18) 308e41f4b71Sopenharmony_ci .activeColor('#B0C4DE') 309e41f4b71Sopenharmony_ci .selectedColor('#228B22') 310e41f4b71Sopenharmony_ci .pathColor('#90EE90') 311e41f4b71Sopenharmony_ci .backgroundColor('#F5F5F5') 312e41f4b71Sopenharmony_ci .autoReset(true) 313e41f4b71Sopenharmony_ci .activateCircleStyle({ 314e41f4b71Sopenharmony_ci color: '#90EE90', 315e41f4b71Sopenharmony_ci radius: { value: 16, unit: LengthUnit.VP }, 316e41f4b71Sopenharmony_ci enableWaveEffect: true 317e41f4b71Sopenharmony_ci }) 318e41f4b71Sopenharmony_ci .onDotConnect((index: number) => { 319e41f4b71Sopenharmony_ci console.log("onDotConnect index: " + index) 320e41f4b71Sopenharmony_ci }) 321e41f4b71Sopenharmony_ci .onPatternComplete((input: Array<number>) => { 322e41f4b71Sopenharmony_ci // 输入的密码长度小于5时,提示重新输入 323e41f4b71Sopenharmony_ci if (input.length < 5) { 324e41f4b71Sopenharmony_ci this.message = 'The password length needs to be greater than 5, please enter again.' 325e41f4b71Sopenharmony_ci return 326e41f4b71Sopenharmony_ci } 327e41f4b71Sopenharmony_ci // 判断密码长度是否大于0 328e41f4b71Sopenharmony_ci if (this.passwords.length > 0) { 329e41f4b71Sopenharmony_ci // 判断两次输入的密码是否相同,相同则提示密码设置成功,否则提示重新输入 330e41f4b71Sopenharmony_ci if (this.passwords.toString() === input.toString()) { 331e41f4b71Sopenharmony_ci this.passwords = input 332e41f4b71Sopenharmony_ci this.message = 'Set password successfully: ' + this.passwords.toString() 333e41f4b71Sopenharmony_ci this.patternLockController.setChallengeResult(PatternLockChallengeResult.CORRECT) 334e41f4b71Sopenharmony_ci } else { 335e41f4b71Sopenharmony_ci this.message = 'Inconsistent passwords, please enter again.' 336e41f4b71Sopenharmony_ci this.patternLockController.setChallengeResult(PatternLockChallengeResult.WRONG) 337e41f4b71Sopenharmony_ci } 338e41f4b71Sopenharmony_ci } else { 339e41f4b71Sopenharmony_ci // 提示第二次输入密码 340e41f4b71Sopenharmony_ci this.passwords = input 341e41f4b71Sopenharmony_ci this.message = "Please enter again." 342e41f4b71Sopenharmony_ci } 343e41f4b71Sopenharmony_ci }) 344e41f4b71Sopenharmony_ci Button('Reset PatternLock').margin(30).onClick(() => { 345e41f4b71Sopenharmony_ci // 重置密码锁 346e41f4b71Sopenharmony_ci this.patternLockController.reset() 347e41f4b71Sopenharmony_ci this.passwords = [] 348e41f4b71Sopenharmony_ci this.message = 'Please input password' 349e41f4b71Sopenharmony_ci }) 350e41f4b71Sopenharmony_ci }.width('100%').height('100%') 351e41f4b71Sopenharmony_ci } 352e41f4b71Sopenharmony_ci} 353e41f4b71Sopenharmony_ci``` 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ci 356