\addons\weixin\library\WechatEvent.php

//复制扫码事件,并判断ticket是否为空,为空则说明不是由参数二维码关注的,不做处理,也可以不加此判断,关注即注册。

    /**
     * @notes 关注事件
     * @author Xing <464401240@qq.com>
     */
    private function subscribe()
    {
        $event_key = str_replace('qrscene_', '', $this->message['EventKey']);
        //扫码登录
        if ($event_key == 'scan_login' && !empty($this->message['Ticket'])) {
            $userServer = new WechatUserService([
                'openid' => $this->message['FromUserName'],
                'ticket' => $this->message['Ticket']
            ], 'wechat');
            $auth = new \app\common\library\Auth();
            $userInfo = $userServer->getResopnseByUserInfo()->authUserLogin($auth)->getUserInfo();
            if (empty($userInfo)) {
                $replyContent = $auth->getError() ?? '发生未知错误';
            } else {
                $replyContent = '恭喜 [' . $userInfo['nickname'] . '] 注册成功!';
            }
            return (new MessageReply)->text($replyContent);
        }

        return (new MessageReply)->handle('subscribe');
    }

点赞(0)

评论列表 共有 0 条评论

暂无评论
立即
投稿
发表
评论
返回
顶部