LaneWeChat

PHP微信开发框架,高效开发微信公众号应用。简洁而又轻量

GitHub下载 查看手册

主动给用户发送消息

Visits: 101295 Date: 2014-08-20 17:27:00 Power By 李轩Lane

    

1、类简介:用户输入文本、图片、语音、音乐、视频等消息,以及关注、取消关注,上报地理位置等事件后,服务器被动给出应答。


        2、使用命名空间:use LaneWeChat\Core\ResponsePassive;


        3、参数  $tousername = "你的公众号Id";  在变量$require['tousername']中

                $mediaId = "通过上传多媒体文件,得到的id。";


        4、发送文本内容

            ResponseInitiative::text($tousername, '文本消息内容');


        5、发送图片

            ResponseInitiative::image($tousername, $mediaId);


        6、发送语音

            ResponseInitiative::voice($tousername, $mediaId);


        7、发送视频

            ResponseInitiative::video($tousername, $mediaId, '视频描述', '视频标题');


        8、发送音乐

            ResponseInitiative::music($tousername, '音乐标题', '音乐描述', '音乐链接', '高质量音乐链接,WIFI环境优先使用该链接播放音乐', '缩略图的媒体id,通过上传多媒体文件,得到的id');


        9、发送图文消息

            1)创建图文消息内容

                $tuwenList = array();

                $tuwenList[] = array('title'=>'标题1', 'description'=>'描述1', 'pic_url'=>'图片URL1', 'url'=>'点击跳转URL1');

                $tuwenList[] = array('title'=>'标题2', 'description'=>'描述2', 'pic_url'=>'图片URL2', 'url'=>'点击跳转URL2');

            2)构建图文消息格式

                $itemList = array();

                foreach($tuwenList as $tuwen){

                    $itemList[] = ResponseInitiative::newsItem($tuwen['title'], $tuwen['description'], $tuwen['pic_url'], $tuwen['url']);

                }

            3)发送图文消息

                ResponseInitiative::news($tousername, $itemList);


Reply: 红领巾 On 2015-01-21 02:50:42

话说什么是主动给用户发消息……有点迷惑?

回复

Reply: Lane On 2015-02-11 10:58:35

主动给用户发送消息就是1、推送。2、主动找某一个用户聊天(这个用户给你发完消息在24小时以内)。

回复

Reply: 123 On 2015-01-21 02:52:39

