映月读书网 > 微信公众平台开发:从零基础到ThinkPHP5高性能框架实践 > 9.3 案例实践 >

9.3 案例实践

9.3.1 一次回复多条消息

下面介绍使用消息接口与客服接口相结合的方式,一次性回复用户多条消息。其本质是使用消息接口自动回复一条消息,再使用客服接口回复多条消息。

首先,在消息接口中收到文本消息的时候,获取OpenID,相关代码如下。


$openid = $object->FromUserName;
  

然后向该OpenID发送客服消息,这里可以同时发送文本消息和音乐消息,相关代码如下。


// 调用客服接口回复
$access_token = "nFX6GFsspSLBKJLgMQ3kj1YM8_FchRE7vE2ZOIlmfiCOQntZKnBwuOen2GCBpFHBYS4Q
LGX9fGoVfA36tftME2sRiYsKPzgGQKU-ygU7x8cgy_1tlQ4n1mhSumwQEGy6PK6rdTdo8O8GROuGE3Hiag";
$url = "https:// api.weixin.qq.com/cgi-bin/message/custom/send?access_token=".$access_
token;
// 发送《最炫民族风》的介绍
$data = '{
    "touser":"'.$openid.'",
    "msgtype":"text",
    "text":
    {
        "content":"《最炫民族风》是凤凰传奇演唱的歌曲,是其第三张专辑《最炫民族风》的主打歌,于2009
        年5月27日全亚洲同步发行,2012年3月起在世界范围内走红。其彩铃下载量超过5000万。"
    }
}';
$this->https_request($url,$data);

// 发送《最炫民族风》的音乐
$data = '{
    "touser": "'.$openid.'", 
    "msgtype": "music", 
    "music": {
        "title": "最炫民族风", 
        "description": "凤凰传奇", 
        "musicurl": "http:// 122.228.226.40/music/zxmzf.mp3", 
        "hqmusicurl": "http:// 122.228.226.40/music/zxmzf.mp3", 
        "thumb_media_id": "jVyS3KRGXvfeLHcnFVDSx07LeFhff-qwH0tVxRyU5RMBtC3aC14ta5
        HlGb6eK0_d"
    }
}';
$this->https_request($url,$data);
  

发送完客服消息后,还可以继续使用消息接口回复,相关代码如下。


$contentStr = "以上是为您找到的关于 ".$object->Content." 的内容";
if (is_array($contentStr)){
    $resultStr = $this->transmitNews($object, $contentStr);
}else{
    $resultStr = $this->transmitText($object, $contentStr);
}
return $resultStr;
  

上述代码执行后,效果如图9-9所示。

客服接口最好发送的是文本、音乐及图文消息,在回复多条消息的时候,可以将这几种结合起来,灵活使用。