From 27cd042df9aca0383a49f3514bc21958dd890912 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 29 六月 2026 15:42:23 +0800
Subject: [PATCH] 银川 1.联调产品维护页面 2.添加IM即时通讯模块
---
src/views/im/manager/utils/format.ts | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 55 insertions(+), 0 deletions(-)
diff --git a/src/views/im/manager/utils/format.ts b/src/views/im/manager/utils/format.ts
new file mode 100644
index 0000000..d98df1a
--- /dev/null
+++ b/src/views/im/manager/utils/format.ts
@@ -0,0 +1,55 @@
+import { formatDateTime } from '#/packages/utils/src';
+
+/** 灞曠ず鐢ㄦ埛鍚嶇О */
+export function formatUserLabel(
+ nickname: string | undefined,
+ userId: number | undefined,
+) {
+ if (!userId) {
+ return '-';
+ }
+ return `${nickname || '-'} (${userId})`;
+}
+
+/** 灞曠ず缇ゅ悕绉� */
+export function formatGroupLabel(
+ name: string | undefined,
+ groupId: number | undefined,
+) {
+ if (!groupId) {
+ return '-';
+ }
+ return `${name || '-'} (${groupId})`;
+}
+
+/** 灞曠ず鏃ユ湡鏃堕棿 */
+export function formatDateTimeText(value?: Date | number | string) {
+ return value ? (formatDateTime(value) as string) : '-';
+}
+
+/** 鏍煎紡鍖� JSON */
+export function formatJsonText(content?: string) {
+ if (!content) {
+ return '';
+ }
+ try {
+ return JSON.stringify(JSON.parse(content), null, 2);
+ } catch {
+ return content;
+ }
+}
+
+/** 鎺㈡祴鍥剧墖灏哄 */
+export function probeImageSize(url: string) {
+ return new Promise<{ height: number; width: number }>((resolve, reject) => {
+ const img = new Image();
+ img.addEventListener('load', () => {
+ resolve({
+ width: img.naturalWidth || img.width,
+ height: img.naturalHeight || img.height,
+ });
+ });
+ img.addEventListener('error', reject);
+ img.src = url;
+ });
+}
--
Gitblit v1.9.3