|
|
|
@ -1,132 +1,151 @@
|
|
|
|
|
<?php
|
|
|
|
|
// 引入微信公众号操作类库
|
|
|
|
|
include 'lanewechat.php';
|
|
|
|
|
|
|
|
|
|
// 初始化主动响应的消息类型
|
|
|
|
|
$tousername = "用户和公众号兑换的OpenId"; // 接收方的OpenID
|
|
|
|
|
$mediaId = "通过上传多媒体文件,得到的id。"; // 多媒体文件ID
|
|
|
|
|
|
|
|
|
|
$tousername = "用户和公众号兑换的OpenId";
|
|
|
|
|
$mediaId = "通过上传多媒体文件,得到的id。";
|
|
|
|
|
|
|
|
|
|
// 发送文本消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::text($tousername, '文本消息内容');
|
|
|
|
|
|
|
|
|
|
// 发送图片消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::image($tousername, $mediaId);
|
|
|
|
|
|
|
|
|
|
// 发送语音消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::voice($tousername, $mediaId);
|
|
|
|
|
|
|
|
|
|
// 发送视频消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::video($tousername, $mediaId, '视频描述', '视频标题');
|
|
|
|
|
|
|
|
|
|
// 发送音乐消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::music($tousername, '音乐标题', '音乐描述', '音乐链接', '高质量音乐链接,WIFI环境优先使用该链接播放音乐', '缩略图的媒体id,通过上传多媒体文件,得到的id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化图文消息列表
|
|
|
|
|
$tuwenList = array();
|
|
|
|
|
$tuwenList[] = array('title'=>'标题1', 'description'=>'描述1', 'pic_url'=>'图片URL1', 'url'=>'点击跳转URL1');
|
|
|
|
|
$tuwenList[] = array('title'=>'标题2', 'description'=>'描述2', 'pic_url'=>'图片URL2', 'url'=>'点击跳转URL2');
|
|
|
|
|
|
|
|
|
|
// 将图文消息列表转换为图文消息项
|
|
|
|
|
$itemList = array();
|
|
|
|
|
foreach ($tuwenList as $tuwen) {
|
|
|
|
|
$itemList[] = \LaneWeChat\Core\ResponseInitiative::newsItem($tuwen['title'], $tuwen['description'], $tuwen['pic_url'], $tuwen['url']);
|
|
|
|
|
}
|
|
|
|
|
// 发送图文消息
|
|
|
|
|
\LaneWeChat\Core\ResponseInitiative::news($tousername, $itemList);
|
|
|
|
|
|
|
|
|
|
// 初始化被动响应的消息类型
|
|
|
|
|
$fromusername = "谁发给你的?(用户的openId)"; // 发送方的OpenID
|
|
|
|
|
$tousername = "你的公众号Id"; // 接收方的公众号ID
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$fromusername = "谁发给你的?(用户的openId)";
|
|
|
|
|
$tousername = "你的公众号Id";
|
|
|
|
|
$mediaId = "通过上传多媒体文件,得到的id。";
|
|
|
|
|
|
|
|
|
|
// 发送被动响应的文本消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::text($fromusername, $tousername, '文本消息内容');
|
|
|
|
|
|
|
|
|
|
// 发送被动响应的图片消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::image($fromusername, $tousername, $mediaId);
|
|
|
|
|
|
|
|
|
|
// 发送被动响应的语音消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::voice($fromusername, $tousername, $mediaId);
|
|
|
|
|
|
|
|
|
|
// 发送被动响应的视频消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::video($fromusername, $tousername, $mediaId, '视频标题', '视频描述');
|
|
|
|
|
|
|
|
|
|
// 发送被动响应的音乐消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::music($fromusername, $tousername, '音乐标题', '音乐描述', '音乐链接', '高质量音乐链接,WIFI环境优先使用该链接播放音乐', '缩略图的媒体id,通过上传多媒体文件,得到的id');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 初始化图文消息列表
|
|
|
|
|
$tuwenList = array();
|
|
|
|
|
$tuwenList[] = array('title'=>'标题1', 'description'=>'描述1', 'pic_url'=>'图片URL1', 'url'=>'点击跳转URL1');
|
|
|
|
|
$tuwenList[] = array('title'=>'标题2', 'description'=>'描述2', 'pic_url'=>'图片URL2', 'url'=>'点击跳转URL2');
|
|
|
|
|
|
|
|
|
|
// 将图文消息列表转换为图文消息项
|
|
|
|
|
$itemList = array();
|
|
|
|
|
foreach($tuwenList as $tuwen){
|
|
|
|
|
$itemList[] = \LaneWeChat\Core\ResponsePassive::newsItem($tuwen['title'], $tuwen['description'], $tuwen['pic_url'], $tuwen['url']);
|
|
|
|
|
}
|
|
|
|
|
// 发送被动响应的图文消息
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::news($fromusername, $tousername, $itemList);
|
|
|
|
|
|
|
|
|
|
// 将消息转发到客服
|
|
|
|
|
\LaneWeChat\Core\ResponsePassive::forwardToCustomService($fromusername, $tousername);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 用户管理相关操作
|
|
|
|
|
$openId = '用户和微信公众号的唯一ID';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 创建分组
|
|
|
|
|
\LaneWeChat\Core\UserManage::createGroup('分组名');
|
|
|
|
|
|
|
|
|
|
// 获取分组列表
|
|
|
|
|
\LaneWeChat\Core\UserManage::getGroupList();
|
|
|
|
|
|
|
|
|
|
// 根据OpenID获取分组
|
|
|
|
|
\LaneWeChat\Core\UserManage::getGroupByOpenId($openId);
|
|
|
|
|
|
|
|
|
|
// 修改分组名称
|
|
|
|
|
\LaneWeChat\Core\UserManage::editGroupName('分组Id', '新的组名');
|
|
|
|
|
|
|
|
|
|
// 修改用户分组
|
|
|
|
|
\LaneWeChat\Core\UserManage::editUserGroup($openId, '新的分组ID');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 获取用户信息
|
|
|
|
|
\LaneWeChat\Core\UserManage::getUserInfo($openId);
|
|
|
|
|
|
|
|
|
|
// 获取粉丝列表
|
|
|
|
|
\LaneWeChat\Core\UserManage::getFansList($next_openId='');
|
|
|
|
|
|
|
|
|
|
// 设置用户备注名
|
|
|
|
|
\LaneWeChat\Core\UserManage::setRemark($openId, '新昵称');
|
|
|
|
|
|
|
|
|
|
// 获取网络状态
|
|
|
|
|
\LaneWeChat\Core\UserManage::getNetworkState();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 微信OAuth授权相关操作
|
|
|
|
|
$redirect_uri = '获取CODE时,发送请求和参数给微信服务器,微信服务器会处理后将跳转到本参数指定的URL页面';
|
|
|
|
|
// 获取CODE
|
|
|
|
|
\LaneWeChat\Core\WeChatOAuth::getCode($redirect_uri, $state=1, $scope='snsapi_base');
|
|
|
|
|
|
|
|
|
|
// 通过CODE获取Access Token和OpenID
|
|
|
|
|
$code = $_GET['code'];
|
|
|
|
|
\LaneWeChat\Core\WeChatOAuth::getAccessTokenAndOpenId($code);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 多媒体文件操作
|
|
|
|
|
$filename = '要上传的文件路径';
|
|
|
|
|
$type = '文件类型';
|
|
|
|
|
// 上传多媒体文件
|
|
|
|
|
\LaneWeChat\Core\Media::upload($filename, $type);
|
|
|
|
|
|
|
|
|
|
// 下载多媒体文件
|
|
|
|
|
\LaneWeChat\Core\Media::download($mediaId);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 菜单操作
|
|
|
|
|
$menuList = array(
|
|
|
|
|
array('id'=>'1', 'pid'=>'', 'name'=>'常规', 'type'=>'', 'code'=>'key_1'),
|
|
|
|
|
array('id'=>'2', 'pid'=>'1', 'name'=>'点击', 'type'=>'click', 'code'=>'key_2'),
|
|
|
|
|
array('id'=>'3', 'pid'=>'1', 'name'=>'浏览', 'type'=>'view', 'code'=>'http:
|
|
|
|
|
array('id'=>'4', 'pid'=>'', 'name'=>'扫码', 'type'=>'', 'code'=>'key_4'),
|
|
|
|
|
array('id'=>'5', 'pid'=>'4', 'name'=>'扫码带提示', 'type'=>'scancode_waitmsg', 'code'=>'key_5'),
|
|
|
|
|
array('id'=>'6', 'pid'=>'4', 'name'=>'扫码推事件', 'type'=>'scancode_push', 'code'=>'key_6'),
|
|
|
|
|
array('id'=>'7', 'pid'=>'', 'name'=>'发图', 'type'=>'', 'code'=>'key_7'),
|
|
|
|
|
array('id'=>'8', 'pid'=>'7', 'name'=>'系统拍照发图', 'type'=>'pic_sysphoto', 'code'=>'key_8'),
|
|
|
|
|
array('id'=>'9', 'pid'=>'7', 'name'=>'拍照或者相册发图', 'type'=>'pic_photo_or_album', 'code'=>'key_9'),
|
|
|
|
|
array('id'=>'10', 'pid'=>'7', 'name'=>'微信相册发图', 'type'=>'pic_weixin', 'code'=>'key_10'),
|
|
|
|
|
array('id'=>'11', 'pid'=>'1', 'name'=>'发送位置', 'type'=>'location_select', 'code'=>'key_11'),
|
|
|
|
|
// 菜单项数组
|
|
|
|
|
);
|
|
|
|
|
// 设置菜单
|
|
|
|
|
\LaneWeChat\Core\Menu::setMenu($menuList);
|
|
|
|
|
|
|
|
|
|
// 获取菜单
|
|
|
|
|
\LaneWeChat\Core\Menu::getMenu();
|
|
|
|
|
|
|
|
|
|
// 删除菜单
|
|
|
|
|
\LaneWeChat\Core\Menu::delMenu();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 高级群发操作
|
|
|
|
|
$fansList = \LaneWeChat\Core\UserManage::getFansList();
|
|
|
|
|
|
|
|
|
|
// 上传多媒体文件获取mediaId
|
|
|
|
|
$menuId = \LaneWeChat\Core\Media::upload('/var/www/baidu_jgylogo3.jpg', 'image');
|
|
|
|
|
if (empty($menuId['media_id'])) {
|
|
|
|
|
die('error');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 准备图文消息列表
|
|
|
|
|
$list = array();
|
|
|
|
|
$list[] = array('thumb_media_id'=>$menuId['media_id'] , 'author'=>'作者', 'title'=>'标题', 'content_source_url'=>'www.lanecn.com', 'digest'=>'摘要', 'show_cover_pic'=>'1');
|
|
|
|
|
$list[] = array('thumb_media_id'=>$menuId['media_id'] , 'author'=>'作者', 'title'=>'标题', 'content_source_url'=>'www.lanecn.com', 'digest'=>'摘要', 'show_cover_pic'=>'0');
|
|
|
|
|
$list[] = array('thumb_media_id'=>$menuId['media_id'] , 'author'=>'作者', 'title'=>'标题', 'content_source_url'=>'www.lanecn.com', 'digest'=>'摘要', 'show_cover_pic'=>'0');
|
|
|
|
|
// 上传图文消息
|
|
|
|
|
$mediaId = \LaneWeChat\Core\AdvancedBroadcast::uploadNews($list);
|
|
|
|
|
|
|
|
|
|
// 根据粉丝OpenID群发图文消息
|
|
|
|
|
$result = \LaneWeChat\Core\AdvancedBroadcast::sentNewsByOpenId($fansList['data']['openid'], $mediaId);
|