网站头部欢迎信息,自己发挥啦

广告赞助

家电常识推荐阅读

主页 > 家电常识 > INTRODUCE

5分钟教你使用PHP极速开发微信公众号框架(2)

2014-12-08 12:10 作者:中国数字家电网 来源:互联网 浏览: 我要评论 (条) 字号:

摘要:1、类简介:除了被动相应用户之外,在主动给用户发送消息,用户组管理等高级操作,是需要AccessToken授权的,我们调用一个URL给微信服务器,微信服务器会返回给我们一个散列字符串,在高级操作的时候需要将此串以参

阮元浩 都市少帅万书楼 来来回回锄7你 双羊保岁 亮哲老婆 js12530 百里挑一45期 缝合场肩垫 www.283b.com 某某敬贺 熊建平去向 东方后宫论坛 边疆泉水清又纯简谱

1、类简介:除了被动相应用户之外,在主动给用户发送消息,用户组管理等高级操作,是需要AccessToken授权的,我们调用一个URL给微信服务器,微信服务器会返回给我们一个散列字符串,在高级操作的时候需要将此串以参数的形式发送。散列字符串10分钟内有效,过期需要重新获取,获取新的后之前的全部失效。

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

3、参数:无

4、获取AccessToken

AccessToken::getAccessToken(); 该调用会返回微信服务器散列后的AccessToken字符串。

5、温馨提示

如果暂且用不到此功能,请跳过。最后来看这里!

6、功能补充

有一个地方需要用户自行完善,根据介绍我们已经知道了,获取AccessToken只有10分钟的有效期,过期需要重新获取。因此,我们需要存储这个AccessToken。

由于大家的存储方式各不相同,有Mysql的,有Redis的,有MongoDB的,还有Session的。所以这里我讲存储和读取给留空了。

流程:AccessToken类,public方法只有一个,就是getAccessToken()。这个方法会调用一个私有方法_checkAccessToken()来检测AccessToken是否存在并且是否过期,如果不存在或过期,则调用私有方法_getAccessToken()

完善步骤:

1)、打开core/accesstoken.lib.php文件。

2)、私有方法_getAccessToken()的倒数第二行(return是倒数第一行),在这个地方,请讲变量$accessTokenJson存储起来,变量$accessTokenJson是一个字符串。

3)、私有方法_checkAccessToken()的第一行就是读取操作(有一行伪代码$accessToken = YourDatabase::get('access_token');),将刚才第二步的存储的东西给读出来,并且赋值给$accessToken。

4)、在第二步的存储,第三部的读取的时候,请不要修改数据,仅仅完善一个读和存的操作就可以了。

三、主动给用户发送消息。

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

四、用户及用户组管理。

1、类简介:获取粉丝列表,创建\修改用户组,讲用户添加\移除到用户组。

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

3、参数  $openId = '用户和微信公众号的唯一ID';           在变量$require['openid']中

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

$groupId = '分组ID';                         在添加新分组、获取分组列表的时候可以得到

4、分组管理 - 创建分组

UserManage::createGroup('分组名');

5、分组管理 - //获取分组列表

UserManage::getGroupList();

6、分组管理 - 查询用户所在分组

UserManage::getGroupByOpenId($openId);

7、分组管理 - 修改分组名

UserManage::editGroupName($groupId, '新的组名');

8、分组管理 - 移动用户分组

UserManage::editUserGroup($openId, $groupId);

9、用户管理 - 获取用户基本信息

UserManage::getUserInfo($openId);

10、用户管理 - 获取关注者列表

UserManage::getFansList($next_openId='');

11、用户管理 - 获取网络状态

UserManage::getNetworkState();

五、网页授权。

1、类简介:在网页中获取来访用户的数据。

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

3、参数  $openId = '用户和微信公众号的唯一ID';           在变量$require['openid']中

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

$groupId = '分组ID';                         在添加新分组、获取分组列表的时候可以得到

4、获取CODE。

参数:$scope:snsapi_base不弹出授权页面,只能获得OpenId;snsapi_userinfo弹出授权页面,可以获得所有信息

参数:$redirect_uri:将会跳转到redirect_uri/?code=CODE&state=STATE 通过GET方式获取code和state。获取CODE时,发送请求和参数给微信服务器,微信服务器会处理后将跳转到本参数指定的URL页面

WeChatOAuth::getCode($redirect_uri, $state=1, $scope='snsapi_base');

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
◎最新评论
      谈谈您对该文章的看
      表  情:
      评论内容:
      点击我更换图片
      * 请注意用语文明且合法,谢谢合作 审核后才会显示! Ctrl+回车 可以直接发表