微信小程序教程

微信扫码关注公众号登录功能php实战分享

我的站长站 2023-09-24 人阅读

1、安装easywechat

基于easywechat框架开发,首先下载安装easywechat

composer require overtrue/wechat

2、公众号配置

先去公众号后台基本配置/ 填写服务器配置配置接口,需要是线上能正确收到微信推送消息的地址,关注如果有关注、扫码、收到消息等事件都会推送到该地址

微信扫码关注公众号登录功能php实战分享
公众号配置方法截图



3、创建二维码

首先创建一个临时二维码,ticket保存下来

use EasyWeChat\Foundation\Application;
// 生成随机数
$unique = md5(password_hash(uniqid(true), PASSWORD_BCRYPT));
// 二维码有效期600秒
$expiry = 600;
$app = new Application($options);
$qrcode = $app->qrcode;
$data = $qrcode->temporary($unique, $expiry);
// 这个值保存下来,待会查询扫码状态可以用到
$ticket = $data->ticket;
// 二维码的地址
$url = $qrcode->url($ticket);

拿到如下格式的链接地址,直接打开就是一张二维码

https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=gQHA7zwAAAAAAAAAAS5odHRwOi8vd2VpeGluLnFxLmNvbS9xLzAyNmZudTBoOUJldUQxYWhhYXhBY1gAAgQ5iApkAwRYAg11

4、服务端接口

此接口地址需要对应微信后台配置的服务器地址,下面示例只添加了关注 扫码,更多方法参考微信官方文档

use EasyWeChat\Foundation\Application;
$app = new Application($options);
// 从项目实例中得到服务端应用实例。
$server = $app->server;
$server->setMessageHandler(function ($message) {
    switch ($message->MsgType) {
        // 收到事件消息
        case 'event':
            switch (strtolower($message->Event)) {
                // 公众号关注
                case 'subscribe':
                    // 可以拿到创建二维码时候的ticket值
                    $ticket = $message->Ticket;
                    // 关注用户的openid
                    $openoid = $message->FromUserName;
                    break;
                //二维码被扫
                case 'scan':
                    break;
                // ...
            }
        break;
    }
    // ...
});

上面方法可以拿到生成二维码时候的的ticket,和关注公众号用户的openid。

5、前端处理

服务端需要返回二维码地址、ticket、过期时间

前端拿到二维码地址后,将二维码展示给页面,二维码过期需要刷新二维码或者提示已过期。

可以使用轮询或者长连接的方式通过ticket刷新用户扫码状态,检测到已扫描刷新登录状态,用户成功和公众号关联。

6、后端获取用户信息

通过获取到的openid就能获取到用户信息了

use EasyWeChat\Foundation\Application;
$app = new Application($options);
$userService = $app->user;
$openoid = '***';
$user = $userService->get($openoid);


相关专题
公众号
公众号
2020-11-21 116

公众号专题为您整理了关于微信公众号相关资源,包含微信公众号模板,微信公众号源码,微信公众号软件工具等等,助您快速学习使用公众号....

相关推荐
  • 微信公众号
  • PC版批量取关微信公众号工具
    PC版批量取关微信公众号工具

    春节期间大家肯定关注了很多公众号领红包,但是公众号一多,每天都收到一堆垃圾推送消息,一一个的取关又太麻烦。我的站长站在网上找了这个可以批量取关微信公众号工具,非常好用,推荐给大家使用。...

    营销软件 258 4年前
  • 微信营销助手v1.0.9高级会员破解版
    微信营销助手v1.0.9高级会员破解版

    软件截图:微信营销助手v1.0.9高级会员破解版 免费所有功能群发消息清理好友经常使用微信难免要清理一下好友 一个一个的检测比较麻烦小编给大家分享一款:微信助手 该软件免费使用功能清理好友 群...

    营销软件 386 4年前
  • 微信营销专家会员版 3.4破解版
    微信营销专家会员版 3.4破解版

    我的站长站统一解压密码:www.wdzzz.com微信营销专家破解版适用于店铺推广、宝贝推广、产品推广、活动推广、广泛交友等,该软件支持自动打招呼、自动摇一摇、招呼摇验证、通讯录验证、自动漂流瓶、...

    营销软件 712 7年前
最新更新