feat(push): Token 复制按钮 + romVersion 显示
- PushManagementView: 系统版本列新增 romVersion 子行显示(灰色小字) - Token 预览列新增"复制"按钮,点击后调管理端接口获取完整 token 并复制到剪贴板 - DeviceInfo 接口添加 romVersion 字段 - pushAdminApi 新增 getDeviceToken 方法 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
b94883d6e0
当前提交
6f89da4362
@ -9,6 +9,7 @@ export interface DeviceInfo {
|
||||
brand: string | null
|
||||
model: string | null
|
||||
osVersion: string | null
|
||||
romVersion: string | null
|
||||
appVersion: string | null
|
||||
receivePush: boolean
|
||||
lastLoginAt: string | null
|
||||
@ -95,4 +96,10 @@ export const pushAdminApi = {
|
||||
'/push/admin/operation-logs', { params: { appKey, page, size } },
|
||||
)
|
||||
},
|
||||
|
||||
getDeviceToken(appKey: string, deviceId: string) {
|
||||
return client.get<{ data: { token: string } }>(`/push/admin/devices/${deviceId}/token`, {
|
||||
params: { appKey },
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
@ -74,9 +74,23 @@
|
||||
<el-table-column label="平台" prop="platform" width="90" />
|
||||
<el-table-column label="品牌" prop="brand" width="80" />
|
||||
<el-table-column label="型号" prop="model" min-width="110" />
|
||||
<el-table-column label="系统版本" prop="osVersion" width="100" />
|
||||
<el-table-column label="系统版本" min-width="120">
|
||||
<template #default="{ row }">
|
||||
<div>{{ row.osVersion || '-' }}</div>
|
||||
<div v-if="row.romVersion" style="font-size:11px;color:#909399">{{ row.romVersion }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="App 版本" prop="appVersion" width="90" />
|
||||
<el-table-column label="Token 预览" prop="tokenPreview" min-width="140" />
|
||||
<el-table-column label="Token 预览" min-width="140">
|
||||
<template #default="{ row }">
|
||||
<el-space>
|
||||
<span>{{ row.tokenPreview }}</span>
|
||||
<el-tooltip content="复制完整 Token" placement="top">
|
||||
<el-button link size="small" @click="copyToken(row)">复制</el-button>
|
||||
</el-tooltip>
|
||||
</el-space>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="接收推送" width="90" align="center">
|
||||
<template #default="{ row }">
|
||||
<el-tag :type="row.receivePush ? 'success' : 'danger'" size="small">
|
||||
@ -290,6 +304,17 @@ async function sendTestPush() {
|
||||
}
|
||||
}
|
||||
|
||||
async function copyToken(row: { id: string; tokenPreview: string }) {
|
||||
try {
|
||||
const res = await pushAdminApi.getDeviceToken(appKey.value, row.id)
|
||||
await navigator.clipboard.writeText(res.data.data.token)
|
||||
ElMessage.success('Token 已复制')
|
||||
} catch {
|
||||
await navigator.clipboard.writeText(row.tokenPreview)
|
||||
ElMessage.info('已复制 Token 预览')
|
||||
}
|
||||
}
|
||||
|
||||
async function loadLogs() {
|
||||
const uid = logsUserId.value.trim()
|
||||
if (!uid) return
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户