mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-02 17:30:23 +08:00
fix: 新增 API 验证增加响应完整性检查
- 站点地址字段在无官方地址时改为必填 - 验证成功时检查用户信息和余额是否完整返回
This commit is contained in:
@@ -21,11 +21,12 @@ export const newApiTemplate: AuthTemplate = {
|
|||||||
fields: [
|
fields: [
|
||||||
{
|
{
|
||||||
key: 'base_url',
|
key: 'base_url',
|
||||||
label: 'API 地址',
|
label: '站点地址',
|
||||||
type: 'text',
|
type: 'text',
|
||||||
placeholder: providerWebsite || 'https://api.example.com',
|
placeholder: providerWebsite
|
||||||
helpText: '提供商的 API 基础地址,留空则使用提供商官网',
|
? `${providerWebsite}`
|
||||||
required: false,
|
: '请填写站点地址',
|
||||||
|
required: !providerWebsite,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
key: 'api_key',
|
key: 'api_key',
|
||||||
|
|||||||
@@ -346,12 +346,24 @@ async function handleVerify() {
|
|||||||
const result = await verifyProviderAuth(props.providerId, verifyRequest)
|
const result = await verifyProviderAuth(props.providerId, verifyRequest)
|
||||||
|
|
||||||
if (result.success) {
|
if (result.success) {
|
||||||
verifyStatus.value = 'success'
|
// 检查是否获取到有效的用户信息和余额
|
||||||
formChanged.value = false // 验证成功后重置表单变动标记
|
const username = result.data?.username?.trim() || result.data?.display_name?.trim()
|
||||||
// Toast 提示
|
const quota = result.data?.quota
|
||||||
const displayName = result.data?.display_name || result.data?.username || '未知'
|
|
||||||
const quotaStr = result.data?.quota !== undefined ? ` | 余额: ${formatQuota(result.data.quota)}` : ''
|
if (!username || quota === undefined || quota === null) {
|
||||||
showSuccess(`用户: ${displayName}${quotaStr}`, '验证成功')
|
// 没有获取到必要信息,视为验证失败
|
||||||
|
verifyStatus.value = 'error'
|
||||||
|
const missing: string[] = []
|
||||||
|
if (!username) missing.push('用户信息')
|
||||||
|
if (quota === undefined || quota === null) missing.push('余额')
|
||||||
|
showError(`验证响应缺少: ${missing.join('、')}`)
|
||||||
|
} else {
|
||||||
|
verifyStatus.value = 'success'
|
||||||
|
formChanged.value = false // 验证成功后重置表单变动标记
|
||||||
|
// Toast 提示
|
||||||
|
const displayName = result.data?.display_name || result.data?.username
|
||||||
|
showSuccess(`用户: ${displayName} | 余额: ${formatQuota(quota)}`, '验证成功')
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
verifyStatus.value = 'error'
|
verifyStatus.value = 'error'
|
||||||
showError(result.message || '验证失败')
|
showError(result.message || '验证失败')
|
||||||
|
|||||||
Reference in New Issue
Block a user