通常订阅到期就会订阅失败,为此增加订阅到期提醒。
// 到期或耗尽提醒
if (!$user['banned']) {
$serverService = new ServerService();
$servers = $serverService->getAvailableServers($user);
$useTraffic = $user['u'] + $user['d'];
$totalTraffic = $user['transfer_enable'];
$remainingTraffic = Helper::trafficConvert($totalTraffic - $useTraffic);
if ($remainingTraffic <= 0) {
array_unshift($servers, array_merge($servers[0], [
'name' => "您的流量已耗尽",
]));
}
if ($user['expired_at'] <= time()) {
array_unshift($servers, array_merge($servers[0], [
'name' => "您的订阅已过期",
]));
}
array_unshift($servers, array_merge($servers[0], [
'name' => "请到 " . admin_setting('app_url') . ' 重置流量或续费',
]));
if ($flag) {
foreach (array_reverse(glob(app_path('Protocols') . '/*.php')) as $file) {
$file = 'App\\Protocols\\' . basename($file, '.php');
$class = new $file($user, $servers);
if (strpos($flag, $class->flag) !== false) {
return $class->handle();
}
}
}
$class = new General($user, $servers);
return $class->handle();
}
该代码新增在如下函数的的尾部
public function subscribe(Request $request)
并且在首部新增如下
use App\Models\Setting;
v2rayN测试
效果:
评论