im-ui-mobile 0.0.80 → 0.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/im-chat-item/im-chat-item.vue +4 -3
- package/index.js +8 -8
- package/package.json +1 -1
- package/types/utils/emoji.d.ts +0 -2
- package/utils/emoji.js +1 -32
|
@@ -27,14 +27,15 @@
|
|
|
27
27
|
<script setup lang="ts">
|
|
28
28
|
import { computed } from 'vue'
|
|
29
29
|
import ImHeadImage from '../im-head-image/im-head-image.vue'
|
|
30
|
-
import { datetime, dom, messageType
|
|
30
|
+
import { datetime, dom, messageType } from '../../index'
|
|
31
31
|
import { MESSAGE_TYPE } from '../../index'
|
|
32
32
|
|
|
33
33
|
interface Props {
|
|
34
34
|
chat?: any;
|
|
35
35
|
index?: number;
|
|
36
36
|
active?: boolean;
|
|
37
|
-
online: boolean
|
|
37
|
+
online: boolean;
|
|
38
|
+
emoji: any;
|
|
38
39
|
}
|
|
39
40
|
|
|
40
41
|
const $datetime = datetime
|
|
@@ -82,7 +83,7 @@ const isTextMessage = computed(() => {
|
|
|
82
83
|
|
|
83
84
|
const nodesText = computed(() => {
|
|
84
85
|
const text = dom.html2Escape(props.chat?.lastContent || '');
|
|
85
|
-
return emoji.transform(text, 'emoji-small');
|
|
86
|
+
return props.emoji.transform(text, 'emoji-small');
|
|
86
87
|
});
|
|
87
88
|
|
|
88
89
|
// TODO:组件化(换为props.online)
|
package/index.js
CHANGED
|
@@ -44,24 +44,24 @@ const defaultConfig = {
|
|
|
44
44
|
baseUrl: ''
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
let installed = false
|
|
47
48
|
let emoji = null
|
|
48
49
|
|
|
49
50
|
const install = (app, options = {}) => {
|
|
51
|
+
// 防止重复安装
|
|
52
|
+
if (installed) {
|
|
53
|
+
return
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
installed = true
|
|
57
|
+
|
|
50
58
|
// 合并配置
|
|
51
59
|
config = { ...defaultConfig, ...options }
|
|
52
60
|
|
|
53
61
|
// 提供全局配置
|
|
54
62
|
app.provide('im-config', config)
|
|
55
63
|
|
|
56
|
-
// // 应用配置到各个模块
|
|
57
|
-
// if (config.emojiUrl) {
|
|
58
|
-
// // 设置 emoji 模块
|
|
59
|
-
// console.log('设置 emoji 模块', config)
|
|
60
|
-
// emoji.setEmojiUrl(config.emojiUrl);
|
|
61
|
-
// }
|
|
62
|
-
|
|
63
64
|
emoji = new Emoji({ emojiUrl: config.emojiUrl })
|
|
64
|
-
emoji.setEmojiUrl(config.emojiUrl)
|
|
65
65
|
|
|
66
66
|
// 安装插件
|
|
67
67
|
app.use(UViewPlusPlugin)
|
package/package.json
CHANGED
package/types/utils/emoji.d.ts
CHANGED
package/utils/emoji.js
CHANGED
|
@@ -8,9 +8,8 @@ class Emoji {
|
|
|
8
8
|
* @param {string} options.emojiUrl - 表情图片基础URL
|
|
9
9
|
*/
|
|
10
10
|
constructor(options = {}) {
|
|
11
|
-
console.log('Emoji constructor > options', options)
|
|
12
11
|
// 表情图片基础URL
|
|
13
|
-
this.emojiUrl = options.emojiUrl || 'not config
|
|
12
|
+
this.emojiUrl = options.emojiUrl || 'url not config.';
|
|
14
13
|
|
|
15
14
|
// 表情文本列表
|
|
16
15
|
this.emoTextList = [
|
|
@@ -26,23 +25,6 @@ class Emoji {
|
|
|
26
25
|
this.regex = /\#[\u4E00-\u9FA5]{1,3}\;/gi;
|
|
27
26
|
}
|
|
28
27
|
|
|
29
|
-
/**
|
|
30
|
-
* 设置表情图片基础URL
|
|
31
|
-
* @param {string} url - 表情图片基础URL
|
|
32
|
-
*/
|
|
33
|
-
setEmojiUrl(url) {
|
|
34
|
-
console.log('setEmojiUrl>url:', url)
|
|
35
|
-
this.emojiUrl = url;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* 获取表情图片基础URL
|
|
40
|
-
* @returns {string} 表情图片基础URL
|
|
41
|
-
*/
|
|
42
|
-
getEmojiUrl() {
|
|
43
|
-
return this.emojiUrl;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
28
|
/**
|
|
47
29
|
* 检查内容是否包含表情符号
|
|
48
30
|
* @param {string} content - 要检查的文本内容
|
|
@@ -167,17 +149,8 @@ class Emoji {
|
|
|
167
149
|
}
|
|
168
150
|
}
|
|
169
151
|
|
|
170
|
-
|
|
171
|
-
// // 创建单例实例
|
|
172
|
-
// const emoji = new Emoji()
|
|
173
|
-
|
|
174
|
-
// // 导出单例和类
|
|
175
|
-
// export { emoji, Emoji }
|
|
176
152
|
export default Emoji
|
|
177
153
|
|
|
178
|
-
// 为了方便使用,也可以导出一个默认实例(需要先配置emojiUrl)
|
|
179
|
-
// export const emoji = new Emoji();
|
|
180
|
-
|
|
181
154
|
// 使用示例:
|
|
182
155
|
/*
|
|
183
156
|
// 方式1:创建实例
|
|
@@ -193,8 +166,4 @@ const transformed = emoji.transform('今天很开心#开心;', 'emoji-img');
|
|
|
193
166
|
|
|
194
167
|
// 方式2:使用静态方法创建
|
|
195
168
|
const emoji = Emoji.create('https://example.com/emojis/');
|
|
196
|
-
|
|
197
|
-
// 方式3:动态设置URL
|
|
198
|
-
const emoji = new Emoji();
|
|
199
|
-
emoji.setEmojiUrl('https://example.com/emojis/');
|
|
200
169
|
*/
|