Appearance
BizLoginPanel 登录面板
统一登录卡片:账号 / 密码(必填校验、记住账号)+ 验证码插槽位 + 忘记密码 + 第三方登录渠道(圆形按钮,slot 可接管图标)+ 提交 loading;左侧品牌区 cover 插槽可配产品插画。submit 外抛 { username, password, remember }——鉴权请求由业务层完成。中后台 / SaaS 的登录页底座。
基础用法
欢迎登录
vue3-ep-biz-lib 运营后台
验证码插槽
账号登录
第三方登录
欢迎登录
其他登录方式
品牌区
🚀
一体化运营平台
数据驱动 · 高效协同
欢迎登录
一体化运营平台
提交与校验
欢迎登录
协议条
欢迎登录
业务口径标签
员工门户登录
统一账号体系(SSO)
极简模式
管理后台
短信验证码登录
欢迎登录
扫码登录
欢迎登录
MFA 二次验证
欢迎登录
内置忘记密码三步流
欢迎登录
点击「忘记密码?」进入内置三步流;演示验证码为 123456(错码可看失败停留)。最近重置账号:(尚未重置)
忘记密码(管理员发码)
统一身份认证
内网 SSO
验证码步骤无「获取验证码」按钮,适配管理员线下发码;最近重置:(尚未重置)
内置注册流
欢迎登录
点击「注册账号」进入内置注册流;演示验证码 123456。已注册手机号:(尚未注册)
注册(邀请码 + 协议勾选)
企业协作平台
未勾选协议直接提交会被拦截;协议文案经 register-agreement 插槽自定义(可嵌链接)
自定义注册入口
欢迎登录
register 事件触发 0 次;适合注册流程独立成页 / 需要企业微信扫码开通等场景
Props
| 属性名 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| title | string | '欢迎登录' | 卡片主标题 |
| subtitle | string | '' | 副标题 |
| modes | ('password' | 'sms' | 'qrcode')[] | ['password'] | 开放的登录方式(多种时顶部出现方式切换) |
| username-label / password-label | string | '账号' / '密码' | 表单项标签 |
| show-remember | boolean | true | 记住账号勾选 |
| show-captcha | boolean | false | 验证码行(配合 captcha 插槽) |
| show-forgot | boolean | true | 忘记密码链接 |
| username-placeholder | string | '请输入账号' | 账号输入框占位 |
| password-placeholder | string | '请输入密码' | 密码输入框占位 |
| captcha-label | string | '验证码' | 验证码表单项标签 |
| third-parties | BizLoginThirdParty[] | [] | 第三方渠道(key / label / icon) |
| loading | boolean | false | 提交按钮 loading |
| default-username | string | '' | 初始账号(记住账号回填) |
| phone-placeholder | string | '请输入手机号' | 短信登录手机号占位 |
| sms-request | (phone) => Promise<void> | — | 短信验证码发送实现(60s 倒计时;reject 恢复按钮) |
| sms-code-length | number | 6 | 短信 / MFA 验证码位数(maxlength 与校验口径) |
| qrcode-request | () => Promise<string> | — | 扫码登录二维码内容生成 |
| qrcode-poll | () => Promise<'waiting' | 'scanned' | 'confirmed' | 'expired'> | — | 扫码状态轮询 |
| qrcode-poll-interval | number | 2000 | 轮询间隔(ms) |
| mfa | boolean | false | 开启账密两步流(第二步验证码) |
| mfa-send-code | () => Promise<void> | — | MFA 验证码重发实现(不传则隐藏重发按钮) |
| forgot-flow | boolean | false | 内置忘记密码三步流(验证身份 → 设置新密码 → 完成);false 时点击忘记密码仅外抛 forgot 事件 |
| forgot-send-code | (account) => Promise<void> | — | 忘记密码流·验证码发送实现(入参账号,60s 倒计时;不传则隐藏发送按钮,适配管理员发码场景) |
| reset-request | (payload: { account, code, password }) => Promise<void> | — | 忘记密码流·重置提交:resolve 进入完成页并外抛 reset-done;reject 提示失败停留原地 |
| show-register | boolean | false | 注册入口链接(password / sms 表单 options 行出现「注册账号」) |
| register-flow | boolean | false | 内置注册流:面板内完成注册;false 时点击注册仅外抛 register 事件 |
| register-send-code | (phone: string) => Promise<void> | — | 注册流·验证码发送实现(60s 倒计时;不传则隐藏发送按钮,适配管理员开号场景) |
| register-request | (payload: { phone, code, password, inviteCode? }) => Promise<void> | — | 注册流·提交:resolve 进入完成页并外抛 register-done;reject 提示失败停留原地 |
| register-invite | boolean | false | 注册流·显示邀请码输入(选填) |
| register-agreement | boolean | false | 注册流·协议勾选(勾选后才允许提交) |
Events
| 事件名 | 参数 | 说明 |
|---|---|---|
| submit | (payload: { username, password, remember, mfaCode? }) | 校验通过提交(mfa 开启时含二次验证码) |
| sms-submit | (payload: { phone, code, remember }) | 短信登录提交 |
| qrcode-login | — | 扫码确认登录 |
| qrcode-status | (status) | 扫码状态变化(waiting / scanned / confirmed / expired) |
| third-party | (item) | 第三方渠道点击 |
| forgot | — | 忘记密码(forgot-flow 关闭时的旧契约,业务侧自绘重置流程) |
| reset-done | (payload: { account }) | 忘记密码三步流重置成功(面板已切到完成页) |
| register | — | 注册入口点击(register-flow 关闭时的契约,业务侧自绘注册流程) |
| register-done | (payload: { phone }) | 注册流成功(面板已切到完成页) |
Slots
| 插槽名 | 说明 |
|---|---|
| cover | 左侧品牌区(配插画 / slogan) |
| captcha | 验证码区(show-captcha 为 true 时显示) |
| third | 渠道按钮区整体接管(作用域 items) |
| third- | 单渠道图标接管 |
| extra | 底部协议 / 附加说明区 |
| register-agreement | 注册协议文案自定义(可嵌链接;register-agreement 开启时显示) |
Expose
| 名称 | 类型 | 说明 |
|---|---|---|
| validate | () => Promise<boolean> | 表单校验 |
| reset | () => void | 重置表单与校验状态 |
| focus | () => void | 聚焦账号输入框 |