feat(vault): 授权来源候选扩至 37 项并支持手填自动记入
问题:凭据表单的「授权来源」只有 6 项 datalist 建议,缺国内常见的支付宝/淘宝/ 微博等三方登录,且移动端 iOS Safari 对 datalist 支持不稳,导致没法填。 - api.js: OAUTH_PROVIDERS(6) → OAUTH_PRESETS(37,按国内/国际/开发者分组, key 为入库值、label 为展示名);新增 oauthLabel/oauthDetail 展示中文名, normalizeOauth 把中文输入归一化成英文 slug,避免同一来源存成多种写法 - modals.js: 授权来源改为「输入框 + 分组芯片」选择器,随输入过滤(中英文均可 搜)、可一键清空、误填项可划掉;无匹配时提示将按原样保存 - store.js: 手填的非预设值记入 localStorage 候选,并在拉取凭据列表后与服务端 值对账,换设备也能看到以前填过的来源;被划掉的记入 ignore 不再冒回 - credential_service.py: 凭据库搜索纳入 oauth_provider
This commit is contained in:
@@ -83,7 +83,7 @@ def list_credentials(
|
||||
login_type: Optional[str] = None,
|
||||
has_otp: Optional[bool] = None,
|
||||
) -> List[CredentialRead]:
|
||||
"""凭据列表:搜索 site/username/note,可按登录方式与 2FA 绑定过滤"""
|
||||
"""凭据列表:搜索 site/username/note/授权来源,可按登录方式与 2FA 绑定过滤"""
|
||||
stmt = select(Credential)
|
||||
if login_type:
|
||||
stmt = stmt.where(Credential.login_type == login_type)
|
||||
@@ -98,6 +98,7 @@ def list_credentials(
|
||||
Credential.site.like(like), # type: ignore[union-attr]
|
||||
Credential.username.like(like), # type: ignore[union-attr]
|
||||
Credential.note.like(like), # type: ignore[union-attr]
|
||||
Credential.oauth_provider.like(like), # type: ignore[union-attr]
|
||||
)
|
||||
)
|
||||
creds = list(
|
||||
|
||||
Reference in New Issue
Block a user