MujicaUI

Settings & Account · #469

TwoFactorInput 浅色主题渲染快照
浅色 · 渲染快照
TwoFactorInput 深色主题渲染快照
深色 · 渲染快照

469 TwoFactorInput

两步验证码。

用途

六位验证码输入(基于 PinInput),支持整段粘贴;重新发送带倒计时;显示调用方错误。

最小示例

code := ""
resendAt := time.Now().Add(30 * time.Second)
view := func(c *ui.Context) {
	core.Use(c, core.Settings{})
	r := account.TwoFactorInput(c, &code, account.TwoFactorInputOptions{ResendAt: resendAt})
	if r.Completed() {
		fmt.Println("verify the code")
	}
}
ui.Render(view, 400, 300, 1)

参数

字段类型默认值含义
code*string必填验证码数字。
ResendAttime.Time零值此时间前重新发送按钮倒计时并禁用。
Errorstring""调用方错误,如过期。
Disabledboolfalse禁用。

状态

输入中、完成、错误、倒计时、可重发、禁用。

事件

TwoFactorResult.Completed() 在填满第六位时;Resend() 请求重发。

键盘操作

数字键填格,Backspace 删除,Cmd/Ctrl+V 粘贴;Tab 到重新发送按钮。

限制

  • 验证码与密钥通过调用方状态接入;组件事件与日志仅包含完成或失败标记。
  • 倒计时每秒刷新一次,结束后不再重绘。