博客
关于我
微信公众帐号开发教程第9篇-QQ表情的发送与接收
阅读量:250 次
发布时间:2019-03-01

本文共 2889 字,大约阅读时间需要 9 分钟。

微信公众帐号中使用QQ表情的应用技术

QQ表情作为一种常见的社交工具,在微信公众帐号的应用中扮演着重要角色。通过合理利用QQ表情,不仅可以丰富用户体验,还能提升公众帐号的互动性。本文将详细介绍如何在微信公众帐号中发送和识别QQ表情,以及如何实现相关功能。

QQ表情代码表

在微信公众平台中,QQ表情虽然以图像形式呈现,但在消息接口中被归类为文本消息(MsgType=text)。因此,发送的QQ表情在后台将显示为文字代码。以下是一个完整的QQ表情代码对照表:

  • [难过] /难过
  • [:–(] /:–(
  • [:–B] /:–B
  • [:–B: ] /:–B:
  • [:–D] /:–D
  • [:–O] /:–O
  • [:–P] /:–P
  • [:–Q] /:–Q
  • [:–T] /:–T
  • [:–Z] /:–Z
  • [::(] /::(
  • [::D] /::D
  • [::O] /::O
  • [::P] /::P
  • [::Q] /::Q
  • [::T] /::T
  • [::( ] /::(
  • [::–( ] /::–(
  • [::–B ] /::–B
  • [::–D ] /::–D
  • [::–O ] /::–O
  • [::–P ] /::–P
  • [::–Q ] /::–Q
  • [::–T ] /::–T
  • [::–( ] /::–(
  • [:::–( ] /:::–(
  • [::-( ] /::-(
  • [::-B ] /::-B
  • [::-D ] /::-D
  • [::-O ] /::-O
  • [::-P ] /::-P
  • [::-Q ] /::-Q
  • [::-T ] /::-T
  • [::-–( ] /::-–(
  • [::-–B ] /::-–B
  • [::-–D ] /::-–D
  • [::-–O ] /::-–O
  • [::-–P ] /::-–P
  • [::-–Q ] /::-–Q
  • [::-–T ] /::-–T
  • [::-–( ] /::-–(
  • [::-–(–( ] /::-–(–(
  • [::-–B–( ] /::-–B–(
  • [::-–D–( ] /::-–D–(
  • [::-–O–( ] /::-–O–(
  • [::-–P–( ] /::-–P–(
  • [::-–Q–( ] /::-–Q–(
  • [::-–T–( ] /::-–T–(
  • [::-–(–( ] /::-–(–(
  • [::-–B–( ] /::-–B–(
  • [::-–D–( ] /::-–D–(
  • [::-–O–( ] /::-–O–(
  • [::-–P–( ] /::-–P–(
  • [::-–Q–( ] /::-–Q–(
  • [::-–T–( ] /::-–T–(

用户发送QQ表情的实现

在微信公众帐号中,用户可以通过以下方式发送QQ表情:

  • 图形界面选择:用户点击输入框中的表情按钮,弹出表情选择界面,选择QQ表情后,会自动显示对应的文字代码。

  • 手动输入代码:用户可以直接在输入框中输入QQ表情的文字代码,例如输入[难过]/难过,系统会自动显示对应的表情图片。

  • 通过以上方法,用户可以轻松发送带有QQ表情的消息。

    公众帐号识别QQ表情的方法

    在开发模式下,公众帐号需要识别用户发送的消息是否为QQ表情。通过正则表达式匹配,可以实现这一功能。以下是一个实现方法的示例:

    public static boolean isQqFace(String content) {    // 定义QQ表情的正则表达式    String qqfaceRegex = "/::-B-\\(\\)|/::\\\\(|/::-O\\||/::@|/::P|/::D|/::O|/::\\+|/:--b|/::Q|/::T|/:,@P|/:,@-D|/:,@o|/::g|/:\\|-\\)|/::!|/::L|/::-S|/:\\?|/:,@x|/:8\\*|/:pd|/:
    |/:beer|/:basketb|/:oo|/:coffee|/:eat|/:pig|/:rose|/:fade|/:showlove|/:heart|/:break|/:cake|/:li|/:bome|/:kn|/:footb|/:ladybug|/:shit|/:moon|/:sun|/:gift|/:hug|/:strong|/:weak|/:share|/:v|/:@\\)|/:jj|/:@@|/:bad|/:lvu|/:no|/:ok|/:love|/:
    |/:jump|/:shake|/:
    |/:circle|/:kotow|/:turn|/:skip|/:oY|/:#-0|/:hiphot|/:kiss|/:<|amp;|/:&gt;"; // 使用正则表达式匹配 Pattern p = Pattern.compile(qqfaceRegex); Matcher m = p.matcher(content); return m.matches();}

    该方法通过正则表达式判断用户发送的内容是否为QQ表情。如果匹配成功,返回true,否则返回false。

    实际应用示例

    以下是一个实际应用的代码片段,展示了如何根据用户发送的消息类型回复相应的QQ表情:

    if (msgType.equals(MessageUtil.REQ_MESSAGE_TYPE_TEXT)) {    // 获取用户发送的内容    String content = requestMap.get("Content");    // 判断是否为QQ表情    if (XiaoqUtil.isQqFace(content)) {        // 回复对应的QQ表情        TextMessage textMessage = new TextMessage();        textMessage.setToUserName(fromUserName);        textMessage.setFromUserName(toUserName);        textMessage.setCreateTime(new Date().getTime());        textMessage.setMsgType(MessageUtil.RESP_MESSAGE_TYPE_TEXT);        textMessage.setFuncFlag(0);        textMessage.setContent(content);        respMessage = MessageUtil.textMessageToXml(textMessage);    }}

    通过上述代码,公众帐号可以根据用户发送的内容自动回复相应的QQ表情,提升用户体验。

    总结

    通过以上方法,开发者可以在微信公众帐号中实现QQ表情的发送和识别功能。QQ表情不仅能丰富用户互动,还能提升公众帐号的趣味性和用户粘性。希望本文能够为开发者提供有价值的参考和技术支持。

    转载地址:http://ptex.baihongyu.com/

    你可能感兴趣的文章
    Openlayers实战:加载Bing地图
    查看>>
    Openlayers实战:绘制图形,导出geojson文件
    查看>>
    Openlayers实战:绘制图形,导出KML文件
    查看>>
    Openlayers实战:绘制多边形,导出CSV文件
    查看>>
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>
    Openlayers:DMS-DD坐标形式互相转换
    查看>>