{"_id":"wechat-emojis","_rev":"4-b75df6214c140641c4fc64dcde710b2d","name":"wechat-emojis","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.0":{"name":"wechat-emojis","version":"1.0.0","keywords":["wechat","emoji","emojis","微信","表情包","typescript","react","vue","angular"],"author":{"name":"xxk8"},"license":"MIT","_id":"wechat-emojis@1.0.0","maintainers":[{"name":"xiandanhuang","email":"1821655660@qq.com"}],"homepage":"https://github.com/xxk8/wechat-emojis#readme","bugs":{"url":"https://github.com/xxk8/wechat-emojis/issues"},"dist":{"shasum":"61dfab16bd9e732030847e9c1aaaa7270a144f1a","tarball":"https://registry.npmjs.org/wechat-emojis/-/wechat-emojis-1.0.0.tgz","fileCount":120,"integrity":"sha512-crLlS56wT6CG6Qyo+W7hgIEaEECU5W5r0vJh9dND4jhrlP6Nj55pAVyyE2Ah8eyX27S/JpQlElp4TNF+2rOdlg==","signatures":[{"sig":"MEUCIQCXHT1AFSwHsYUu3WmMsG60xVIqP3nhJ22rNQfvEO290QIgG/+PZf/aaaYlesJDNkFruoVOlpI2KWsiFcOwfut5kr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":860784},"main":"wechatEmoji.js","types":"wechatEmoji.d.ts","module":"wechatEmoji.js","engines":{"node":">=14.0.0"},"gitHead":"057d3a2350da509aea884cb137f5f13c4c5036a3","scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"xiandanhuang","email":"1821655660@qq.com"},"repository":{"url":"git+https://github.com/xxk8/wechat-emojis.git","type":"git"},"_npmVersion":"10.8.2","description":"完整的微信内置表情资源库，包含 109 个高清 PNG 图片和类型安全的 TypeScript API","directories":{},"_nodeVersion":"18.20.5","_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/wechat-emojis_1.0.0_1753529110283_0.08993757113020329","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"wechat-emojis","version":"1.0.2","description":"完整的微信内置表情资源库，包含 109 个高清 PNG 图片和类型安全的 TypeScript API","main":"wechatEmoji.js","types":"wechatEmoji.d.ts","module":"wechatEmoji.js","scripts":{"build":"tsc","prepublishOnly":"npm run build","test":"echo \"Error: no test specified\" && exit 1"},"keywords":["wechat","emoji","emojis","微信","表情包","typescript","react","vue","angular"],"author":{"name":"xxk8"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/xxk8/wechat-emojis.git"},"bugs":{"url":"https://github.com/xxk8/wechat-emojis/issues"},"homepage":"https://github.com/xxk8/wechat-emojis#readme","devDependencies":{"typescript":"^5.9.2"},"engines":{"node":">=14.0.0"},"_id":"wechat-emojis@1.0.2","gitHead":"58b70fbc3b96644348b85757950fe7b54b876ba5","_nodeVersion":"18.20.5","_npmVersion":"10.8.2","dist":{"integrity":"sha512-T1drHGy92rKm/Vo7LRkU4D4wdREpVTjAMEa4gR1NB9IAyck3qmmewFSrnEEIyZfsv3SXTA7X1kt6Smt0UKVCyw==","shasum":"506deb0b427bb6c110769ea5bc7b220ac64743da","tarball":"https://registry.npmjs.org/wechat-emojis/-/wechat-emojis-1.0.2.tgz","fileCount":115,"unpackedSize":802694,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCED4TpUUuQ7Xvyz57oSvyW+82V/cGJQOqaKZPNDKnbUQIgYGTGwtQ3Wx2oDfh5Oihrgt5Zmx6IpttbZssf3sguZYI="}]},"_npmUser":{"name":"xiandanhuang","email":"1821655660@qq.com"},"directories":{},"maintainers":[{"name":"xiandanhuang","email":"1821655660@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/wechat-emojis_1.0.2_1755261445827_0.6379633498536703"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-26T11:25:10.283Z","modified":"2025-08-15T12:37:26.262Z","1.0.1":"2025-07-25T02:53:01.910Z","1.0.0":"2025-07-26T11:25:10.541Z","1.0.2":"2025-08-15T12:37:26.078Z"},"bugs":{"url":"https://github.com/xxk8/wechat-emojis/issues"},"author":{"name":"xxk8"},"license":"MIT","homepage":"https://github.com/xxk8/wechat-emojis#readme","keywords":["wechat","emoji","emojis","微信","表情包","typescript","react","vue","angular"],"repository":{"type":"git","url":"git+https://github.com/xxk8/wechat-emojis.git"},"description":"完整的微信内置表情资源库，包含 109 个高清 PNG 图片和类型安全的 TypeScript API","maintainers":[{"name":"xiandanhuang","email":"1821655660@qq.com"}],"readme":"# 微信表情包\n\n完整的微信内置表情资源库，包含 109 个高清 PNG 图片和类型安全的 TypeScript API。\n\n## 功能特性\n\n- 🎯 **完整收录** - 109 个微信内置表情，按类别组织\n- 🔧 **TypeScript 支持** - 完整类型定义，编译时错误检查\n- 🚀 **即插即用** - 支持 React、Vue、Angular 等主流框架\n- 📦 **多种导入方式** - ES6 模块、CommonJS、直接文件引用\n- 🔍 **强大 API** - 搜索、分类、随机获取等功能\n- 📱 **高质量图片** - PNG 格式，适合各种显示场景\n- 📚 **详细文档** - 完整 API 文档和使用示例\n\n## 快速开始\n\n### 安装使用\n\n#### 通过 NPM 安装（推荐）\n\n```bash\n# 使用 npm 安装\nnpm install wechat-emojis\n\n# 复制表情资源到项目的 public 目录（重要）\nmkdir -p public/assets\ncp -r node_modules/wechat-emojis/assets/* public/assets/\n```\n\n### 基础用法\n\n```typescript\n// 使用 NPM 安装的情况\nimport { getEmojiPath, getEmojisByCategory, EmojiCategory, searchEmojis } from 'wechat-emojis';\n\n// 或者从本地导入\n// import { getEmojiPath, getEmojisByCategory, EmojiCategory, searchEmojis } from './wechatEmoji';\n\n// 获取单个表情\nconst smilePath = getEmojiPath('微笑');  // 'assets/face/微笑.png'\n\n// 获取分类表情\nconst faceEmojis = getEmojisByCategory(EmojiCategory.FACE);  // 75个人脸表情\n\n// 搜索表情\nconst laughEmojis = searchEmojis('笑');  // 包含\"笑\"的所有表情\n```\n\n## 项目结构\n\n```text\nwechat-emojis/\n├── assets/             # 表情图片资源 (109个PNG文件)\n│   ├── face/          # 人脸表情 (75个)\n│   ├── gesture/       # 手势表情 (10个)\n│   ├── animal/        # 动物表情 (4个)\n│   ├── blessing/      # 祝福表情 (7个)\n│   └── other/         # 其他表情 (13个)\n├── wechatEmoji.ts     # TypeScript API模块\n├── wechatEmoji.js     # 编译后的JavaScript文件\n├── data.js            # 基础数据文件\n├── example.ts         # 使用示例\n├── API.md             # 详细API文档\n└── tsconfig.json      # TypeScript配置\n```\n\n## 使用指南\n\n### React 组件\n\n```tsx\nimport React from 'react';\nimport { getEmojiPath, getEmojisByCategory, EmojiCategory } from 'wechat-emojis';\n\nconst EmojiPicker: React.FC = () => {\n  const faceEmojis = getEmojisByCategory(EmojiCategory.FACE);\n\n  return (\n    <div className=\"emoji-grid\">\n      {faceEmojis.map(emoji => (\n        <img\n          key={emoji.name}\n          src={getEmojiPath(emoji.name)}\n          alt={emoji.name}\n          className=\"emoji-item\"\n          onClick={() => console.log(`选择: ${emoji.name}`)}\n        />\n      ))}\n    </div>\n  );\n};\n```\n\n### Vue 组件\n\n```vue\n<template>\n  <div class=\"emoji-picker\">\n    <img\n      v-for=\"emoji in emojis\"\n      :key=\"emoji.name\"\n      :src=\"getEmojiPath(emoji.name)\"\n      :alt=\"emoji.name\"\n      @click=\"selectEmoji(emoji)\"\n    />\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { getEmojisByCategory, getEmojiPath, EmojiCategory } from 'wechat-emojis';\n\nconst emojis = getEmojisByCategory(EmojiCategory.FACE);\nconst selectEmoji = (emoji) => console.log(`选择: ${emoji.name}`);\n</script>\n```\n\n### 原生 JavaScript\n\n```javascript\n// NPM 包使用\nconst { getEmojiPath, EmojiCategory, searchEmojis } = require('wechat-emojis');\n\n// 创建表情选择器\nfunction createEmojiPicker(containerId) {\n  const container = document.getElementById(containerId);\n  const emojis = searchEmojis('笑');\n\n  emojis.forEach(emoji => {\n    const img = document.createElement('img');\n    img.src = getEmojiPath(emoji.name);\n    img.alt = emoji.name;\n    img.onclick = () => console.log(`选择: ${emoji.name}`);\n    container.appendChild(img);\n  });\n}\n```\n\n### 直接使用图片\n\n```html\n<!-- 直接引用图片文件 -->\n<img src=\"assets/face/微笑.png\" alt=\"微笑\" />\n<img src=\"assets/gesture/OK.png\" alt=\"OK\" />\n<img src=\"assets/animal/猪头.png\" alt=\"猪头\" />\n```\n\n## API 参考\n\n### 核心函数\n\n| 函数 | 参数 | 返回值 | 说明 |\n|------|------|--------|------|\n| `getEmojiPath(name)` | `EmojiName` | `string \\| null` | 获取表情图片路径 |\n| `getEmojiInfo(name)` | `EmojiName` | `EmojiInfo \\| null` | 获取表情详细信息 |\n| `getEmojisByCategory(category)` | `EmojiCategory` | `EmojiInfo[]` | 按类别获取表情列表 |\n| `getAllEmojis()` | - | `EmojiInfo[]` | 获取所有表情 |\n| `searchEmojis(keyword)` | `string` | `EmojiInfo[]` | 搜索包含关键词的表情 |\n| `hasEmoji(name)` | `string` | `boolean` | 检查表情是否存在 |\n| `getRandomEmoji(category?)` | `EmojiCategory?` | `EmojiInfo` | 随机获取表情 |\n\n### 类型定义\n\n```typescript\nenum EmojiCategory {\n  FACE = 'face',      // 人脸表情\n  GESTURE = 'gesture', // 手势表情\n  ANIMAL = 'animal',   // 动物表情\n  BLESSING = 'blessing', // 祝福表情\n  OTHER = 'other'      // 其他表情\n}\n\ninterface EmojiInfo {\n  name: string;           // 表情名称\n  category: EmojiCategory; // 表情类别\n  path: string;           // 图片路径\n}\n```\n\n## 数据统计\n\n| 类别 | 数量 | 示例 |\n|------|------|------|\n| 人脸表情 | 75个 | 微笑、大哭、呲牙、捂脸、奸笑、加油 |\n| 手势表情 | 10个 | OK、握手、胜利、抱拳、合十、强、弱 |\n| 动物表情 | 4个 | 猪头、跳跳、发抖、转圈 |\n| 祝福表情 | 7个 | 庆祝、红包、烟花、爆竹 |\n| 其他表情 | 13个 | 爱心、啤酒、蛋糕、太阳、炸弹 |\n| **总计** | **109个** | 完整覆盖微信内置表情 |\n\n## 技术要求\n\n- **TypeScript**: 4.0+ (可选，用于类型检查)\n- **Node.js**: 12+ (用于编译，可选)\n- **浏览器**: 支持 ES2017+ 的现代浏览器\n- **框架**: React 16+, Vue 3+, Angular 12+ 或原生 JavaScript\n\n## 编译和构建\n\n```bash\n# 编译 TypeScript\nnpx tsc wechatEmoji.ts --target es2017 --module commonjs\n\n# 或使用配置文件\nnpx tsc\n\n# 生成类型声明文件\nnpx tsc --declaration\n```\n\n## 常见问题\n\n**Q: 如何在 Webpack 项目中使用？**\n\n```javascript\n// webpack.config.js\nmodule.exports = {\n  resolve: {\n    extensions: ['.ts', '.js']\n  }\n};\n```\n\n**Q: 如何自定义表情路径？**\n\n```typescript\nconst customPath = getEmojiPath('微笑')?.replace('assets/', 'my-assets/');\n```\n\n**Q: 支持哪些图片格式？**\n所有表情均为 PNG 格式，透明背景，适合各种使用场景。\n\n## 版权声明\n\n- 本项目为非官方项目，与腾讯公司及微信团队无关\n- 表情图片版权归腾讯公司所有\n- 本项目仅供个人学习和非商业用途使用\n- 任何商业用途请事先获得腾讯公司的授权\n- 如有侵权问题，请联系作者删除\n\n## 贡献\n\n欢迎提交 Issue 和 Pull Request 来改进项目。\n\n# wechat-emojis\n\n# 请我喝杯茶 | buy me a cup of tea\n\n<div style=\"display: flex; justify-content: center; gap: 20px;\">\n  <img src=\"public/images/alipay.png\" alt=\"支付宝\" width=\"300\" />\n  <img src=\"public/images/wechat.png\" alt=\"微信\" width=\"300\" />\n</div>\n","readmeFilename":"README.md"}