|  |  |  | @ -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); |