cyk 发表于 2017-1-18 17:09:06

纯微信小程序 emoji解析组件



代码示例:
function emojiAnalysis(arr, type = "load") {
    //arr: 传入的消息数组
    //type:消息解析类型,参数:load(读取消息),input(输入消息)

    // emoji对象
    var __emojiObjs = {
      '微笑': 'qqface0',
      '撇嘴': 'qqface1',
      '色': 'qqface2',
      '发呆': 'qqface3',
      '得意': 'qqface4',
      '流泪': 'qqface5',
      '害羞': 'qqface6',
      '闭嘴': 'qqface7',
      '睡': 'qqface8',
      '大哭': 'qqface9',
      '尴尬': 'qqface10',
      '发怒': 'qqface11',
      '调皮': 'qqface12',
      '呲牙': 'qqface13',
      '惊讶': 'qqface14',
      '难过': 'qqface15',
      '酷': 'qqface16',
      '冷汗': 'qqface17',
      '抓狂': 'qqface18',
      '吐': 'qqface19',
      '偷笑': 'qqface20',
      '愉快': 'qqface21',
      '白眼': 'qqface22',
      '傲慢': 'qqface23',
      '饥饿': 'qqface24',
      '困': 'qqface25',
      '惊恐': 'qqface26',
      '流汗': 'qqface27',
      '憨笑': 'qqface28',
      '悠闲': 'qqface29',
      '奋斗': 'qqface30',
      '咒骂': 'qqface31',
      '疑问': 'qqface32',
      '嘘': 'qqface33',
      '晕': 'qqface34',
      '疯了': 'qqface35',
      '衰': 'qqface36',
      '骷髅': 'qqface37',
      '敲打': 'qqface38',
      '再见': 'qqface39',
      '擦汗': 'qqface40',
      '抠鼻': 'qqface41',
      '鼓掌': 'qqface42',
      '糗大了': 'qqface43',
      '坏笑': 'qqface44',
      '左哼哼': 'qqface45',
      '右哼哼': 'qqface46',
      '哈欠': 'qqface47',
      '鄙视': 'qqface48',
      '委屈': 'qqface49',
      '快哭了': 'qqface50',
      '阴险': 'qqface51',
      '亲亲': 'qqface52',
      '吓': 'qqface53',
      '可怜': 'qqface54',
      '菜刀': 'qqface55',
      '西瓜': 'qqface56',
      '啤酒': 'qqface57',
      '篮球': 'qqface58',
      '乒乓': 'qqface59',
      '咖啡': 'qqface60',
      '饭': 'qqface61',
      '猪头': 'qqface62',
      '玫瑰': 'qqface63',
      '凋谢': 'qqface64',
      '嘴唇': 'qqface65',
      '爱心': 'qqface66',
      '心碎': 'qqface67',
      '蛋糕': 'qqface68',
      '闪电': 'qqface69',
      '炸弹': 'qqface70',
      '刀': 'qqface71',
      '足球': 'qqface72',
      '瓢虫': 'qqface73',
      '便便': 'qqface74',
      '月亮': 'qqface75',
      '太阳': 'qqface76',
      '礼物': 'qqface77',
      '拥抱': 'qqface78',
      '强': 'qqface79',
      '弱': 'qqface80',
      '握手': 'qqface81',
      '胜利': 'qqface82',
      '抱拳': 'qqface83',
      '勾引': 'qqface84',
      '拳头': 'qqface85',
      '差劲': 'qqface86',
      '爱你': 'qqface87',
      'NO': 'qqface88',
      'OK': 'qqface89',
      '爱情': 'qqface90',
      '飞吻': 'qqface91',
      '跳跳': 'qqface92',
      '发抖': 'qqface93',
      '怄火': 'qqface94',
      '转圈': 'qqface95',
      '磕头': 'qqface96',
      '回头': 'qqface97',
      '跳绳': 'qqface98',
      '投降': 'qqface99',
      '激动': 'qqface100',
      '乱舞': 'qqface101',
      '献吻': 'qqface102',
      '左太极': 'qqface103',
      '右太极': 'qqface104',
      '微笑': 'qqface0',
      '撇嘴': 'qqface1',
      '色': 'qqface2',
      '發呆': 'qqface3',
      '得意': 'qqface4',
      '流淚': 'qqface5',
      '害羞': 'qqface6',
      '閉嘴': 'qqface7',
      '睡': 'qqface8',
      '大哭': 'qqface9',
      '尷尬': 'qqface10',
      '發怒': 'qqface11',
      '調皮': 'qqface12',
      '呲牙': 'qqface13',
      '驚訝': 'qqface14',
      '難過': 'qqface15',
      '酷': 'qqface16',
      '冷汗': 'qqface17',
      '抓狂': 'qqface18',
      '吐': 'qqface19',
      '偷笑': 'qqface20',
      '愉快': 'qqface21',
      '白眼': 'qqface22',
      '傲慢': 'qqface23',
      '饑餓': 'qqface24',
      '困': 'qqface25',
      '驚恐': 'qqface26',
      '流汗': 'qqface27',
      '憨笑': 'qqface28',
      '悠閑': 'qqface29',
      '奮鬥': 'qqface30',
      '咒罵': 'qqface31',
      '疑問': 'qqface32',
      '噓': 'qqface33',
      '暈': 'qqface34',
      '瘋了': 'qqface35',
      '衰': 'qqface36',
      '骷髏': 'qqface37',
      '敲打': 'qqface38',
      '再見': 'qqface39',
      '擦汗': 'qqface40',
      '摳鼻': 'qqface41',
      '鼓掌': 'qqface42',
      '糗大了': 'qqface43',
      '壞笑': 'qqface44',
      '左哼哼': 'qqface45',
      '右哼哼': 'qqface46',
      '哈欠': 'qqface47',
      '鄙視': 'qqface48',
      '委屈': 'qqface49',
      '快哭了': 'qqface50',
      '陰險': 'qqface51',
      '親親': 'qqface52',
      '嚇': 'qqface53',
      '可憐': 'qqface54',
      '菜刀': 'qqface55',
      '西瓜': 'qqface56',
      '啤酒': 'qqface57',
      '籃球': 'qqface58',
      '乒乓': 'qqface59',
      '咖啡': 'qqface60',
      '飯': 'qqface61',
      '豬頭': 'qqface62',
      '玫瑰': 'qqface63',
      '雕謝': 'qqface64',
      '嘴唇': 'qqface65',
      '愛心': 'qqface66',
      '心碎': 'qqface67',
      '蛋糕': 'qqface68',
      '閃電': 'qqface69',
      '炸彈': 'qqface70',
      '刀': 'qqface71',
      '足球': 'qqface72',
      '瓢蟲': 'qqface73',
      '便便': 'qqface74',
      '月亮': 'qqface75',
      '太陽': 'qqface76',
      '禮物': 'qqface77',
      '擁抱': 'qqface78',
      '強': 'qqface79',
      '弱': 'qqface80',
      '握手': 'qqface81',
      '勝利': 'qqface82',
      '抱拳': 'qqface83',
      '勾引': 'qqface84',
      '拳頭': 'qqface85',
      '差勁': 'qqface86',
      '愛妳': 'qqface87',
      'NO': 'qqface88',
      'OK': 'qqface89',
      '愛情': 'qqface90',
      '飛吻': 'qqface91',
      '跳跳': 'qqface92',
      '發抖': 'qqface93',
      '慪火': 'qqface94',
      '轉圈': 'qqface95',
      '磕頭': 'qqface96',
      '回頭': 'qqface97',
      '跳繩': 'qqface98',
      '投降': 'qqface99',
      '激動': 'qqface100',
      '亂舞': 'qqface101',
      '獻吻': 'qqface102',
      '左太極': 'qqface103',
      '右太極': 'qqface104'
    };

    var objList = [];

    for (var i = 0; i < arr.length; i++) {
      // if (type === 'load') {
            objList.push(preData(arr));
      // }
    }


    return objList;

    // 解析字符串 创建对象 储存 分解后的 字符串,把 ‘表情代码’ 和 ‘文本’ 分解
    function preData(str) {
      // 提取表情编号 的 正则
      var reg = new RegExp(/[\'\[]?([^\[\[\]\]]*)[\'\]]?/i);
      var arr = str.split(reg);

      var emojiObj; // 分解后的 对象
      var emojiObjList = []; // 分解后对象的集合----数组形式
      for (var i = 0; i < arr.length; i++) {
            var ele = arr;
            emojiObj = {};
            if (__emojiObjs) {
                emojiObj.tag = "emoji";
                emojiObj.node = 'element';
                emojiObj.baseClass = "face";
                emojiObj.txt = __emojiObjs;
            } else {
                emojiObj.node = 'text';
                emojiObj.txt = ele;
            }
            emojiObjList.push(emojiObj);
      }
      return emojiObjList;
    }
}

module.exports = {
    emojiAnalysis: emojiAnalysis
}

附件下载
**** Hidden Message *****

jerry369 发表于 2020-4-25 14:23:34

专注于与个人游戏开发者合作,有产品的朋友联系微信号jim20180688,详聊
页: [1]
查看完整版本: 纯微信小程序 emoji解析组件