微信表情包

微信表情包工具

此工具图片来源
微信gif表情
微信表情

基于vue的表情组件(gif版本)

  1. 表情插槽
<template>
  <div class="change-gift" >
    <slot></slot>
  </div>
</template>

<script>
export default {
      
      
  name: 'change-gift',
  mounted () {
      
      
    const name = this.$el.innerHTML
    const list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶',
      '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂',
      '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠',
      '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰',
      '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强',
      '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈',
      '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极']
    let index = list.indexOf(name)
    let imgHTML = `<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/${ 
        index}.gif">`
    this.$nextTick(() => {
      
      
      this.$el.innerHTML = imgHTML
    })
  },
}
</script>
<style lang="scss">
.change-gift {
      
      
  display: inline-block;
  padding: 5px;
}
</style>
  1. 表情列表
<template>
  <div class="assembly-emotion">
    <div class="emotion-box" :style="{height: height + 'px' }" >
      <div class="emotion-box-line" v-for="(line, i) in list" :key="i" >
        <change-gift class="emotion-item" v-for="(item, i) in line" :key="i" @click.native="clickHandler(item)" >{
   
   {item}}</change-gift>
      </div>
    </div>
  </div>
</template>

<script>
import ChangeGift from "@/components/assembly-emotion/change-gift";
export default {
      
      
  name: "assembly-emotion",
  props: {
      
      
    height: {
      
      
      type: Number,
      default: 200,
    }
  },
  components: {
      
      
    ChangeGift,
  },
  data () {
      
      
    return {
      
      
      list: [
        ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴'],
        ['睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过'],
        ['酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢'],
        ['饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂'],
        ['疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见'],
        ['擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠'],
        ['鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀'],
        ['西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰',],
        ['凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀'],
        ['足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强'],
        ['弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你'],
        ['NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈'],
        ['磕头', '回头', '跳绳', '挥手', '激动', '街舞', '左太极', '右太极'],
      ]
    }
  },
  methods: {
      
      
    clickHandler (i) {
      
      
      let emotion = `#${ 
        i};`
      this.$emit('emotion', emotion)
    },

    // 将匹配结果替换表情图片
    emotion (res) {
      
      
      let word = res.replace(/\#|\;/gi,'')
      const list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极']
      let index = list.indexOf(word)
      return `<img style="vertical-align: middle; display: inline" src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/${ 
        index}.gif">`
    }
  }
}
</script>
<style lang="scss">
.assembly-emotion{
      
      
  .emotion-box {
      
      
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    overflow-y: auto;
  }
  .emotion-box-line {
      
      
    display: flex;
  }
  .emotion-item {
      
      
    flex: 1;
    text-align: center;
    cursor: pointer;
  }
}

</style>
  1. 显示效果
    在这里插入图片描述
  2. 将匹配结果替换表情图片
<div v-html="form.content.replace(/\#[\u4E00-\u9FA5]{1,3}\;/gi, emotion)"></div>

emotion (res) {
      let word = res.replace(/\#|\;/gi,'')
      const list = ['微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭', '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐', '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '大兵', '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见', '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈', '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓', '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电', '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱', '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情', '飞吻', '跳跳', '发抖', '怄火', '转圈', '磕头', '回头', '跳绳', '挥手', '激动', '街舞', '献吻', '左太极', '右太极']
      let index = list.indexOf(word)
      return '<img src="https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/${index}.gif">'
}

基于vue的表情组件(图片版本)

      const list = [
        '福', '发', '奸笑', '嘿哈', '捂脸', '机智', '红包', '耶', '皱眉', '未知',
        '加油', 'emm', '未知', '加油加油', '好的', '天啊', '打脸', '社会社会', '汗', '强壮',
        '鬼魂', '吐舌', '合十', '礼物', '庆祝', '破涕为笑', '笑脸', '无语', '失望', '恐惧',
        '脸红', '未知', '吃瓜', '哇', '旺柴',
        '微笑', '撇嘴', '色', '发呆', '得意', '流泪', '害羞', '闭嘴', '睡', '大哭',
        '尴尬', '发怒', '调皮', '呲牙', '惊讶', '难过', '酷', '冷汗', '抓狂', '吐',
        '偷笑', '可爱', '白眼', '傲慢', '饥饿', '困', '惊恐', '流汗', '憨笑', '悠闲',
        '奋斗', '咒骂', '疑问', '嘘', '晕', '折磨', '衰', '骷髅', '敲打', '再见',
        '擦汗', '抠鼻', '鼓掌', '糗大了', '坏笑', '左哼哼', '右哼哼', '哈欠', '鄙视', '委屈',
        '快哭了', '阴险', '亲亲', '吓', '可怜', '菜刀', '西瓜', '啤酒', '篮球', '乒乓',
        '咖啡', '饭', '猪头', '玫瑰', '凋谢', '示爱', '爱心', '心碎', '蛋糕', '闪电',
        '炸弹', '刀', '足球', '瓢虫', '便便', '月亮', '太阳', '礼物', '拥抱', '强', '弱',
        '握手', '胜利', '抱拳', '勾引', '拳头', '差劲', '爱你', 'NO', 'OK', '爱情',
        '飞吻', '跳跳', '发抖', '怄火', '转圈', '未知', '回头', '磕头', '挥手', '激动', '街舞',
        '献吻', '左太极', '右太极']
  1. 展示效果
    在这里插入图片描述

文件已上传到资源,需要的请点击下载

微信表情包gif图
微信表情包webp图


猜你喜欢

转载自blog.csdn.net/qq_38036909/article/details/123004753
今日推荐