Browse Source

fixed 节点重载会因为空值导致报错的问题

兔姬桑 4 years ago
parent
commit
5e3a8e6ab3

+ 2 - 1
app/Exceptions/Handler.php

@@ -45,7 +45,8 @@ class Handler extends ExceptionHandler {
 
 		// 调试模式下记录错误详情
 		if(config('app.debug')){
-			Log::info($exception);
+			Log::debug('来自链接:'.url()->full());
+			Log::debug($exception);
 		}
 
 		parent::report($exception);

+ 1 - 0
app/Http/Controllers/User/SubscribeController.php

@@ -142,6 +142,7 @@ class SubscribeController extends Controller {
 				$result = 'trojan://0@0.0.0.0:0?peer=0.0.0.0#'.rawurlencode($text);
 				break;
 			case 1:
+			case 4:
 			default:
 				$result = 'ssr://'.base64url_encode('0.0.0.0:0:origin:none:plain:'.base64url_encode('0000').'/?obfsparam=&protoparam=&remarks='.base64url_encode($text).'&group='.base64url_encode(self::$sysConfig['website_name']).'&udpport=0&uot=0');
 				break;

+ 1 - 1
app/Models/User.php

@@ -19,7 +19,7 @@ class User extends Authenticatable {
 	protected $table = 'user';
 	protected $casts = ['expired_at' => 'date:Y-m-d', 'reset_time' => 'date:Y-m-d',];
 	protected $dates = ['expired_at', 'reset_time'];
-	protected $guarded = ['id', 'is_admin', 'created_at'];
+	protected $guarded = ['id'];
 
 	public function onlineIpLogs(): HasMany {
 		return $this->hasMany(NodeOnlineUserIp::class);

+ 1 - 1
app/Observers/NodeObserver.php

@@ -28,7 +28,7 @@ class NodeObserver {
 
 	public function updated(Node $node): void {
 		if($node->type == 4){
-			reloadNode::dispatch(Node::whereType(4)->whereId($node->id)->get());
+			reloadNode::dispatchNow(Node::whereId($node->id)->get());
 		}
 	}
 

+ 3 - 3
app/Observers/RuleGroupObserver.php

@@ -13,15 +13,15 @@ class RuleGroupObserver {
 		if(Arr::exists($changes, 'type') || Arr::exists($changes, 'rules')){
 			$nodes = Node::whereType(4)->whereIn('id', $ruleGroup->nodes)->get();
 			if($nodes){
-				reloadNode::dispatch($nodes);
+				reloadNode::dispatchNow($nodes);
 			}
 		}elseif(Arr::exists($changes, 'nodes')){
 			$nodes = Node::whereType(4)
 			             ->whereIn('id',
-				             array_diff($ruleGroup->nodes, json_decode($ruleGroup->getOriginal('nodes'), true)))
+				             array_diff($ruleGroup->nodes, json_decode($ruleGroup->getOriginal('nodes'), true)?: []))
 			             ->get();
 			if($nodes){
-				reloadNode::dispatch($nodes);
+				reloadNode::dispatchNow($nodes);
 			}
 		}
 	}

+ 3 - 3
app/Observers/UserGroupObserver.php

@@ -11,7 +11,7 @@ class UserGroupObserver {
 	public function created(UserGroup $userGroup): void {
 		$nodes = Node::whereType(4)->whereIn('id', $userGroup->nodes)->get();
 		if($nodes){
-			reloadNode::dispatch($nodes);
+			reloadNode::dispatchNow($nodes);
 		}
 	}
 
@@ -20,10 +20,10 @@ class UserGroupObserver {
 		if(Arr::exists($changes, 'nodes')){
 			$nodes = Node::whereType(4)
 			             ->whereIn('id',
-				             array_diff($userGroup->nodes, json_decode($userGroup->getOriginal('nodes'), true)))
+				             array_diff($userGroup->nodes, json_decode($userGroup->getOriginal('nodes'), true)?: []))
 			             ->get();
 			if($nodes){
-				reloadNode::dispatch($nodes);
+				reloadNode::dispatchNow($nodes);
 			}
 		}
 	}

+ 3 - 3
app/Observers/UserObserver.php

@@ -23,7 +23,7 @@ class UserObserver {
 
 		$allowNodes = Node::userAllowNodes($user->group_id, $user->level)->whereType(4)->get();
 		if($allowNodes){
-			addUser::dispatch($user->id, $allowNodes);
+			addUser::dispatchNow($user->id, $allowNodes);
 		}
 	}
 
@@ -37,7 +37,7 @@ class UserObserver {
 		   || Arr::exists($changes, 'passwd')
 		   || Arr::exists($changes, 'speed_limit')
 		   || Arr::exists($changes, 'enable')){
-			editUser::dispatch($user, $allowNodes);
+			editUser::dispatchNow($user, $allowNodes);
 		}
 	}
 
@@ -81,7 +81,7 @@ class UserObserver {
 	public function deleted(User $user): void {
 		$allowNodes = Node::userAllowNodes($user->group_id, $user->level)->whereType(4)->get();
 		if($allowNodes){
-			delUser::dispatch($user->id, $allowNodes);
+			delUser::dispatchNow($user->id, $allowNodes);
 		}
 	}
 }