emoji.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547
  1. module.exports =
  2. /** *** */ (function (modules) { // webpackBootstrap
  3. /** *** */ // The module cache
  4. /** *** */ const installedModules = {}
  5. /** *** */
  6. /** *** */ // The require function
  7. /** *** */ function __webpack_require__(moduleId) {
  8. /** *** */
  9. /** *** */ // Check if module is in cache
  10. /** *** */ if (installedModules[moduleId]) {
  11. /** *** */ return installedModules[moduleId].exports
  12. /** *** */ }
  13. /** *** */ // Create a new module (and put it into the cache)
  14. /** *** */ const module = installedModules[moduleId] = {
  15. /** *** */ i: moduleId,
  16. /** *** */ l: false,
  17. /** *** */ exports: {}
  18. /** *** */}
  19. /** *** */
  20. /** *** */ // Execute the module function
  21. /** *** */ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__)
  22. /** *** */
  23. /** *** */ // Flag the module as loaded
  24. /** *** */ module.l = true
  25. /** *** */
  26. /** *** */ // Return the exports of the module
  27. /** *** */ return module.exports
  28. /** *** */ }
  29. /** *** */
  30. /** *** */
  31. /** *** */ // expose the modules object (__webpack_modules__)
  32. /** *** */ __webpack_require__.m = modules
  33. /** *** */
  34. /** *** */ // expose the module cache
  35. /** *** */ __webpack_require__.c = installedModules
  36. /** *** */
  37. /** *** */ // define getter function for harmony exports
  38. /** *** */ __webpack_require__.d = function (exports, name, getter) {
  39. /** *** */ if (!__webpack_require__.o(exports, name)) {
  40. /** *** */ Object.defineProperty(exports, name, {enumerable: true, get: getter})
  41. /** *** */ }
  42. /** *** */ }
  43. /** *** */
  44. /** *** */ // define __esModule on exports
  45. /** *** */ __webpack_require__.r = function (exports) {
  46. /** *** */ if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  47. /** *** */ Object.defineProperty(exports, Symbol.toStringTag, {value: 'Module'})
  48. /** *** */ }
  49. /** *** */ Object.defineProperty(exports, '__esModule', {value: true})
  50. /** *** */ }
  51. /** *** */
  52. /** *** */ // create a fake namespace object
  53. /** *** */ // mode & 1: value is a module id, require it
  54. /** *** */ // mode & 2: merge all properties of value into the ns
  55. /** *** */ // mode & 4: return value when already ns object
  56. /** *** */ // mode & 8|1: behave like require
  57. /** *** */ __webpack_require__.t = function (value, mode) {
  58. /** *** */ if (mode & 1) value = __webpack_require__(value)
  59. /** *** */ if (mode & 8) return value
  60. /** *** */ if ((mode & 4) && typeof value === 'object' && value && value.__esModule) return value
  61. /** *** */ const ns = Object.create(null)
  62. /** *** */ __webpack_require__.r(ns)
  63. /** *** */ Object.defineProperty(ns, 'default', {enumerable: true, value})
  64. /** *** */ if (mode & 2 && typeof value !== 'string') for (const key in value) __webpack_require__.d(ns, key, function (key) { return value[key] }.bind(null, key))
  65. /** *** */ return ns
  66. /** *** */ }
  67. /** *** */
  68. /** *** */ // getDefaultExport function for compatibility with non-harmony modules
  69. /** *** */ __webpack_require__.n = function (module) {
  70. /** *** */ const getter = module && module.__esModule
  71. /** *** */ ? function getDefault() { return module.default }
  72. /** *** */ : function getModuleExports() { return module }
  73. /** *** */ __webpack_require__.d(getter, 'a', getter)
  74. /** *** */ return getter
  75. /** *** */ }
  76. /** *** */
  77. /** *** */ // Object.prototype.hasOwnProperty.call
  78. /** *** */ __webpack_require__.o = function (object, property) { return Object.prototype.hasOwnProperty.call(object, property) }
  79. /** *** */
  80. /** *** */ // __webpack_public_path__
  81. /** *** */ __webpack_require__.p = ''
  82. /** *** */
  83. /** *** */
  84. /** *** */ // Load entry module and return exports
  85. /** *** */ return __webpack_require__(__webpack_require__.s = 2)
  86. /** *** */ }([
  87. /* 0 */
  88. /***/ (function (module, exports, __webpack_require__) {
  89. Object.defineProperty(exports, '__esModule', {value: true})
  90. exports.default = [{
  91. id: 0, cn: '[微笑]', hk: '[微笑]', us: '[Smile]', code: '/::)', web_code: '/微笑', style: 'smiley_0'
  92. }, {
  93. id: 1, cn: '[撇嘴]', hk: '[撇嘴]', us: '[Grimace]', code: '/::~', web_code: '/撇嘴', style: 'smiley_1'
  94. }, {
  95. id: 2, cn: '[色]', hk: '[色]', us: '[Drool]', code: '/::B', web_code: '/色', style: 'smiley_2'
  96. }, {
  97. id: 3, cn: '[发呆]', hk: '[發呆]', us: '[Scowl]', code: '/::|', web_code: '/发呆', style: 'smiley_3'
  98. }, {
  99. id: 4, cn: '[得意]', hk: '[得意]', us: '[CoolGuy]', code: '/:8-)', web_code: '/得意', style: 'smiley_4'
  100. }, {
  101. id: 5, cn: '[流泪]', hk: '[流淚]', us: '[Sob]', code: '/::<', web_code: '/流泪', style: 'smiley_5'
  102. }, {
  103. id: 6, cn: '[害羞]', hk: '[害羞]', us: '[Shy]', code: '/::$', web_code: '/害羞', style: 'smiley_6'
  104. }, {
  105. id: 7, cn: '[闭嘴]', hk: '[閉嘴]', us: '[Silent]', code: '/::X', web_code: '/闭嘴', style: 'smiley_7'
  106. }, {
  107. id: 8, cn: '[睡]', hk: '[睡]', us: '[Sleep]', code: '/::Z', web_code: '/睡', style: 'smiley_8'
  108. }, {
  109. id: 9, cn: '[大哭]', hk: '[大哭]', us: '[Cry]', code: '/::"(', web_code: '/大哭', style: 'smiley_9'
  110. }, {
  111. id: 10, cn: '[尴尬]', hk: '[尷尬]', us: '[Awkward]', code: '/::-|', web_code: '/尴尬', style: 'smiley_10'
  112. }, {
  113. id: 11, cn: '[发怒]', hk: '[發怒]', us: '[Angry]', code: '/::@', web_code: '/发怒', style: 'smiley_11'
  114. }, {
  115. id: 12, cn: '[调皮]', hk: '[調皮]', us: '[Tongue]', code: '/::P', web_code: '/调皮', style: 'smiley_12'
  116. }, {
  117. id: 13, cn: '[呲牙]', hk: '[呲牙]', us: '[Grin]', code: '/::D', web_code: '/呲牙', style: 'smiley_13'
  118. }, {
  119. id: 14, cn: '[惊讶]', hk: '[驚訝]', us: '[Surprise]', code: '/::O', web_code: '/惊讶', style: 'smiley_14'
  120. }, {
  121. id: 15, cn: '[难过]', hk: '[難過]', us: '[Frown]', code: '/::(', web_code: '/难过', style: 'smiley_15'
  122. }, {
  123. id: 16, cn: '[酷]', hk: '[酷]', us: '[Ruthless]', code: '/::+', web_code: '/酷', style: 'smiley_16'
  124. }, {
  125. id: 17, cn: '[冷汗]', hk: '[冷汗]', us: '[Blush]', code: '/:--b', web_code: '/冷汗', style: 'smiley_17'
  126. }, {
  127. id: 18, cn: '[抓狂]', hk: '[抓狂]', us: '[Scream]', code: '/::Q', web_code: '/抓狂', style: 'smiley_18'
  128. }, {
  129. id: 19, cn: '[吐]', hk: '[吐]', us: '[Puke]', code: '/::T', web_code: '/吐', style: 'smiley_19'
  130. }, {
  131. id: 20, cn: '[偷笑]', hk: '[偷笑]', us: '[Chuckle]', code: '/:,@P', web_code: '/偷笑', style: 'smiley_20'
  132. }, {
  133. id: 21, cn: '[愉快]', hk: '[愉快]', us: '[Joyful]', code: '/:,@-D', web_code: '/可爱', style: 'smiley_21'
  134. }, {
  135. id: 22, cn: '[白眼]', hk: '[白眼]', us: '[Slight]', code: '/::d', web_code: '/白眼', style: 'smiley_22'
  136. }, {
  137. id: 23, cn: '[傲慢]', hk: '[傲慢]', us: '[Smug]', code: '/:,@o', web_code: '/傲慢', style: 'smiley_23'
  138. }, {
  139. id: 24, cn: '[饥饿]', hk: '[饑餓]', us: '[Hungry]', code: '/::g', web_code: '/饥饿', style: 'smiley_24'
  140. }, {
  141. id: 25, cn: '[困]', hk: '[累]', us: '[Drowsy]', code: '/:|-)', web_code: '/困', style: 'smiley_25'
  142. }, {
  143. id: 26, cn: '[惊恐]', hk: '[驚恐]', us: '[Panic]', code: '/::!', web_code: '/惊恐', style: 'smiley_26'
  144. }, {
  145. id: 27, cn: '[流汗]', hk: '[流汗]', us: '[Sweat]', code: '/::L', web_code: '/流汗', style: 'smiley_27'
  146. }, {
  147. id: 28, cn: '[憨笑]', hk: '[大笑]', us: '[Laugh]', code: '/::>', web_code: '/憨笑', style: 'smiley_28'
  148. }, {
  149. id: 29, cn: '[悠闲]', hk: '[悠閑]', us: '[Commando]', code: '/::,@', web_code: '/大兵', style: 'smiley_29'
  150. }, {
  151. id: 30, cn: '[奋斗]', hk: '[奮鬥]', us: '[Determined]', code: '/:,@f', web_code: '/奋斗', style: 'smiley_30'
  152. }, {
  153. id: 31, cn: '[咒骂]', hk: '[咒罵]', us: '[Scold]', code: '/::-S', web_code: '/咒骂', style: 'smiley_31'
  154. }, {
  155. id: 32, cn: '[疑问]', hk: '[疑問]', us: '[Shocked]', code: '/:?', web_code: '/疑问', style: 'smiley_32'
  156. }, {
  157. id: 33, cn: '[嘘]', hk: '[噓]', us: '[Shhh]', code: '/:,@x', web_code: '/嘘', style: 'smiley_33'
  158. }, {
  159. id: 34, cn: '[晕]', hk: '[暈]', us: '[Dizzy]', code: '/:,@@', web_code: '/晕', style: 'smiley_34'
  160. }, {
  161. id: 35, cn: '[疯了]', hk: '[瘋了]', us: '[Tormented]', code: '/::8', web_code: '/折磨', style: 'smiley_35'
  162. }, {
  163. id: 36, cn: '[衰]', hk: '[衰]', us: '[Toasted]', code: '/:,@!', web_code: '/衰', style: 'smiley_36'
  164. }, {
  165. id: 37, cn: '[骷髅]', hk: '[骷髏頭]', us: '[Skull]', code: '/:!!!', web_code: '/骷髅', style: 'smiley_37'
  166. }, {
  167. id: 38, cn: '[敲打]', hk: '[敲打]', us: '[Hammer]', code: '/:xx', web_code: '/敲打', style: 'smiley_38'
  168. }, {
  169. id: 39, cn: '[再见]', hk: '[再見]', us: '[Wave]', code: '/:bye', web_code: '/再见', style: 'smiley_39'
  170. }, {
  171. id: 40, cn: '[擦汗]', hk: '[擦汗]', us: '[Speechless]', code: '/:wipe', web_code: '/擦汗', style: 'smiley_40'
  172. }, {
  173. id: 41, cn: '[抠鼻]', hk: '[摳鼻]', us: '[NosePick]', code: '/:dig', web_code: '/抠鼻', style: 'smiley_41'
  174. }, {
  175. id: 42, cn: '[鼓掌]', hk: '[鼓掌]', us: '[Clap]', code: '/:handclap', web_code: '/鼓掌', style: 'smiley_42'
  176. }, {
  177. id: 43, cn: '[糗大了]', hk: '[羞辱]', us: '[Shame]', code: '/:&-(', web_code: '/糗大了', style: 'smiley_43'
  178. }, {
  179. id: 44, cn: '[坏笑]', hk: '[壞笑]', us: '[Trick]', code: '/:B-)', web_code: '/坏笑', style: 'smiley_44'
  180. }, {
  181. id: 45, cn: '[左哼哼]', hk: '[左哼哼]', us: '[Bah!L]', code: '/:<@', web_code: '/左哼哼', style: 'smiley_45'
  182. }, {
  183. id: 46, cn: '[右哼哼]', hk: '[右哼哼]', us: '[Bah!R]', code: '/:@>', web_code: '/右哼哼', style: 'smiley_46'
  184. }, {
  185. id: 47, cn: '[哈欠]', hk: '[哈欠]', us: '[Yawn]', code: '/::-O', web_code: '/哈欠', style: 'smiley_47'
  186. }, {
  187. id: 48, cn: '[鄙视]', hk: '[鄙視]', us: '[Pooh-pooh]', code: '/:>-|', web_code: '/鄙视', style: 'smiley_48'
  188. }, {
  189. id: 49, cn: '[委屈]', hk: '[委屈]', us: '[Shrunken]', code: '/:P-(', web_code: '/委屈', style: 'smiley_49'
  190. }, {
  191. id: 50, cn: '[快哭了]', hk: '[快哭了]', us: '[TearingUp]', code: '/::"|', web_code: '/快哭了', style: 'smiley_50'
  192. }, {
  193. id: 51, cn: '[阴险]', hk: '[陰險]', us: '[Sly]', code: '/:X-)', web_code: '/阴险', style: 'smiley_51'
  194. }, {
  195. id: 52, cn: '[亲亲]', hk: '[親親]', us: '[Kiss]', code: '/::*', web_code: '/亲亲', style: 'smiley_52'
  196. }, {
  197. id: 53, cn: '[吓]', hk: '[嚇]', us: '[Wrath]', code: '/:@x', web_code: '/吓', style: 'smiley_53'
  198. }, {
  199. id: 54, cn: '[可怜]', hk: '[可憐]', us: '[Whimper]', code: '/:8*', web_code: '/可怜', style: 'smiley_54'
  200. }, {
  201. id: 55, cn: '[菜刀]', hk: '[菜刀]', us: '[Cleaver]', code: '/:pd', web_code: '/菜刀', style: 'smiley_55'
  202. }, {
  203. id: 56, cn: '[西瓜]', hk: '[西瓜]', us: '[Watermelon]', code: '/:<W>', web_code: '/西瓜', style: 'smiley_56'
  204. }, {
  205. id: 57, cn: '[啤酒]', hk: '[啤酒]', us: '[Beer]', code: '/:beer', web_code: '/啤酒', style: 'smiley_57'
  206. }, {
  207. id: 58, cn: '[篮球]', hk: '[籃球]', us: '[Basketball]', code: '/:basketb', web_code: '/篮球', style: 'smiley_58'
  208. }, {
  209. id: 59, cn: '[乒乓]', hk: '[乒乓]', us: '[PingPong]', code: '/:oo', web_code: '/乒乓', style: 'smiley_59'
  210. }, {
  211. id: 60, cn: '[咖啡]', hk: '[咖啡]', us: '[Coffee]', code: '/:coffee', web_code: '/咖啡', style: 'smiley_60'
  212. }, {
  213. id: 61, cn: '[饭]', hk: '[飯]', us: '[Rice]', code: '/:eat', web_code: '/饭', style: 'smiley_61'
  214. }, {
  215. id: 62, cn: '[猪头]', hk: '[豬頭]', us: '[Pig]', code: '/:pig', web_code: '/猪头', style: 'smiley_62'
  216. }, {
  217. id: 63, cn: '[玫瑰]', hk: '[玫瑰]', us: '[Rose]', code: '/:rose', web_code: '/玫瑰', style: 'smiley_63'
  218. }, {
  219. id: 64, cn: '[凋谢]', hk: '[枯萎]', us: '[Wilt]', code: '/:fade', web_code: '/凋谢', style: 'smiley_64'
  220. }, {
  221. id: 65, cn: '[嘴唇]', hk: '[嘴唇]', us: '[Lips]', code: '/:showlove', web_code: '/示爱', style: 'smiley_65'
  222. }, {
  223. id: 66, cn: '[爱心]', hk: '[愛心]', us: '[Heart]', code: '/:heart', web_code: '/爱心', style: 'smiley_66'
  224. }, {
  225. id: 67, cn: '[心碎]', hk: '[心碎]', us: '[BrokenHeart]', code: '/:break', web_code: '/心碎', style: 'smiley_67'
  226. }, {
  227. id: 68, cn: '[蛋糕]', hk: '[蛋糕]', us: '[Cake]', code: '/:cake', web_code: '/蛋糕', style: 'smiley_68'
  228. }, {
  229. id: 69, cn: '[闪电]', hk: '[閃電]', us: '[Lightning]', code: '/:li', web_code: '/闪电', style: 'smiley_69'
  230. }, {
  231. id: 70, cn: '[炸弹]', hk: '[炸彈]', us: '[Bomb]', code: '/:bome', web_code: '/炸弹', style: 'smiley_70'
  232. }, {
  233. id: 71, cn: '[刀]', hk: '[刀]', us: '[Dagger]', code: '/:kn', web_code: '/刀', style: 'smiley_71'
  234. }, {
  235. id: 72, cn: '[足球]', hk: '[足球]', us: '[Soccer]', code: '/:footb', web_code: '/足球', style: 'smiley_72'
  236. }, {
  237. id: 73, cn: '[瓢虫]', hk: '[甲蟲]', us: '[Ladybug]', code: '/:ladybug', web_code: '/瓢虫', style: 'smiley_73'
  238. }, {
  239. id: 74, cn: '[便便]', hk: '[便便]', us: '[Poop]', code: '/:shit', web_code: '/便便', style: 'smiley_74'
  240. }, {
  241. id: 75, cn: '[月亮]', hk: '[月亮]', us: '[Moon]', code: '/:moon', web_code: '/月亮', style: 'smiley_75'
  242. }, {
  243. id: 76, cn: '[太阳]', hk: '[太陽]', us: '[Sun]', code: '/:sun', web_code: '/太阳', style: 'smiley_76'
  244. }, {
  245. id: 77, cn: '[礼物]', hk: '[禮物]', us: '[Gift]', code: '/:gift', web_code: '/礼物', style: 'smiley_77'
  246. }, {
  247. id: 78, cn: '[拥抱]', hk: '[擁抱]', us: '[Hug]', code: '/:hug', web_code: '/拥抱', style: 'smiley_78'
  248. }, {
  249. id: 79, cn: '[强]', hk: '[強]', us: '[ThumbsUp]', code: '/:strong', web_code: '/强', style: 'smiley_79'
  250. }, {
  251. id: 80, cn: '[弱]', hk: '[弱]', us: '[ThumbsDown]', code: '/:weak', web_code: '/弱', style: 'smiley_80'
  252. }, {
  253. id: 81, cn: '[握手]', hk: '[握手]', us: '[Shake]', code: '/:share', web_code: '/握手', style: 'smiley_81'
  254. }, {
  255. id: 82, cn: '[胜利]', hk: '[勝利]', us: '[Peace]', code: '/:v', web_code: '/胜利', style: 'smiley_82'
  256. }, {
  257. id: 83, cn: '[抱拳]', hk: '[抱拳]', us: '[Fight]', code: '/:@)', web_code: '/抱拳', style: 'smiley_83'
  258. }, {
  259. id: 84, cn: '[勾引]', hk: '[勾引]', us: '[Beckon]', code: '/:jj', web_code: '/勾引', style: 'smiley_84'
  260. }, {
  261. id: 85, cn: '[拳头]', hk: '[拳頭]', us: '[Fist]', code: '/:@@', web_code: '/拳头', style: 'smiley_85'
  262. }, {
  263. id: 86, cn: '[差劲]', hk: '[差勁]', us: '[Pinky]', code: '/:bad', web_code: '/差劲', style: 'smiley_86'
  264. }, {
  265. id: 87, cn: '[爱你]', hk: '[愛你]', us: '[RockOn]', code: '/:lvu', web_code: '/爱你', style: 'smiley_87'
  266. }, {
  267. id: 88, cn: '[NO]', hk: '[NO]', us: '[Nuh-uh]', code: '/:no', web_code: '/NO', style: 'smiley_88'
  268. }, {
  269. id: 89, cn: '[OK]', hk: '[OK]', us: '[OK]', code: '/:ok', web_code: '/OK', style: 'smiley_89'
  270. }, {
  271. id: 90, cn: '[爱情]', hk: '[愛情]', us: '[InLove]', code: '/:love', web_code: '/爱情', style: 'smiley_90'
  272. }, {
  273. id: 91, cn: '[飞吻]', hk: '[飛吻]', us: '[Blowkiss]', code: '/:<L>', web_code: '/飞吻', style: 'smiley_91'
  274. }, {
  275. id: 92, cn: '[跳跳]', hk: '[跳跳]', us: '[Waddle]', code: '/:jump', web_code: '/跳跳', style: 'smiley_92'
  276. }, {
  277. id: 93, cn: '[发抖]', hk: '[發抖]', us: '[Tremble]', code: '/:shake', web_code: '/发抖', style: 'smiley_93'
  278. }, {
  279. id: 94, cn: '[怄火]', hk: '[噴火]', us: '[Aaagh!]', code: '/:<O>', web_code: '/怄火', style: 'smiley_94'
  280. }, {
  281. id: 95, cn: '[转圈]', hk: '[轉圈]', us: '[Twirl]', code: '/:circle', web_code: '/转圈', style: 'smiley_95'
  282. }, {
  283. id: 96, cn: '[磕头]', hk: '[磕頭]', us: '[Kotow]', code: '/:kotow', web_code: '/磕头', style: 'smiley_96'
  284. }, {
  285. id: 97, cn: '[回头]', hk: '[回頭]', us: '[Dramatic]', code: '/:turn', web_code: '/回头', style: 'smiley_97'
  286. }, {
  287. id: 98, cn: '[跳绳]', hk: '[跳繩]', us: '[JumpRope]', code: '/:skip', web_code: '/跳绳', style: 'smiley_98'
  288. }, {
  289. id: 99, cn: '[投降]', hk: '[投降]', us: '[Surrender]', code: '/:oY', web_code: '/挥手', style: 'smiley_99'
  290. }, {
  291. id: 100, cn: '[激动]', hk: '[激動]', us: '[Hooray]', code: '/:#-0', web_code: '/激动', style: 'smiley_100'
  292. }, {
  293. id: 101, cn: '[乱舞]', hk: '[亂舞]', us: '[Meditate]', code: '/:hiphot', web_code: '/街舞', style: 'smiley_101'
  294. }, {
  295. id: 102, cn: '[献吻]', hk: '[獻吻]', us: '[Smooch]', code: '/:kiss', web_code: '/献吻', style: 'smiley_102'
  296. }, {
  297. id: 103, cn: '[左太极]', hk: '[左太極]', us: '[TaiChi L]', code: '/:<&', web_code: '/左太极', style: 'smiley_103'
  298. }, {
  299. id: 104, cn: '[右太极]', hk: '[右太極]', us: '[TaiChi R]', code: '/:&>', web_code: '/右太极', style: 'smiley_104'
  300. }, {
  301. id: 204, cn: '[嘿哈]', hk: '[吼嘿]', us: '[Hey]', code: '', web_code: '', style: 'e2_04'
  302. }, {
  303. id: 205, cn: '[捂脸]', hk: '[掩面]', us: '[Facepalm]', code: '', web_code: '', style: 'e2_05'
  304. }, {
  305. id: 202, cn: '[奸笑]', hk: '[奸笑]', us: '[Smirk]', code: '', web_code: '', style: 'e2_02'
  306. }, {
  307. id: 206, cn: '[机智]', hk: '[機智]', us: '[Smart]', code: '', web_code: '', style: 'e2_06'
  308. }, {
  309. id: 212, cn: '[皱眉]', hk: '[皺眉]', us: '[Moue]', code: '', web_code: '', style: 'e2_12'
  310. }, {
  311. id: 211, cn: '[耶]', hk: '[歐耶]', us: '[Yeah!]', code: '', web_code: '', style: 'e2_11'
  312. }, {
  313. id: 207, cn: '[茶]', hk: '[茶]', us: '[Tea]', code: '', web_code: '', style: 'e2_07'
  314. }, {
  315. id: 209, cn: '[红包]', hk: '[Packet]', us: '[Packet]', code: '', web_code: '', style: 'e2_09'
  316. }, {
  317. id: 210, cn: '[蜡烛]', hk: '[蠟燭]', us: '[Candle]', code: '', web_code: '', style: 'e2_10'
  318. }, {
  319. id: 215, cn: '[福]', hk: '[福]', us: '[Blessing]', code: '', web_code: '', style: 'e2_15'
  320. }, {
  321. id: 214, cn: '[鸡]', hk: '[小雞]', us: '[Chick]', code: '', web_code: '', style: 'e2_14'
  322. }, {
  323. id: 300, cn: '[笑脸]', emoji: '😄', hk: '', us: '', code: '\\ue415', web_code: '', style: 'u1F604'
  324. }, {
  325. id: 301, cn: '[生病]', emoji: '😷', hk: '', us: '', code: '\\ue40c', web_code: '', style: 'u1F637'
  326. }, {
  327. id: 302, cn: '[破涕为笑]', emoji: '😂', hk: '', us: '', code: '\\ue412', web_code: '', style: 'u1F602'
  328. }, {
  329. id: 303, cn: '[吐舌]', emoji: '😝', hk: '', us: '', code: '\\ue409', web_code: '', style: 'u1F61D'
  330. }, {
  331. id: 304, cn: '[脸红]', emoji: '😳', hk: '', us: '', code: '\\ue40d', web_code: '', style: 'u1F633'
  332. }, {
  333. id: 305, cn: '[恐惧]', emoji: '😱', hk: '', us: '', code: '\\ue107', web_code: '', style: 'u1F631'
  334. }, {
  335. id: 306, cn: '[失望]', emoji: '😔', hk: '', us: '', code: '\\ue403', web_code: '', style: 'u1F614'
  336. }, {
  337. id: 307, cn: '[无语]', emoji: '😒', hk: '', us: '', code: '\\ue40e', web_code: '', style: 'u1F612'
  338. }, {
  339. id: 308, cn: '[鬼魂]', emoji: '👻', hk: '', us: '', code: '\\ue11b', web_code: '', style: 'u1F47B'
  340. }, {
  341. id: 309, cn: '[合十]', emoji: '🙏', hk: '', us: '', code: '\\ue41d', web_code: '', style: 'u1F64F'
  342. }, {
  343. id: 310, cn: '[强壮]', emoji: '💪', hk: '', us: '', code: '\\ue14c', web_code: '', style: 'u1F4AA'
  344. }, {
  345. id: 311, cn: '[庆祝]', emoji: '🎉', hk: '', us: '', code: '\\ue312', web_code: '', style: 'u1F389'
  346. }, {
  347. id: 312, cn: '[礼物]', hk: '', us: '', code: '\\ue112', web_code: '', style: 'u1F381'
  348. }, {
  349. id: 313, cn: '[吃瓜]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_313'
  350. }, {
  351. id: 314, cn: '[加油]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_314'
  352. }, {
  353. id: 315, cn: '[汗]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_315'
  354. }, {
  355. id: 316, cn: '[天啊]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_316'
  356. }, {
  357. id: 317, cn: '[Emm]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_317'
  358. }, {
  359. id: 318, cn: '[社会社会]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_318'
  360. }, {
  361. id: 319, cn: '[旺柴]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_319'
  362. }, {
  363. id: 320, cn: '[好的]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_320'
  364. }, {
  365. id: 321, cn: '[打脸]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_321'
  366. }, {
  367. id: 322, cn: '[哇]', hk: '[]', us: '[]', code: '', web_code: '', style: 'smiley_322'
  368. }]
  369. /***/ }),
  370. /* 1 */,
  371. /* 2 */
  372. /***/ (function (module, exports, __webpack_require__) {
  373. Object.defineProperty(exports, '__esModule', {value: true})
  374. const emoji_data_1 = __webpack_require__(0)
  375. const emoji_panel_data_1 = __webpack_require__(3)
  376. const parser_1 = __webpack_require__(4)
  377. const EMOTION_SIZE = 40
  378. const emotionMap = {}
  379. const emotionNames = []
  380. emoji_data_1.default.forEach(function (item) {
  381. emotionMap[item.id] = item
  382. emotionNames.push(item.cn)
  383. })
  384. const emotions = []
  385. emoji_panel_data_1.default.forEach(function (id) {
  386. return emotions.push(emotionMap[id])
  387. })
  388. Component({
  389. options: {
  390. styleIsolation: 'page-shared',
  391. addGlobalClass: true,
  392. pureDataPattern: /^_/
  393. },
  394. properties: {
  395. padding: {
  396. type: Number,
  397. value: 15
  398. },
  399. backgroundColor: {
  400. type: String,
  401. value: '#EDEDED'
  402. },
  403. showSend: {
  404. type: Boolean,
  405. value: true
  406. },
  407. showDel: {
  408. type: Boolean,
  409. value: true
  410. },
  411. showHistory: {
  412. type: Boolean,
  413. value: true
  414. },
  415. height: {
  416. type: Number,
  417. value: 300
  418. },
  419. source: {
  420. type: String,
  421. value: ''
  422. },
  423. // 适配 darkmode
  424. theme: {
  425. type: String,
  426. value: 'light' // light dark
  427. }
  428. },
  429. data: {
  430. history: [],
  431. emotions,
  432. extraPadding: 0,
  433. perLine: 0
  434. },
  435. lifetimes: {
  436. attached: function attached() {
  437. const padding = this.data.padding
  438. const systemInfo = wx.getSystemInfoSync()
  439. const areaWidth = systemInfo.windowWidth
  440. const perLine = Math.floor((areaWidth - padding * 2) / 45)
  441. const extraPadding = Math.floor((areaWidth - padding * 2 - perLine * EMOTION_SIZE) / (perLine - 1))
  442. this.setData({
  443. perLine,
  444. extraPadding,
  445. hasSafeBottom: systemInfo.model.indexOf('iPhone X') >= 0
  446. })
  447. }
  448. },
  449. methods: {
  450. getEmojiNames() {
  451. return emotionNames
  452. },
  453. parseEmoji: parser_1.parseEmoji,
  454. insertEmoji(evt) {
  455. const data = this.data
  456. const idx = evt.currentTarget.dataset.idx
  457. const emotionName = data.emotions[idx].cn
  458. this.LRUCache(data.history, data.perLine, idx)
  459. this.setData({history: data.history})
  460. this.triggerEvent('insertemoji', {emotionName})
  461. },
  462. deleteEmoji() {
  463. this.triggerEvent('delemoji')
  464. },
  465. send() {
  466. this.triggerEvent('send')
  467. },
  468. LRUCache(arr, limit, data) {
  469. const idx = arr.indexOf(data)
  470. if (idx >= 0) {
  471. arr.splice(idx, 1)
  472. arr.unshift(data)
  473. } else if (arr.length < limit) {
  474. arr.push(data)
  475. } else if (arr.length === limit) {
  476. arr[limit - 1] = data
  477. }
  478. }
  479. }
  480. })
  481. /***/ }),
  482. /* 3 */
  483. /***/ (function (module, exports, __webpack_require__) {
  484. Object.defineProperty(exports, '__esModule', {value: true})
  485. exports.default = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 47, 48, 49, 50, 51, 52, 54, 55, 56, 57, 60, 62, 63, 64, 65, 66, 67, 68, 70, 74, 75, 76, 78, 79, 80, 81, 82, 83, 84, 85, 89, 92, 93, 94, 95, 300, 301, 302, 303, 304, 305, 306, 307, 204, 205, 202, 206, 212, 211, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 308, 309, 310, 311, 312, 209]
  486. /***/ }),
  487. /* 4 */
  488. /***/ (function (module, exports, __webpack_require__) {
  489. Object.defineProperty(exports, '__esModule', {value: true})
  490. const emoji_data_1 = __webpack_require__(0)
  491. const emotionMap = {}
  492. emoji_data_1.default.forEach(function (item, index) {
  493. if (item.cn) {
  494. emotionMap[item.cn] = item
  495. }
  496. if (item.code) emotionMap[item.code] = item
  497. if (item.us) emotionMap[item.us] = item
  498. })
  499. const parseEmoji = function parseEmoji(content) {
  500. let emojiIndexList = []
  501. for (const k in emotionMap) {
  502. let idx = content.indexOf(k)
  503. while (idx >= 0) {
  504. emojiIndexList.push({idx, code: k, type: 2})
  505. idx = content.indexOf(k, idx + k.length)
  506. }
  507. }
  508. emojiIndexList = emojiIndexList.sort(function (a, b) {
  509. return a.idx - b.idx
  510. })
  511. const newContentList = []
  512. let lastTextIndex = 0
  513. emojiIndexList.forEach(function (item) {
  514. if (lastTextIndex !== item.idx) {
  515. newContentList.push({
  516. type: 1,
  517. content: content.substring(lastTextIndex, item.idx)
  518. })
  519. }
  520. if (item.type === 2) {
  521. newContentList.push({
  522. type: item.type,
  523. content: content.substr(item.idx, item.code.length),
  524. imageClass: emotionMap[item.code].style
  525. })
  526. } else {
  527. newContentList.push({
  528. type: item.type,
  529. content: item.code,
  530. imageClass: item.value
  531. })
  532. }
  533. lastTextIndex = item.idx + item.code.length
  534. })
  535. const lastText = content.substring(lastTextIndex)
  536. if (lastText) {
  537. newContentList.push({
  538. type: 1,
  539. content: lastText
  540. })
  541. }
  542. return newContentList
  543. }
  544. exports.parseEmoji = parseEmoji
  545. /***/ })
  546. /** *** */ ]))