From 723e1fe75d9fb806cebf8d057a164d9a8b3bddc5 Mon Sep 17 00:00:00 2001 From: Dream Hunter Date: Wed, 25 Feb 2026 13:59:53 +0800 Subject: [PATCH] feat: add ip.im link for source IP in admin account list (#841) --- CHANGELOG.md | 1 + frontend/src/views/admin/Account.vue | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index da8ccad7..c5f7ad3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ ### Improvements - style: |邮件列表| 优化收件箱和发件箱空状态显示,根据邮件数量显示不同提示信息,添加语义化图标 +- feat: |后台管理| 邮箱地址列表来源IP添加 ip.im 查询链接,点击可快速查看IP信息 ## v1.3.0 diff --git a/frontend/src/views/admin/Account.vue b/frontend/src/views/admin/Account.vue index d6aec778..f997cde8 100644 --- a/frontend/src/views/admin/Account.vue +++ b/frontend/src/views/admin/Account.vue @@ -323,7 +323,21 @@ const columns = [ }, { title: t('source_meta'), - key: "source_meta" + key: "source_meta", + render(row) { + const val = row.source_meta; + if (!val) return ''; + const ipv4Regex = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; + const ipv6Regex = /^[0-9a-fA-F:]+$/; + if (ipv4Regex.test(val) || (val.includes(':') && ipv6Regex.test(val) && !val.startsWith('tg:'))) { + return h('a', { + href: `https://ip.im/${val}`, + target: '_blank', + rel: 'noopener noreferrer' + }, val); + } + return val; + } }, { title: t('mail_count'),