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:
@@ -37,7 +37,7 @@ const VaultView = {
|
||||
</div>
|
||||
<div class="text-xs text-slate-400 truncate">
|
||||
<span v-if="c.username">{{ c.username }}</span><span v-else class="italic">未填用户名</span>
|
||||
<span v-if="c.login_type==='oauth'" class="ml-1 text-emerald-600 dark:text-emerald-400">· {{ c.oauth_provider || '授权' }} 登录</span>
|
||||
<span v-if="c.login_type==='oauth'" class="ml-1 text-emerald-600 dark:text-emerald-400">· {{ Fmt.oauthLabel(c.oauth_provider) || '授权' }} 登录</span>
|
||||
<span v-else-if="c.login_type==='other'" class="ml-1">· 其他登录方式</span>
|
||||
<span v-if="c.account_name" class="ml-1">· 平台账号</span>
|
||||
</div>
|
||||
@@ -66,7 +66,7 @@ const VaultView = {
|
||||
<div class="text-xs text-slate-500 space-y-1">
|
||||
<div v-if="c.url"><a :href="c.url" target="_blank" rel="noopener" class="text-blue-600 dark:text-blue-400 hover:underline break-all">登录页 ↗</a></div>
|
||||
<div v-if="c.note" class="whitespace-pre-wrap break-words">{{ c.note }}</div>
|
||||
<div v-if="c.login_type==='oauth'" class="text-slate-400">授权登录({{ c.oauth_provider || '未记录来源' }}),本站无独立密码</div>
|
||||
<div v-if="c.login_type==='oauth'" class="text-slate-400">授权登录({{ Fmt.oauthDetail(c.oauth_provider) || '未记录来源' }}),本站无独立密码</div>
|
||||
<div v-if="c.account_name" class="text-slate-400">关联平台账号:{{ c.account_name }}</div>
|
||||
<div class="text-slate-300 dark:text-slate-600">更新于 {{ fmtTime(c.updated_at) }}</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user