| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -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,请重新登录'); | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							} | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
							// 如果有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); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |