diff --git a/im-admin-ui/src/assets/emoji/0.gif b/im-admin-ui/src/assets/emoji/0.gif new file mode 100644 index 0000000..e7848ec Binary files /dev/null and b/im-admin-ui/src/assets/emoji/0.gif differ diff --git a/im-admin-ui/src/assets/emoji/1.gif b/im-admin-ui/src/assets/emoji/1.gif new file mode 100644 index 0000000..cb5b26b Binary files /dev/null and b/im-admin-ui/src/assets/emoji/1.gif differ diff --git a/im-admin-ui/src/assets/emoji/10.gif b/im-admin-ui/src/assets/emoji/10.gif new file mode 100644 index 0000000..53a6c67 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/10.gif differ diff --git a/im-admin-ui/src/assets/emoji/11.gif b/im-admin-ui/src/assets/emoji/11.gif new file mode 100644 index 0000000..d718e6d Binary files /dev/null and b/im-admin-ui/src/assets/emoji/11.gif differ diff --git a/im-admin-ui/src/assets/emoji/12.gif b/im-admin-ui/src/assets/emoji/12.gif new file mode 100644 index 0000000..2362b45 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/12.gif differ diff --git a/im-admin-ui/src/assets/emoji/13.gif b/im-admin-ui/src/assets/emoji/13.gif new file mode 100644 index 0000000..4d8dc78 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/13.gif differ diff --git a/im-admin-ui/src/assets/emoji/14.gif b/im-admin-ui/src/assets/emoji/14.gif new file mode 100644 index 0000000..131c3d9 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/14.gif differ diff --git a/im-admin-ui/src/assets/emoji/15.gif b/im-admin-ui/src/assets/emoji/15.gif new file mode 100644 index 0000000..25c57ae Binary files /dev/null and b/im-admin-ui/src/assets/emoji/15.gif differ diff --git a/im-admin-ui/src/assets/emoji/16.gif b/im-admin-ui/src/assets/emoji/16.gif new file mode 100644 index 0000000..2711656 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/16.gif differ diff --git a/im-admin-ui/src/assets/emoji/17.gif b/im-admin-ui/src/assets/emoji/17.gif new file mode 100644 index 0000000..4419ba2 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/17.gif differ diff --git a/im-admin-ui/src/assets/emoji/18.gif b/im-admin-ui/src/assets/emoji/18.gif new file mode 100644 index 0000000..478a421 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/18.gif differ diff --git a/im-admin-ui/src/assets/emoji/19.gif b/im-admin-ui/src/assets/emoji/19.gif new file mode 100644 index 0000000..59261ea Binary files /dev/null and b/im-admin-ui/src/assets/emoji/19.gif differ diff --git a/im-admin-ui/src/assets/emoji/2.gif b/im-admin-ui/src/assets/emoji/2.gif new file mode 100644 index 0000000..b01cbcf Binary files /dev/null and b/im-admin-ui/src/assets/emoji/2.gif differ diff --git a/im-admin-ui/src/assets/emoji/20.gif b/im-admin-ui/src/assets/emoji/20.gif new file mode 100644 index 0000000..45becb4 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/20.gif differ diff --git a/im-admin-ui/src/assets/emoji/21.gif b/im-admin-ui/src/assets/emoji/21.gif new file mode 100644 index 0000000..d3f1afe Binary files /dev/null and b/im-admin-ui/src/assets/emoji/21.gif differ diff --git a/im-admin-ui/src/assets/emoji/22.gif b/im-admin-ui/src/assets/emoji/22.gif new file mode 100644 index 0000000..ee220d1 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/22.gif differ diff --git a/im-admin-ui/src/assets/emoji/23.gif b/im-admin-ui/src/assets/emoji/23.gif new file mode 100644 index 0000000..5dbd9f3 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/23.gif differ diff --git a/im-admin-ui/src/assets/emoji/24.gif b/im-admin-ui/src/assets/emoji/24.gif new file mode 100644 index 0000000..d3ae946 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/24.gif differ diff --git a/im-admin-ui/src/assets/emoji/25.gif b/im-admin-ui/src/assets/emoji/25.gif new file mode 100644 index 0000000..5cf2a9e Binary files /dev/null and b/im-admin-ui/src/assets/emoji/25.gif differ diff --git a/im-admin-ui/src/assets/emoji/26.gif b/im-admin-ui/src/assets/emoji/26.gif new file mode 100644 index 0000000..793b2ac Binary files /dev/null and b/im-admin-ui/src/assets/emoji/26.gif differ diff --git a/im-admin-ui/src/assets/emoji/27.gif b/im-admin-ui/src/assets/emoji/27.gif new file mode 100644 index 0000000..b78a02b Binary files /dev/null and b/im-admin-ui/src/assets/emoji/27.gif differ diff --git a/im-admin-ui/src/assets/emoji/28.gif b/im-admin-ui/src/assets/emoji/28.gif new file mode 100644 index 0000000..4074630 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/28.gif differ diff --git a/im-admin-ui/src/assets/emoji/29.gif b/im-admin-ui/src/assets/emoji/29.gif new file mode 100644 index 0000000..166f252 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/29.gif differ diff --git a/im-admin-ui/src/assets/emoji/3.gif b/im-admin-ui/src/assets/emoji/3.gif new file mode 100644 index 0000000..3b15c53 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/3.gif differ diff --git a/im-admin-ui/src/assets/emoji/30.gif b/im-admin-ui/src/assets/emoji/30.gif new file mode 100644 index 0000000..13499b9 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/30.gif differ diff --git a/im-admin-ui/src/assets/emoji/31.gif b/im-admin-ui/src/assets/emoji/31.gif new file mode 100644 index 0000000..b4ec1d8 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/31.gif differ diff --git a/im-admin-ui/src/assets/emoji/32.gif b/im-admin-ui/src/assets/emoji/32.gif new file mode 100644 index 0000000..ca86399 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/32.gif differ diff --git a/im-admin-ui/src/assets/emoji/33.gif b/im-admin-ui/src/assets/emoji/33.gif new file mode 100644 index 0000000..8ec811a Binary files /dev/null and b/im-admin-ui/src/assets/emoji/33.gif differ diff --git a/im-admin-ui/src/assets/emoji/34.gif b/im-admin-ui/src/assets/emoji/34.gif new file mode 100644 index 0000000..2a3c006 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/34.gif differ diff --git a/im-admin-ui/src/assets/emoji/35.gif b/im-admin-ui/src/assets/emoji/35.gif new file mode 100644 index 0000000..7fc7f94 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/35.gif differ diff --git a/im-admin-ui/src/assets/emoji/36.gif b/im-admin-ui/src/assets/emoji/36.gif new file mode 100644 index 0000000..f0d46d0 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/36.gif differ diff --git a/im-admin-ui/src/assets/emoji/37.gif b/im-admin-ui/src/assets/emoji/37.gif new file mode 100644 index 0000000..2c9c084 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/37.gif differ diff --git a/im-admin-ui/src/assets/emoji/38.gif b/im-admin-ui/src/assets/emoji/38.gif new file mode 100644 index 0000000..b6b4e09 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/38.gif differ diff --git a/im-admin-ui/src/assets/emoji/39.gif b/im-admin-ui/src/assets/emoji/39.gif new file mode 100644 index 0000000..cfb75c6 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/39.gif differ diff --git a/im-admin-ui/src/assets/emoji/4.gif b/im-admin-ui/src/assets/emoji/4.gif new file mode 100644 index 0000000..fd60e4e Binary files /dev/null and b/im-admin-ui/src/assets/emoji/4.gif differ diff --git a/im-admin-ui/src/assets/emoji/40.gif b/im-admin-ui/src/assets/emoji/40.gif new file mode 100644 index 0000000..c5d7a8b Binary files /dev/null and b/im-admin-ui/src/assets/emoji/40.gif differ diff --git a/im-admin-ui/src/assets/emoji/41.gif b/im-admin-ui/src/assets/emoji/41.gif new file mode 100644 index 0000000..cf1c0a1 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/41.gif differ diff --git a/im-admin-ui/src/assets/emoji/42.gif b/im-admin-ui/src/assets/emoji/42.gif new file mode 100644 index 0000000..cc87f9e Binary files /dev/null and b/im-admin-ui/src/assets/emoji/42.gif differ diff --git a/im-admin-ui/src/assets/emoji/43.gif b/im-admin-ui/src/assets/emoji/43.gif new file mode 100644 index 0000000..46153bc Binary files /dev/null and b/im-admin-ui/src/assets/emoji/43.gif differ diff --git a/im-admin-ui/src/assets/emoji/44.gif b/im-admin-ui/src/assets/emoji/44.gif new file mode 100644 index 0000000..dd45118 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/44.gif differ diff --git a/im-admin-ui/src/assets/emoji/45.gif b/im-admin-ui/src/assets/emoji/45.gif new file mode 100644 index 0000000..a3e86d6 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/45.gif differ diff --git a/im-admin-ui/src/assets/emoji/46.gif b/im-admin-ui/src/assets/emoji/46.gif new file mode 100644 index 0000000..b3fb681 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/46.gif differ diff --git a/im-admin-ui/src/assets/emoji/47.gif b/im-admin-ui/src/assets/emoji/47.gif new file mode 100644 index 0000000..d24bdbb Binary files /dev/null and b/im-admin-ui/src/assets/emoji/47.gif differ diff --git a/im-admin-ui/src/assets/emoji/48.gif b/im-admin-ui/src/assets/emoji/48.gif new file mode 100644 index 0000000..ab98b2b Binary files /dev/null and b/im-admin-ui/src/assets/emoji/48.gif differ diff --git a/im-admin-ui/src/assets/emoji/49.gif b/im-admin-ui/src/assets/emoji/49.gif new file mode 100644 index 0000000..19a7e72 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/49.gif differ diff --git a/im-admin-ui/src/assets/emoji/5.gif b/im-admin-ui/src/assets/emoji/5.gif new file mode 100644 index 0000000..85cd373 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/5.gif differ diff --git a/im-admin-ui/src/assets/emoji/50.gif b/im-admin-ui/src/assets/emoji/50.gif new file mode 100644 index 0000000..51e4093 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/50.gif differ diff --git a/im-admin-ui/src/assets/emoji/51.gif b/im-admin-ui/src/assets/emoji/51.gif new file mode 100644 index 0000000..9bf82a8 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/51.gif differ diff --git a/im-admin-ui/src/assets/emoji/52.gif b/im-admin-ui/src/assets/emoji/52.gif new file mode 100644 index 0000000..18391ea Binary files /dev/null and b/im-admin-ui/src/assets/emoji/52.gif differ diff --git a/im-admin-ui/src/assets/emoji/53.gif b/im-admin-ui/src/assets/emoji/53.gif new file mode 100644 index 0000000..0f584b5 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/53.gif differ diff --git a/im-admin-ui/src/assets/emoji/54.gif b/im-admin-ui/src/assets/emoji/54.gif new file mode 100644 index 0000000..5ab6d25 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/54.gif differ diff --git a/im-admin-ui/src/assets/emoji/55.gif b/im-admin-ui/src/assets/emoji/55.gif new file mode 100644 index 0000000..3d75ad7 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/55.gif differ diff --git a/im-admin-ui/src/assets/emoji/56.gif b/im-admin-ui/src/assets/emoji/56.gif new file mode 100644 index 0000000..2525970 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/56.gif differ diff --git a/im-admin-ui/src/assets/emoji/6.gif b/im-admin-ui/src/assets/emoji/6.gif new file mode 100644 index 0000000..a49c862 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/6.gif differ diff --git a/im-admin-ui/src/assets/emoji/7.gif b/im-admin-ui/src/assets/emoji/7.gif new file mode 100644 index 0000000..3a847b8 Binary files /dev/null and b/im-admin-ui/src/assets/emoji/7.gif differ diff --git a/im-admin-ui/src/assets/emoji/8.gif b/im-admin-ui/src/assets/emoji/8.gif new file mode 100644 index 0000000..eb6db6a Binary files /dev/null and b/im-admin-ui/src/assets/emoji/8.gif differ diff --git a/im-admin-ui/src/assets/emoji/9.gif b/im-admin-ui/src/assets/emoji/9.gif new file mode 100644 index 0000000..52562dc Binary files /dev/null and b/im-admin-ui/src/assets/emoji/9.gif differ diff --git a/im-admin-ui/src/components/im/ImMessageContent/index.vue b/im-admin-ui/src/components/im/ImMessageContent/index.vue index b50ffbd..1ac5233 100644 --- a/im-admin-ui/src/components/im/ImMessageContent/index.vue +++ b/im-admin-ui/src/components/im/ImMessageContent/index.vue @@ -1,10 +1,12 @@ \ No newline at end of file diff --git a/im-admin-ui/src/utils/emotion.ts b/im-admin-ui/src/utils/emotion.ts new file mode 100644 index 0000000..27c4597 --- /dev/null +++ b/im-admin-ui/src/utils/emotion.ts @@ -0,0 +1,26 @@ +const emoTextList = ['憨笑', '媚眼', '开心', '坏笑', '可怜', '爱心', '笑哭', '拍手', '惊喜', '打气', + '大哭', '流泪', '饥饿', '难受', '健身', '示爱', '色色', '眨眼', '暴怒', '惊恐', + '思考', '头晕', '大吐', '酷笑', '翻滚', '享受', '鼻涕', '快乐', '雀跃', '微笑', + '贪婪', '红心', '粉心', '星星', '大火', '眼睛', '音符', "叹号", "问号", "绿叶", + "燃烧", "喇叭", "警告", "信封", "房子", "礼物", "点赞", "举手", "喝彩", "点头", + "摇头", "偷瞄", "庆祝", "疾跑", "打滚", "惊吓", "起跳" +]; + + +// 将匹配结果替换表情图片 +let textToImg = (emoText) => { + let word = emoText.replace(/\#|\;/gi, ''); + + let idx = emoTextList.indexOf(word); + if (idx == -1) { + return emoText; + } + + let url = new URL(`../assets/emoji/${idx}.gif`, import.meta.url).href; + return `` +} + + +export const transform = (content) => { + return content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, (text) => textToImg(text)); +} diff --git a/im-admin-ui/src/utils/str.ts b/im-admin-ui/src/utils/str.ts new file mode 100644 index 0000000..eee15c6 --- /dev/null +++ b/im-admin-ui/src/utils/str.ts @@ -0,0 +1,10 @@ +export const html2Escape = (strText) => { + return strText.replace(/[<>&"]/g, function(c) { + return { + '<': '<', + '>': '>', + '&': '&', + '"': '"' + } [c]; + }); +} \ No newline at end of file diff --git a/im-admin-ui/src/utils/url.ts b/im-admin-ui/src/utils/url.ts new file mode 100644 index 0000000..4fae577 --- /dev/null +++ b/im-admin-ui/src/utils/url.ts @@ -0,0 +1,11 @@ +export const replaceURLWithHTMLLinks = (content) => { + // 使用正则表达式匹配更广泛的URL格式(此正则由deepseek生成) + const urlRegex = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|]|\bwww\.[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig; + return content.replace(urlRegex, (url) => { + // 如果URL不以http(s)://开头,则添加http://前缀 + if (!url.startsWith("http")) { + url = "http://" + url; + } + return `${url}`; + }); +}