diff --git a/im/scripts/migrate-legacy-icons.js b/im/scripts/migrate-legacy-icons.js
new file mode 100644
index 00000000..cdb2cd18
--- /dev/null
+++ b/im/scripts/migrate-legacy-icons.js
@@ -0,0 +1,81 @@
+const fs = require("fs");
+const path = require("path");
+
+const root = path.join(__dirname, "../src");
+
+const pairs = [
+ [/<\/i>/g, ''],
+ [/ 加好友/g, ' 加好友'],
+ [/<\/i> 添加选项/g, ' 添加选项'],
+ [
+ /<\/i>/g,
+ '',
+ ],
+ [
+ //g,
+ '',
+ ],
+ [/icon="el-icon-microphone"/g, ":icon=\"$legacyIcon('el-icon-microphone')\""],
+ [/icon="el-icon-video-pause"/g, ":icon=\"$legacyIcon('el-icon-video-pause')\""],
+ [/icon="el-icon-video-play"/g, ":icon=\"$legacyIcon('el-icon-video-play')\""],
+ [/icon="el-icon-upload"/g, ":icon=\"$legacyIcon('el-icon-upload')\""],
+ [/icon="el-icon-refresh"/g, ":icon=\"$legacyIcon('el-icon-refresh')\""],
+ [/icon="el-icon-refresh-left"/g, ":icon=\"$legacyIcon('el-icon-refresh-left')\""],
+ [/icon="el-icon-refresh-right"/g, ":icon=\"$legacyIcon('el-icon-refresh-right')\""],
+ [/prefix-icon="el-icon-search"/g, ":prefix-icon=\"$legacyIcon('el-icon-search')\""],
+ [/size="mini"/g, 'size="small"'],
+ [/size='mini'/g, "size='small'"],
+ [/size="medium"/g, 'size="default"'],
+];
+
+function walk(dir, files = []) {
+ for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
+ const full = path.join(dir, entry.name);
+ if (entry.isDirectory()) walk(full, files);
+ else if (full.endsWith(".vue")) files.push(full);
+ }
+ return files;
+}
+
+let changed = 0;
+for (const file of walk(root)) {
+ let content = fs.readFileSync(file, "utf8");
+ let next = content;
+ for (const [pattern, replacement] of pairs) {
+ next = next.replace(pattern, replacement);
+ }
+ if (next !== content) {
+ fs.writeFileSync(file, next);
+ console.log("updated:", path.relative(root, file));
+ changed++;
+ }
+}
+
+console.log("files changed:", changed);
diff --git a/im/src/assets/images.js b/im/src/assets/images.js
new file mode 100644
index 00000000..8c91c201
--- /dev/null
+++ b/im/src/assets/images.js
@@ -0,0 +1,5 @@
+import defaultAvatar from "@/assets/image/detault-avatar.jpg";
+import defaultUserBanner from "@/assets/image/default-user-banner.png";
+import noOncallImage from "@/assets/image/no-oncall.6b776fcf.png";
+
+export { defaultAvatar, defaultUserBanner, noOncallImage };
diff --git a/im/src/components/chat/TalkCodeBlock.vue b/im/src/components/chat/TalkCodeBlock.vue
index 3bbfc9f5..44b73b44 100644
--- a/im/src/components/chat/TalkCodeBlock.vue
+++ b/im/src/components/chat/TalkCodeBlock.vue
@@ -5,11 +5,11 @@
diff --git a/im/src/components/chat/TalkSearchRecord.vue b/im/src/components/chat/TalkSearchRecord.vue
index 0f4764af..27197b21 100644
--- a/im/src/components/chat/TalkSearchRecord.vue
+++ b/im/src/components/chat/TalkSearchRecord.vue
@@ -13,7 +13,7 @@
:class="fullscreen ? 'icon-tuichuquanping' : 'icon-quanping'"
@click="fullscreen = !fullscreen"
/>
-
+
@@ -24,7 +24,7 @@
@click="triggerBroadside"
/>
-
+
-
+
加载数据中...
-
+
加载更多...
diff --git a/im/src/components/chat/messaege/AudioMessage.vue b/im/src/components/chat/messaege/AudioMessage.vue
index 04153ad9..26527129 100644
--- a/im/src/components/chat/messaege/AudioMessage.vue
+++ b/im/src/components/chat/messaege/AudioMessage.vue
@@ -2,9 +2,9 @@
-
-
-
+
+
+
合并转发
diff --git a/im/src/components/chat/panel/TalkPanel.vue b/im/src/components/chat/panel/TalkPanel.vue
index c44f409d..f0328d34 100644
--- a/im/src/components/chat/panel/TalkPanel.vue
+++ b/im/src/components/chat/panel/TalkPanel.vue
@@ -9,10 +9,10 @@
- 正在加载数据中...
+ 正在加载数据中...
- 查看更多消息...
+ 查看更多消息...
没有更多消息了...
@@ -39,8 +39,7 @@
'checkbox-border': multiSelect.isOpen === true,
}">
diff --git a/im/src/components/global/Empty.vue b/im/src/components/global/Empty.vue
index a4cb33a6..5cd5ba4d 100644
--- a/im/src/components/global/Empty.vue
+++ b/im/src/components/global/Empty.vue
@@ -8,6 +8,8 @@
diff --git a/im/src/components/layout/AbsModule.vue b/im/src/components/layout/AbsModule.vue
index 7768db15..e74552b8 100644
--- a/im/src/components/layout/AbsModule.vue
+++ b/im/src/components/layout/AbsModule.vue
@@ -2,7 +2,7 @@
-
+
diff --git a/im/src/components/layout/AvatarCropper.vue b/im/src/components/layout/AvatarCropper.vue
index 0f9883f4..98e111c0 100644
--- a/im/src/components/layout/AvatarCropper.vue
+++ b/im/src/components/layout/AvatarCropper.vue
@@ -4,7 +4,7 @@
@@ -45,28 +45,28 @@
上传图片
刷新
左转
右转
diff --git a/im/src/components/layout/RewardModule.vue b/im/src/components/layout/RewardModule.vue
index 6fdff64d..0e2b6ba5 100644
--- a/im/src/components/layout/RewardModule.vue
+++ b/im/src/components/layout/RewardModule.vue
@@ -3,7 +3,7 @@
Donate
-
+
diff --git a/im/src/components/notify/FriendApplyNotify.vue b/im/src/components/notify/FriendApplyNotify.vue
index db61840e..300e7f8e 100644
--- a/im/src/components/notify/FriendApplyNotify.vue
+++ b/im/src/components/notify/FriendApplyNotify.vue
@@ -2,7 +2,7 @@