Files
MujicaUI/docs/components/475-api-key-manager.md

52 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 475 ApiKeyManager
API 密钥管理。
## 用途
密钥列表只显示前缀与掩码;创建后明文只显示一次并可复制,关闭即从内存清除;撤销需确认。
## 最小示例
```go
var state account.ApiKeyManagerState
keys := []account.APIKey{{ID: "k1", Name: "Deploy bot", Prefix: "mk_live_9f2c"}}
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
if name, ok := account.ApiKeyManager(c, &state, keys, account.ApiKeyManagerOptions{}).Create(); ok {
fmt.Println("create", name)
state.Reveal("secret from your key service")
}
}
ui.Render(view, 400, 300, 1)
```
## 参数
| 字段 | 类型 | 默认值 | 含义 |
| --- | --- | --- | --- |
| `s` | `*ApiKeyManagerState` | 必填 | 对话框与一次性明文。 |
| `keys` | `[]APIKey` | 必填 | ID、Name、Prefix 必填;不含明文。 |
| `Disabled` | `bool` | false | 禁用。 |
## 状态
列表、空列表、输入名称、创建中、显示明文、失败、撤销确认、禁用。
## 事件
`Create()` 返回新密钥名称:调用方生成后调用 `s.Reveal(secret)` 或 `s.Fail(msg)`;`Revoked()` 返回确认撤销的 ID。
## 键盘操作
Tab 到创建与撤销按钮;对话框中 Enter 创建;复制按钮写入剪贴板并播报“已复制”。
## 限制
大集合使用虚拟列表,仅构建当前可见行。
- 验证码与密钥通过调用方状态接入;组件事件与日志仅包含完成或失败标记。
- 明文作为可选择文字显示一次,屏幕阅读器可读出文字本身。
- 创建进行中等待调用方结果;禁用关闭全部弹层并清除已显示明文。
- 待处理请求跨禁用保留;失败后恢复名称与错误,支持重试。