找回密码
 立即注册

扫一扫,访问微社区

查看: 6191|回复: 1

纯微信小程序 emoji解析组件

[复制链接]

76

主题

28

回帖

10万

金钱

管理员

积分
0

优秀版主

发表于 2017-1-18 17:09:06 | 显示全部楼层 |阅读模式


代码示例:
[mw_shl_code=applescript,true]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[ele]) {
                emojiObj.tag = "emoji";
                emojiObj.node = 'element';
                emojiObj.baseClass = "face";
                emojiObj.txt = __emojiObjs[ele];
            } else {
                emojiObj.node = 'text';
                emojiObj.txt = ele;
            }
            emojiObjList.push(emojiObj);
        }
        return emojiObjList;
    }
}

module.exports = {
    emojiAnalysis: emojiAnalysis
}[/mw_shl_code]

附件下载
游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

222

回帖

509

金钱

新人求带

积分
0
发表于 2020-4-25 14:23:34 | 显示全部楼层
专注于与个人游戏开发者合作,有产品的朋友联系微信号jim20180688,详聊
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|微信小程序开发|教程|文档|资源汇总_即速论坛 ( 粤ICP备14097199号-1  

GMT+8, 2024-11-25 06:13 , Processed in 0.111576 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表