fix(push): 修复推送平台配置选择器及在线时间显示
- PushConfigView: 新增平台选择器(Android/iOS/HarmonyOS),加载时固定默认 ANDROID, 避免因激活服务平台顺序不同而静默保存到错误平台 - PushManagementView: 最后在线为空时降级显示设备最后登录时间,并加注释区分 IM 在线 vs 设备登录 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
ceef2750c4
当前提交
efa77abce9
@ -21,6 +21,18 @@
|
||||
style="margin-bottom:16px"
|
||||
/>
|
||||
|
||||
<el-card style="margin-bottom:16px">
|
||||
<template #header>目标平台</template>
|
||||
<el-radio-group v-model="selectedPlatform" @change="applySelectedPlatformConfig">
|
||||
<el-radio-button value="ANDROID">Android</el-radio-button>
|
||||
<el-radio-button value="IOS">iOS</el-radio-button>
|
||||
<el-radio-button value="HARMONY">HarmonyOS</el-radio-button>
|
||||
</el-radio-group>
|
||||
<el-text type="info" style="margin-left:16px;font-size:12px">
|
||||
当前编辑:{{ selectedPlatform }} 平台的推送配置,保存时仅更新该平台
|
||||
</el-text>
|
||||
</el-card>
|
||||
|
||||
<el-card style="margin-bottom:16px">
|
||||
<template #header>厂商凭据</template>
|
||||
<div class="vendor-grid">
|
||||
@ -496,11 +508,8 @@ async function loadData() {
|
||||
])
|
||||
app.value = appRes.data.data
|
||||
services.value = svcRes.data.data
|
||||
const activePushService = services.value.find(s => s.serviceType === 'PUSH' && s.enabled)
|
||||
?? services.value.find(s => s.serviceType === 'PUSH')
|
||||
if (activePushService) {
|
||||
selectedPlatform.value = activePushService.platform as 'ANDROID' | 'IOS' | 'HARMONY'
|
||||
}
|
||||
// Always default to ANDROID on load; user can switch via the platform selector
|
||||
selectedPlatform.value = 'ANDROID'
|
||||
applySelectedPlatformConfig()
|
||||
} finally {
|
||||
loading.value = false
|
||||
|
||||
@ -52,7 +52,14 @@
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="最后在线">
|
||||
{{ userStatus.lastSeenAt ? formatTime(userStatus.lastSeenAt) : '-' }}
|
||||
<span v-if="userStatus.lastSeenAt">{{ formatTime(userStatus.lastSeenAt) }}</span>
|
||||
<span v-else-if="userStatus.devices[0]?.lastLoginAt" style="color:#909399">
|
||||
{{ formatTime(userStatus.devices[0].lastLoginAt) }}
|
||||
<el-tooltip content="该用户未连接 IM,显示的是设备最后登录时间" placement="top">
|
||||
<span style="font-size:11px;cursor:help">(设备登录)</span>
|
||||
</el-tooltip>
|
||||
</span>
|
||||
<span v-else>-</span>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="可推送设备数">
|
||||
{{ userStatus.deliverableDevices.length }}
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户