|  | @@ -10,6 +10,7 @@ use App\Http\Controllers\Controller;
 | 
	
		
			
				|  |  |  use Hashids;
 | 
	
		
			
				|  |  |  use EasyWeChat\Foundation\Application;
 | 
	
		
			
				|  |  |  use Log;
 | 
	
		
			
				|  |  | +use Exception;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  /**
 | 
	
		
			
				|  |  |   * 朋友圈链接
 | 
	
	
		
			
				|  | @@ -19,8 +20,6 @@ use Log;
 | 
	
		
			
				|  |  |  class CoflController extends Controller
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      public function index(Request $request){
 | 
	
		
			
				|  |  | -        Log::info('index param is');
 | 
	
		
			
				|  |  | -        Log::info($request->all());
 | 
	
		
			
				|  |  |          $bid = $request->get('bid');
 | 
	
		
			
				|  |  |          if(empty($bid)){
 | 
	
		
			
				|  |  |              $default_ink = $this->getLink();
 | 
	
	
		
			
				|  | @@ -35,16 +34,18 @@ class CoflController extends Controller
 | 
	
		
			
				|  |  |              $app = new Application($this->auth($params));
 | 
	
		
			
				|  |  |              return $app->oauth->redirect();
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        $bid = Hashids::decode($bid)[0];
 | 
	
		
			
				|  |  | +        try{
 | 
	
		
			
				|  |  | +            $bid = Hashids::decode($bid)[0];
 | 
	
		
			
				|  |  | +        }catch (Exception $e){
 | 
	
		
			
				|  |  | +            return redirect()->to($this->getLink());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |          //获取用户
 | 
	
		
			
				|  |  |          $user = $this->getUsers($openid);
 | 
	
		
			
				|  |  | -        Log::info('$user = $this->getUsers($openid)');
 | 
	
		
			
				|  |  | -        Log::info($user);
 | 
	
		
			
				|  |  |          if(!$user[0]){
 | 
	
		
			
				|  |  |              //用户不存在
 | 
	
		
			
				|  |  |              return redirect()->to($this->getLink());
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |          //有阅读纪录的跳转
 | 
	
		
			
				|  |  |          $read_record = ReadRecordService::getByField($user[0],$bid);
 | 
	
		
			
				|  |  |          if($read_record){
 | 
	
	
		
			
				|  | @@ -58,26 +59,17 @@ class CoflController extends Controller
 | 
	
		
			
				|  |  |          if(isset($params['openid']))  unset($params['openid']);
 | 
	
		
			
				|  |  |          if(isset($params['unionid']))  unset($params['unionid']);
 | 
	
		
			
				|  |  |          $url = $this->getLink($user[1]).'reader?'.http_build_query($params);
 | 
	
		
			
				|  |  | -        Log::info('$ur is: '.$url);
 | 
	
		
			
				|  |  |          return redirect()->to($url);
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private function getUsers($openid){
 | 
	
		
			
				|  |  |          $users = User::where('openid',$openid)->select('id','distribution_channel_id')->get();
 | 
	
		
			
				|  |  | -        Log::info('$openid is: '.$openid);
 | 
	
		
			
				|  |  | -        Log::info('$users is: ');
 | 
	
		
			
				|  |  | -        Log::info($users);
 | 
	
		
			
				|  |  |          if($users->isEmpty()) return [0,0];
 | 
	
		
			
				|  |  |          $temp = null;
 | 
	
		
			
				|  |  |          $distribution_channel_id = 0;
 | 
	
		
			
				|  |  |          $uid = 0;
 | 
	
		
			
				|  |  |          foreach ($users as $user){
 | 
	
		
			
				|  |  |              $last_read = ReadRecordService::getByField($user->id,'last_read');
 | 
	
		
			
				|  |  | -            Log::info('foreach ($users as $user)');
 | 
	
		
			
				|  |  | -            Log::info('$user');
 | 
	
		
			
				|  |  | -            Log::info($user);
 | 
	
		
			
				|  |  | -            Log::info('$last_read is');
 | 
	
		
			
				|  |  | -            Log::info($last_read);
 | 
	
		
			
				|  |  |              if(!$last_read) continue;
 | 
	
		
			
				|  |  |              if(!$temp ){
 | 
	
		
			
				|  |  |                  $distribution_channel_id = $user->distribution_channel_id;
 |