wechat-emojis 1.0.0 → 1.0.2
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/API.md +4 -4
- package/assets/blessing//347/210/206/347/253/271.png +0 -0
- package/assets/face//345/276/227/346/204/217.png +0 -0
- package/assets/face//350/200/266.png +0 -0
- package/package.json +2 -2
- package/wechatEmoji.js +13 -13
- package/wechatEmoji.ts +8 -8
- package/assets/gesture//345/276/227/346/204/217.png +0 -0
- package/assets/gesture//350/200/266.png +0 -0
- package/assets/other//345/245/213/346/226/227.png +0 -0
- package/assets/other//347/210/206/347/217/240.png +0 -0
- package/assets/other//347/210/206/347/253/271.png +0 -0
- /package/assets/face//347/244/276/344/274/{232.png" → 232/347/244/276/344/274/232.png"} +0 -0
- /package/assets/other//346/{231/232/345/256/211.png" → 234/210/344/272/256.png"} +0 -0
- /package/assets/other//{351/262/234/350/212/261.png" → 347/216/253/347/221/260.png"} +0 -0
package/API.md
CHANGED
|
@@ -115,7 +115,7 @@ console.log(`人脸表情数量: ${faceEmojis.length}`); // 75
|
|
|
115
115
|
|
|
116
116
|
```typescript
|
|
117
117
|
const allEmojis = getAllEmojis();
|
|
118
|
-
console.log(`总表情数量: ${allEmojis.length}`); //
|
|
118
|
+
console.log(`总表情数量: ${allEmojis.length}`); // 109
|
|
119
119
|
```
|
|
120
120
|
|
|
121
121
|
#### `searchEmojis(keyword: string): EmojiInfo[]`
|
|
@@ -213,12 +213,12 @@ const selectEmoji = (emoji: EmojiInfo) => {
|
|
|
213
213
|
|
|
214
214
|
## 数据统计
|
|
215
215
|
|
|
216
|
-
- **总表情数量**:
|
|
216
|
+
- **总表情数量**: 109 个
|
|
217
217
|
- **人脸表情**: 75 个
|
|
218
|
-
- **手势表情**:
|
|
218
|
+
- **手势表情**: 10 个
|
|
219
219
|
- **动物表情**: 4 个
|
|
220
220
|
- **祝福表情**: 7 个
|
|
221
|
-
- **其他表情**:
|
|
221
|
+
- **其他表情**: 13 个
|
|
222
222
|
|
|
223
223
|
## 注意事项
|
|
224
224
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wechat-emojis",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "完整的微信内置表情资源库,包含 109 个高清 PNG 图片和类型安全的 TypeScript API",
|
|
5
5
|
"main": "wechatEmoji.js",
|
|
6
6
|
"types": "wechatEmoji.d.ts",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"homepage": "https://github.com/xxk8/wechat-emojis#readme",
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"typescript": "^5.
|
|
44
|
+
"typescript": "^5.9.2"
|
|
45
45
|
},
|
|
46
46
|
"engines": {
|
|
47
47
|
"node": ">=14.0.0"
|
package/wechatEmoji.js
CHANGED
|
@@ -4,7 +4,15 @@
|
|
|
4
4
|
* 提供类型安全的表情访问和图片路径获取功能
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
7
|
+
exports.EMOJI_CATEGORIES = exports.EmojiCategory = void 0;
|
|
8
|
+
exports.getEmojiPath = getEmojiPath;
|
|
9
|
+
exports.getEmojiInfo = getEmojiInfo;
|
|
10
|
+
exports.getEmojisByCategory = getEmojisByCategory;
|
|
11
|
+
exports.getAllEmojis = getAllEmojis;
|
|
12
|
+
exports.searchEmojis = searchEmojis;
|
|
13
|
+
exports.hasEmoji = hasEmoji;
|
|
14
|
+
exports.getEmojiNames = getEmojiNames;
|
|
15
|
+
exports.getRandomEmoji = getRandomEmoji;
|
|
8
16
|
/**
|
|
9
17
|
* 表情类别枚举
|
|
10
18
|
*/
|
|
@@ -20,7 +28,7 @@ var EmojiCategory;
|
|
|
20
28
|
EmojiCategory["BLESSING"] = "blessing";
|
|
21
29
|
/** 其他表情 */
|
|
22
30
|
EmojiCategory["OTHER"] = "other";
|
|
23
|
-
})(EmojiCategory
|
|
31
|
+
})(EmojiCategory || (exports.EmojiCategory = EmojiCategory = {}));
|
|
24
32
|
/**
|
|
25
33
|
* 表情数据映射
|
|
26
34
|
* 将表情名称映射到完整的表情信息
|
|
@@ -90,7 +98,7 @@ const EMOJI_DATA = {
|
|
|
90
98
|
'汗': { name: '汗', category: EmojiCategory.FACE, path: 'assets/face/汗.png' },
|
|
91
99
|
'天啊': { name: '天啊', category: EmojiCategory.FACE, path: 'assets/face/天啊.png' },
|
|
92
100
|
'Emm': { name: 'Emm', category: EmojiCategory.FACE, path: 'assets/face/Emm.png' },
|
|
93
|
-
'
|
|
101
|
+
'社会社会': { name: '社会社会', category: EmojiCategory.FACE, path: 'assets/face/社会社会.png' },
|
|
94
102
|
'旺柴': { name: '旺柴', category: EmojiCategory.FACE, path: 'assets/face/旺柴.png' },
|
|
95
103
|
'好的': { name: '好的', category: EmojiCategory.FACE, path: 'assets/face/好的.png' },
|
|
96
104
|
'打脸': { name: '打脸', category: EmojiCategory.FACE, path: 'assets/face/打脸.png' },
|
|
@@ -138,8 +146,8 @@ const EMOJI_DATA = {
|
|
|
138
146
|
'炸弹': { name: '炸弹', category: EmojiCategory.OTHER, path: 'assets/other/炸弹.png' },
|
|
139
147
|
'便便': { name: '便便', category: EmojiCategory.OTHER, path: 'assets/other/便便.png' },
|
|
140
148
|
'太阳': { name: '太阳', category: EmojiCategory.OTHER, path: 'assets/other/太阳.png' },
|
|
141
|
-
'
|
|
142
|
-
'
|
|
149
|
+
'月亮': { name: '月亮', category: EmojiCategory.OTHER, path: 'assets/other/月亮.png' },
|
|
150
|
+
'玫瑰': { name: '玫瑰', category: EmojiCategory.OTHER, path: 'assets/other/玫瑰.png' }
|
|
143
151
|
};
|
|
144
152
|
/**
|
|
145
153
|
* 获取所有表情数据的辅助函数
|
|
@@ -178,7 +186,6 @@ function getEmojiPath(name) {
|
|
|
178
186
|
const emoji = EMOJI_DATA[name];
|
|
179
187
|
return emoji ? emoji.path : null;
|
|
180
188
|
}
|
|
181
|
-
exports.getEmojiPath = getEmojiPath;
|
|
182
189
|
/**
|
|
183
190
|
* 获取表情信息
|
|
184
191
|
* @param name 表情名称
|
|
@@ -193,7 +200,6 @@ exports.getEmojiPath = getEmojiPath;
|
|
|
193
200
|
function getEmojiInfo(name) {
|
|
194
201
|
return EMOJI_DATA[name] || null;
|
|
195
202
|
}
|
|
196
|
-
exports.getEmojiInfo = getEmojiInfo;
|
|
197
203
|
/**
|
|
198
204
|
* 根据类别获取表情列表
|
|
199
205
|
* @param category 表情类别
|
|
@@ -207,7 +213,6 @@ exports.getEmojiInfo = getEmojiInfo;
|
|
|
207
213
|
function getEmojisByCategory(category) {
|
|
208
214
|
return exports.EMOJI_CATEGORIES[category];
|
|
209
215
|
}
|
|
210
|
-
exports.getEmojisByCategory = getEmojisByCategory;
|
|
211
216
|
/**
|
|
212
217
|
* 获取所有表情信息
|
|
213
218
|
* @returns 所有表情的信息数组
|
|
@@ -221,7 +226,6 @@ exports.getEmojisByCategory = getEmojisByCategory;
|
|
|
221
226
|
function getAllEmojis() {
|
|
222
227
|
return getAllEmojiData();
|
|
223
228
|
}
|
|
224
|
-
exports.getAllEmojis = getAllEmojis;
|
|
225
229
|
/**
|
|
226
230
|
* 搜索表情
|
|
227
231
|
* @param keyword 搜索关键词
|
|
@@ -236,7 +240,6 @@ exports.getAllEmojis = getAllEmojis;
|
|
|
236
240
|
function searchEmojis(keyword) {
|
|
237
241
|
return getAllEmojiData().filter(emoji => emoji.name.indexOf(keyword) !== -1);
|
|
238
242
|
}
|
|
239
|
-
exports.searchEmojis = searchEmojis;
|
|
240
243
|
/**
|
|
241
244
|
* 检查表情是否存在
|
|
242
245
|
* @param name 表情名称
|
|
@@ -251,7 +254,6 @@ exports.searchEmojis = searchEmojis;
|
|
|
251
254
|
function hasEmoji(name) {
|
|
252
255
|
return name in EMOJI_DATA;
|
|
253
256
|
}
|
|
254
|
-
exports.hasEmoji = hasEmoji;
|
|
255
257
|
/**
|
|
256
258
|
* 获取表情名称列表
|
|
257
259
|
* @param category 可选的类别筛选
|
|
@@ -275,7 +277,6 @@ function getEmojiNames(category) {
|
|
|
275
277
|
}
|
|
276
278
|
return names;
|
|
277
279
|
}
|
|
278
|
-
exports.getEmojiNames = getEmojiNames;
|
|
279
280
|
/**
|
|
280
281
|
* 随机获取表情
|
|
281
282
|
* @param category 可选的类别筛选
|
|
@@ -292,7 +293,6 @@ function getRandomEmoji(category) {
|
|
|
292
293
|
const randomIndex = Math.floor(Math.random() * emojis.length);
|
|
293
294
|
return emojis[randomIndex];
|
|
294
295
|
}
|
|
295
|
-
exports.getRandomEmoji = getRandomEmoji;
|
|
296
296
|
/**
|
|
297
297
|
* 默认导出对象,包含所有主要功能
|
|
298
298
|
*/
|
package/wechatEmoji.ts
CHANGED
|
@@ -44,7 +44,7 @@ export type EmojiName =
|
|
|
44
44
|
| '晕' | '衰' | '骷髅' | '敲打' | '再见' | '擦汗' | '抠鼻' | '鼓掌' | '坏笑' | '右哼哼'
|
|
45
45
|
| '鄙视' | '委屈' | '快哭了' | '阴险' | '亲亲' | '可怜' | '笑脸' | '生病' | '脸红' | '破涕为笑'
|
|
46
46
|
| '恐惧' | '失望' | '无语' | '嘿哈' | '捂脸' | '机智' | '皱眉' | '耶' | '吃瓜'
|
|
47
|
-
| '加油' | '汗' | '天啊' | 'Emm' | '
|
|
47
|
+
| '加油' | '汗' | '天啊' | 'Emm' | '社会社会' | '旺柴' | '好的' | '打脸' | '哇' | '翻白眼'
|
|
48
48
|
| '666' | '让我看看' | '叹气' | '苦涩' | '裂开' | '奸笑'
|
|
49
49
|
// 手势表情
|
|
50
50
|
| '握手' | '胜利' | '抱拳' | '勾引' | '拳头' | 'OK' | '合十' | '强' | '拥抱' | '弱'
|
|
@@ -54,7 +54,7 @@ export type EmojiName =
|
|
|
54
54
|
| '庆祝' | '礼物' | '红包' | '發' | '福' | '烟花' | '爆竹'
|
|
55
55
|
// 其他表情
|
|
56
56
|
| '嘴唇' | '爱心' | '心碎' | '啤酒' | '咖啡' | '蛋糕' | '凋谢' | '菜刀' | '炸弹' | '便便' | '太阳'
|
|
57
|
-
| '
|
|
57
|
+
| '月亮' | '玫瑰';
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* 表情数据映射
|
|
@@ -117,7 +117,6 @@ const EMOJI_DATA: Record<EmojiName, EmojiInfo> = {
|
|
|
117
117
|
'无语': { name: '无语', category: EmojiCategory.FACE, path: 'assets/face/无语.png' },
|
|
118
118
|
'嘿哈': { name: '嘿哈', category: EmojiCategory.FACE, path: 'assets/face/嘿哈.png' },
|
|
119
119
|
'捂脸': { name: '捂脸', category: EmojiCategory.FACE, path: 'assets/face/捂脸.png' },
|
|
120
|
-
|
|
121
120
|
'机智': { name: '机智', category: EmojiCategory.FACE, path: 'assets/face/机智.png' },
|
|
122
121
|
'皱眉': { name: '皱眉', category: EmojiCategory.FACE, path: 'assets/face/皱眉.png' },
|
|
123
122
|
'耶': { name: '耶', category: EmojiCategory.FACE, path: 'assets/face/耶.png' },
|
|
@@ -127,7 +126,7 @@ const EMOJI_DATA: Record<EmojiName, EmojiInfo> = {
|
|
|
127
126
|
'汗': { name: '汗', category: EmojiCategory.FACE, path: 'assets/face/汗.png' },
|
|
128
127
|
'天啊': { name: '天啊', category: EmojiCategory.FACE, path: 'assets/face/天啊.png' },
|
|
129
128
|
'Emm': { name: 'Emm', category: EmojiCategory.FACE, path: 'assets/face/Emm.png' },
|
|
130
|
-
'
|
|
129
|
+
'社会社会': { name: '社会社会', category: EmojiCategory.FACE, path: 'assets/face/社会社会.png' },
|
|
131
130
|
'旺柴': { name: '旺柴', category: EmojiCategory.FACE, path: 'assets/face/旺柴.png' },
|
|
132
131
|
'好的': { name: '好的', category: EmojiCategory.FACE, path: 'assets/face/好的.png' },
|
|
133
132
|
'打脸': { name: '打脸', category: EmojiCategory.FACE, path: 'assets/face/打脸.png' },
|
|
@@ -180,8 +179,8 @@ const EMOJI_DATA: Record<EmojiName, EmojiInfo> = {
|
|
|
180
179
|
'炸弹': { name: '炸弹', category: EmojiCategory.OTHER, path: 'assets/other/炸弹.png' },
|
|
181
180
|
'便便': { name: '便便', category: EmojiCategory.OTHER, path: 'assets/other/便便.png' },
|
|
182
181
|
'太阳': { name: '太阳', category: EmojiCategory.OTHER, path: 'assets/other/太阳.png' },
|
|
183
|
-
'
|
|
184
|
-
'
|
|
182
|
+
'月亮': { name: '月亮', category: EmojiCategory.OTHER, path: 'assets/other/月亮.png' },
|
|
183
|
+
'玫瑰': { name: '玫瑰', category: EmojiCategory.OTHER, path: 'assets/other/玫瑰.png' }
|
|
185
184
|
};
|
|
186
185
|
|
|
187
186
|
/**
|
|
@@ -279,8 +278,9 @@ export function getAllEmojis(): EmojiInfo[] {
|
|
|
279
278
|
* ```
|
|
280
279
|
*/
|
|
281
280
|
export function searchEmojis(keyword: string): EmojiInfo[] {
|
|
282
|
-
|
|
283
|
-
|
|
281
|
+
const lowerKeyword = keyword.toLowerCase();
|
|
282
|
+
return getAllEmojiData().filter(emoji =>
|
|
283
|
+
emoji.name.toLowerCase().includes(lowerKeyword)
|
|
284
284
|
);
|
|
285
285
|
}
|
|
286
286
|
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|