|
|
|
@ -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); |
|
|
|
|