From b64a0deae5b5d33f9e20671a68936b27f0b9b00b Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 21 七月 2026 18:03:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_pro2.0' into dev_pro2.0

---
 src/views/im/utils/config.ts |  133 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 133 insertions(+), 0 deletions(-)

diff --git a/src/views/im/utils/config.ts b/src/views/im/utils/config.ts
new file mode 100644
index 0000000..6d153f0
--- /dev/null
+++ b/src/views/im/utils/config.ts
@@ -0,0 +1,133 @@
+/**
+ * IM 鍓嶇杩愯鍙傛暟 / UI 闃堝��
+ *
+ * 涓� constants.ts 鐨勫垎宸ワ細
+ * - constants.ts锛氬崗璁灇涓撅紙涓庡悗绔� enum 涓�涓�瀵瑰簲锛�+ 鍗忚濂戠害鍊硷紙濡� IM_AT_ALL_USER_ID锛�
+ * - config.ts锛氬彲璋冭妭鐨勭瓥鐣ユ暟鍊硷紝鍖呮嫭闀滃儚鍚庣 ImProperties 鐨勯粯璁ゅ�间笌绾墠绔� UI 闃堝��
+ *
+ * 鏍囨敞銆屽悗绔暅鍍忋�嶇殑甯搁噺涓� yudao.im.* 閰嶇疆榛樿鍊间竴鑷达紱璋冩暣鍚庣閰嶇疆鏃堕渶鍚屾淇敼杩欓噷
+ */
+
+// ==================== 鍚庣闀滃儚锛堜笌 ImProperties 榛樿鍊煎榻愶級 ====================
+
+/** 缇ゆ渶澶ф垚鍛樹汉鏁帮紙瀵归綈 yudao.im.group.max-member锛� */
+export const GROUP_MAX_MEMBER = 500
+
+/** 鍗曠兢绠$悊鍛樹汉鏁颁笂闄愶紙瀵归綈 yudao.im.group.admin-max-count锛� */
+export const GROUP_ADMIN_MAX_COUNT = 3
+
+/** 鍗曠兢缃《娑堟伅鏉℃暟涓婇檺锛堝榻� yudao.im.group.pin-max-count锛� */
+export const GROUP_PIN_MAX_COUNT = 5
+
+/**
+ * 鏄惁鍚敤绉佽亰宸茶鍔熻兘锛堝榻� yudao.im.message.private-read-enabled锛�
+ *
+ * 鍏抽棴鍚庯細杩涘叆绉佽亰浼氳瘽涓嶅啀涓婃姤宸茶浣嶇疆锛涙皵娉$殑銆屽凡璇� / 鏈銆嶆爣绛鹃殣钘忥紱
+ * 绠$悊鍚庡彴绉佽亰娑堟伅鍒楄〃鐨勩�岀姸鎬併�嶅垪涓庤鎯呬腑鐨勭姸鎬佸瓧娈甸殣钘�
+ */
+export const MESSAGE_PRIVATE_READ_ENABLED = true
+
+/**
+ * 鏄惁鍚敤缇よ亰宸茶鍔熻兘锛堝惈缇ゆ秷鎭洖鎵э紝瀵归綈 yudao.im.message.group-read-enabled锛�
+ *
+ * 鍏抽棴鍚庯細杩涘叆缇や細璇濅笉鍐嶄笂鎶ュ凡璇讳綅缃紱杈撳叆妗嗙殑銆屽彂閫佸洖鎵ф秷鎭�嶅叆鍙i殣钘忥紱
+ * 缇ゆ秷鎭皵娉′笂鐨勩�孨 浜哄凡璇汇�峱opover 闅愯棌锛涚鐞嗗悗鍙扮兢娑堟伅鍒楄〃鐨勩�岀姸鎬併�嶃�屽洖鎵с�嶅垪涓庤鎯呬腑瀵瑰簲瀛楁闅愯棌
+ */
+export const MESSAGE_GROUP_READ_ENABLED = true
+
+/** 娑堟伅鎾ゅ洖鏃堕棿闄愬埗锛堝垎閽燂紝瀵归綈 yudao.im.message.recall-timeout-minutes锛� */
+export const MESSAGE_RECALL_TIMEOUT_MINUTES = 5
+
+/** 绉佽亰绂荤嚎娑堟伅鏈�澶ф媺鍙栧ぉ鏁帮紙瀵归綈 yudao.im.message.private-pull-max-days锛� */
+export const MESSAGE_PRIVATE_PULL_MAX_DAYS = 30
+
+/** 缇よ亰绂荤嚎娑堟伅鏈�澶ф媺鍙栧ぉ鏁帮紙瀵归綈 yudao.im.message.group-pull-max-days锛� */
+export const MESSAGE_GROUP_PULL_MAX_DAYS = 30
+
+// ==================== 鍓嶇鐙湁锛氭媺鍙� / 鍒嗛〉 ====================
+
+/** 姣忔鎷夊彇绉佽亰娑堟伅鐨勬渶澶ф潯鏁帮紙鍚庣涓婇檺 1000锛屽墠绔彇淇濆畧鍊� 100锛� */
+export const MESSAGE_PRIVATE_PULL_SIZE = 100
+
+/** 姣忔鎷夊彇缇よ亰娑堟伅鐨勬渶澶ф潯鏁帮紙鍚庣涓婇檺 1000锛屽墠绔彇淇濆畧鍊� 100锛� */
+export const MESSAGE_GROUP_PULL_SIZE = 100
+
+/** 銆屾垜鐩稿叧銆嶅ソ鍙嬬敵璇峰垪琛ㄧ殑鍗曟鎷夊彇鏉℃暟锛堟父鏍囧垎椤� page size锛� */
+export const FRIEND_REQUEST_PAGE_SIZE = 100
+
+/** 銆屾垜鐩稿叧銆嶅姞缇ょ敵璇峰垪琛ㄧ殑鍗曟鎷夊彇鏉℃暟 */
+export const GROUP_REQUEST_PAGE_SIZE = 100
+
+// ==================== 涓婁紶瀹夊叏绛栫暐 ====================
+// 鏁板�间笌鍚庣 Spring multipart 閰嶇疆瀵归綈锛坄spring.servlet.multipart.max-file-size = 16MB`锛�
+// 鍚庣璋冨ぇ鍚庤繖閲屽悓姝ヨ皟锛涗笉瑕佸崟杈规斁瀹斤紝鍚﹀垯鐢ㄦ埛涓婁紶瀹屽埌鍚庣 413
+
+/** 鍥剧墖 / 瑙嗛 / 鏅�氭枃浠跺崟鏂囦欢涓婇檺锛圡B锛夛紝瀵归綈鍚庣 max-file-size */
+export const MESSAGE_IMAGE_MAX_MB = 16
+export const MESSAGE_VIDEO_MAX_MB = 16
+export const MESSAGE_FILE_MAX_MB = 16
+/** 璇煶鍗曟枃浠朵笂闄愶紙MB锛夛細60s @ 64kbps 绾� 0.5MB锛�5MB 宸茶繙瓒呭綍鍒跺彲鑳戒骇鍑虹殑澶у皬 */
+export const MESSAGE_VOICE_MAX_MB = 5
+
+/** 鍙墽琛� / 鑴氭湰绫绘墿灞曞悕榛戝悕鍗曪紱鎺ユ敹绔偣鍑讳笅杞藉悗鏈湴鍙屽嚮灏辫窇锛宧tml 鏈湴鎵撳紑杩樿兘鎵ц鑴氭湰 */
+export const DANGEROUS_FILE_EXTENSIONS = [
+  'exe',
+  'bat',
+  'cmd',
+  'com',
+  'msi',
+  'scr',
+  'pif',
+  'vbs',
+  'vbe',
+  'wsf',
+  'ws',
+  'js',
+  'jse',
+  'jar',
+  'sh',
+  'app',
+  'ps1',
+  'reg',
+  'html',
+  'htm'
+]
+
+// ==================== 鍓嶇鐙湁锛歎I 闃堝�� ====================
+
+/** 娑堟伅涔嬮棿娓叉煋銆屾椂闂村垎闅旀潯銆嶇殑闃堝�硷細10 鍒嗛挓 */
+export const MESSAGE_TIME_TIP_GAP_MS = 10 * 60 * 1000
+
+/**
+ * 鎾ゅ洖鑿滃崟鍙鐨勬椂闂寸獥锛氳嚜宸卞彂閫佺殑娑堟伅瓒呰繃杩欎釜鏃堕暱灏变笉鑳藉啀鎾ゅ洖锛岃彍鍗曞洖閫�涓恒�屽垹闄ゃ��
+ *
+ * 姣斿悗绔� MESSAGE_RECALL_TIMEOUT_MINUTES锛�5 鍒嗛挓锛変弗鏍硷紝瀵归綈寰俊 PC 鐨� 2 鍒嗛挓
+ */
+export const MESSAGE_RECALL_WINDOW_MS = 2 * 60 * 1000
+
+/** 鍚堝苟杞彂娑堟伅锛圡ERGE 绫诲瀷锛夋皵娉″唴棰勮鐨勬渶澶ц鏁帮紙瀵归綈寰俊銆岃亰澶╄褰曘�嶆皵娉★級 */
+export const MESSAGE_MERGE_PREVIEW_LINES = 3
+
+/** 鏈�杩戣浆鍙戜細璇� key 鍒楄〃鐨勬渶澶т繚鐣欐暟閲忥紙瀵归綈寰俊 PC 妯悜澶村儚鍖哄彲瑙佸閲忥級 */
+export const CONVERSATION_RECENT_FORWARD_MAX = 12
+
+// ==================== 鍓嶇鐙湁锛歊TC 閫氳瘽鍏滃簳 ====================
+
+/**
+ * 鎸搩瓒呮椂鍏滃簳锛涢�氳瘽瀛樻椿鏈熼棿 timer 璋冪敤 noAnswerCallCheck 鎺ュ彛鐨勯棿闅旓紱
+ * 瀹為檯瓒呮椂闃堝�肩敱鍚庣 yudao.im.rtc.invite-timeout-minutes 鍐冲畾锛屽墠绔粎鍐冲畾瑙﹀彂棰戠巼
+ */
+export const RTC_NO_ANSWER_CALL_CHECK_INTERVAL_MS = 60 * 1000
+
+// ==================== 鍓嶇鐙湁锛歐ebSocket 鑷姩閲嶈繛 ====================
+// 鎸囨暟閫�閬匡細base * 2^attempt锛屼笂闄愬皝椤讹紱姣忔鍐嶅彔鍔� 0~jitter ms 闅忔満鍋忕Щ
+// 閬垮厤鏈嶅姟绔噸鍚椂鍏ㄩ噺瀹㈡埛绔湪鍚屼竴绉掓墦杩囨潵褰㈡垚銆屾儕缇ゃ�嶏紱涓嶈娆℃暟涓婇檺锛屾寔缁噸杩炵洿鍒伴摼璺仮澶�
+
+/** 棣栨閲嶈繛绛夊緟锛屽崟浣� ms */
+export const WS_RECONNECT_BASE_MS = 1000
+
+/** 閫�閬夸笂闄愶紝鍗曚綅 ms锛涜繛缁け璐� 5 娆″悗绋冲畾鍦� 30s 涓嶅啀澧為暱 */
+export const WS_RECONNECT_MAX_MS = 30 * 1000
+
+/** 閫�閬垮彔鍔犵殑闅忔満鎶栧姩涓婇檺锛屽崟浣� ms */
+export const WS_RECONNECT_JITTER_MS = 1000

--
Gitblit v1.9.3