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