返回介绍

服务端

发布于 2021-04-03 04:02:27 字数 4069 浏览 1503 评论 0 收藏 0

第三方平台推送事件

公众号第三方平台推送的有四个事件:

如已经授权的公众号、小程序再次进行授权,而未修改已授权的权限的话,是没有相关事件推送的。

​ 授权成功 authorized

​ 授权更新 updateauthorized

​ 授权取消 unauthorized

​ VerifyTicket component_verify_ticket

SDK 默认会处理事件 component_verify_ticket ,并会缓存 verify_ticket 所以如果你暂时不需要处理其他事件,直接这样使用即可:

$server = $openPlatform->server;

return $server->serve();

自定义消息处理器

消息处理器详细说明见公众号开发 - 服务器一节

use EasyWeChat\OpenPlatform\Server\Guard;

$server = $openPlatform->server;

// 处理授权成功事件
$server->push(function ($message) {
    // ...
}, Guard::EVENT_AUTHORIZED);

// 处理授权更新事件
$server->push(function ($message) {
    // ...
}, Guard::EVENT_UPDATE_AUTHORIZED);

// 处理授权取消事件
$server->push(function ($message) {
    // ...
}, Guard::EVENT_UNAUTHORIZED);

示例(Laravel 框架)

// 假设你的开放平台第三方平台设置的授权事件接收 URL 为: https://easywechat.com/open-platform (其他事件推送同样会推送到这个 URL)
Route::post('open-platform', function () { // 关闭 CSRF
    // $openPlatform 为你实例化的开放平台对象,此处省略实例化步骤
    return $openPlatform->server->serve(); // Done!
});

// 处理事件
use EasyWeChat\OpenPlatform\Server\Guard;
Route::post('open-platform', function () {
    $server = $openPlatform->server;
    // 处理授权成功事件,其他事件同理
    $server->push(function ($message) {
        // $message 为微信推送的通知内容,不同事件不同内容,详看微信官方文档
        // 获取授权公众号 AppId: $message['AuthorizerAppid']
        // 获取 AuthCode:$message['AuthorizationCode']
        // 然后进行业务处理,如存数据库等...
    }, Guard::EVENT_AUTHORIZED);

    return $server->serve();
});

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文