fix(push-config): 修复厂商凭据无法回显问题

- 添加 getServiceItem API,按平台精确查询推送服务配置(/services/item)
- applySelectedPlatformConfig 改用精确接口而非列表,避免 listByApp
  只返回第一条 PUSH 服务(IOS)导致 ANDROID 配置加载为空的问题

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
XuqmGroup 2026-06-26 16:16:08 +08:00
父节点 549d4ca3c1
当前提交 1b3c94603a
共有 2 个文件被更改,包括 15 次插入6 次删除

查看文件

@ -170,6 +170,11 @@ export const appApi = {
} as typeof res & { data: { data: FeatureService } }
},
getServiceItem: (appKey: string, platform: string, serviceType: string) =>
client.get<{ data: FeatureService }>(`/apps/${appKey}/services/item`, {
params: { platform, serviceType },
}),
toggleService: (appKey: string, platform: string, serviceType: string, enable: boolean) =>
client.post<{ data: FeatureService }>(`/apps/${appKey}/services/toggle`, null, {
params: { platform, serviceType, enable },

查看文件

@ -528,17 +528,21 @@ async function loadData() {
services.value = svcRes.data.data
// Always default to ANDROID on load; user can switch via the platform selector
selectedPlatform.value = 'ANDROID'
applySelectedPlatformConfig()
await applySelectedPlatformConfig()
} finally {
loading.value = false
}
}
function applySelectedPlatformConfig() {
const raw = services.value.find(
s => s.serviceType === 'PUSH' && s.platform === selectedPlatform.value,
)?.config
replaceState(parseConfig(raw))
async function applySelectedPlatformConfig() {
if (!app.value) return
try {
const res = await appApi.getServiceItem(app.value.appKey, selectedPlatform.value, 'PUSH')
replaceState(parseConfig(res.data.data?.config))
} catch {
//
replaceState(parseConfig(null))
}
}
function buildPayload(): PushServiceConfig {