话说那个被动回复图文消息我按照文档构建好了 直接返回无法服务了 求解 public static function text(&$request){ switch ($request['content']) { case '每日一句': //$content = "每日一句马上开发OK,不急不急哈。"; $tuwenList = array(); $tuwenList[] = array('title'=>'这是每日一句的标题哦~~~~', 'description'=>'', 'pic_url'=>'', 'url'=>''); $tuwenList[] = array('title'=>'哇,内容。', 'description'=>'', 'pic_url'=>'', 'url'=>''); $itemList = array(); foreach($tuwenList as $tuwen){ $itemList[] = ResponsePassive::newsItem($tuwen['title'], $tuwen['description'], $tuwen['pic_url'], $tuwen['url']); } return ResponsePassive::news($fromusername, $tousername, $itemList); break; default: $content = "哈哈"; return ResponsePassive::text($request['fromusername'], $request['tousername'], $content); break; } }

回复

Reply: 123 On 2015-01-21 03:03:48

发现问题了,你的文档写的时候要小心啊 内容错的地方还是不少o ~~~误导小白有没有……

回复

Reply: Lane On 2015-02-11 11:04:25

我还没发现问题呢!!!!!!请告知

回复

Reply: sodolo On 2015-05-08 10:40:43

有一些问题啊,就是刚接入的时候我都搞了半天,删了一些代码才接入成功呢,还有我想问的是,用户点击了我设置的一个菜单,跳转到了一个链接,我在那个链接里面可以获得他的信息吗?还有几十那个链接视图应该放在wechat.php里面吗?还是随便放在一个控制器视图里面,请告知!!!

回复

Reply: watson On 2015-03-31 14:04:55

请问,主动发生信息时。发送的都是\U123\UXXX\UXXX。。。 是编码问题?其他问题? 应该怎么破?

回复

Reply: 超籽哥 On 2015-04-02 17:45:32

我也遇到这个问题,怎么破。知道的麻烦告诉一下,303373989@qq.com

回复

Reply: Lane On 2015-04-17 16:46:08

1、如果你是PHP5.4及以上版本,把json_encode($data)改为json_encode($data, JSON_UNESCAPED_UNICODE) 2、如果低于5.4,那么就在json_encode之前把内容urlencode,再json之后再urldecode

回复

Reply: gs On 2015-05-04 11:50:33

具体是改哪个文件?

回复

Reply: daihoujin On 2015-09-11 16:00:44

发送的都是\U123\UXXX\UXXX,怎么解决,各位大神帮助。。。

回复

Reply: hansoy On 2015-11-23 21:33:21

core/responseinitiative.lib.php中的,text方法 37行改为:$template = json_encode($template, JSON_UNESCAPED_UNICODE);

回复

Reply: 超籽哥 On 2015-04-02 14:35:00

$tousername = "用户和公众号兑换的OpenId"; 这个OpenId怎么获取

回复

Reply: Lane On 2015-04-17 16:45:25

必须要用户先主动联系你,你才能给用户主动发消息,在用户主动联系你的时候,你可以获得OpenId,OpenId就是你可以理解为用户在你的公众号里的唯一ID

回复

Reply: kevin On 2015-05-18 03:44:59

什么时候考虑加入 php curl 这块呢?比如拉取 多图文 里面的素材。和上传图片 方便下。还有同步这块呢?php curl 模拟提交多图文表单呢“

回复

Reply: ibrahim On 2015-05-27 14:15:36

本页文档笔误: 1、类简介:用户输入文本、图片、语音、音乐、视频等消息,以及关注、取消关注,上报地理位置等事件后,服务器被动给出应答。 --------------------->此处应为“服务器主动给出应答”

回复

Reply: ibrahim On 2015-05-27 14:25:25

本页文档笔误 3、参数 $tousername = "你的公众号Id"; 在变量$require['tousername']中 ------------------------------->此处应为“用户OpenId”吧?

回复

Reply: Lane On 2015-06-16 10:26:28

这里是没错的,这个变量$require['tousername'] 是用户给你发消息的变量

回复

Reply: DerikZhang On 2015-06-10 14:59:02

“ 8、发送地理位置"----->“8、发送音乐”

回复

Reply: 食之有鱼 On 2015-08-26 19:12:28

主动推送消息文本怎么换行,能支持html代码么

回复

Reply: 闲云 On 2015-12-22 21:34:30

$require中的内容永远都是空 请问怎么回事

回复

Reply: mengrulsy On 2016-04-25 20:34:27

有错误及时改啊 2、使用命名空间:use LaneWeChat\Core\ResponsePassive;??

回复

Reply: jason On 2016-06-06 16:58:11

是不是很多错误啊 passive不是被动回复吗?我现在要做主动发给用户消息没成功,在我自己网站模板的控制器里:use LaneWeChat\Core\ResponseInitiative; if($fuid!=''){ include 'laneWeChat/lanewechat.php'; $fa_user=$GLOBALS['db']->getRow("select * from ".DB_PREFIX."user where invite_code='".$fuid."'"); //ResponseInitiative::text($require['tousername'], '嘻嘻嘻通过您的邀请成为您的粉丝!'); ResponseInitiative::text($fa_user['open_id'], '嘻嘻嘻你好!'); } 请问哪里错了,求解答啊万分感谢

回复

Add Comment
©2014~time() lanewechat.lanecn.com , All rights reserved. Power By LaneWeChat 微信PHP开发框架.  京ICP备14005030号-1