123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112 |
- <?php
- namespace App\Http\Controllers\Wechat\Oauth;
- use App\Http\Controllers\WechatController;
- use App\Http\Requests;
- use Illuminate\Http\Request;
- use Illuminate\Http\Response;
- use EasyWeChat\Foundation\Application;
- use WechatOP;
- use App\Http\Controllers\Wechat\Api\WechatInnerApisController;
- class UserOauthsController extends WechatController
- {
- public function __construct()
- {
-
- $this->gzh_app_id = $_REQUEST['gzh_app_id'];
- parent::__construct($this->gzh_app_id);
- }
-
-
- public function oauth_callback(Request $request)
- {
- v('oauth_callback_start');
- $user = array();
- try{
- if(env('DEVELOP_MODE') == 'local'){
- $user['openid'] = 'oKXfNs_4SvNpMZWOzNdJklWFEn8Y';
- }else{
-
- v('oauth_callback_get_user');
- $user = $this->app->oauth->setRequest($request)->user();
- v('simple_user_data:');v($user);
- $user = $user->original;
-
- $data = array();
- $data['appid'] =$this->gzh_app_id;
- $data['distribution_channel_id'] = isset($this->official_account['distribution_channel_id'])?$this->official_account['distribution_channel_id']:null;
- $data['openid'] = $user['openid'];
-
- $my_unionid = $data['openid'];
- v('my_unionid:'.$my_unionid);
- $user['unionid'] = $data['unionid'] = isset($user['unionid'])?$user['unionid']:$my_unionid;
-
- if(isset($this->official_account['official_account_type']) && $this->official_account['official_account_type'] =='third_platform_pay'){
- v('oauth_third_platform_pay:'.$data['openid']);
- }else{
-
- v('to_save_data');v($data);
- }
-
- }
- }
- catch(\Exception $e){
- v('oauth_callback_ept:'.$e->getMessage());
- }
-
- $redirect_url = $request->get('redirect_url');
- v('oauth_callback_direct_url0:'.$redirect_url);
- $openid = isset($user['openid'])?$user['openid']:'';
- $unionid = isset($user['unionid'])?$user['unionid']:'';
- if(strpos($redirect_url,'zsypay') > -1){
- }else{
- $redirect_url = urldecode($redirect_url);
- }
- if(strpos($redirect_url,'?') > -1){
- $redirect_url = $redirect_url.'&openid='.$openid.'&unionid='.$unionid;
- }else{
- $redirect_url = $redirect_url.'?openid='.$openid.'&unionid='.$unionid;
- }
-
- v('oauth_callback_direct_url:'.$redirect_url);
- return redirect($redirect_url);
- }
-
-
- public function user_oauth(Request $request)
- {
- v('third_check_user_auth_start');
- $params = array();
- $params['gzh_app_id'] = $request->get("gzh_app_id");
- $params['redirect_url'] = $request->get("redirect_url");
- $this->options['oauth']['callback'] .= '?'.http_build_query($params);
-
- $this->app = WechatOP::app($this->options);
- v($this->options['oauth']['callback']);
- return $this->app->oauth->setRequest($request)->redirect();
- }
-
- public function show_openid(Request $request)
- {
- echo '您的openid:'.$request->get('openid');
- die();
- }
- }
|