zoukankan      html  css  js  c++  java
  • Laravel6.0+easywechat4.1获取用户授权例子与分享示例

    //1.新建立2个路由.
    Route::get('/buy','indexIndexController@buy')->name('buy'); //要访问的
    Route::get('/profit','indexIndexController@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 = EasyWeChatFactory::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>
    

      

  • 相关阅读:
    源码阅读笔记 BiLSTM+CRF做NER任务(一)
    leetcode题 寻找两个有序数组的中位数
    动手实现感知机算法,多分类问题
    剪绳子 牛客网-剑指Offer_编程题
    [SCOI2016]妖怪 牛客网的ACM省选题,个人看法,欢迎交流
    BERT 学习笔记
    解决图着色问题 python代码实现
    维吉尼亚密码及程序实现
    迪菲-赫尔曼密钥交换
    分布式系统组件之配置中心
  • 原文地址:https://www.cnblogs.com/bing2017/p/12371088.html
Copyright © 2011-2022 走看看