登录
应用在设置“登录”页面时,需要“用户名/账号名”、“密码”在同一个界面
注册
应用在设置“注册”页面时,需要“用户名/账号名”、“新密码”在同一个界面
修改密码
应用在设置“修改密码”页面时,需要“用户名/账号名”、“旧密码”、“新密码”在同一个界面
登录、注册失败
当应用成功登录、成功注册后将账号密码保存至密码保险箱。但当应用没有成功登录或是没有成功注册时,通过页面路由(router)跳转返回,建议应用将enableAutofill属性为false,避免保存错误信息。
示例代码如下:
import router from '@ohos.router';
@Entry
@Component
struct LoginPage {
@State ReserveAccount: string = '';
@State ReservePassword: string = '';
// 保存填充功能初始值:true
@State enAbleAutoFill: boolean = true;
private length: number = 0;
onBackPress() {
// 当非成功登录、返回等页面跳转时将enAbleAutoFill设置为false,密码保险箱不使能
this.enAbleAutoFill = false;
router.back();
return true;
}
build() {
Column() {
Text("账户登录")
.fontSize(24)
.fontColor('#000000')
.fontWeight(FontWeight.Medium)
.textAlign(TextAlign.Start)
.width('100%')
.margin({ top: 18 })
TextInput({ placeholder: '账号' })
// 账号框使用USER_NAME属性
.type(InputType.USER_NAME)
// 保存填充功能属性
.enableAutoFill(this.enAbleAutoFill)
.placeholderColor(0x182431)
.width('100%')
.opacity(0.6)
.placeholderFont({ size: 16, weight: FontWeight.Regular })
.margin({ top: 32, bottom: 8 })
.onChange((value: string) => {
this.ReserveAccount = value;
this.length = value.length;
})
.caretPosition(this.length)
TextInput({ placeholder: '密码' })
// 密码框使用Password属性
.type(InputType.Password)
// 保存填充功能属性
.enableAutoFill(this.enAbleAutoFill)
.placeholderColor(0x182431)
.width('100%')
.opacity(0.6)
.showPasswordIcon(true)
.placeholderFont({ size: 16, weight: FontWeight.Regular })
.onChange((value: string) => {
this.ReservePassword = value;
})
.margin({ bottom: 36 })
Button('登录', { type: ButtonType.Capsule, stateEffect: false })
.borderRadius(20)
.width('100%')
.height(40)
.enabled((this.ReserveAccount !== '') && (this.ReservePassword !== ''))
.onClick(() => {
// 成功登录时页面跳转将enAbleAutoFill设置为true,密码保险箱使能
this.enAbleAutoFill = true;
router.pushUrl({
url: 'pages/Index', //此处pages/Index为跳转界面地址,请自行修改
params: {
src: '账号登录'
}
}, (err) => {
if (err) {
console.error(`Invoke pushUrl failed, code is ${err.code}, message is ${err.message}`);
return;
}
console.info('Invoke pushUrl succeeded.');
})
})
}
.padding({ left: 24, right: 24 })
.height('100%')
.width('100%')
}
}
将导致功能受限的布局
除了上述介绍中的典型场景外,以下界面布局使用密码保险箱功能受限:
实现场景 | 布局情况 | 账号密码填充 | 强密码填充 | 自动保存 |
---|---|---|---|---|
登录 | 用户名、密码不在同一界面 | 不支持 | 不支持 | 不支持 |
手机/邮箱、验证码登录 | 不支持 | 不支持 | 不支持 | |
注册 | 用户名、密码不在同一界面 | 不支持 | 不支持 | 不支持 |
修改密码 | 界面只有用户名、新密码 | 不支持 | 支持 | 支持 |
界面只有旧密码、新密码 | 不支持 | 不支持 | 不支持 | |
界面只有新密码 | 不支持 | 不支持 | 不支持 |
最后呢
很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细鸿蒙(OpenHarmony )手册(共计1236页)与鸿蒙(OpenHarmony )开发入门视频,帮助大家在技术的道路上更进一步。
- 《鸿蒙 (OpenHarmony)开发学习视频》
- 《鸿蒙生态应用开发V2.0白皮书》
- 《鸿蒙 (OpenHarmony)开发基础到实战手册》
- OpenHarmony北向、南向开发环境搭建
- 《鸿蒙开发基础》
- 《鸿蒙开发进阶》
- 《鸿蒙开发实战》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行! 自↓↓↓拿