100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > easywechat微信开发系列(1):公众号网页授权

easywechat微信开发系列(1):公众号网页授权

时间:2024-04-20 15:37:23

相关推荐

easywechat微信开发系列(1):公众号网页授权

准备工作:

1、已认证的服务号(apppid、appsecret、token、aes_key)

2、安全域名

3、已经用composer安装好easywechat

1、config/app.php 的 providers 数组,不用多说

'providers' => [// ...Overtrue\LaravelWeChat\ServiceProvider::class,],'aliases' => [// ...'EasyWeChat' => Overtrue\LaravelWeChat\Facade::class,],

2、发布资源

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

3、相关配置 config/wechat.php

'official_account' => ['default' => ['app_id' => env('WECHAT_OFFICIAL_ACCOUNT_APPID', '**'), // AppID'secret' => env('WECHAT_OFFICIAL_ACCOUNT_SECRET', '**'), // AppSecret'token' => env('WECHAT_OFFICIAL_ACCOUNT_TOKEN', '**'), // Token'aes_key' => env('WECHAT_OFFICIAL_ACCOUNT_AES_KEY', '**'), // EncodingAESKey'oauth' => ['scopes' => array_map('trim', explode(',', env('WECHAT_OFFICIAL_ACCOUNT_OAUTH_SCOPES', 'snsapi_userinfo'))),'callback' => env('WECHAT_OFFICIAL_ACCOUNT_OAUTH_CALLBACK', '/examples/oauth_callback.php'),//'callback'=>'/'],],],

4、在app\Http\Kernel.php 里面添加中间件

'wechat.oauth' => \Overtrue\LaravelWeChat\Middleware\OAuthAuthenticate::class,

5、路由中使用中间件

Route::get('user','HomeController@user')->middleware('wechat.oauth');

6、获取用户信息

$wechat = session('wechat.oauth_user.default');

7、补充:不用看

public function setUserInfo(){$wechat = session('wechat.oauth_user.default');$has = \App\Models\User::where('wxopenid', $wechat->id)->first();if(!$has){DB::beginTransaction();$result = DB::table('user')->insertGetId(['wxname' => $wechat->name,'wxopenid' => $wechat->id,'regIp'=> $ip = $_SERVER['REMOTE_ADDR'],'wxnickname'=>$wechat->nickname,'wxavatar'=>$wechat->avatar,'sex'=>$wechat->original['sex'],'wxcountry'=>$wechat->original['country'],'wxprovince'=>$wechat->original['province'],'wxcity'=>$wechat->original['city'], 'email'=>$wechat->email,'regType'=>'wx','loginTime'=>'0','created_at' => date('Y-m-d H:i:s'),'updated_at' => date('Y-m-d H:i:s'),]);$bres = DB::table('balance')->insert(['version'=>0,'money'=>0,'user_id'=>$result]);if($result && $bres){DB::commit();$has = \App\Models\User::where('id',$result)->get();}else{DB::rollback();return redirect('/');}}else{$has->timestamps = false;$has->loginTime = $has->loginTime + 1;$has->save();}return $has;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。