laravel easywechat 网页授权

我使用的 overtrue/wechat 3.x版本

4.x版本请参照 这里

 

接下来开始网页授权吧!

1.安装包

composer require "overtrue/laravel-wechat:~3.0"

2.在config/app.php

providers里添加 Overtrue\LaravelWechat\ServiceProvider:: class ,

aliases里添加 'EasyWeChat' => Overtrue\LaravelWechat\Facade:: class,

3.创建配置文件

php artisan vendor:publish --provider= "Overtrue\LaravelWechat\ServiceProvider"

4. .env 文件添加如下配置,这些配置都和微信公众平台对应。也可在app/wechat.php里配置。

WECHAT_APPID=*
WECHAT_SECRET=*
WECHAT_TOKEN=*
WECHAT_AES_KEY=*

5.创建Wechat控制器。   给公众号验证token,并调用添加菜单接口。看一下菜单url。这个路由后面会提到,然后自行修改。

<?php

namespace App\Http\Controllers;

use Log;

class WechatController extends Controller
{
/**
* 处理微信的请求消息
*
* @return string
*/
public function serve()
{
$wechat = app( 'wechat');
$wechat-> server-> setMessageHandler( function( $message){
return "欢迎关注 overtrue!";
});

$this-> add_menu();
return $wechat-> server-> serve();
}

public function add_menu(){
$app = app( 'wechat');
$menu = $app-> menu;
$buttons = [
[
"type"=> "view",
"name"=> "进入课堂",
"url"=> "http://vote.mrwangqi.com/user",
],
];
$menu-> add( $buttons);
}
}

6.添加一条路由访问该方法

Route:: any( '/wechat', 'WechatController@serve');

7.添加中间件在 app/Http/Kernel.php 中添加路由中间件

protected $routeMiddleware = [
// ...
'wechat.oauth' => \Overtrue\LaravelWechat\Middleware\OAuthAuthenticate:: class,
];

8.添加一条路由 /user  ,这个就是刚才菜单的路由。

Route:: get( '/user', function () {
$user = session( 'wechat.oauth_user'); // 拿到授权用户资料

return redirect()-> to( '/home#/index'); //這時候已經拿到用戶資料了,跳轉到想要的路由
});

所以/user路由只是个过渡,理论上不需要可以直接callback,但是我的不行额。大家可以给点意见。

9.配置公众号信息,我这里是测试号,配置的url里http://后面马赛克掉的是我的服务器域名。格式很严苛喲



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值