|
|
|
@ -5,6 +5,7 @@ use App\Http\Controllers\Controller; |
|
|
|
use App\Models\AdminSetting; |
|
|
|
use App\Models\Agent; |
|
|
|
use App\Models\MiniProgramUploadLog; |
|
|
|
use App\Service\OpenPlatform; |
|
|
|
use EasyWeChat\Factory; |
|
|
|
use Illuminate\Http\Request; |
|
|
|
use Illuminate\Support\Facades\DB; |
|
|
|
@ -27,16 +28,8 @@ class MiniProgramController extends Controller |
|
|
|
'created_at' => now(), |
|
|
|
]); |
|
|
|
|
|
|
|
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']); |
|
|
|
$config = [ // 第三方平台信息
|
|
|
|
'app_id' => $setting['service_appid'], |
|
|
|
'secret' => $setting['service_appsecret'], |
|
|
|
'token' => $setting['service_token'], |
|
|
|
'aes_key' => $setting['service_aeskey'], |
|
|
|
]; |
|
|
|
|
|
|
|
$openPlatform = Factory::openPlatform($config); |
|
|
|
$server = $openPlatform->server; |
|
|
|
$openPlatform = new OpenPlatform(); |
|
|
|
$server = $openPlatform->server(); |
|
|
|
|
|
|
|
// 处理授权成功事件:Guard::EVENT_AUTHORIZED
|
|
|
|
// 处理授权更新事件:Guard::EVENT_UPDATE_AUTHORIZED
|
|
|
|
@ -75,23 +68,15 @@ class MiniProgramController extends Controller |
|
|
|
'created_at' => now(), |
|
|
|
]); |
|
|
|
|
|
|
|
$setting = AdminSetting::val(['service_appid', 'service_appsecret', 'service_token', 'service_aeskey']); |
|
|
|
$config = [ |
|
|
|
'app_id' => $setting['service_appid'], |
|
|
|
'secret' => $setting['service_appsecret'], |
|
|
|
'token' => $setting['service_token'], |
|
|
|
'aes_key' => $setting['service_aeskey'], |
|
|
|
]; |
|
|
|
|
|
|
|
$openPlatform = Factory::openPlatform($config); |
|
|
|
$refreshToken = $openPlatform->getAuthorizer($appid)['authorization_info']['authorizer_refresh_token'] ?? null; |
|
|
|
$openPlatform = new OpenPlatform(); |
|
|
|
$refreshToken = $openPlatform->refreshToken($appid); |
|
|
|
if (!$refreshToken) { |
|
|
|
return $this->error('获取refresh_token失败'); |
|
|
|
} |
|
|
|
$server = $openPlatform->miniProgram($appid, $refreshToken)->server; |
|
|
|
|
|
|
|
//接收事件 https://developers.weixin.qq.com/doc/oplatform/Third-party_Platforms/2.0/api/code/audit_event.html
|
|
|
|
$server->push(function ($message) use ($appid) { |
|
|
|
$server->push(function ($message) use ($appid, $openPlatform, $refreshToken) { |
|
|
|
DB::table('mini_program_events') |
|
|
|
->insert([ |
|
|
|
'type' => 1, |
|
|
|
@ -107,6 +92,14 @@ class MiniProgramController extends Controller |
|
|
|
'weapp_audit_fail' => 1, //拒绝
|
|
|
|
'weapp_audit_delay' => 4, //审核延后
|
|
|
|
]; |
|
|
|
|
|
|
|
//如果审核成功则发布
|
|
|
|
if ($message['Event'] == 'weapp_audit_success') { |
|
|
|
$code = $openPlatform->code($appid, $refreshToken); |
|
|
|
$code->release(); |
|
|
|
} |
|
|
|
|
|
|
|
//保存到日志
|
|
|
|
$log = MiniProgramUploadLog::query() |
|
|
|
->where('appid', $appid) |
|
|
|
->orderBy('id', 'desc') |
|
|
|
|