forked from lixuancn/LaneWeChat
-
Notifications
You must be signed in to change notification settings - Fork 0
/
demo.php
154 lines (145 loc) · 7.39 KB
/
demo.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<?php
include 'lanewechat.php';
/**
* 主动给用户发送信息
*/
//需要发给谁?
$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('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)";
$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('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();
//查询用户所在分组
\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();
/**
* 网页授权
*/
/**
* Description: 获取CODE
* @param $scope snsapi_base不弹出授权页面,只能获得OpenId;snsapi_userinfo弹出授权页面,可以获得所有信息
* 将会跳转到redirect_uri/?code=CODE&state=STATE 通过GET方式获取code和state
*/
$redirect_uri = '获取CODE时,发送请求和参数给微信服务器,微信服务器会处理后将跳转到本参数指定的URL页面';
\LaneWeChat\Core\WeChatOAuth::getCode($redirect_uri, $state=1, $scope='snsapi_base');
/**
* Description: 通过code换取网页授权access_token
* 首先请注意,这里通过code换取的网页授权access_token,与基础支持中的access_token不同。
* 公众号可通过下述接口来获取网页授权access_token。
* 如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
* @param $code getCode()获取的code参数
*/
$code = $_GET['code'];
\LaneWeChat\Core\WeChatOAuth::getAccessTokenAndOpenId($code);
//上传多媒体
\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://www.lanecn.com'),
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();
//上传图片
$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);
//给粉丝列表的用户群发图文消息
$result = \LaneWeChat\Core\AdvancedBroadcast::sentNewsByOpenId($fansList['data']['openid'], $mediaId);