wechat-emojis 1.0.2 → 2.0.0
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/README.md +82 -19
- package/assets/animal//345/217/221/346/212/226.png +0 -0
- package/assets/animal//347/214/252/345/244/264.png +0 -0
- package/assets/animal//350/267/263/350/267/263.png +0 -0
- package/assets/animal//350/275/254/345/234/210.png +0 -0
- package/assets/blessing//347/210/206/347/253/271.png +0 -0
- package/assets/blessing//347/231/274.png +0 -0
- package/assets/blessing//347/244/274/347/211/251.png +0 -0
- package/assets/face/Emm.png +0 -0
- package/assets/face//344/272/262/344/272/262.png +0 -0
- package/assets/face//345/201/267/347/254/221.png +0 -0
- package/assets/face//345/202/262/346/205/242.png +0 -0
- package/assets/face//345/206/215/350/247/201.png +0 -0
- package/assets/face//345/212/240/346/262/271.png +0 -0
- package/assets/face//345/217/221/345/221/206.png +0 -0
- package/assets/face//345/217/221/346/200/222.png +0 -0
- package/assets/face//345/217/257/346/200/234.png +0 -0
- package/assets/face//345/217/263/345/223/274/345/223/274.png +0 -0
- package/assets/face//345/217/271/346/260/224.png +0 -0
- package/assets/face//345/220/220.png +0 -0
- package/assets/face//345/221/262/347/211/231.png +0 -0
- package/assets/face//345/222/222/351/252/202.png +0 -0
- package/assets/face//345/223/207.png +0 -0
- package/assets/face//345/230/230.png +0 -0
- package/assets/face//345/230/277/345/223/210.png +0 -0
- package/assets/face//345/233/247.png +0 -0
- package/assets/face//345/233/260.png +0 -0
- package/assets/face//345/235/217/347/254/221.png +0 -0
- package/assets/face//345/244/247/345/223/255.png +0 -0
- package/assets/face//345/244/251/345/225/212.png +0 -0
- package/assets/face//345/245/270/347/254/221.png +0 -0
- package/assets/face//345/247/224/345/261/210.png +0 -0
- package/assets/face//345/256/263/347/276/236.png +0 -0
- package/assets/face//345/260/264/345/260/254.png +0 -0
- package/assets/face//345/276/256/347/254/221.png +0 -0
- package/assets/face//345/277/253/345/223/255/344/272/206.png +0 -0
- package/assets/face//346/201/220/346/203/247.png +0 -0
- package/assets/face//346/202/240/351/227/262.png +0 -0
- package/assets/face//346/203/212/346/201/220.png +0 -0
- package/assets/face//346/203/212/350/256/266.png +0 -0
- package/assets/face//346/204/211/345/277/253.png +0 -0
- package/assets/face//346/206/250/347/254/221.png +0 -0
- package/assets/face//346/211/223/350/204/270.png +0 -0
- package/assets/face//346/212/223/347/213/202.png +0 -0
- package/assets/face//346/212/240/351/274/273.png +0 -0
- package/assets/face//346/222/207/345/230/264.png +0 -0
- package/assets/face//346/223/246/346/261/227.png +0 -0
- package/assets/face//346/225/262/346/211/223.png +0 -0
- package/assets/face//346/227/240/350/257/255.png +0 -0
- package/assets/face//346/227/272/346/237/264.png +0 -0
- package/assets/face//346/231/225.png +0 -0
- package/assets/face//346/265/201/346/263/252.png +0 -0
- package/assets/face//347/226/221/351/227/256.png +0 -0
- package/assets/face//347/231/275/347/234/274.png +0 -0
- package/assets/face//347/232/261/347/234/211.png +0 -0
- package/assets/face//347/235/241.png +0 -0
- package/assets/face//347/244/276/344/274/232/347/244/276/344/274/232.png +0 -0
- package/assets/face//350/200/266.png +0 -0
- package/assets/face//350/204/270/347/272/242.png +0 -0
- package/assets/face//350/211/262.png +0 -0
- package/assets/face//350/213/246/346/266/251.png +0 -0
- package/assets/face//350/243/202/345/274/200.png +0 -0
- package/assets/face//350/256/251/346/210/221/347/234/213/347/234/213.png +0 -0
- package/assets/face//350/260/203/347/232/256.png +0 -0
- package/assets/face//351/227/255/345/230/264.png +0 -0
- package/assets/face//351/232/276/350/277/207.png +0 -0
- package/assets/face//351/252/267/351/253/205.png +0 -0
- package/assets/face//351/274/223/346/216/214.png +0 -0
- package/assets/gesture/OK.png +0 -0
- package/assets/gesture//345/213/276/345/274/225.png +0 -0
- package/assets/gesture//345/220/210/345/215/201.png +0 -0
- package/assets/gesture//345/274/261.png +0 -0
- package/assets/gesture//346/212/261/346/213/263.png +0 -0
- package/assets/gesture//346/213/245/346/212/261.png +0 -0
- package/assets/gesture//346/213/263/345/244/264.png +0 -0
- package/assets/gesture//346/217/241/346/211/213.png +0 -0
- package/assets/gesture//350/203/234/345/210/251.png +0 -0
- package/assets/other//344/276/277/344/276/277.png +0 -0
- package/assets/other//345/207/213/350/260/242.png +0 -0
- package/assets/other//345/222/226/345/225/241.png +0 -0
- package/assets/other//345/225/244/351/205/222.png +0 -0
- package/assets/other//345/230/264/345/224/207.png +0 -0
- package/assets/other//345/244/252/351/230/263.png +0 -0
- package/assets/other//345/277/203/347/242/216.png +0 -0
- package/assets/other//346/234/210/344/272/256.png +0 -0
- package/assets/other//347/202/270/345/274/271.png +0 -0
- package/assets/other//347/210/261/345/277/203.png +0 -0
- package/assets/other//347/216/253/347/221/260.png +0 -0
- package/assets/other//350/217/234/345/210/200.png +0 -0
- package/assets/other//350/233/213/347/263/225.png +0 -0
- package/dist/index.d.ts +162 -0
- package/{API.md → docs/API.md} +4 -4
- package/docs/NPM_USAGE.md +223 -0
- package/{REACT_USAGE.md → docs/REACT_USAGE.md} +3 -4
- package/package.json +22 -14
- package/wechatEmoji.ts +0 -364
- /package/{wechatEmoji.js → dist/index.js} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,62 @@
|
|
|
1
1
|
# 微信表情包
|
|
2
2
|
|
|
3
|
-
完整的微信内置表情资源库,包含 109
|
|
3
|
+
完整的微信内置表情资源库,包含 109 个 100×100 PNG 图片和类型安全的 TypeScript API,全部图片合计 690.3 KB。
|
|
4
|
+
|
|
5
|
+
## 在线浏览
|
|
6
|
+
|
|
7
|
+
[https://xxk8.github.io/wechat-emojis/](https://xxk8.github.io/wechat-emojis/)
|
|
8
|
+
|
|
9
|
+
网站是纯静态的:`index.html` 由 `site/index.template.html`、`site/app.ts` 和 `src/index.ts` 生成,表情图片直接复用 `assets/`。视觉与交互规范记录在仓库的 `design.md`。
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm run build:site # 重新生成 index.html(含内联的页面脚本)
|
|
13
|
+
npm run check:site # 校验表情数量、资源引用和页面结构
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
修改表情映射或 `site/` 下的模板、样式、脚本后,重新运行 `build:site` 并提交 `index.html`。GitHub Pages 直接从 `main` 分支根目录发布,不需要构建流水线。
|
|
17
|
+
|
|
18
|
+
### 全部源码为 TypeScript
|
|
19
|
+
|
|
20
|
+
仓库里没有手写的 `.js` / `.mjs`:`src/`、`scripts/`、`site/app.ts` 都是 TypeScript。脚本由 Node 的类型剥离直接运行,不产出中间文件;页面脚本由构建时用 esbuild 编译并内联进 `index.html`,所以站点没有额外的 JS 请求。
|
|
21
|
+
|
|
22
|
+
运行脚本需要 **Node.js ≥ 22.6**(类型剥离);已发布的 npm 包本身仍支持 Node 14+,因为消费者只用 `dist/` 与 PNG。
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
npm run typecheck:scripts # 校验 scripts/ 与 site/app.ts 的类型
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
迁移细节与取舍记录在仓库的 `docs/TYPESCRIPT.md`。
|
|
29
|
+
|
|
30
|
+
### npm 包里装的是什么
|
|
31
|
+
|
|
32
|
+
只装运行时需要的东西,网站源码不随包发布:
|
|
33
|
+
|
|
34
|
+
| 内容 | 路径 |
|
|
35
|
+
| --- | --- |
|
|
36
|
+
| 运行时 | `dist/index.js`、`dist/index.d.ts` |
|
|
37
|
+
| 表情资源 | `assets/**/*.png`(109 张) |
|
|
38
|
+
| 使用文档 | `docs/API.md`、`docs/NPM_USAGE.md`、`docs/REACT_USAGE.md` |
|
|
39
|
+
| 包说明 | `README.md`、`package.json` |
|
|
40
|
+
|
|
41
|
+
**不会**包含 `site/`、`scripts/`、`src/`、`examples/`、`index.html`、`design.md`、`docs/TYPESCRIPT.md`、`tsconfig*`、`.github/`。白名单在 `package.json` 的 `files` 字段,已显式列到单个文件而不是通配目录。
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm run check:package # 实际跑 npm pack,断言包内没有开发文件与死链
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### 从本地目录安装时的注意
|
|
48
|
+
|
|
49
|
+
`files` 字段只作用于 `npm pack` / `publish`。如果直接 `npm install ../wechat-emojis` 指向本地仓库,npm 会以**软链接**把整个仓库接进项目(包括 `site/`、`scripts/`、`index.html`)。这是 npm 对本地路径的固有行为。
|
|
50
|
+
|
|
51
|
+
要拿到与发布版一致的内容:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install ../wechat-emojis --install-links # 按 files 白名单打包后安装
|
|
55
|
+
# 或者先打包再装
|
|
56
|
+
npm pack ../wechat-emojis && npm install ./wechat-emojis-2.0.0.tgz
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
从 npm registry 或 Git 地址安装不受此影响,实际内容仍是上表那 116 个文件。
|
|
4
60
|
|
|
5
61
|
## 功能特性
|
|
6
62
|
|
|
@@ -9,7 +65,7 @@
|
|
|
9
65
|
- 🚀 **即插即用** - 支持 React、Vue、Angular 等主流框架
|
|
10
66
|
- 📦 **多种导入方式** - ES6 模块、CommonJS、直接文件引用
|
|
11
67
|
- 🔍 **强大 API** - 搜索、分类、随机获取等功能
|
|
12
|
-
- 📱
|
|
68
|
+
- 📱 **统一尺寸** - 全部 PNG 都是 100×100 透明背景,整套 690.3 KB
|
|
13
69
|
- 📚 **详细文档** - 完整 API 文档和使用示例
|
|
14
70
|
|
|
15
71
|
## 快速开始
|
|
@@ -34,7 +90,7 @@ cp -r node_modules/wechat-emojis/assets/* public/assets/
|
|
|
34
90
|
import { getEmojiPath, getEmojisByCategory, EmojiCategory, searchEmojis } from 'wechat-emojis';
|
|
35
91
|
|
|
36
92
|
// 或者从本地导入
|
|
37
|
-
// import { getEmojiPath, getEmojisByCategory, EmojiCategory, searchEmojis } from './
|
|
93
|
+
// import { getEmojiPath, getEmojisByCategory, EmojiCategory, searchEmojis } from './src';
|
|
38
94
|
|
|
39
95
|
// 获取单个表情
|
|
40
96
|
const smilePath = getEmojiPath('微笑'); // 'assets/face/微笑.png'
|
|
@@ -50,18 +106,22 @@ const laughEmojis = searchEmojis('笑'); // 包含"笑"的所有表情
|
|
|
50
106
|
|
|
51
107
|
```text
|
|
52
108
|
wechat-emojis/
|
|
109
|
+
├── index.html # GitHub Pages 站点(由 scripts/build-site.ts 生成)
|
|
110
|
+
├── design.md # 站点设计规范与检查清单
|
|
111
|
+
├── site/ # 站点模板、品牌样式、页面样式与 app.ts
|
|
112
|
+
├── src/
|
|
113
|
+
│ └── index.ts # TypeScript API模块(源码)
|
|
114
|
+
├── dist/ # 构建产物(npm run build 生成,含 index.js 和 index.d.ts)
|
|
53
115
|
├── assets/ # 表情图片资源 (109个PNG文件)
|
|
54
116
|
│ ├── face/ # 人脸表情 (75个)
|
|
55
117
|
│ ├── gesture/ # 手势表情 (10个)
|
|
56
118
|
│ ├── animal/ # 动物表情 (4个)
|
|
57
119
|
│ ├── blessing/ # 祝福表情 (7个)
|
|
58
120
|
│ └── other/ # 其他表情 (13个)
|
|
59
|
-
├──
|
|
60
|
-
├──
|
|
61
|
-
├──
|
|
62
|
-
|
|
63
|
-
├── API.md # 详细API文档
|
|
64
|
-
└── tsconfig.json # TypeScript配置
|
|
121
|
+
├── examples/ # 使用示例(TypeScript 和 React)
|
|
122
|
+
├── docs/ # API.md、REACT_USAGE.md、NPM_USAGE.md
|
|
123
|
+
├── scripts/ # 资源校验、站点生成、站点检查与图片优化脚本(全部 .ts)
|
|
124
|
+
└── tsconfig.json # TypeScript配置
|
|
65
125
|
```
|
|
66
126
|
|
|
67
127
|
## 使用指南
|
|
@@ -189,22 +249,25 @@ interface EmojiInfo {
|
|
|
189
249
|
|
|
190
250
|
## 技术要求
|
|
191
251
|
|
|
192
|
-
- **TypeScript**: 4.0
|
|
193
|
-
- **Node.js**:
|
|
252
|
+
- **TypeScript**: 5.9+(仓库开发需要;使用包时可选用任意 4.0+)
|
|
253
|
+
- **Node.js**: 消费者 14+;运行本仓库的脚本需要 22.6+(类型剥离)
|
|
194
254
|
- **浏览器**: 支持 ES2017+ 的现代浏览器
|
|
195
255
|
- **框架**: React 16+, Vue 3+, Angular 12+ 或原生 JavaScript
|
|
196
256
|
|
|
197
257
|
## 编译和构建
|
|
198
258
|
|
|
199
259
|
```bash
|
|
200
|
-
#
|
|
201
|
-
|
|
260
|
+
# 编译到 dist/(同时生成 index.d.ts)
|
|
261
|
+
npm run build
|
|
262
|
+
|
|
263
|
+
# 仅做类型检查
|
|
264
|
+
npm run typecheck
|
|
202
265
|
|
|
203
|
-
#
|
|
204
|
-
|
|
266
|
+
# 构建、类型检查、校验 assets 与表情映射,并检查发布包内容
|
|
267
|
+
npm test
|
|
205
268
|
|
|
206
|
-
#
|
|
207
|
-
|
|
269
|
+
# 重新生成静态站点并校验
|
|
270
|
+
npm run build:site && npm run check:site
|
|
208
271
|
```
|
|
209
272
|
|
|
210
273
|
## 常见问题
|
|
@@ -246,6 +309,6 @@ const customPath = getEmojiPath('微笑')?.replace('assets/', 'my-assets/');
|
|
|
246
309
|
# 请我喝杯茶 | buy me a cup of tea
|
|
247
310
|
|
|
248
311
|
<div style="display: flex; justify-content: center; gap: 20px;">
|
|
249
|
-
<img src="
|
|
250
|
-
<img src="
|
|
312
|
+
<img src="docs/images/alipay.png" alt="支付宝" width="300" />
|
|
313
|
+
<img src="docs/images/wechat.png" alt="微信" width="300" />
|
|
251
314
|
</div>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/assets/face/Emm.png
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/assets/gesture/OK.png
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 微信表情包 TypeScript 模块
|
|
3
|
+
* 提供类型安全的表情访问和图片路径获取功能
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 表情类别枚举
|
|
7
|
+
*/
|
|
8
|
+
export declare enum EmojiCategory {
|
|
9
|
+
/** 人脸表情 */
|
|
10
|
+
FACE = "face",
|
|
11
|
+
/** 手势表情 */
|
|
12
|
+
GESTURE = "gesture",
|
|
13
|
+
/** 动物表情 */
|
|
14
|
+
ANIMAL = "animal",
|
|
15
|
+
/** 祝福表情 */
|
|
16
|
+
BLESSING = "blessing",
|
|
17
|
+
/** 其他表情 */
|
|
18
|
+
OTHER = "other"
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* 表情信息接口
|
|
22
|
+
*/
|
|
23
|
+
export interface EmojiInfo {
|
|
24
|
+
/** 表情名称 */
|
|
25
|
+
name: string;
|
|
26
|
+
/** 表情类别 */
|
|
27
|
+
category: EmojiCategory;
|
|
28
|
+
/** 图片文件路径 */
|
|
29
|
+
path: string;
|
|
30
|
+
/** 英文名称(可选) */
|
|
31
|
+
englishName?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* 表情名称类型
|
|
35
|
+
*/
|
|
36
|
+
export type EmojiName = '微笑' | '撇嘴' | '色' | '发呆' | '得意' | '流泪' | '害羞' | '闭嘴' | '睡' | '大哭' | '尴尬' | '发怒' | '调皮' | '呲牙' | '惊讶' | '难过' | '囧' | '抓狂' | '吐' | '偷笑' | '愉快' | '白眼' | '傲慢' | '困' | '惊恐' | '憨笑' | '悠闲' | '咒骂' | '疑问' | '嘘' | '晕' | '衰' | '骷髅' | '敲打' | '再见' | '擦汗' | '抠鼻' | '鼓掌' | '坏笑' | '右哼哼' | '鄙视' | '委屈' | '快哭了' | '阴险' | '亲亲' | '可怜' | '笑脸' | '生病' | '脸红' | '破涕为笑' | '恐惧' | '失望' | '无语' | '嘿哈' | '捂脸' | '机智' | '皱眉' | '耶' | '吃瓜' | '加油' | '汗' | '天啊' | 'Emm' | '社会社会' | '旺柴' | '好的' | '打脸' | '哇' | '翻白眼' | '666' | '让我看看' | '叹气' | '苦涩' | '裂开' | '奸笑' | '握手' | '胜利' | '抱拳' | '勾引' | '拳头' | 'OK' | '合十' | '强' | '拥抱' | '弱' | '猪头' | '跳跳' | '发抖' | '转圈' | '庆祝' | '礼物' | '红包' | '發' | '福' | '烟花' | '爆竹' | '嘴唇' | '爱心' | '心碎' | '啤酒' | '咖啡' | '蛋糕' | '凋谢' | '菜刀' | '炸弹' | '便便' | '太阳' | '月亮' | '玫瑰';
|
|
37
|
+
/**
|
|
38
|
+
* 按类别分组的表情数据
|
|
39
|
+
*/
|
|
40
|
+
export declare const EMOJI_CATEGORIES: {
|
|
41
|
+
readonly face: EmojiInfo[];
|
|
42
|
+
readonly gesture: EmojiInfo[];
|
|
43
|
+
readonly animal: EmojiInfo[];
|
|
44
|
+
readonly blessing: EmojiInfo[];
|
|
45
|
+
readonly other: EmojiInfo[];
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* 获取表情图片路径
|
|
49
|
+
* @param name 表情名称
|
|
50
|
+
* @returns 图片路径,如果表情不存在则返回 null
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const path = getEmojiPath('微笑'); // 'assets/face/微笑.png'
|
|
55
|
+
* const invalidPath = getEmojiPath('不存在'); // null
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
export declare function getEmojiPath(name: EmojiName): string | null;
|
|
59
|
+
/**
|
|
60
|
+
* 获取表情信息
|
|
61
|
+
* @param name 表情名称
|
|
62
|
+
* @returns 表情信息对象,如果表情不存在则返回 null
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const emoji = getEmojiInfo('微笑');
|
|
67
|
+
* // { name: '微笑', category: EmojiCategory.FACE, path: 'assets/face/微笑.png' }
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
export declare function getEmojiInfo(name: EmojiName): EmojiInfo | null;
|
|
71
|
+
/**
|
|
72
|
+
* 根据类别获取表情列表
|
|
73
|
+
* @param category 表情类别
|
|
74
|
+
* @returns 该类别下的所有表情信息
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const faceEmojis = getEmojisByCategory(EmojiCategory.FACE);
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export declare function getEmojisByCategory(category: EmojiCategory): EmojiInfo[];
|
|
82
|
+
/**
|
|
83
|
+
* 获取所有表情信息
|
|
84
|
+
* @returns 所有表情的信息数组
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const allEmojis = getAllEmojis();
|
|
89
|
+
* console.log(`总共有 ${allEmojis.length} 个表情`);
|
|
90
|
+
* ```
|
|
91
|
+
*/
|
|
92
|
+
export declare function getAllEmojis(): EmojiInfo[];
|
|
93
|
+
/**
|
|
94
|
+
* 搜索表情
|
|
95
|
+
* @param keyword 搜索关键词
|
|
96
|
+
* @returns 匹配的表情信息数组
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* const results = searchEmojis('笑');
|
|
101
|
+
* // 返回包含 '微笑', '偷笑', '坏笑' 等的表情
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
export declare function searchEmojis(keyword: string): EmojiInfo[];
|
|
105
|
+
/**
|
|
106
|
+
* 检查表情是否存在
|
|
107
|
+
* @param name 表情名称
|
|
108
|
+
* @returns 是否存在该表情
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* const exists = hasEmoji('微笑'); // true
|
|
113
|
+
* const notExists = hasEmoji('不存在的表情'); // false
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
export declare function hasEmoji(name: EmojiName): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* 获取表情名称列表
|
|
119
|
+
* @param category 可选的类别筛选
|
|
120
|
+
* @returns 表情名称数组
|
|
121
|
+
*
|
|
122
|
+
* @example
|
|
123
|
+
* ```typescript
|
|
124
|
+
* const allNames = getEmojiNames();
|
|
125
|
+
* const faceNames = getEmojiNames(EmojiCategory.FACE);
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
128
|
+
export declare function getEmojiNames(category?: EmojiCategory): string[];
|
|
129
|
+
/**
|
|
130
|
+
* 随机获取表情
|
|
131
|
+
* @param category 可选的类别筛选
|
|
132
|
+
* @returns 随机表情信息
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const randomEmoji = getRandomEmoji();
|
|
137
|
+
* const randomFaceEmoji = getRandomEmoji(EmojiCategory.FACE);
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
export declare function getRandomEmoji(category?: EmojiCategory): EmojiInfo;
|
|
141
|
+
/**
|
|
142
|
+
* 默认导出对象,包含所有主要功能
|
|
143
|
+
*/
|
|
144
|
+
declare const WeChatEmojis: {
|
|
145
|
+
readonly EmojiCategory: typeof EmojiCategory;
|
|
146
|
+
readonly EMOJI_CATEGORIES: {
|
|
147
|
+
readonly face: EmojiInfo[];
|
|
148
|
+
readonly gesture: EmojiInfo[];
|
|
149
|
+
readonly animal: EmojiInfo[];
|
|
150
|
+
readonly blessing: EmojiInfo[];
|
|
151
|
+
readonly other: EmojiInfo[];
|
|
152
|
+
};
|
|
153
|
+
readonly getEmojiPath: typeof getEmojiPath;
|
|
154
|
+
readonly getEmojiInfo: typeof getEmojiInfo;
|
|
155
|
+
readonly getEmojisByCategory: typeof getEmojisByCategory;
|
|
156
|
+
readonly getAllEmojis: typeof getAllEmojis;
|
|
157
|
+
readonly searchEmojis: typeof searchEmojis;
|
|
158
|
+
readonly hasEmoji: typeof hasEmoji;
|
|
159
|
+
readonly getEmojiNames: typeof getEmojiNames;
|
|
160
|
+
readonly getRandomEmoji: typeof getRandomEmoji;
|
|
161
|
+
};
|
|
162
|
+
export default WeChatEmojis;
|
package/{API.md → docs/API.md}
RENAMED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## 概述
|
|
4
4
|
|
|
5
|
-
`
|
|
5
|
+
`src/index.ts` 提供了完整的 TypeScript 支持,让你可以类型安全地访问微信表情包资源。
|
|
6
6
|
|
|
7
7
|
## 安装和使用
|
|
8
8
|
|
|
@@ -36,17 +36,17 @@ import WeChatEmojis, {
|
|
|
36
36
|
getEmojiPath,
|
|
37
37
|
getEmojisByCategory,
|
|
38
38
|
searchEmojis
|
|
39
|
-
} from './
|
|
39
|
+
} from './src';
|
|
40
40
|
```
|
|
41
41
|
|
|
42
42
|
### 3. 编译后使用 JavaScript
|
|
43
43
|
|
|
44
44
|
```bash
|
|
45
45
|
# 编译 TypeScript
|
|
46
|
-
|
|
46
|
+
npm run build
|
|
47
47
|
|
|
48
48
|
# 在 Node.js 中使用
|
|
49
|
-
const { getEmojiPath, EmojiCategory } = require('./
|
|
49
|
+
const { getEmojiPath, EmojiCategory } = require('./dist/index.js');
|
|
50
50
|
```
|
|
51
51
|
|
|
52
52
|
## API 参考
|