Laravel Wechat

微信 SDK for Laravel, 基于 overtrue/wechat
Alternatives To Laravel Wechat
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Laravel Wechat2,80134557a month ago68March 31, 20221mitPHP
微信 SDK for Laravel, 基于 overtrue/wechat
Telegram Bot Sdk2,622250477 days ago20December 10, 2020bsd-3-clausePHP
🤖 Telegram Bot API PHP SDK. Lets you build Telegram Bots easily! Supports Laravel out of the box.
Firebase Php1,90513143a day ago194September 15, 20228mitPHP
Unofficial Firebase Admin SDK for PHP
Aws Sdk Php Laravel1,545443608 days ago26March 08, 202213apache-2.0PHP
A Laravel 5+ (and 4) service provider for the AWS SDK for PHP
Saloon1,294
10 days ago40June 24, 20225mitPHP
Build beautiful API integrations and SDKs with Saloon 🤠
Sentry Laravel1,116345693 days ago75July 15, 202210mitPHP
The official Laravel SDK for Sentry (sentry.io)
Laravel Firebase764311a month ago19January 09, 20221mitPHP
A Laravel package for the Firebase PHP Admin SDK
Laravelfacebooksdk697200143 years ago28July 23, 201759mitPHP
Fully unit tested Facebook SDK v5 integration for Laravel & Lumen
Aliyunoss46235133 years ago14April 06, 20173PHP
阿里云 OSS 官方 SDK 的 Composer 封装,支持任何 PHP 项目,包括 Laravel、Symfony、TinyLara 等等。
Forge Sdk461911a month ago26May 31, 2022mitPHP
The official Laravel Forge PHP SDK.
Alternatives To Laravel Wechat
Select To Compare


Alternative Project Comparisons
Readme

EasyWeChat for Laravel

SDK EasyWeChat for Laravel w7corp/easywechat

Sponsor me

7.x Lumen

  • overtrue/laravel-wechat:^7.0 -> Laravel >= 8.0
  • overtrue/laravel-wechat:^6.0 -> Laravel/Lumen >= 7.0
  • overtrue/laravel-wechat:^5.1 -> Laravel/Lumen >= 5.1

composer require "overtrue/laravel-wechat"

php artisan vendor:publish --provider="Overtrue\\LaravelWeChat\\ServiceProvider"
'aliases' => [
    // ...
    'EasyWeChat' => Overtrue\LaravelWeChat\EasyWeChat::class,
],
  1. default

🚨 App\Http\Middleware\VerifyCsrfToken

protected $except = [
    // ...
    'wechat',
];
Route::any('/wechat', '[email protected]');

Route::any, GET, POST

WeChatController

<?php

namespace App\Http\Controllers;

use Log;

class WeChatController extends Controller
{
    public function serve()
    {
        Log::info('request arrived.'); 

        $server = app('easywechat.official_account')->getServer();

        $server->with(function($message){
            return " overtrue";
        });

        return $server->serve();
    }
}

OAuth

app/config/easywechat.php oauth.callback ( 😄)

  1. app/Http/Kernel.php
protected $routeMiddleware = [
    // ...
    'easywechat.oauth' => \Overtrue\LaravelWeChat\Middleware\OAuthAuthenticate::class,
];
//...
Route::group(['middleware' => ['web', 'easywechat.oauth']], function () {
    Route::get('/user', function () {
        $user = session('easywechat.oauth_user.default'); // 

        dd($user);
    });
});

'easywechat.oauth:default' scopes:

Route::group(['middleware' => ['easywechat.oauth:snsapi_userinfo']], function () {
  // ...
});

//  scopes:
Route::group(['middleware' => ['easywechat.oauth:default,snsapi_userinfo']], function () {
  // ...
});

/user ** ** session('easywechat.oauth_user.default')

use Illuminate\Support\Arr;
use Overtrue\Socialite\User as SocialiteUser;

$user = new SocialiteUser([
            'id' => 'mock-openid',
            'name' => 'overtrue',
            'nickname' => 'overtrue',
            'avatar' => 'http://example.com/avatars/overtrue.png',
            'email' => null,
            'original' => [],
            'provider' => 'WeChat',
        ]);

scope snsapi_userinfo snsapi_base openid

  1. session

OAuth

session(['easywechat.oauth_user.default' => $user]); // `default` 

  • OAuth Overtrue\LaravelWeChat\Events\WeChatUserAuthorized
// 
$event->user; //  session('easywechat.oauth_user.default') 
$event->isNewSession; //  session  true
$event->account; // 

Overtrue\LaravelWeChat\Traits\HandleOpenPlatformServerEvents

routes/web.php:

Route::any('/open-platform/server', OpenPlatformController::class);

app/Http/Controllers/OpenPlatformController.php:

<?php

namespace App\Http\Controllers;

use Overtrue\LaravelWeChat\Traits\HandleOpenPlatformServerEvents;

class OpenPlatformController extends Controller
{
    use HandleOpenPlatformServerEvents;
    
    public function __invoke(Application $application): \Psr\Http\Message\ResponseInterface
    {
        $app = app('easywechat.open_platform');
        
        return $this->handleServerEvents($app);
    }
}

Tips:

  • Overtrue\LaravelWeChat\Events\OpenPlatform\Authorized
  • Overtrue\LaravelWeChat\Events\OpenPlatform\AuthorizeUpdated
  • Overtrue\LaravelWeChat\Events\OpenPlatform\Unauthorized
  • VerifyTicketOvertrue\LaravelWeChat\Events\OpenPlatform\VerifyTicketRefreshed
// 
$message = $event->payload; // 

http://example.com/open-platform/server URL

SDK https://www.easywechat.com

❤️ Sponsor me

Sponsor me

❤️

Project supported by JetBrains

Many thanks to Jetbrains for kindly providing a license for me to work on this and other open-source projects.

PHP

PHP

PHP -

License

MIT

Popular Laravel Projects
Popular Sdk Projects
Popular Frameworks Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Php
Laravel
Sdk
Oauth
Wechat
Lumen
Wechat Sdk