Laravel6.0+easywechat4.1獲取用戶授權例子與分享示例


//1.新建立2個路由.
Route::get('/buy','index\IndexController@buy')->name('buy'); //要訪問的
Route::get('/profit','index\IndexController@profit')->name('profit'); //要跳轉的

//2.建立控制器:
public function __construct()
    {
        $config = [
        'app_id' => '11111',
        'secret' => 'a93ba7629',
        'token' => 'psrlJRr3eZrg7ser1GcNTZ11rFSIC1TP',
        'response_type' => 'array',
        'oauth' => [
            'scopes'   => ['snsapi_userinfo'],
            'callback' => '/profit', //這個就是告訴授權要跳轉到這個頁面
        ],
    ];

        $this->app = \EasyWeChat\Factory::officialAccount($config);

    }

    public function buy(Request $request){


        if(empty(session('wechat_user'))){
            $oauth = $this->app->oauth;
            session(['target_url'=>'/buy']);
            return $oauth->redirect();
        }
        $user = session('wechat_user');
        //dd($user);
        $skd = $this->app->jssdk->buildConfig(['updateAppMessageShareData', 'updateTimelineShareData'],$debug = false, $beta = false, $json = true);
        $url = "box.7wh.com/buy";
        $this->app->jssdk->setUrl($url);

        return view('share',compact('skd','user'));
    }


public function  profit(){
        $oauth = $this->app->oauth;
        $user = $oauth->user();
        session(['wechat_user'=>$user->toArray()]);
        $target_url = empty(session('target_url'))?'/':session('target_url');
        header('Location:'.$target_url);
    }


//以下為分享示例share.blade.php內容,對應buy方法下的模板
<script src="https://res.wx.qq.com/open/js/jweixin-1.4.0.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
    wx.config(<?php echo $skd; ?>);// 不用ECHO就會報APPID不合法

    wx.ready(function () {   //需在用戶可能點擊分享按鈕前就先調用

        wx.updateAppMessageShareData({
            title: "{{$user['name']}}"+'正在分享', // 分享標題
            desc: '這是分享的描述', // 分享描述
            link: 'http://box.3wh.com/buy', // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公眾號JS安全域名一致
            imgUrl: "{{$user['avatar']}}", // 分享圖標
            success: function (res) {
            }
        })
    });
</script>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM