Browse Source

修改解密逻辑,兼容第三方平台

develop
李可松 4 years ago
parent
commit
c2203eb76d
  1. 25
      app/Http/Controllers/Api/UserController.php

25
app/Http/Controllers/Api/UserController.php

@ -2,6 +2,7 @@
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\AdminSetting;
use App\Models\Agent;
use App\Models\User;
use EasyWeChat\Factory;
@ -36,18 +37,30 @@ class UserController extends Controller
]);
$agent = Agent::query()->find($this->agent_id); //代理商数据
$config = config('wechat.mini_program.default');
$config = array_merge($config, [
'app_id' => $agent->appid,
'secret' => $agent->appsecret,
]);
$session = Cache::get('session_key_' . $this->user_id);
if (!$session) {
return $this->error('无效的session,请重新登录');
}
$app = Factory::miniProgram($config);
// 如果有appsecret,使用原来的逻辑,否则使用第三方平台逻辑
if ($agent['appsecret']) {
$config = config('wechat.mini_program.default');
$config = array_merge($config, [
'app_id' => $agent->appid,
'secret' => $agent->appsecret,
]);
$app = Factory::miniProgram($config);
} else {
$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'],
];
$app = Factory::miniProgram($config);
}
try {
$decryptedData = $app->encryptor->decryptData($session, $formData['iv'], $formData['encryptedData']);
$user = User::find($this->user_id);

Loading…
Cancel
Save