ForgetPage 忘记密码
基于 uniboot-ui 的 UForm、USteps 等封装的 忘记密码流程:整页背景与 LoginPage 一致(默认蓝色渐变 + 装饰纹理),内容为 左侧步骤条 + 右侧三步面板(发送邮件验证码 → 重置密码 → 成功),业务通过 onSendCode、onResetPassword、getCaptcha 等回调接入接口。
基础用法
第一步需 showCaptcha + getCaptcha 获取图形验证码(与 LoginPage 相同);onSendCode 在校验通过后调用,需返回 { codeToken } 以进入第二步。第二步填写邮箱验证码与新密码,onResetPassword 成功后进入第三步;onBack / back 为左上角返回,onBackToLogin / back-to-login 为完成页的「返回登录」。
示例将接口调用模拟为延时;图形验证码为本地生成的 SVG。
忘记密码
- 1发送邮件
- 2重置密码
- 3完成
发送邮件
ForgetPage 属性
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| fullPage | 是否使用整页布局(含与 LoginPage 一致的背景层) | boolean | true |
| backgroundImage | 背景图 URL | string | '' |
| backgroundColor | 背景色(无背景图时作为底色,并叠加默认纹理) | string | #2F54EB |
| showLanguageSwitch | 是否展示右上角语言切换 | boolean | true |
| getLanguages | 获取语言列表(优先级高于 languages) | function | — |
| languages | 语言列表 | object | [] |
| defaultLanguage | 默认语言 value | string | '' |
| onLanguageChange | 语言切换回调 | function | — |
| cardTitle | 左侧栏主标题(如「忘记密码」) | string | 忘记密码 |
| steps | 三步步骤条标题文案 | array | 发送邮件/重置/完成 |
| step1PanelTitle | 第一步右侧面板标题 | string | 发送邮件 |
| step2PanelTitle | 第二步右侧面板标题 | string | 重置密码 |
| emailLabel | 邮箱标签 | string | 邮箱 |
| emailPlaceholder | 邮箱占位 | string | 请输入 |
| captchaLabel | 图形验证码标签 | string | 验证码 |
| captchaPlaceholder | 图形验证码占位 | string | 请输入 |
| sendCodeButtonText | 第一步主按钮文案 | string | 获取验证码 |
| emailCodeLabel | 邮箱验证码标签 | string | 邮箱验证码 |
| newPasswordLabel | 新密码标签 | string | 新密码 |
| confirmPasswordLabel | 确认密码标签 | string | 确认密码 |
| regetCodeText | 「重新获取验证码」链接文案 | string | 重新获取验证码 |
| cancelText | 第二步取消按钮 | string | 取消 |
| submitPasswordText | 第二步确定按钮 | string | 确定 |
| passwordTips | 第二步下方提示段落 | array | 见源码默认 |
| successTitle | 第三步主标题 | string | 密码重置成功 |
| successSubTitle | 第三步副标题 | string | 请使用新密码登录系统 |
| backToLoginText | 第三步按钮文案 | string | 返回登录 |
| showCaptcha | 第一步是否展示图形验证码 | boolean | true |
| getCaptcha | 获取图形验证码(返回 img 与可选 key) | function | — |
| onSendCode | 第一步提交:返回 { codeToken } 进入第二步 | function | — |
| onResetPassword | 第二步提交:重置密码,成功后进入第三步 | function | — |
| onBackToLogin | 第三步「返回登录」 | function | — |
| onBack | 左上角返回 | function | — |
| showBack | 是否展示左上角返回按钮 | boolean | true |
| passwordPattern | 新密码正则校验(默认与常见后台规则一致) | regexp | 内置 |
| enterMessage | 通用「必填」提示 | string | 请输入 |
| emailFormatMessage | 邮箱格式错误提示 | string | 邮箱格式不正确 |
| passwordFormatMessage | 密码格式错误提示 | string | 密码格式不正确 |
| confirmMismatchMessage | 两次密码不一致提示 | string | 两次密码不一致 |
事件
| 名称 | 说明 |
|---|---|
| back | 点击左上角返回时触发 |
| back-to-login | 第三步点击「返回登录」时触发(先于 onBackToLogin) |
类型与回调参数
ForgetSendCodeValues:email、captcha、captchaKey?(来自getCaptcha)。ForgetResetPasswordValues:email、code、codeToken、password。
源码位于 packages/components 仓库的 forget-page;安装与 registry 要求见 开发指南。