Browse Source

优化获取系统设置方式

兔姬桑 4 years ago
parent
commit
9665910d42
66 changed files with 1043 additions and 1119 deletions
  1. 6 6
      app/Components/CaptchaVerify.php
  2. 4 4
      app/Components/Helpers.php
  3. 8 14
      app/Components/Namesilo.php
  4. 3 3
      app/Components/PushNotification.php
  5. 1 1
      app/Console/Commands/AutoClearLog.php
  6. 12 18
      app/Console/Commands/AutoJob.php
  7. 1 1
      app/Console/Commands/AutoReportNode.php
  8. 2 8
      app/Console/Commands/DailyJob.php
  9. 6 12
      app/Console/Commands/NodeBlockedDetection.php
  10. 2 8
      app/Console/Commands/UserExpireAutoWarning.php
  11. 1 7
      app/Console/Commands/UserTrafficAbnormalAutoWarning.php
  12. 2 8
      app/Console/Commands/UserTrafficAutoWarning.php
  13. 0 6
      app/Http/Controllers/Admin/AffiliateController.php
  14. 2 9
      app/Http/Controllers/Admin/MarketingController.php
  15. 0 7
      app/Http/Controllers/Admin/SubscribeController.php
  16. 3 11
      app/Http/Controllers/Admin/TicketController.php
  17. 27 27
      app/Http/Controllers/AdminController.php
  18. 1 8
      app/Http/Controllers/Api/LoginController.php
  19. 2 3
      app/Http/Controllers/Api/WebApi/TrojanController.php
  20. 3 4
      app/Http/Controllers/Api/WebApi/V2RayController.php
  21. 1 2
      app/Http/Controllers/Api/WebApi/VNetController.php
  22. 39 39
      app/Http/Controllers/AuthController.php
  23. 6 6
      app/Http/Controllers/Gateway/AbstractPayment.php
  24. 7 7
      app/Http/Controllers/Gateway/BitpayX.php
  25. 6 6
      app/Http/Controllers/Gateway/CodePay.php
  26. 10 10
      app/Http/Controllers/Gateway/EPay.php
  27. 6 6
      app/Http/Controllers/Gateway/F2Fpay.php
  28. 4 4
      app/Http/Controllers/Gateway/PayJs.php
  29. 10 10
      app/Http/Controllers/Gateway/PayPal.php
  30. 1 1
      app/Http/Controllers/PaymentController.php
  31. 8 8
      app/Http/Controllers/User/AffiliateController.php
  32. 7 7
      app/Http/Controllers/User/SubscribeController.php
  33. 21 21
      app/Http/Controllers/UserController.php
  34. 5 6
      app/Http/Middleware/isForbidden.php
  35. 3 4
      app/Http/Middleware/isMaintenance.php
  36. 1 2
      app/Http/Middleware/isSecurity.php
  37. 8 0
      app/helpers.php
  38. 1 2
      config/app.php
  39. 1 1
      resources/views/admin/inviteList.blade.php
  40. 3 3
      resources/views/admin/layouts.blade.php
  41. 4 4
      resources/views/admin/node/authList.blade.php
  42. 4 4
      resources/views/auth/activeUser.blade.php
  43. 4 4
      resources/views/auth/free.blade.php
  44. 4 4
      resources/views/auth/layouts.blade.php
  45. 3 3
      resources/views/auth/login.blade.php
  46. 12 12
      resources/views/auth/register.blade.php
  47. 4 4
      resources/views/auth/resetPassword.blade.php
  48. 1 1
      resources/views/emails/activeUser.blade.php
  49. 1 1
      resources/views/emails/closeTicket.blade.php
  50. 1 1
      resources/views/emails/newTicket.blade.php
  51. 1 1
      resources/views/emails/nodeCrashWarning.blade.php
  52. 1 1
      resources/views/emails/replyTicket.blade.php
  53. 720 720
      resources/views/emails/resetPassword.blade.php
  54. 1 1
      resources/views/emails/sendUserInfo.blade.php
  55. 1 1
      resources/views/emails/sendVerifyCode.blade.php
  56. 1 1
      resources/views/emails/userExpireWarning.blade.php
  57. 1 1
      resources/views/emails/userExpireWarningToday.blade.php
  58. 1 1
      resources/views/emails/userTrafficWarning.blade.php
  59. 10 10
      resources/views/user/components/purchase.blade.php
  60. 3 3
      resources/views/user/help.blade.php
  61. 7 7
      resources/views/user/index.blade.php
  62. 1 1
      resources/views/user/invite.blade.php
  63. 2 2
      resources/views/user/invoiceDetail.blade.php
  64. 9 9
      resources/views/user/layouts.blade.php
  65. 1 1
      resources/views/user/payment.blade.php
  66. 11 11
      resources/views/user/services.blade.php

+ 6 - 6
app/Components/CaptchaVerify.php

@@ -11,8 +11,8 @@ class CaptchaVerify {
 	//从后台获取 hcaptcha_sitekey 和 hcaptcha_secret
 	public static function hCaptchaGetConfig(): array {
 		return [
-			"sitekey" => Helpers::systemConfig()["hcaptcha_sitekey"],
-			"secret"  => Helpers::systemConfig()["hcaptcha_secret"],
+			"sitekey" => sysConfig('hcaptcha_sitekey'),
+			"secret"  => sysConfig('hcaptcha_secret'),
 			"options" => []
 		];
 	}
@@ -20,16 +20,16 @@ class CaptchaVerify {
 	//从后台获取 Geetest_id 和 Geetest_key
 	public static function geetestCaptchaGetConfig(): array {
 		return [
-			"geetest_id"  => Helpers::systemConfig()["geetest_id"],
-			"geetest_key" => Helpers::systemConfig()["geetest_key"]
+			"geetest_id"  => sysConfig('geetest_id'),
+			"geetest_key" => sysConfig('geetest_key')
 		];
 	}
 
 	//从后台获取 google_captcha_sitekey 和 google_captcha_secret
 	public static function googleCaptchaGetConfig(): array {
 		return [
-			"sitekey" => Helpers::systemConfig()["google_captcha_sitekey"],
-			"secret"  => Helpers::systemConfig()["google_captcha_secret"],
+			"sitekey" => sysConfig('google_captcha_sitekey'),
+			"secret"  => sysConfig('google_captcha_secret'),
 			"options" => []
 		];
 	}

+ 4 - 4
app/Components/Helpers.php

@@ -81,7 +81,7 @@ class Helpers {
 		$user->email = $email;
 		$user->password = $password;
 		// 生成一个可用端口
-		$user->port = self::systemConfig()['is_rand_port']? self::getRandPort() : self::getOnlyPort();
+		$user->port = self::sysConfig()['is_rand_port']? self::getRandPort() : self::getOnlyPort();
 		$user->passwd = makeRandStr();
 		$user->vmess_id = Str::uuid();
 		$user->enable = 1;
@@ -101,7 +101,7 @@ class Helpers {
 	}
 
 	// 获取系统配置
-	public static function systemConfig(): array {
+	public static function sysConfig(): array {
 		$data = Config::all()->pluck('value', 'name')->toArray();
 		$data['is_onlinePay'] = ($data['is_AliPay'] || $data['is_QQPay'] || $data['is_WeChatPay'] || $data['is_otherPay'])?: 0;
 
@@ -110,7 +110,7 @@ class Helpers {
 
 	// 获取一个随机端口
 	public static function getRandPort() {
-		$port = random_int(self::systemConfig()['min_port'], self::systemConfig()['max_port']);
+		$port = random_int(self::sysConfig()['min_port'], self::sysConfig()['max_port']);
 
 		$exists_port = User::query()->pluck('port')->toArray();
 		if(in_array($port, $exists_port, true) || in_array($port, self::$denyPorts, true)){
@@ -122,7 +122,7 @@ class Helpers {
 
 	// 获取一个随机端口
 	public static function getOnlyPort() {
-		$port = (int) self::systemConfig()['min_port'];
+		$port = (int) self::sysConfig()['min_port'];
 
 		$exists_port = User::query()->where('port', '>=', $port)->pluck('port')->toArray();
 		while(in_array($port, $exists_port, true) || in_array($port, self::$denyPorts, true)){

+ 8 - 14
app/Components/Namesilo.php

@@ -7,15 +7,9 @@ use Log;
 use LSS\XML2Array;
 
 class Namesilo {
-	protected static $host;
-	protected static $systemConfig;
+	private static $host = 'https://www.namesilo.com/api/';
 
 	// Todo Debug测试
-	public function __construct() {
-		self::$host = 'https://www.namesilo.com/api/';
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	// 列出账号下所有域名
 	public function listDomains() {
 		return $this->send('listDomains');
@@ -26,7 +20,7 @@ class Namesilo {
 		$params = [
 			'version' => 1,
 			'type'    => 'xml',
-			'key'     => self::$systemConfig['namesilo_key']
+			'key'     => sysConfig('namesilo_key')
 		];
 		$query = array_merge($params, $data);
 
@@ -37,19 +31,19 @@ class Namesilo {
 
 		if($request->getStatusCode() != 200){
 			Log::error('请求失败:'.var_export($request, true));
-			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1,
-				self::$systemConfig['webmaster_email'], 0, var_export($request, true));
+			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1, sysConfig('webmaster_email'),
+				0, var_export($request, true));
 
 			return false;
 		}
 
 		// 出错
 		if(empty($result['namesilo']) || $result['namesilo']['reply']['code'] != 300 || $result['namesilo']['reply']['detail'] !== 'success'){
-			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1,
-				self::$systemConfig['webmaster_email'], 0, $result['namesilo']['reply']['detail']);
+			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1, sysConfig('webmaster_email'),
+				0, $result['namesilo']['reply']['detail']);
 		}else{
-			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1,
-				self::$systemConfig['webmaster_email'], 1, $result['namesilo']['reply']['detail']);
+			Helpers::addNotificationLog('[Namesilo API] - ['.$operation.']', $content, 1, sysConfig('webmaster_email'),
+				1, $result['namesilo']['reply']['detail']);
 		}
 
 		return $result['namesilo']['reply'];

+ 3 - 3
app/Components/PushNotification.php

@@ -8,7 +8,7 @@ use Log;
 
 class PushNotification {
 	public static function send($title, $content) {
-		switch(Helpers::systemConfig()['is_notification']){
+		switch(sysConfig('is_notification')){
 			case 'serverChan':
 				return self::ServerChan($title, $content);
 			case 'bark':
@@ -28,7 +28,7 @@ class PushNotification {
 	 */
 	private static function ServerChan($title, $content) {
 		// TODO:一天仅可发送不超过500条
-		$request = (new Client(['timeout' => 15]))->get('https://sc.ftqq.com/'.Helpers::systemConfig()['server_chan_key'].'.send?text='.$title.'&desp='.urlencode($content));
+		$request = (new Client(['timeout' => 15]))->get('https://sc.ftqq.com/'.sysConfig('server_chan_key').'.send?text='.$title.'&desp='.urlencode($content));
 		$message = json_decode($request->getBody(), true);
 		// 发送成功
 		if($request->getStatusCode() == 200){
@@ -54,7 +54,7 @@ class PushNotification {
 	 * @return mixed
 	 */
 	private static function Bark($title, $content) {
-		$request = (new Client(['timeout' => 15]))->get('https://api.day.app/'.Helpers::systemConfig()['bark_key'].'/'.$title.'/'.$content);
+		$request = (new Client(['timeout' => 15]))->get('https://api.day.app/'.sysConfig('bark_key').'/'.$title.'/'.$content);
 		$message = json_decode($request->getBody(), true);
 
 		if($request->getStatusCode() == 200){

+ 1 - 1
app/Console/Commands/AutoClearLog.php

@@ -26,7 +26,7 @@ class AutoClearLog extends Command {
 		$jobStartTime = microtime(true);
 
 		// 清除日志
-		if(Helpers::systemConfig()['is_clear_log']){
+		if(sysConfig('is_clear_log')){
 			$this->clearLog();
 		}
 

+ 12 - 18
app/Console/Commands/AutoJob.php

@@ -24,15 +24,9 @@ use Illuminate\Console\Command;
 use Log;
 
 class AutoJob extends Command {
-	protected static $systemConfig;
 	protected $signature = 'autoJob';
 	protected $description = '自动化任务';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	/*
 	 * 警告:除非熟悉业务流程,否则不推荐更改以下执行顺序,随意变更以下顺序可能导致系统异常
 	 */
@@ -64,7 +58,7 @@ class AutoJob extends Command {
 		$this->checkNodeStatus();
 
 		// 检查 维护模式
-		if(self::$systemConfig['maintenance_mode'] && strtotime(self::$systemConfig['maintenance_time']) < time()){
+		if(sysConfig('maintenance_mode') && strtotime(sysConfig('maintenance_time')) < time()){
 			Config::query()->whereName('maintenance_mode')->update(['value' => 0]);
 			Config::query()->whereName('maintenance_time')->update(['value' => '']);
 		}
@@ -176,7 +170,7 @@ class AutoJob extends Command {
 
 	// 封禁访问异常的订阅链接
 	private function blockSubscribe(): void {
-		if(self::$systemConfig['is_subscribe_ban']){
+		if(sysConfig('is_subscribe_ban')){
 			foreach(User::query()->activeUser()->get() as $user){
 				$subscribe = UserSubscribe::query()->whereUserId($user->id)->first();
 				if($subscribe){
@@ -187,7 +181,7 @@ class AutoJob extends Command {
 						                                 date("Y-m-d H:i:s", strtotime("-1 days")))
 					                                 ->distinct()
 					                                 ->count('request_ip');
-					if($request_times >= self::$systemConfig['subscribe_ban_times']){
+					if($request_times >= sysConfig('subscribe_ban_times')){
 						UserSubscribe::query()->whereId($subscribe->id)->update([
 							'status'   => 0,
 							'ban_time' => time(),
@@ -220,7 +214,7 @@ class AutoJob extends Command {
 	// 封禁账号
 	private function blockUsers(): void {
 		// 封禁1小时内流量异常账号
-		if(self::$systemConfig['is_traffic_ban']){
+		if(sysConfig('is_traffic_ban')){
 			$userList = User::query()->activeUser()->whereBanTime(0)->get();
 			foreach($userList as $user){
 				// 对管理员豁免
@@ -233,14 +227,14 @@ class AutoJob extends Command {
 				                                  ->userHourly($user->id)
 				                                  ->where('created_at', '>=', date('Y-m-d H:i:s', time() - 3900))
 				                                  ->sum('total');
-				if($totalTraffic >= self::$systemConfig['traffic_ban_value'] * GB){
+				if($totalTraffic >= sysConfig('traffic_ban_value') * GB){
 					User::query()->whereId($user->id)->update([
 						'enable'   => 0,
-						'ban_time' => strtotime("+".self::$systemConfig['traffic_ban_time']." minutes")
+						'ban_time' => strtotime("+".sysConfig('traffic_ban_time')." minutes")
 					]);
 
 					// 写入日志
-					$this->addUserBanLog($user->id, self::$systemConfig['traffic_ban_time'], '【临时封禁代理】-1小时内流量异常');
+					$this->addUserBanLog($user->id, sysConfig('traffic_ban_time'), '【临时封禁代理】-1小时内流量异常');
 				}
 			}
 		}
@@ -286,10 +280,10 @@ class AutoJob extends Command {
 
 	// 端口回收与分配
 	private function dispatchPort(): void {
-		if(self::$systemConfig['auto_release_port']){
+		if(sysConfig('auto_release_port')){
 			## 自动分配端口
 			foreach(User::query()->activeUser()->wherePort(0)->get() as $user){
-				$port = self::$systemConfig['is_rand_port']? Helpers::getRandPort() : Helpers::getOnlyPort();
+				$port = sysConfig('is_rand_port')? Helpers::getRandPort() : Helpers::getOnlyPort();
 
 				User::query()->whereId($user->id)->update(['port' => $port]);
 			}
@@ -308,7 +302,7 @@ class AutoJob extends Command {
 
 	// 检测节点是否离线
 	private function checkNodeStatus(): void {
-		if(self::$systemConfig['is_node_offline']){
+		if(sysConfig('is_node_offline')){
 			foreach(Node::query()->whereIsRelay(0)->whereStatus(1)->get() as $node){
 				// 10分钟内无节点负载信息则认为是后端炸了
 				$nodeTTL = NodeInfo::query()
@@ -316,7 +310,7 @@ class AutoJob extends Command {
 				                   ->where('log_time', '>=', strtotime("-10 minutes"))
 				                   ->latest('log_time')
 				                   ->doesntExist();
-				if($nodeTTL && self::$systemConfig['offline_check_times']){
+				if($nodeTTL && sysConfig('offline_check_times')){
 					// 已通知次数
 					$cacheKey = 'offline_check_times'.$node->id;
 					if(Cache::has($cacheKey)){
@@ -327,7 +321,7 @@ class AutoJob extends Command {
 						$times = 1;
 					}
 
-					if($times < self::$systemConfig['offline_check_times']){
+					if($times < sysConfig('offline_check_times')){
 						Cache::increment($cacheKey);
 						PushNotification::send('节点异常警告', "节点**{$node->name}【{$node->ip}】**异常:**心跳异常,可能离线了**");
 					}

+ 1 - 1
app/Console/Commands/AutoReportNode.php

@@ -16,7 +16,7 @@ class AutoReportNode extends Command {
 	public function handle(): void {
 		$jobStartTime = microtime(true);
 
-		if(Helpers::systemConfig()['node_daily_report']){
+		if(sysConfig('node_daily_report')){
 			$nodeList = Node::query()->whereStatus(1)->get();
 			if($nodeList->isNotEmpty()){
 				$msg = "|节点|上行流量|下行流量|合计|\r\n| :------ | :------ | :------ |\r\n";

+ 2 - 8
app/Console/Commands/DailyJob.php

@@ -13,15 +13,9 @@ use Illuminate\Console\Command;
 use Log;
 
 class DailyJob extends Command {
-	protected static $systemConfig;
 	protected $signature = 'dailyJob';
 	protected $description = '每日任务';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	public function handle(): void {
 		$jobStartTime = microtime(true);
 
@@ -32,7 +26,7 @@ class DailyJob extends Command {
 		$this->closeTickets();
 
 		// 重置用户流量
-		if(self::$systemConfig['reset_traffic']){
+		if(sysConfig('reset_traffic')){
 			$this->resetUserTraffic();
 		}
 
@@ -46,7 +40,7 @@ class DailyJob extends Command {
 		// 过期用户处理
 		$userList = User::query()->activeUser()->where('expire_time', '<', date('Y-m-d'))->get();
 		foreach($userList as $user){
-			if(self::$systemConfig['is_ban_status']){
+			if(sysConfig('is_ban_status')){
 				User::query()->whereId($user->id)->update([
 					'u'               => 0,
 					'd'               => 0,

+ 6 - 12
app/Console/Commands/NodeBlockedDetection.php

@@ -13,18 +13,12 @@ use Log;
 use Mail;
 
 class NodeBlockedDetection extends Command {
-	protected static $systemConfig;
 	protected $signature = 'nodeBlockedDetection';
 	protected $description = '节点阻断检测';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	public function handle(): void {
 		$jobStartTime = microtime(true);
-		if(self::$systemConfig['nodes_detection']){
+		if(sysConfig('nodes_detection')){
 			if(!Cache::has('LastCheckTime')){
 				$this->checkNodes();
 			}elseif(Cache::get('LastCheckTime') <= time()){
@@ -79,7 +73,7 @@ class NodeBlockedDetection extends Command {
 			}
 
 			// 节点检测次数
-			if($info && self::$systemConfig['detection_check_times']){
+			if($info && sysConfig('detection_check_times')){
 				// 已通知次数
 				$cacheKey = 'detection_check_times'.$node->id;
 				if(Cache::has($cacheKey)){
@@ -90,7 +84,7 @@ class NodeBlockedDetection extends Command {
 					$times = 1;
 				}
 
-				if($times < self::$systemConfig['detection_check_times']){
+				if($times < self::sysConfig('detection_check_times')){
 					Cache::increment($cacheKey);
 				}else{
 					Cache::forget($cacheKey);
@@ -119,9 +113,9 @@ class NodeBlockedDetection extends Command {
 	 */
 	private function notifyMaster($title, $content): void {
 		$result = PushNotification::send($title, $content);
-		if(!$result && self::$systemConfig['webmaster_email']){
-			$logId = Helpers::addNotificationLog($title, $content, 1, self::$systemConfig['webmaster_email']);
-			Mail::to(self::$systemConfig['webmaster_email'])->send(new nodeCrashWarning($logId));
+		if(!$result && sysConfig('webmaster_email')){
+			$logId = Helpers::addNotificationLog($title, $content, 1, sysConfig('webmaster_email'));
+			Mail::to(sysConfig('webmaster_email'))->send(new nodeCrashWarning($logId));
 		}
 	}
 }

+ 2 - 8
app/Console/Commands/UserExpireAutoWarning.php

@@ -11,20 +11,14 @@ use Log;
 use Mail;
 
 class UserExpireAutoWarning extends Command {
-	protected static $systemConfig;
 	protected $signature = 'userExpireAutoWarning';
 	protected $description = '用户临近到期自动发邮件提醒';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	public function handle(): void {
 		$jobStartTime = microtime(true);
 
 		// 用户临近到期自动发邮件提醒
-		if(self::$systemConfig['expire_warning']){
+		if(sysConfig('expire_warning')){
 			$this->userExpireWarning();
 		}
 
@@ -50,7 +44,7 @@ class UserExpireAutoWarning extends Command {
 
 				$logId = Helpers::addNotificationLog($title, $content, 1, $user->email);
 				Mail::to($user->email)->send(new userExpireWarningToday($logId));
-			}elseif($lastCanUseDays > 0 && $lastCanUseDays <= self::$systemConfig['expire_days']){
+			}elseif($lastCanUseDays > 0 && $lastCanUseDays <= sysConfig('expire_days')){
 				$title = '账号过期提醒';
 				$content = '您的账号还剩'.$lastCanUseDays.'天即将过期。';
 

+ 1 - 7
app/Console/Commands/UserTrafficAbnormalAutoWarning.php

@@ -10,15 +10,9 @@ use Illuminate\Console\Command;
 use Log;
 
 class UserTrafficAbnormalAutoWarning extends Command {
-	protected static $systemConfig;
 	protected $signature = 'userTrafficAbnormalAutoWarning';
 	protected $description = '用户流量异常警告';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	public function handle(): void {
 		$jobStartTime = microtime(true);
 
@@ -48,7 +42,7 @@ class UserTrafficAbnormalAutoWarning extends Command {
 				$user = User::find($vo->user_id);
 
 				// 推送通知管理员
-				if($vo->totalTraffic > self::$systemConfig['traffic_ban_value'] * GB){
+				if($vo->totalTraffic > sysConfig('traffic_ban_value') * GB){
 					$traffic = UserHourlyDataFlow::query()
 					                             ->userHourly($vo->user_id)
 					                             ->where('created_at', '>=', date('Y-m-d H:i:s', time() - 3900))

+ 2 - 8
app/Console/Commands/UserTrafficAutoWarning.php

@@ -10,20 +10,14 @@ use Log;
 use Mail;
 
 class UserTrafficAutoWarning extends Command {
-	protected static $systemConfig;
 	protected $signature = 'userTrafficAutoWarning';
 	protected $description = '用户流量超过警告阈值自动发邮件提醒';
 
-	public function __construct() {
-		parent::__construct();
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	public function handle(): void {
 		$jobStartTime = microtime(true);
 
 		// 用户流量超过警告阈值自动发邮件提醒
-		if(self::$systemConfig['traffic_warning']){
+		if(sysConfig('traffic_warning')){
 			$this->userTrafficWarning();
 		}
 
@@ -42,7 +36,7 @@ class UserTrafficAutoWarning extends Command {
 			}
 
 			$usedPercent = round(($user->d + $user->u) / $user->transfer_enable, 2) * 100; // 已使用流量百分比
-			if($usedPercent >= self::$systemConfig['traffic_warning_percent']){
+			if($usedPercent >= sysConfig('traffic_warning_percent')){
 				$title = '流量提醒';
 				$content = '流量已使用:'.$usedPercent.'%,请保持关注。';
 

+ 0 - 6
app/Http/Controllers/Admin/AffiliateController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Admin;
 
-use App\Components\Helpers;
 use App\Http\Controllers\Controller;
 use App\Models\ReferralApply;
 use App\Models\ReferralLog;
@@ -18,11 +17,6 @@ use Response;
  * @package App\Http\Controllers\Controller
  */
 class AffiliateController extends Controller {
-	protected static $systemConfig;
-
-	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
-	}
 
 	// 提现申请列表
 	public function affiliateList(Request $request): \Illuminate\Http\Response {

+ 2 - 9
app/Http/Controllers/Admin/MarketingController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Admin;
 
-use App\Components\Helpers;
 use App\Http\Controllers\Controller;
 use App\Models\Marketing;
 use DB;
@@ -22,12 +21,6 @@ use RuntimeException;
  * @package App\Http\Controllers\Controller
  */
 class MarketingController extends Controller {
-	protected static $systemConfig;
-
-	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	// 邮件群发消息列表
 	public function emailList(Request $request): \Illuminate\Http\Response {
 		$status = $request->input('status');
@@ -63,7 +56,7 @@ class MarketingController extends Controller {
 		$title = $request->input('title');
 		$content = $request->input('content');
 
-		if(!self::$systemConfig['is_push_bear']){
+		if(!sysConfig('is_push_bear')){
 			return Response::json(['status' => 'fail', 'message' => '推送失败:请先启用并配置PushBear']);
 		}
 
@@ -72,7 +65,7 @@ class MarketingController extends Controller {
 
 			$response = (new Client())->get('https://pushbear.ftqq.com/sub', [
 				'query' => [
-					'sendkey' => self::$systemConfig['push_bear_send_key'],
+					'sendkey' => sysConfig('push_bear_send_key'),
 					'text'    => $title,
 					'desp'    => $content
 				]

+ 0 - 7
app/Http/Controllers/Admin/SubscribeController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Admin;
 
-use App\Components\Helpers;
 use App\Http\Controllers\Controller;
 use App\Models\UserSubscribe;
 use App\Models\UserSubscribeLog;
@@ -18,12 +17,6 @@ use Response;
  * @package App\Http\Controllers\Controller
  */
 class SubscribeController extends Controller {
-	protected static $systemConfig;
-
-	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	// 订阅码列表
 	public function subscribeList(Request $request): \Illuminate\Http\Response {
 		$user_id = $request->input('user_id');

+ 3 - 11
app/Http/Controllers/Admin/TicketController.php

@@ -24,12 +24,6 @@ use Response;
  * @package App\Http\Controllers\Controller
  */
 class TicketController extends Controller {
-	protected static $systemConfig;
-
-	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	// 工单列表
 	public function ticketList(Request $request): \Illuminate\Http\Response {
 		$email = $request->input('email');
@@ -108,11 +102,9 @@ class TicketController extends Controller {
 
 				// 发通知邮件
 				if(!Auth::getUser()->is_admin){
-					if(self::$systemConfig['webmaster_email']){
-						$logId = Helpers::addNotificationLog($title, $content, 1,
-							self::$systemConfig['webmaster_email']);
-						Mail::to(self::$systemConfig['webmaster_email'])->send(new replyTicket($logId, $title,
-							$content));
+					if(sysConfig('webmaster_email')){
+						$logId = Helpers::addNotificationLog($title, $content, 1, sysConfig('webmaster_email'));
+						Mail::to(sysConfig('webmaster_email'))->send(new replyTicket($logId, $title, $content));
 					}
 					// 推送通知管理员
 					PushNotification::send($title, $content);

+ 27 - 27
app/Http/Controllers/AdminController.php

@@ -13,9 +13,9 @@ use App\Models\Invite;
 use App\Models\Label;
 use App\Models\Level;
 use App\Models\Node;
+use App\Models\NodeDailyDataFlow;
 use App\Models\NodeLabel;
 use App\Models\NodeOnlineUserIp;
-use App\Models\NodeDailyDataFlow;
 use App\Models\NotificationLog;
 use App\Models\Order;
 use App\Models\ReferralApply;
@@ -54,16 +54,16 @@ use Validator;
  * @package App\Http\Controllers
  */
 class AdminController extends Controller {
-	protected static $systemConfig;
+	protected static $sysConfig;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	public function index(): \Illuminate\Http\Response {
-		$past = strtotime("-".self::$systemConfig['expire_days']." days");
+		$past = strtotime("-".self::$sysConfig['expire_days']." days");
 
-		$view['expireDays'] = self::$systemConfig['expire_days'];
+		$view['expireDays'] = self::$sysConfig['expire_days'];
 		$view['totalUserCount'] = User::query()->count(); // 总用户数
 		$view['enableUserCount'] = User::query()->whereEnable(1)->count(); // 有效用户数
 		$view['activeUserCount'] = User::query()->where('t', '>=', $past)->count(); // 活跃用户数
@@ -71,7 +71,7 @@ class AdminController extends Controller {
 		$view['onlineUserCount'] = User::query()->where('t', '>=', strtotime("-10 minutes"))->count(); // 10分钟内在线用户数
 		$view['expireWarningUserCount'] = User::query()->whereBetween('expire_time', [
 			date('Y-m-d'),
-			strtotime("+".self::$systemConfig['expire_days']." days")
+			strtotime("+".self::$sysConfig['expire_days']." days")
 		])->count(); // 临近过期用户数
 		$view['largeTrafficUserCount'] = User::query()
 		                                     ->whereRaw('(u + d) >= 107374182400')
@@ -83,7 +83,7 @@ class AdminController extends Controller {
 		$view['unnormalNodeCount'] = Node::query()->whereStatus(0)->count();
 		$view['flowCount'] = flowAutoShow(NodeDailyDataFlow::query()
 		                                                   ->where('created_at', '>=',
-			                                                  date('Y-m-d', strtotime("-30 days")))
+			                                                   date('Y-m-d', strtotime("-30 days")))
 		                                                   ->sum('total'));
 		$view['totalFlowCount'] = flowAutoShow(NodeDailyDataFlow::query()->sum('total'));
 		$view['totalCredit'] = User::query()->where('credit', '<>', 0)->sum('credit') / 100;
@@ -110,7 +110,7 @@ class AdminController extends Controller {
 		                                          ->selectRaw("user_id, sum(total) as totalTraffic")
 		                                          ->get(); // 只统计50M以上的记录,加快速度
 		foreach($userTotalTrafficList as $user){
-			if($user->totalTraffic > self::$systemConfig['traffic_ban_value'] * GB){
+			if($user->totalTraffic > self::$sysConfig['traffic_ban_value'] * GB){
 				$result[] = $user->user_id;
 			}
 		}
@@ -168,7 +168,7 @@ class AdminController extends Controller {
 		// 临近过期提醒
 		if($expireWarning){
 			$query->whereBetween('expire_time',
-				[date('Y-m-d'), date('Y-m-d', strtotime("+".self::$systemConfig['expire_days']." days"))]);
+				[date('Y-m-d'), date('Y-m-d', strtotime("+".self::$sysConfig['expire_days']." days"))]);
 		}
 
 		// 当前在线
@@ -178,7 +178,7 @@ class AdminController extends Controller {
 
 		// 不活跃用户
 		if($request->input('unActive')){
-			$query->whereBetween('t', [1, strtotime("-".self::$systemConfig['expire_days']." days")])->whereEnable(1);
+			$query->whereBetween('t', [1, strtotime("-".self::$sysConfig['expire_days']." days")])->whereEnable(1);
 		}
 
 		// 1小时内流量异常用户
@@ -206,10 +206,10 @@ class AdminController extends Controller {
 			                                  ->userHourly($user->id)
 			                                  ->where('created_at', '>=', $time)
 			                                  ->sum('total');
-			$user->trafficWarning = $totalTraffic > (self::$systemConfig['traffic_ban_value'] * GB)? 1 : 0;
+			$user->trafficWarning = $totalTraffic > (self::$sysConfig['traffic_ban_value'] * GB)? 1 : 0;
 
 			// 订阅地址
-			$user->link = (self::$systemConfig['subscribe_domain']?: self::$systemConfig['website_url']).'/s/'.$user->subscribe->code;
+			$user->link = (self::$sysConfig['subscribe_domain']?: self::$sysConfig['website_url']).'/s/'.$user->subscribe->code;
 		}
 
 		$view['userList'] = $userList;
@@ -282,7 +282,7 @@ class AdminController extends Controller {
 
 	// 生成端口
 	public function makePort() {
-		return self::$systemConfig['is_rand_port']? Helpers::getRandPort() : Helpers::getOnlyPort();
+		return self::$sysConfig['is_rand_port']? Helpers::getRandPort() : Helpers::getOnlyPort();
 	}
 
 	// 批量生成账号
@@ -1041,7 +1041,7 @@ class AdminController extends Controller {
 
 	// 系统设置
 	public function system(): \Illuminate\Http\Response {
-		$view = self::$systemConfig;
+		$view = self::$sysConfig;
 		$view['labelList'] = Label::query()->orderByDesc('sort')->orderBy('id')->get();
 
 		return Response::view('admin.config.system', $view);
@@ -1057,7 +1057,7 @@ class AdminController extends Controller {
 		}
 
 		// 屏蔽异常配置
-		if(!array_key_exists($name, self::$systemConfig)){
+		if(!array_key_exists($name, self::$sysConfig)){
 			return Response::json(['status' => 'fail', 'message' => '设置失败:配置不存在']);
 		}
 
@@ -1079,35 +1079,35 @@ class AdminController extends Controller {
 		if($value !== '' && in_array($name, ['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'], true)){
 			switch($value){
 				case 'f2fpay':
-					if(!self::$systemConfig['f2fpay_app_id'] || !self::$systemConfig['f2fpay_private_key']
-					   || !self::$systemConfig['f2fpay_public_key']){
+					if(!self::$sysConfig['f2fpay_app_id'] || !self::$sysConfig['f2fpay_private_key']
+					   || !self::$sysConfig['f2fpay_public_key']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【支付宝F2F】必要参数']);
 					}
 					break;
 				case 'codepay':
-					if(!self::$systemConfig['codepay_url'] || !self::$systemConfig['codepay_id']
-					   || !self::$systemConfig['codepay_key']){
+					if(!self::$sysConfig['codepay_url'] || !self::$sysConfig['codepay_id']
+					   || !self::$sysConfig['codepay_key']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【码支付】必要参数']);
 					}
 					break;
 				case 'epay':
-					if(!self::$systemConfig['epay_url'] || !self::$systemConfig['epay_mch_id'] || !self::$systemConfig['epay_key']){
+					if(!self::$sysConfig['epay_url'] || !self::$sysConfig['epay_mch_id'] || !self::$sysConfig['epay_key']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【易支付】必要参数']);
 					}
 					break;
 				case 'payjs':
-					if(!self::$systemConfig['payjs_mch_id'] || !self::$systemConfig['payjs_key']){
+					if(!self::$sysConfig['payjs_mch_id'] || !self::$sysConfig['payjs_key']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【PayJs】必要参数']);
 					}
 					break;
 				case 'bitpayx':
-					if(!self::$systemConfig['bitpay_secret']){
+					if(!self::$sysConfig['bitpay_secret']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【麻瓜宝】必要参数']);
 					}
 					break;
 				case 'paypal':
-					if(!self::$systemConfig['paypal_username'] || !self::$systemConfig['paypal_password']
-					   || !self::$systemConfig['paypal_secret']){
+					if(!self::$sysConfig['paypal_username'] || !self::$sysConfig['paypal_password']
+					   || !self::$sysConfig['paypal_secret']){
 						return Response::json(['status' => 'fail', 'message' => '请先设置【PayPal】必要参数']);
 					}
 					break;
@@ -1146,12 +1146,12 @@ class AdminController extends Controller {
 
 	// 推送通知测试
 	public function sendTestNotification(): JsonResponse {
-		if(self::$systemConfig['is_notification']){
+		if(self::$sysConfig['is_notification']){
 			$result = PushNotification::send('这是测试的标题', 'ProxyPanel测试内容');
 			if($result === false){
 				return Response::json(['status' => 'fail', 'message' => '发送失败,请重新尝试!']);
 			}
-			switch(self::$systemConfig['is_notification']){
+			switch(self::$sysConfig['is_notification']){
 				case 'serverChan':
 					if(!$result['errno']){
 						return Response::json(['status' => 'success', 'message' => '发送成功,请查看手机是否收到推送消息']);
@@ -1191,7 +1191,7 @@ class AdminController extends Controller {
 			$obj->fuid = 0;
 			$obj->code = strtoupper(substr(md5(microtime().makeRandStr()), 8, 12));
 			$obj->status = 0;
-			$obj->dateline = date('Y-m-d H:i:s', strtotime("+".self::$systemConfig['admin_invite_days']." days"));
+			$obj->dateline = date('Y-m-d H:i:s', strtotime("+".self::$sysConfig['admin_invite_days']." days"));
 			$obj->save();
 		}
 

+ 1 - 8
app/Http/Controllers/Api/LoginController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Api;
 
-use App\Components\Helpers;
 use App\Http\Controllers\Controller;
 use App\Models\Node;
 use App\Models\User;
@@ -24,12 +23,6 @@ use Response;
  * @package App\Http\Controllers
  */
 class LoginController extends Controller {
-	protected static $systemConfig;
-
-	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
-	}
-
 	// 登录返回订阅信息
 	public function login(Request $request): ?JsonResponse {
 		$email = $request->input('email');
@@ -74,7 +67,7 @@ class LoginController extends Controller {
 			$this->subscribeLog($subscribe->id, getClientIp(), 'API访问');
 
 			// 订阅链接
-			$url = self::$systemConfig['subscribe_domain']?: self::$systemConfig['website_url'];
+			$url = sysConfig('subscribe_domain')?: sysConfig('website_url');
 
 			// 节点列表
 			$nodeList = Node::query()

+ 2 - 3
app/Http/Controllers/Api/WebApi/TrojanController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Api\WebApi;
 
-use App\Components\Helpers;
 use App\Models\Node;
 use App\Models\User;
 use Illuminate\Http\JsonResponse;
@@ -18,10 +17,10 @@ class TrojanController extends BaseController {
 			'speed_limit'  => $node->speed_limit,
 			'client_limit' => $node->client_limit,
 			'push_port'    => $node->push_port,
-			'redirect_url' => Helpers::systemConfig()['redirect_url'],
+			'redirect_url' => sysConfig('redirect_url'),
 			'trojan_port'  => $node->port,
 			'secret'       => $node->auth->secret,
-			'license'      => Helpers::systemConfig()['trojan_license'],
+			'license'      => sysConfig('trojan_license'),
 		]);
 	}
 

+ 3 - 4
app/Http/Controllers/Api/WebApi/V2RayController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Api\WebApi;
 
-use App\Components\Helpers;
 use App\Models\Node;
 use App\Models\NodeCertificate;
 use App\Models\User;
@@ -21,11 +20,11 @@ class V2RayController extends BaseController {
 			'speed_limit'     => $node->speed_limit,
 			'client_limit'    => $node->client_limit,
 			'push_port'       => $node->push_port,
-			'redirect_url'    => Helpers::systemConfig()['redirect_url'],
+			'redirect_url'    => sysConfig('redirect_url'),
 			'secret'          => $node->auth->secret,
 			'key'             => $nodeDv? $nodeDv->key : '',
 			'pem'             => $nodeDv? $nodeDv->pem : '',
-			'v2_license'      => Helpers::systemConfig()['v2ray_license'],
+			'v2_license'      => sysConfig('v2ray_license'),
 			'v2_alter_id'     => $node->v2_alter_id,
 			'v2_port'         => $node->v2_port,
 			'v2_method'       => $node->v2_method,
@@ -34,7 +33,7 @@ class V2RayController extends BaseController {
 			'v2_host'         => $node->v2_host,
 			'v2_path'         => $node->v2_path,
 			'v2_tls'          => $node->v2_tls? true : false,
-			'v2_tls_provider' => $node->tls_provider?: Helpers::systemConfig()['v2ray_tls_provider'],
+			'v2_tls_provider' => $node->tls_provider?: sysConfig('v2ray_tls_provider'),
 		]);
 	}
 

+ 1 - 2
app/Http/Controllers/Api/WebApi/VNetController.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Controllers\Api\WebApi;
 
-use App\Components\Helpers;
 use App\Models\Node;
 use App\Models\User;
 use Illuminate\Http\JsonResponse;
@@ -26,7 +25,7 @@ class VNetController extends BaseController {
 			'passwd'       => $node->passwd?: '',
 			'push_port'    => $node->push_port,
 			'secret'       => $node->auth->secret,
-			'redirect_url' => Helpers::systemConfig()['redirect_url']
+			'redirect_url' => sysConfig('redirect_url')
 		]);
 	}
 

+ 39 - 39
app/Http/Controllers/AuthController.php

@@ -37,10 +37,10 @@ use Validator;
  * @package App\Http\Controllers
  */
 class AuthController extends Controller {
-	protected static $systemConfig;
+	protected static $sysConfig;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	// 登录
@@ -84,10 +84,10 @@ class AuthController extends Controller {
 					Auth::logout(); // 强制销毁会话,因为Auth::attempt的时候会产生会话
 
 					return Redirect::back()->withInput()->withErrors(trans('auth.login_ban',
-						['email' => self::$systemConfig['webmaster_email']]));
+						['email' => self::$sysConfig['webmaster_email']]));
 				}
 
-				if($user->status == 0 && self::$systemConfig['is_activate_account']){
+				if($user->status == 0 && self::$sysConfig['is_activate_account']){
 					Auth::logout(); // 强制销毁会话,因为Auth::attempt的时候会产生会话
 
 					return Redirect::back()
@@ -123,7 +123,7 @@ class AuthController extends Controller {
 
 	// 校验验证码
 	private function check_captcha($request) {
-		switch(self::$systemConfig['is_captcha']){
+		switch(self::$sysConfig['is_captcha']){
 			case 1: // 默认图形验证码
 				if(!Captcha::check($request->input('captcha'))){
 					return Redirect::back()->withInput()->withErrors(trans('auth.captcha_error'));
@@ -263,12 +263,12 @@ class AuthController extends Controller {
 			Session::forget('register_token');
 
 			// 是否开启注册
-			if(!self::$systemConfig['is_register']){
+			if(!self::$sysConfig['is_register']){
 				return Redirect::back()->withErrors(trans('auth.register_close'));
 			}
 
 			// 校验域名邮箱黑白名单
-			if(self::$systemConfig['is_email_filtering']){
+			if(self::$sysConfig['is_email_filtering']){
 				$result = $this->emailChecker($email, 1);
 				if($result !== false){
 					return $result;
@@ -276,9 +276,9 @@ class AuthController extends Controller {
 			}
 
 			// 如果需要邀请注册
-			if(self::$systemConfig['is_invite_register']){
+			if(self::$sysConfig['is_invite_register']){
 				// 必须使用邀请码
-				if(self::$systemConfig['is_invite_register'] == 2 && !$code){
+				if(self::$sysConfig['is_invite_register'] == 2 && !$code){
 					return Redirect::back()->withInput()->withErrors(trans('auth.code_null'));
 				}
 
@@ -294,7 +294,7 @@ class AuthController extends Controller {
 			}
 
 			// 注册前发送激活码
-			if(self::$systemConfig['is_activate_account'] == 1){
+			if(self::$sysConfig['is_activate_account'] == 1){
 				if(!$verify_code){
 					return Redirect::back()
 					               ->withInput($request->except(['verify_code']))
@@ -323,9 +323,9 @@ class AuthController extends Controller {
 			}
 
 			// 24小时内同IP注册限制
-			if(self::$systemConfig['register_ip_limit'] && Cache::has($cacheKey)){
+			if(self::$sysConfig['register_ip_limit'] && Cache::has($cacheKey)){
 				$registerTimes = Cache::get($cacheKey);
-				if($registerTimes >= self::$systemConfig['register_ip_limit']){
+				if($registerTimes >= self::$sysConfig['register_ip_limit']){
 					return Redirect::back()
 					               ->withInput($request->except(['code']))
 					               ->withErrors(trans('auth.register_anti'));
@@ -333,8 +333,8 @@ class AuthController extends Controller {
 			}
 
 			// 获取可用端口
-			$port = self::$systemConfig['is_rand_port']? Helpers::getRandPort() : Helpers::getOnlyPort();
-			if($port > self::$systemConfig['max_port']){
+			$port = self::$sysConfig['is_rand_port']? Helpers::getRandPort() : Helpers::getOnlyPort();
+			if($port > self::$sysConfig['max_port']){
 				return Redirect::back()->withInput()->withErrors(trans('auth.register_close'));
 			}
 
@@ -342,11 +342,11 @@ class AuthController extends Controller {
 			$affArr = $this->getAff($code, $aff);
 			$referral_uid = $affArr['referral_uid'];
 
-			$transfer_enable = MB * (self::$systemConfig['default_traffic'] + ($referral_uid? self::$systemConfig['referral_traffic'] : 0));
+			$transfer_enable = MB * (self::$sysConfig['default_traffic'] + ($referral_uid? self::$sysConfig['referral_traffic'] : 0));
 
 			// 创建新用户
 			$uid = Helpers::addUser($email, Hash::make($password), $transfer_enable,
-				self::$systemConfig['default_days'], $referral_uid);
+				self::$sysConfig['default_days'], $referral_uid);
 
 			// 注册失败,抛出异常
 			if(!$uid){
@@ -370,7 +370,7 @@ class AuthController extends Controller {
 			}
 
 			// 更新邀请码
-			if(self::$systemConfig['is_invite_register'] && $affArr['code_id']){
+			if(self::$sysConfig['is_invite_register'] && $affArr['code_id']){
 				Invite::query()->whereId($affArr['code_id'])->update(['fuid' => $uid, 'status' => 1]);
 			}
 
@@ -378,10 +378,10 @@ class AuthController extends Controller {
 			Cookie::unqueue('register_aff');
 
 			// 注册后发送激活码
-			if(self::$systemConfig['is_activate_account'] == 2){
+			if(self::$sysConfig['is_activate_account'] == 2){
 				// 生成激活账号的地址
 				$token = $this->addVerifyUrl($uid, $email);
-				$activeUserUrl = self::$systemConfig['website_url'].'/active/'.$token;
+				$activeUserUrl = self::$sysConfig['website_url'].'/active/'.$token;
 
 				$logId = Helpers::addNotificationLog('注册激活', '请求地址:'.$activeUserUrl, 1, $email);
 				Mail::to($email)->send(new activeUser($logId, $activeUserUrl));
@@ -394,11 +394,11 @@ class AuthController extends Controller {
 					if($referralUser && $referralUser->expire_time >= date('Y-m-d')){
 						User::query()
 						    ->whereId($referral_uid)
-						    ->increment('transfer_enable', self::$systemConfig['referral_traffic'] * MB);
+						    ->increment('transfer_enable', self::$sysConfig['referral_traffic'] * MB);
 					}
 				}
 
-				if(self::$systemConfig['is_activate_account'] == 1){
+				if(self::$sysConfig['is_activate_account'] == 1){
 					User::query()->whereId($uid)->update(['status' => 1]);
 				}
 
@@ -408,7 +408,7 @@ class AuthController extends Controller {
 			return Redirect::to('login')->withInput();
 		}
 
-		$view['emailList'] = self::$systemConfig['is_email_filtering'] != 2? false : EmailFilter::query()
+		$view['emailList'] = self::$sysConfig['is_email_filtering'] != 2? false : EmailFilter::query()
 		                                                                                        ->whereType(2)
 		                                                                                        ->get();
 		Session::put('register_token', makeRandStr(16));
@@ -418,9 +418,9 @@ class AuthController extends Controller {
 
 	//邮箱检查
 	private function emailChecker($email, $returnType = 0) {
-		$emailFilterList = $this->emailFilterList(self::$systemConfig['is_email_filtering']);
+		$emailFilterList = $this->emailFilterList(self::$sysConfig['is_email_filtering']);
 		$emailSuffix = explode('@', $email); // 提取邮箱后缀
-		switch(self::$systemConfig['is_email_filtering']){
+		switch(self::$sysConfig['is_email_filtering']){
 			// 黑名单
 			case 1:
 				if(in_array(strtolower($emailSuffix[1]), $emailFilterList, true)){
@@ -494,7 +494,7 @@ class AuthController extends Controller {
 
 	// 生成申请的请求地址
 	private function addVerifyUrl($uid, $email) {
-		$token = md5(self::$systemConfig['website_name'].$email.microtime());
+		$token = md5(self::$sysConfig['website_name'].$email.microtime());
 		$verify = new Verify();
 		$verify->type = 1;
 		$verify->user_id = $uid;
@@ -523,9 +523,9 @@ class AuthController extends Controller {
 			$email = $request->input('email');
 
 			// 是否开启重设密码
-			if(!self::$systemConfig['is_reset_password']){
+			if(!self::$sysConfig['is_reset_password']){
 				return Redirect::back()->withErrors(trans('auth.reset_password_close',
-					['email' => self::$systemConfig['webmaster_email']]));
+					['email' => self::$sysConfig['webmaster_email']]));
 			}
 
 			// 查找账号
@@ -538,9 +538,9 @@ class AuthController extends Controller {
 			$resetTimes = 0;
 			if(Cache::has('resetPassword_'.md5($email))){
 				$resetTimes = Cache::get('resetPassword_'.md5($email));
-				if($resetTimes >= self::$systemConfig['reset_password_times']){
+				if($resetTimes >= self::$sysConfig['reset_password_times']){
 					return Redirect::back()->withErrors(trans('auth.reset_password_limit',
-						['time' => self::$systemConfig['reset_password_times']]));
+						['time' => self::$sysConfig['reset_password_times']]));
 				}
 			}
 
@@ -548,7 +548,7 @@ class AuthController extends Controller {
 			$token = $this->addVerifyUrl($user->id, $email);
 
 			// 发送邮件
-			$resetPasswordUrl = self::$systemConfig['website_url'].'/reset/'.$token;
+			$resetPasswordUrl = self::$sysConfig['website_url'].'/reset/'.$token;
 
 			$logId = Helpers::addNotificationLog('重置密码', '请求地址:'.$resetPasswordUrl, 1, $email);
 			Mail::to($email)->send(new resetPassword($logId, $resetPasswordUrl));
@@ -650,16 +650,16 @@ class AuthController extends Controller {
 			$email = $request->input('email');
 
 			// 是否开启账号激活
-			if(self::$systemConfig['is_activate_account'] != 2){
+			if(self::$sysConfig['is_activate_account'] != 2){
 				return Redirect::back()->withInput()->withErrors(trans('auth.active_close',
-					['email' => self::$systemConfig['webmaster_email']]));
+					['email' => self::$sysConfig['webmaster_email']]));
 			}
 
 			// 查找账号
 			$user = User::query()->whereEmail($email)->firstOrFail();
 			if($user->status < 0){
 				return Redirect::back()->withErrors(trans('auth.login_ban',
-					['email' => self::$systemConfig['webmaster_email']]));
+					['email' => self::$sysConfig['webmaster_email']]));
 			}
 
 			if($user->status > 0){
@@ -670,9 +670,9 @@ class AuthController extends Controller {
 			$activeTimes = 0;
 			if(Cache::has('activeUser_'.md5($email))){
 				$activeTimes = Cache::get('activeUser_'.md5($email));
-				if($activeTimes >= self::$systemConfig['active_times']){
+				if($activeTimes >= self::$sysConfig['active_times']){
 					return Redirect::back()->withErrors(trans('auth.active_limit',
-						['time' => self::$systemConfig['webmaster_email']]));
+						['time' => self::$sysConfig['webmaster_email']]));
 				}
 			}
 
@@ -680,7 +680,7 @@ class AuthController extends Controller {
 			$token = $this->addVerifyUrl($user->id, $email);
 
 			// 发送邮件
-			$activeUserUrl = self::$systemConfig['website_url'].'/active/'.$token;
+			$activeUserUrl = self::$sysConfig['website_url'].'/active/'.$token;
 
 			$logId = Helpers::addNotificationLog('激活账号', '请求地址:'.$activeUserUrl, 1, $email);
 			Mail::to($email)->send(new activeUser($logId, $activeUserUrl));
@@ -746,7 +746,7 @@ class AuthController extends Controller {
 
 		// 账号激活后给邀请人送流量
 		if($verify->user->referral_uid){
-			$transfer_enable = self::$systemConfig['referral_traffic'] * MB;
+			$transfer_enable = self::$sysConfig['referral_traffic'] * MB;
 
 			User::query()
 			    ->whereId($verify->user->referral_uid)
@@ -775,7 +775,7 @@ class AuthController extends Controller {
 		}
 
 		// 校验域名邮箱黑白名单
-		if(self::$systemConfig['is_email_filtering']){
+		if(self::$sysConfig['is_email_filtering']){
 			$result = $this->emailChecker($email);
 			if($result !== false){
 				return $result;
@@ -783,7 +783,7 @@ class AuthController extends Controller {
 		}
 
 		// 是否开启注册发送验证码
-		if(self::$systemConfig['is_activate_account'] != 1){
+		if(self::$sysConfig['is_activate_account'] != 1){
 			return Response::json(['status' => 'fail', 'message' => trans('auth.captcha_close')]);
 		}
 

+ 6 - 6
app/Http/Controllers/Gateway/AbstractPayment.php

@@ -14,10 +14,10 @@ use Illuminate\Http\Request;
 use Log;
 
 abstract class AbstractPayment {
-	protected static $systemConfig;
+	protected static $sysConfig;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	abstract public function purchase(Request $request): JsonResponse;
@@ -114,18 +114,18 @@ abstract class AbstractPayment {
 				}
 
 				// 是否返利
-				if(self::$systemConfig['referral_type'] && $order->user->referral_uid){
+				if($order->user->referral_uid && self::$sysConfig['referral_type']){
 					//获取历史返利记录
 					$referral = ReferralLog::whereUserId($order->user_id)->get();
 					// 无记录 / 首次返利
-					if(!$referral && self::$systemConfig['is_invite_register']){
+					if(!$referral && self::$sysConfig['is_invite_register']){
 						// 邀请注册功能开启时,返还邀请者邀请名额
 						User::query()->whereId($order->user->referral_uid)->increment('invite_num', 1);
 					}
 					//按照返利模式进行返利判断
-					if(self::$systemConfig['referral_type'] == 2 || (self::$systemConfig['referral_type'] == 1 && !$referral)){
+					if(self::$sysConfig['referral_type'] == 2 || (self::$sysConfig['referral_type'] == 1 && !$referral)){
 						$this->addReferralLog($order->user_id, $order->user->referral_uid, $order->oid, $order->amount,
-							$order->amount * self::$systemConfig['referral_percent']);
+							$order->amount * self::$sysConfig['referral_percent']);
 					}
 				}
 

+ 7 - 7
app/Http/Controllers/Gateway/BitpayX.php

@@ -18,10 +18,10 @@ class BitpayX extends AbstractPayment {
 			'price_amount'      => $payment->amount,
 			'price_currency'    => 'CNY',
 			'title'             => '支付单号:'.$payment->trade_no,
-			'description'       => self::$systemConfig['subject_name']?: self::$systemConfig['website_name'],
-			'callback_url'      => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=bitpayx',
-			'success_url'       => self::$systemConfig['website_url'].'/invoices',
-			'cancel_url'        => self::$systemConfig['website_url'].'/invoices',
+			'description'       => self::$sysConfig['subject_name']?: self::$sysConfig['website_name'],
+			'callback_url'      => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=bitpayx',
+			'success_url'       => self::$sysConfig['website_url'].'/invoices',
+			'cancel_url'        => self::$sysConfig['website_url'].'/invoices',
 			'token'             => $this->sign($payment->trade_no),
 		];
 		$result = $this->sendRequest($data);
@@ -40,11 +40,11 @@ class BitpayX extends AbstractPayment {
 	private function sign($tradeNo): string {
 		$data = [
 			'merchant_order_id' => $tradeNo,
-			'secret'            => self::$systemConfig['bitpay_secret'],
+			'secret'            => self::$sysConfig['bitpay_secret'],
 			'type'              => 'FIAT'
 		];
 
-		return $this->aliStyleSign($data, self::$systemConfig['bitpay_secret']);
+		return $this->aliStyleSign($data, self::$sysConfig['bitpay_secret']);
 	}
 
 	private function sendRequest($data, $type = 'createOrder') {
@@ -52,7 +52,7 @@ class BitpayX extends AbstractPayment {
 			'base_uri' => 'https://api.mugglepay.com/v1/',
 			'timeout'  => 15,
 			'headers'  => [
-				'token'        => self::$systemConfig['bitpay_secret'],
+				'token'        => self::$sysConfig['bitpay_secret'],
 				'content-type' => 'application/json'
 			]
 		]);

+ 6 - 6
app/Http/Controllers/Gateway/CodePay.php

@@ -12,18 +12,18 @@ class CodePay extends AbstractPayment {
 		$payment = $this->creatNewPayment(Auth::id(), $request->input('oid'), $request->input('amount'));
 
 		$data = [
-			'id'         => self::$systemConfig['codepay_id'],
+			'id'         => self::$sysConfig['codepay_id'],
 			'pay_id'     => $payment->trade_no,
 			'type'       => $request->input('type'),            //1支付宝支付 2QQ钱包 3微信支付
 			'price'      => $payment->amount,
 			'page'       => 1,
 			'outTime'    => 900,
-			'notify_url' => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=codepay',
-			'return_url' => self::$systemConfig['website_url'].'/invoices',
+			'notify_url' => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=codepay',
+			'return_url' => self::$sysConfig['website_url'].'/invoices',
 		];
-		$data['sign'] = $this->aliStyleSign($data, self::$systemConfig['codepay_key']);
+		$data['sign'] = $this->aliStyleSign($data, self::$sysConfig['codepay_key']);
 
-		$url = self::$systemConfig['codepay_url'].http_build_query($data);
+		$url = self::$sysConfig['codepay_url'].http_build_query($data);
 		Payment::whereId($payment->id)->update(['url' => $url]);
 
 		return Response::json(['status' => 'success', 'url' => $url, 'message' => '创建订单成功!']);
@@ -32,7 +32,7 @@ class CodePay extends AbstractPayment {
 	public function notify($request): void {
 		$trade_no = $request->input('pay_id');
 		if($trade_no && $request->input('pay_no')
-		   && $this->verify($request->except('method'), self::$systemConfig['codepay_key'], $request->input('sign'),
+		   && $this->verify($request->except('method'), self::$sysConfig['codepay_key'], $request->input('sign'),
 				false)){
 			$this->postPayment($trade_no, '码支付');
 			exit('success');

+ 10 - 10
app/Http/Controllers/Gateway/EPay.php

@@ -27,18 +27,18 @@ class EPay extends AbstractPayment {
 		}
 
 		$data = [
-			'pid'          => self::$systemConfig['epay_mch_id'],
+			'pid'          => self::$sysConfig['epay_mch_id'],
 			'type'         => $type,
-			'notify_url'   => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=epay',
-			'return_url'   => self::$systemConfig['website_url'].'/invoices',
+			'notify_url'   => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=epay',
+			'return_url'   => self::$sysConfig['website_url'].'/invoices',
 			'out_trade_no' => $payment->trade_no,
-			'name'         => self::$systemConfig['subject_name']?: self::$systemConfig['website_name'],
+			'name'         => self::$sysConfig['subject_name']?: self::$sysConfig['website_name'],
 			'money'        => $payment->amount,
 			'sign_type'    => 'MD5'
 		];
-		$data['sign'] = $this->aliStyleSign($data, self::$systemConfig['epay_key']);
+		$data['sign'] = $this->aliStyleSign($data, self::$sysConfig['epay_key']);
 
-		$url = self::$systemConfig['epay_url'].'submit.php?'.http_build_query($data);
+		$url = self::$sysConfig['epay_url'].'submit.php?'.http_build_query($data);
 		Payment::whereId($payment->id)->update(['url' => $url]);
 
 		return Response::json(['status' => 'success', 'url' => $url, 'message' => '创建订单成功!']);
@@ -46,7 +46,7 @@ class EPay extends AbstractPayment {
 
 	public function notify(Request $request): void {
 		if($request->input('trade_status') === 'TRADE_SUCCESS'
-		   && $this->verify($request->except('method'), self::$systemConfig['epay_key'], $request->input('sign'))){
+		   && $this->verify($request->except('method'), self::$sysConfig['epay_key'], $request->input('sign'))){
 			$this->postPayment($request->input('out_trade_no'), 'EPay');
 			exit('SUCCESS');
 		}
@@ -54,11 +54,11 @@ class EPay extends AbstractPayment {
 	}
 
 	public function queryInfo(): JsonResponse {
-		$request = (new Client())->get(self::$systemConfig['epay_url'].'api.php', [
+		$request = (new Client())->get(self::$sysConfig['epay_url'].'api.php', [
 			'query' => [
 				'act' => 'query',
-				'pid' => self::$systemConfig['epay_mch_id'],
-				'key' => self::$systemConfig['epay_key']
+				'pid' => self::$sysConfig['epay_mch_id'],
+				'key' => self::$sysConfig['epay_key']
 			]
 		]);
 		if($request->getStatusCode() == 200){

+ 6 - 6
app/Http/Controllers/Gateway/F2Fpay.php

@@ -19,13 +19,13 @@ class F2Fpay extends AbstractPayment {
 		parent::__construct();
 		self::$aliConfig = [
 			'use_sandbox'     => false,
-			'app_id'          => self::$systemConfig['f2fpay_app_id'],
+			'app_id'          => self::$sysConfig['f2fpay_app_id'],
 			'sign_type'       => 'RSA2',
-			'ali_public_key'  => self::$systemConfig['f2fpay_public_key'],
-			'rsa_private_key' => self::$systemConfig['f2fpay_private_key'],
+			'ali_public_key'  => self::$sysConfig['f2fpay_public_key'],
+			'rsa_private_key' => self::$sysConfig['f2fpay_private_key'],
 			'limit_pay'       => [],
-			'notify_url'      => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=f2fpay',
-			'return_url'      => self::$systemConfig['website_url'].'/invoices',
+			'notify_url'      => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=f2fpay',
+			'return_url'      => self::$sysConfig['website_url'].'/invoices',
 			'fee_type'        => 'CNY',
 		];
 	}
@@ -35,7 +35,7 @@ class F2Fpay extends AbstractPayment {
 
 		$data = [
 			'body'        => '',
-			'subject'     => self::$systemConfig['subject_name']?: self::$systemConfig['website_name'],
+			'subject'     => self::$sysConfig['subject_name']?: self::$sysConfig['website_name'],
 			'trade_no'    => $payment->trade_no,
 			'time_expire' => time() + 900, // 必须 15分钟 内付款
 			'amount'      => $payment->amount,

+ 4 - 4
app/Http/Controllers/Gateway/PayJs.php

@@ -14,8 +14,8 @@ class PayJs extends AbstractPayment {
 	public function __construct() {
 		parent::__construct();
 		self::$config = [
-			'mchid' => self::$systemConfig['payjs_mch_id'],   // 配置商户号
-			'key'   => self::$systemConfig['payjs_key'],   // 配置通信密钥
+			'mchid' => self::$sysConfig['payjs_mch_id'],   // 配置商户号
+			'key'   => self::$sysConfig['payjs_key'],   // 配置通信密钥
 		];
 	}
 
@@ -23,10 +23,10 @@ class PayJs extends AbstractPayment {
 		$payment = $this->creatNewPayment(Auth::id(), $request->input('oid'), $request->input('amount'));
 
 		$result = (new Pay($this::$config))->cashier([
-			'body'         => self::$systemConfig['subject_name']?: self::$systemConfig['website_name'],
+			'body'         => self::$sysConfig['subject_name']?: self::$sysConfig['website_name'],
 			'total_fee'    => $payment->amount * 100,
 			'out_trade_no' => $payment->trade_no,
-			'notify_url'   => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=payjs',
+			'notify_url'   => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=payjs',
 		]);
 
 		// 获取收款二维码内容

+ 10 - 10
app/Http/Controllers/Gateway/PayPal.php

@@ -24,17 +24,17 @@ class PayPal extends AbstractPayment {
 		$config = [
 			'mode' => 'live',
 			'live' => [
-				'username'    => self::$systemConfig['paypal_username'],
-				'password'    => self::$systemConfig['paypal_password'],
-				'secret'      => self::$systemConfig['paypal_secret'],
-				'certificate' => self::$systemConfig['paypal_certificate'],
-				'app_id'      => self::$systemConfig['paypal_app_id'],
+				'username'    => self::$sysConfig['paypal_username'],
+				'password'    => self::$sysConfig['paypal_password'],
+				'secret'      => self::$sysConfig['paypal_secret'],
+				'certificate' => self::$sysConfig['paypal_certificate'],
+				'app_id'      => self::$sysConfig['paypal_app_id'],
 			],
 
 			'payment_action' => 'Sale',
 			'currency'       => 'USD',
 			'billing_type'   => 'MerchantInitiatedBilling',
-			'notify_url'     => (self::$systemConfig['website_callback_url']?: self::$systemConfig['website_url']).'/callback/notify?method=paypal',
+			'notify_url'     => (self::$sysConfig['website_callback_url']?: self::$sysConfig['website_url']).'/callback/notify?method=paypal',
 			'locale'         => 'zh_CN',
 			'validate_ssl'   => true,
 		];
@@ -77,15 +77,15 @@ class PayPal extends AbstractPayment {
 			'invoice_id'          => $trade_no,
 			'items'               => [
 				[
-					'name'  => self::$systemConfig['subject_name']?: self::$systemConfig['website_name'],
+					'name'  => self::$sysConfig['subject_name']?: self::$sysConfig['website_name'],
 					'price' => $amount,
-					'desc'  => 'Description for'.(self::$systemConfig['subject_name']?: self::$systemConfig['website_name']),
+					'desc'  => 'Description for'.(self::$sysConfig['subject_name']?: self::$sysConfig['website_name']),
 					'qty'   => 1
 				]
 			],
 			'invoice_description' => $trade_no,
-			'return_url'          => self::$systemConfig['website_url'].'/callback/checkout',
-			'cancel_url'          => self::$systemConfig['website_url'].'/invoices',
+			'return_url'          => self::$sysConfig['website_url'].'/callback/checkout',
+			'cancel_url'          => self::$sysConfig['website_url'].'/invoices',
 			'total'               => $amount,
 		];
 	}

+ 1 - 1
app/Http/Controllers/PaymentController.php

@@ -115,7 +115,7 @@ class PaymentController extends Controller {
 			//非余额付款下,检查对应的在线支付是否开启
 			if(self::$method !== 'credit'){
 				// 判断是否开启在线支付
-				if(!Helpers::systemConfig()['is_onlinePay']){
+				if(!sysConfig('is_onlinePay')){
 					return Response::json(['status' => 'fail', 'message' => '订单创建失败:系统并未开启在线支付功能']);
 				}
 

+ 8 - 8
app/Http/Controllers/User/AffiliateController.php

@@ -13,10 +13,10 @@ use Illuminate\Http\JsonResponse;
 use Response;
 
 class AffiliateController extends Controller {
-	protected static $systemConfig;
+	protected static $sysConfig;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	// 推广返利
@@ -25,12 +25,12 @@ class AffiliateController extends Controller {
 			return Response::view('auth.error',
 				['message' => '本功能对非付费用户禁用!请 <a class="btn btn-sm btn-danger" href="/">返 回</a>']);
 		}
-		$view['referral_traffic'] = flowAutoShow(self::$systemConfig['referral_traffic'] * MB);
-		$view['referral_percent'] = self::$systemConfig['referral_percent'];
-		$view['referral_money'] = self::$systemConfig['referral_money'];
+		$view['referral_traffic'] = flowAutoShow(self::$sysConfig['referral_traffic'] * MB);
+		$view['referral_percent'] = self::$sysConfig['referral_percent'];
+		$view['referral_money'] = self::$sysConfig['referral_money'];
 		$view['totalAmount'] = ReferralLog::uid()->sum('ref_amount') / 100;
 		$view['canAmount'] = ReferralLog::uid()->whereStatus(0)->sum('ref_amount') / 100;
-		$view['link'] = self::$systemConfig['website_url'].'/register?aff='.Auth::id();
+		$view['link'] = self::$sysConfig['website_url'].'/register?aff='.Auth::id();
 		$view['referralLogList'] = ReferralLog::uid()->with('user')->latest()->paginate(10, ['*'], 'log_page');
 		$view['referralApplyList'] = ReferralApply::uid()->with('user')->latest()->paginate(10, ['*'], 'apply_page');
 		$view['referralUserList'] = User::query()
@@ -58,10 +58,10 @@ class AffiliateController extends Controller {
 		// 校验可以提现金额是否超过系统设置的阀值
 		$ref_amount = ReferralLog::uid()->whereStatus(0)->sum('ref_amount');
 		$ref_amount /= 100;
-		if($ref_amount < self::$systemConfig['referral_money']){
+		if($ref_amount < self::$sysConfig['referral_money']){
 			return Response::json([
 				'status'  => 'fail',
-				'message' => '申请失败:满'.self::$systemConfig['referral_money'].'元才可以提现,继续努力吧'
+				'message' => '申请失败:满'.self::$sysConfig['referral_money'].'元才可以提现,继续努力吧'
 			]);
 		}
 

+ 7 - 7
app/Http/Controllers/User/SubscribeController.php

@@ -14,11 +14,11 @@ use Redirect;
 use Response;
 
 class SubscribeController extends Controller {
-	protected static $systemConfig;
+	protected static $sysConfig;
 	private $subType;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	// 通过订阅码获取订阅信息
@@ -90,21 +90,21 @@ class SubscribeController extends Controller {
 		}
 
 		// 打乱数组
-		if(self::$systemConfig['rand_subscribe']){
+		if(self::$sysConfig['rand_subscribe']){
 			$nodeList = Arr::shuffle($nodeList);
 		}
 
 		$scheme = null;
 
 		// 展示到期时间和剩余流量
-		if(self::$systemConfig['is_custom_subscribe']){
+		if(self::$sysConfig['is_custom_subscribe']){
 			$scheme .= $this->infoGenerator('到期时间: '.($user->expire_time < date('Y-m-d')? '过期' : $user->expire_time)).$this->infoGenerator('剩余流量: '.flowAutoShow($user->transfer_enable - $user->u - $user->d));
 		}
 
 		// 控制客户端最多获取节点数
 		foreach($nodeList as $key => $node){
 			// 控制显示的节点数
-			if(self::$systemConfig['subscribe_max'] && $key >= self::$systemConfig['subscribe_max']){
+			if(self::$sysConfig['subscribe_max'] && $key >= self::$sysConfig['subscribe_max']){
 				break;
 			}
 
@@ -118,7 +118,7 @@ class SubscribeController extends Controller {
 		];
 
 		// 适配Quantumult的自定义订阅头
-		if(self::$systemConfig['is_custom_subscribe']){
+		if(self::$sysConfig['is_custom_subscribe']){
 			$headers['Subscription-Userinfo'] = 'upload='.$user->u.'; download='.$user->d.'; total='.$user->transfer_enable.'; expire='.strtotime($user->expire_time);
 		}
 
@@ -149,7 +149,7 @@ class SubscribeController extends Controller {
 				break;
 			case 1:
 			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::$systemConfig['website_name']).'&udpport=0&uot=0');
+				$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;
 
 		}

+ 21 - 21
app/Http/Controllers/UserController.php

@@ -44,10 +44,10 @@ use Validator;
  * @package App\Http\Controllers
  */
 class UserController extends Controller {
-	protected static $systemConfig;
+	protected static $sysConfig;
 
 	public function __construct() {
-		self::$systemConfig = Helpers::systemConfig();
+		self::$sysConfig = Helpers::sysConfig();
 	}
 
 	public function index(): \Illuminate\Http\Response {
@@ -68,7 +68,7 @@ class UserController extends Controller {
 		                                   ->userHourly($user->id)
 		                                   ->where('created_at', '>=', date('Y-m-d H:i:s', time() - Minute * 65))
 		                                   ->sum('total');
-		$view['isTrafficWarning'] = $hourlyTraffic >= (self::$systemConfig['traffic_ban_value'] * GB)?: 0;
+		$view['isTrafficWarning'] = $hourlyTraffic >= (self::$sysConfig['traffic_ban_value'] * GB)?: 0;
 		//付费用户判断
 		$view['not_paying_user'] = Order::uid()
 		                                ->whereStatus(2)
@@ -85,7 +85,7 @@ class UserController extends Controller {
 	public function checkIn(): JsonResponse {
 		$user = Auth::getUser();
 		// 系统开启登录加积分功能才可以签到
-		if(!self::$systemConfig['is_checkin']){
+		if(!self::$sysConfig['is_checkin']){
 			return Response::json(['status' => 'fail', 'message' => '系统未开启签到功能']);
 		}
 
@@ -94,8 +94,8 @@ class UserController extends Controller {
 			return Response::json(['status' => 'fail', 'message' => '已经签到过了,明天再来吧']);
 		}
 
-		$traffic = random_int((int) self::$systemConfig['min_rand_traffic'],
-				(int) self::$systemConfig['max_rand_traffic']) * MB;
+		$traffic = random_int((int) self::$sysConfig['min_rand_traffic'],
+				(int) self::$sysConfig['max_rand_traffic']) * MB;
 		$ret = User::uid()->increment('transfer_enable', $traffic);
 		if(!$ret){
 			return Response::json(['status' => 'fail', 'message' => '签到失败,系统异常']);
@@ -106,7 +106,7 @@ class UserController extends Controller {
 			'[签到]');
 
 		// 多久后可以再签到
-		$ttl = self::$systemConfig['traffic_limit_time']? self::$systemConfig['traffic_limit_time'] * Minute : Day;
+		$ttl = self::$sysConfig['traffic_limit_time']? self::$sysConfig['traffic_limit_time'] * Minute : Day;
 		Cache::put('userCheckIn_'.$user->id, '1', $ttl);
 
 		return Response::json(['status' => 'success', 'message' => '签到成功,系统送您 '.flowAutoShow($traffic).'流量']);
@@ -354,9 +354,9 @@ class UserController extends Controller {
 			$content = "标题:【".$title."】<br>用户:".$user->email."<br>内容:".$content;
 
 			// 发邮件通知管理员
-			if(self::$systemConfig['webmaster_email']){
-				$logId = Helpers::addNotificationLog($emailTitle, $content, 1, self::$systemConfig['webmaster_email']);
-				Mail::to(self::$systemConfig['webmaster_email'])->send(new newTicket($logId, $emailTitle, $content));
+			if(self::$sysConfig['webmaster_email']){
+				$logId = Helpers::addNotificationLog($emailTitle, $content, 1, self::$sysConfig['webmaster_email']);
+				Mail::to(self::$sysConfig['webmaster_email'])->send(new newTicket($logId, $emailTitle, $content));
 			}
 
 			PushNotification::send($emailTitle, $content);
@@ -401,9 +401,9 @@ class UserController extends Controller {
 				$content = "标题:【".$ticket->title."】<br>用户回复:".$content;
 
 				// 发邮件通知管理员
-				if(self::$systemConfig['webmaster_email']){
-					$logId = Helpers::addNotificationLog($title, $content, 1, self::$systemConfig['webmaster_email']);
-					Mail::to(self::$systemConfig['webmaster_email'])->send(new replyTicket($logId, $title, $content));
+				if(self::$sysConfig['webmaster_email']){
+					$logId = Helpers::addNotificationLog($title, $content, 1, self::$sysConfig['webmaster_email']);
+					Mail::to(self::$sysConfig['webmaster_email'])->send(new replyTicket($logId, $title, $content));
 				}
 
 				PushNotification::send($title, $content);
@@ -443,8 +443,8 @@ class UserController extends Controller {
 
 		$view['num'] = Auth::getUser()->invite_num; // 还可以生成的邀请码数量
 		$view['inviteList'] = Invite::uid()->with(['generator', 'user'])->paginate(10); // 邀请码列表
-		$view['referral_traffic'] = flowAutoShow(self::$systemConfig['referral_traffic'] * MB);
-		$view['referral_percent'] = self::$systemConfig['referral_percent'];
+		$view['referral_traffic'] = flowAutoShow(self::$sysConfig['referral_traffic'] * MB);
+		$view['referral_percent'] = self::$sysConfig['referral_percent'];
 
 		return Response::view('user.invite', $view);
 	}
@@ -461,7 +461,7 @@ class UserController extends Controller {
 		$obj->fuid = 0;
 		$obj->code = strtoupper(mb_substr(md5(microtime().makeRandStr()), 8, 12));
 		$obj->status = 0;
-		$obj->dateline = date('Y-m-d H:i:s', strtotime("+".self::$systemConfig['user_invite_days']." days"));
+		$obj->dateline = date('Y-m-d H:i:s', strtotime("+".self::$sysConfig['user_invite_days']." days"));
 		$obj->save();
 
 		User::uid()->decrement('invite_num', 1);
@@ -563,16 +563,16 @@ class UserController extends Controller {
 		                                ->where('origin_amount', '>', 0)
 		                                ->doesntExist();
 		//客户端安装
-		$view['Shadowrocket_install'] = 'itms-services://?action=download-manifest&url='.self::$systemConfig['website_url'].'/clients/Shadowrocket.plist';
-		$view['Quantumult_install'] = 'itms-services://?action=download-manifest&url='.self::$systemConfig['website_url'].'/clients/Quantumult.plist';
+		$view['Shadowrocket_install'] = 'itms-services://?action=download-manifest&url='.self::$sysConfig['website_url'].'/clients/Shadowrocket.plist';
+		$view['Quantumult_install'] = 'itms-services://?action=download-manifest&url='.self::$sysConfig['website_url'].'/clients/Quantumult.plist';
 		// 订阅连接
 		$subscribe = UserSubscribe::query()->whereUserId(Auth::id())->firstOrFail();
 		$view['subscribe_status'] = $subscribe->status;
-		$subscribe_link = (self::$systemConfig['subscribe_domain']?: self::$systemConfig['website_url']).'/s/'.$subscribe->code;
+		$subscribe_link = (self::$sysConfig['subscribe_domain']?: self::$sysConfig['website_url']).'/s/'.$subscribe->code;
 		$view['link'] = $subscribe_link;
 		$view['subscribe_link'] = 'sub://'.base64url_encode($subscribe_link);
-		$view['Shadowrocket_link'] = 'shadowrocket://add/sub://'.base64url_encode($subscribe_link).'?remarks='.(self::$systemConfig['website_name'].'-'.self::$systemConfig['website_url']);
-		$view['Shadowrocket_linkQrcode'] = 'sub://'.base64url_encode($subscribe_link).'#'.base64url_encode(self::$systemConfig['website_name']);
+		$view['Shadowrocket_link'] = 'shadowrocket://add/sub://'.base64url_encode($subscribe_link).'?remarks='.(self::$sysConfig['website_name'].'-'.self::$sysConfig['website_url']);
+		$view['Shadowrocket_linkQrcode'] = 'sub://'.base64url_encode($subscribe_link).'#'.base64url_encode(self::$sysConfig['website_name']);
 		$view['Quantumult_linkOut'] = 'quantumult://configuration?server='.base64url_encode($subscribe_link).'&filter='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Pro.conf').'&rejection='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Rejection.conf');
 		$view['Quantumult_linkIn'] = 'quantumult://configuration?server='.base64url_encode($subscribe_link).'&filter='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/BacktoCN.conf').'&rejection='.base64url_encode('https://raw.githubusercontent.com/ZBrettonYe/VPN-Rules-Collection/master/Profiles/Quantumult/Rejection.conf');
 

+ 5 - 6
app/Http/Middleware/isForbidden.php

@@ -3,7 +3,6 @@
 namespace App\Http\Middleware;
 
 use Agent;
-use App\Components\Helpers;
 use App\Components\IPIP;
 use App\Components\QQWry;
 use Closure;
@@ -21,15 +20,15 @@ class isForbidden {
 	 */
 	public function handle($request, Closure $next) {
 		// 拒绝机器人访问
-		if(Helpers::systemConfig()['is_forbid_robot'] && Agent::isRobot()){
+		if(sysConfig('is_forbid_robot') && Agent::isRobot()){
 			Log::info("识别到机器人访问(".getClientIp().")");
 
 			return response()->view('auth.error', ['message' => trans('error.ForbiddenRobot')], 404);
 		}
 
 		// 拒绝通过订阅链接域名访问网站,防止网站被探测
-		if(true === strpos(Helpers::systemConfig()['subscribe_domain'], $request->getHost())
-		   && !str_contains(Helpers::systemConfig()['subscribe_domain'], Helpers::systemConfig()['website_url'])){
+		if(true === strpos(sysConfig('subscribe_domain'), $request->getHost())
+		   && !str_contains(sysConfig('subscribe_domain'), sysConfig('website_url'))){
 			Log::info("识别到通过订阅链接访问,强制跳转至百度(".getClientIp().")");
 
 			return redirect('https://www.baidu.com');
@@ -69,7 +68,7 @@ class isForbidden {
 
 		if(!in_array($ipInfo['country'], ['本机地址', '局域网'])){
 			// 拒绝大陆IP访问
-			if(Helpers::systemConfig()['is_forbid_china']){
+			if(sysConfig('is_forbid_china')){
 				if(($isIPv6 && $ipInfo['country'] === 'China')
 				   || ($ipInfo['country'] === '中国'
 				       && !in_array($ipInfo['province'], ['香港', '澳门', '台湾']))){
@@ -80,7 +79,7 @@ class isForbidden {
 			}
 
 			// 拒绝非大陆IP访问
-			if(Helpers::systemConfig()['is_forbid_oversea']){
+			if(sysConfig('is_forbid_oversea')){
 				if(($isIPv6 && $ipInfo['country'] !== 'China') || $ipInfo['country'] !== '中国'
 				   || in_array($ipInfo['province'], ['香港', '澳门', '台湾'])){
 					Log::info('识别到海外IP,拒绝访问:'.$ip.' - '.$ipInfo['country']);

+ 3 - 4
app/Http/Middleware/isMaintenance.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Middleware;
 
-use App\Components\Helpers;
 use Closure;
 use Illuminate\Http\Request;
 
@@ -16,10 +15,10 @@ class isMaintenance {
 	 * @return mixed
 	 */
 	public function handle($request, Closure $next) {
-		if(Helpers::systemConfig()['maintenance_mode']){
+		if(sysConfig('maintenance_mode')){
 			return response()->view('auth.maintenance', [
-				'message' => Helpers::systemConfig()['maintenance_content'],
-				'time'    => Helpers::systemConfig()['maintenance_time']?: '0'
+				'message' => sysConfig('maintenance_content'),
+				'time'    => sysConfig('maintenance_time')?: '0'
 			]);
 		}
 

+ 1 - 2
app/Http/Middleware/isSecurity.php

@@ -2,7 +2,6 @@
 
 namespace App\Http\Middleware;
 
-use App\Components\Helpers;
 use Cache;
 use Closure;
 use Log;
@@ -20,7 +19,7 @@ class isSecurity {
 		$ip = getClientIP();
 		$code = $request->securityCode;
 		$cacheKey = 'SecurityLogin_'.ip2long($ip);
-		$websiteSecurityCode = Helpers::systemConfig()['website_security_code'];
+		$websiteSecurityCode = sysConfig('website_security_code');
 
 		if($websiteSecurityCode && !Cache::has($cacheKey)){
 			if($code != $websiteSecurityCode){

+ 8 - 0
app/helpers.php

@@ -1,5 +1,6 @@
 <?php
 
+use App\Components\Helpers;
 use GuzzleHttp\Client;
 
 define('KB', 1024);
@@ -185,4 +186,11 @@ if(!function_exists('filterEmoji')){
 
 		return $str;
 	}
+}
+
+// 获取系统设置
+if(!function_exists('sysConfig')){
+	function sysConfig($name){
+		return Helpers::sysConfig()[$name];
+	}
 }

+ 1 - 2
config/app.php

@@ -241,8 +241,7 @@ return [
         'Str' => Illuminate\Support\Str::class,
         'URL' => Illuminate\Support\Facades\URL::class,
         'Validator' => Illuminate\Support\Facades\Validator::class,
-        'View' => Illuminate\Support\Facades\View::class,
-
+        'View' => Illuminate\Support\Facades\View::class
     ],
 
 ];

+ 1 - 1
resources/views/admin/inviteList.blade.php

@@ -13,7 +13,7 @@
 						<p class="card-text alert alert-info">
 							<i class="icon wb-warning red-700"></i> {{trans('home.invite_code_tips1')}}
 							<strong>
-								10 </strong> {{trans('home.invite_code_tips2', ['days' => \App\Components\Helpers::systemConfig()['user_invite_days']])}}
+								10 </strong> {{trans('home.invite_code_tips2', ['days' => sysConfig('user_invite_days')])}}
 						</p>
 						<button type="button" class="btn btn-primary btn-animate btn-animate-side"
 								onclick="makeInvite()"><i class="icon wb-plus"></i> {{trans('home.invite_code_button')}}

+ 3 - 3
resources/views/admin/layouts.blade.php

@@ -8,7 +8,7 @@
 <!--<![endif]-->
 <head>
 	<meta charset="utf-8">
-	<title>{{\App\Components\Helpers::systemConfig()['website_name']}}</title>
+	<title>{{sysConfig('website_name')}}</title>
 	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<meta name="description" content="">
@@ -55,8 +55,8 @@
 			<i class="icon wb-more-horizontal" aria-hidden="true"></i>
 		</button>
 		<div class="navbar-brand navbar-brand-center">
-			<img src="{{\App\Components\Helpers::systemConfig()['website_logo']? :'/assets/images/logo64.png'}}" class="navbar-brand-logo" alt="logo"/>
-			<span class="navbar-brand-text hidden-xs-down"> {{\App\Components\Helpers::systemConfig()['website_name']}}</span>
+			<img src="{{sysConfig('website_logo')? :'/assets/images/logo64.png'}}" class="navbar-brand-logo" alt="logo"/>
+			<span class="navbar-brand-text hidden-xs-down"> {{sysConfig('website_name')}}</span>
 		</div>
 	</div>
 	<div class="navbar-container container-fluid">

+ 4 - 4
resources/views/admin/node/authList.blade.php

@@ -90,7 +90,7 @@
 								<div class="text-center red-700 mb-5">VNET-V2Ray</div>
 								(yum install curl 2> /dev/null || apt install curl 2> /dev/null) \<br>
 								&& curl -L -s http://mrw.so/5XKg2o \<br>
-								| WEB_API="{{\App\Components\Helpers::systemConfig()['web_api_url'] ?: \App\Components\Helpers::systemConfig()['website_url']}}" \<br>
+								| WEB_API="{{sysConfig('web_api_url') ?: sysConfig('website_url')}}" \<br>
 								NODE_ID={{$vl->node->id}} \<br>
 								NODE_KEY={{$vl->key}} \<br>
 								bash
@@ -115,7 +115,7 @@
 								<div class="text-center red-700 mb-5">V2Ray-Poseidon</div>
 								(yum install curl 2> /dev/null || apt install curl 2> /dev/null) \<br>
 								&& curl -L -s http://mrw.so/5Qe2UX \<br>
-								| WEB_API="{{\App\Components\Helpers::systemConfig()['web_api_url'] ?: \App\Components\Helpers::systemConfig()['website_url']}}" \<br>
+								| WEB_API="{{sysConfig('web_api_url') ?: sysConfig('website_url')}}" \<br>
 								NODE_ID={{$vl->node->id}} \<br>
 								NODE_KEY={{$vl->key}} \<br>
 								bash
@@ -144,7 +144,7 @@
 									<div class="text-center red-700 mb-5">Trojan-Poseidon</div>
 									(yum install curl 2> /dev/null || apt install curl 2> /dev/null) \<br>
 									&& curl -L -s http://mrw.so/6cMfGy \<br>
-									| WEB_API="{{\App\Components\Helpers::systemConfig()['web_api_url'] ?: \App\Components\Helpers::systemConfig()['website_url']}}" \<br>
+									| WEB_API="{{sysConfig('web_api_url') ?: sysConfig('website_url')}}" \<br>
 									NODE_ID={{$vl->node->id}} \<br>
 									NODE_KEY={{$vl->key}} \<br>
 									NODE_HOST={{$vl->node->server}} \<br>
@@ -172,7 +172,7 @@
 								<div class="text-center red-700 mb-5">VNET</div>
 								(yum install curl 2> /dev/null || apt install curl 2> /dev/null) \<br>
 								&& curl -L -s http://mrw.so/6kit3t \<br>
-								| WEB_API="{{\App\Components\Helpers::systemConfig()['web_api_url'] ?: \App\Components\Helpers::systemConfig()['website_url']}}" \<br>
+								| WEB_API="{{sysConfig('web_api_url') ?: sysConfig('website_url')}}" \<br>
 								NODE_ID={{$vl->node->id}} \<br>
 								NODE_KEY={{$vl->key}} \<br>
 								bash

+ 4 - 4
resources/views/auth/activeUser.blade.php

@@ -14,7 +14,7 @@
 		</div>
 	@endif
 	<form action="/activeUser" method="post">
-		@if(\App\Components\Helpers::systemConfig()['is_activate_account'] == 2)
+		@if(sysConfig('is_activate_account') == 2)
 			<div class="form-title">
 				<span class="form-title">{{trans('auth.active_account')}}</span>
 			</div>
@@ -25,12 +25,12 @@
 			</div>
 		@else
 			<div class="alert alert-danger">
-				<span> {{trans('auth.system_maintenance_tip',['email' => \App\Components\Helpers::systemConfig()['webmaster_email']])}}</span>
+				<span> {{trans('auth.system_maintenance_tip',['email' => sysConfig('webmaster_email')])}}</span>
 			</div>
 		@endif
 		<a href="/login"
-				class="btn btn-danger btn-lg {{\App\Components\Helpers::systemConfig()['is_activate_account']==2? 'float-left':'btn-block'}}">{{trans('auth.back')}}</a>
-		@if(\App\Components\Helpers::systemConfig()['is_activate_account']==2)
+				class="btn btn-danger btn-lg {{sysConfig('is_activate_account')==2? 'float-left':'btn-block'}}">{{trans('auth.back')}}</a>
+		@if(sysConfig('is_activate_account')==2)
 			<button type="submit" class="btn btn-lg btn-primary float-right">{{trans('auth.active')}}</button>
 		@endif
 	</form>

+ 4 - 4
resources/views/auth/free.blade.php

@@ -1,11 +1,11 @@
 @extends('auth.layouts')
-@section('title',\App\Components\Helpers::systemConfig()['website_name'])
+@section('title',sysConfig('website_name'))
 @section('content')
 	<h4 class="caption-subject font-dark bold">{{trans('home.free_invite_codes_title')}}</h4>
 	<div class="table-responsive">
 		<table class="table table-hover text-center">
-			@if(\App\Components\Helpers::systemConfig()['is_invite_register'])
-				@if(\App\Components\Helpers::systemConfig()['is_free_code'])
+			@if(sysConfig('is_invite_register'))
+				@if(sysConfig('is_free_code'))
 					<thead class="thead-default">
 					<tr>
 						<th> {{trans('home.invite_code_table_name')}} </th>
@@ -30,7 +30,7 @@
 			@endif
 		</table>
 	</div>
-	@if(\App\Components\Helpers::systemConfig()['is_invite_register'] && \App\Components\Helpers::systemConfig()['is_free_code'])
+	@if(sysConfig('is_invite_register') && sysConfig('is_free_code'))
 		<div class="mt-20">
 			<a href="/login" class="btn btn-danger btn-lg float-left">{{trans('auth.back')}}</a>
 			<nav class="Page navigation float-right">

+ 4 - 4
resources/views/auth/layouts.blade.php

@@ -73,9 +73,9 @@
 					<div class="panel-title">
 						<div class="brand">
 							<img
-									src="{{\App\Components\Helpers::systemConfig()['website_home_logo']? :'/assets/images/logo64.png'}}"
+									src="{{sysConfig('website_home_logo')? :'/assets/images/logo64.png'}}"
 									class="brand-img" alt="logo"/>
-							<h3 class="brand-text">{{\App\Components\Helpers::systemConfig()['website_name']}}</h3>
+							<h3 class="brand-text">{{sysConfig('website_name')}}</h3>
 						</div>
 					</div>
 					<div class="ribbon ribbon-reverse ribbon-info ribbon-clip">
@@ -146,9 +146,9 @@
 <script src="/assets/global/js/Plugin/jquery-placeholder.js" type="text/javascript"></script>
 <script src="/assets/global/js/Plugin/material.js" type="text/javascript"></script>
 <!-- 统计 -->
-{!! \App\Components\Helpers::systemConfig()['website_analytics'] !!}
+{!! sysConfig('website_analytics') !!}
 <!-- 客服 -->
-{!! \App\Components\Helpers::systemConfig()['website_customer_service'] !!}
+{!! sysConfig('website_customer_service') !!}
 <script type="text/javascript">
 	(function (document, window, $) {
 		'use strict';

+ 3 - 3
resources/views/auth/login.blade.php

@@ -25,7 +25,7 @@
 			<label class="floating-label" for="password">{{trans('auth.password')}}</label>
 			{{csrf_field()}}
 		</div>
-		@switch(\App\Components\Helpers::systemConfig()['is_captcha'])
+		@switch(sysConfig('is_captcha'))
 			@case(1)<!-- Default Captcha -->
 			<div class="form-group form-material floating input-group" data-plugin="formMaterial">
 				<input type="text" class="form-control" name="captcha"/>
@@ -64,7 +64,7 @@
 		<button type="submit"
 				class="btn btn-lg btn-block mt-40 bg-indigo-500 text-white">{{trans('auth.login')}}</button>
 	</form>
-	@if(\App\Components\Helpers::systemConfig()['is_register'])
+	@if(sysConfig('is_register'))
 		<p>{{trans('auth.register_tip')}} <a href="/register"
 					class="btn btn-xs bg-purple-500 text-white">{{trans('auth.register')}} <i
 						class="icon wb-arrow-right" aria-hidden="true"></i></a></p>
@@ -73,7 +73,7 @@
 @section('script')
 	<script type="text/javascript">
 		$('#login-form').submit(function (event) {
-			@switch(\App\Components\Helpers::systemConfig()['is_captcha'])
+			@switch(sysConfig('is_captcha'))
 			@case(3)
 			// 先检查Google reCAPTCHA有没有进行验证
 			if ($('#g-recaptcha-response').val() === '') {

+ 12 - 12
resources/views/auth/register.blade.php

@@ -6,7 +6,7 @@
 @endsection
 @section('content')
 	<form action="/register" method="post" id="register-form">
-		@if(\App\Components\Helpers::systemConfig()['is_register'])
+		@if(sysConfig('is_register'))
 			@if($errors->any())
 				<div class="alert alert-danger">
 					<span>{{$errors->first()}}</span>
@@ -43,7 +43,7 @@
 					<label class="floating-label" for="email">{{trans('auth.email')}}</label>
 				@endif
 			</div>
-			@if(\App\Components\Helpers::systemConfig()['is_activate_account'] == 1)
+			@if(sysConfig('is_activate_account') == 1)
 				<div class="form-group form-material floating" data-plugin="formMaterial">
 					<div class="input-group" data-plugin="inputGroupFile">
 						<input type="text" class="form-control" name="verify_code"
@@ -65,22 +65,22 @@
 				<input type="password" class="form-control" autocomplete="off" name="confirmPassword" required/>
 				<label class="floating-label" for="confirmPassword">{{trans('auth.confirm_password')}}</label>
 			</div>
-			@if(\App\Components\Helpers::systemConfig()['is_invite_register'])
+			@if(sysConfig('is_invite_register'))
 				<div class="form-group form-material floating" data-plugin="formMaterial">
 					<input type="password" class="form-control" name="code"
 							value="{{Request::old('code') ? : Request::get('code')}}"
-							@if(\App\Components\Helpers::systemConfig()['is_invite_register'] == 2) required @endif/>
+							@if(sysConfig('is_invite_register') == 2) required @endif/>
 					<label class="floating-label"
-							for="code">{{trans('auth.code')}}@if(\App\Components\Helpers::systemConfig()['is_invite_register'] == 1)
+							for="code">{{trans('auth.code')}}@if(sysConfig('is_invite_register') == 1)
 							({{trans('auth.optional')}}) @endif</label>
 				</div>
-				@if(\App\Components\Helpers::systemConfig()['is_free_code'])
+				@if(sysConfig('is_free_code'))
 					<p class="hint">
 						<a href="/free" target="_blank">{{trans('auth.get_free_code')}}</a>
 					</p>
 				@endif
 			@endif
-			@switch(\App\Components\Helpers::systemConfig()['is_captcha'])
+			@switch(sysConfig('is_captcha'))
 				@case(1)<!-- Default Captcha -->
 				<div class="form-group form-material floating input-group" data-plugin="formMaterial">
 					<input type="text" class="form-control" name="captcha" required/>
@@ -128,8 +128,8 @@
 			</div>
 		@endif
 		<a href="/login"
-				class="btn btn-danger btn-lg {{\App\Components\Helpers::systemConfig()['is_register']? 'float-left': 'btn-block'}}">{{trans('auth.back')}}</a>
-		@if(\App\Components\Helpers::systemConfig()['is_register'])
+				class="btn btn-danger btn-lg {{sysConfig('is_register')? 'float-left': 'btn-block'}}">{{trans('auth.back')}}</a>
+		@if(sysConfig('is_register'))
 			<button type="submit" class="btn btn-primary btn-lg float-right">{{trans('auth.register')}}</button>
 		@endif
 	</form>
@@ -144,7 +144,7 @@
 							style="position:absolute;">
 						<span aria-hidden="true">×</span>
 					</button>
-					<h4 class="modal-title">{{\App\Components\Helpers::systemConfig()['website_name']}}
+					<h4 class="modal-title">{{sysConfig('website_name')}}
 						- {{trans('auth.tos')}} <small>2019年11月28日10:49</small></h4>
 				</div>
 				<div class="modal-body">
@@ -166,7 +166,7 @@
 							style="position:absolute;">
 						<span aria-hidden="true">×</span>
 					</button>
-					<h4 class="modal-title">{{\App\Components\Helpers::systemConfig()['website_name']}}
+					<h4 class="modal-title">{{sysConfig('website_name')}}
 						- {{trans('auth.aup')}} <small>2019年11月28日10:49</small></h4>
 				</div>
 				<div class="modal-body">
@@ -259,7 +259,7 @@
 			getEmail();
 			@endif
 
-			@switch(\App\Components\Helpers::systemConfig()['is_captcha'])
+			@switch(sysConfig('is_captcha'))
 			@case(3)
 			// 先检查Google reCAPTCHA有没有进行验证
 			if ($('#g-recaptcha-response').val() === '') {

+ 4 - 4
resources/views/auth/resetPassword.blade.php

@@ -12,7 +12,7 @@
 		</div>
 	@endif
 	<form method="post" action="/resetPassword">
-		@if(\App\Components\Helpers::systemConfig()['is_reset_password'])
+		@if(sysConfig('is_reset_password'))
 			<div class="form-title">
 				{{trans('auth.resetPassword')}}
 			</div>
@@ -24,12 +24,12 @@
 			</div>
 		@else
 			<div class="alert alert-danger">
-				<span> {{trans('auth.system_maintenance_tip',['email' => \App\Components\Helpers::systemConfig()['webmaster_email']])}} </span>
+				<span> {{trans('auth.system_maintenance_tip',['email' => sysConfig('webmaster_email')])}} </span>
 			</div>
 		@endif
 		<a href="/login"
-				class="btn btn-danger btn-lg {{\App\Components\Helpers::systemConfig()['is_reset_password']? 'float-left':'btn-block'}}">{{trans('auth.back')}}</a>
-		@if(\App\Components\Helpers::systemConfig()['is_reset_password'])
+				class="btn btn-danger btn-lg {{sysConfig('is_reset_password')? 'float-left':'btn-block'}}">{{trans('auth.back')}}</a>
+		@if(sysConfig('is_reset_password'))
 			<button type="submit" class="btn btn-primary btn-lg float-right">{{trans('auth.submit')}}</button>
 		@endif
 	</form>

+ 1 - 1
resources/views/emails/activeUser.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/closeTicket.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/newTicket.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/nodeCrashWarning.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/replyTicket.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

File diff suppressed because it is too large
+ 720 - 720
resources/views/emails/resetPassword.blade.php


+ 1 - 1
resources/views/emails/sendUserInfo.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/sendVerifyCode.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/userExpireWarning.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/userExpireWarningToday.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 1 - 1
resources/views/emails/userTrafficWarning.blade.php

@@ -26,7 +26,7 @@
 														<a href="#"
 																style="Margin:0;color:#40253b;font-family:Helvetica,Arial,sans-serif;font-weight:400;line-height:1.3;margin:0;padding:0;text-align:left;text-decoration:none"
 																target="_blank">
-															{{\App\Components\Helpers::systemConfig()['website_name']}}
+															{{sysConfig('website_name')}}
 														</a>
 													</h3>
 												</th>

+ 10 - 10
resources/views/user/components/purchase.blade.php

@@ -1,25 +1,25 @@
-@if(\App\Components\Helpers::systemConfig()['is_AliPay'])
-	<button class="btn btn-flat" onclick="pay('{{\App\Components\Helpers::systemConfig()['is_AliPay']}}','1')">
+@if(sysConfig('is_AliPay'))
+	<button class="btn btn-flat" onclick="pay('{{sysConfig('is_AliPay')}}','1')">
 		<img src="/assets/images/payment/alipay.svg" height="36px" alt="alipay"/>
 	</button>
 @endif
-@if(\App\Components\Helpers::systemConfig()['is_QQPay'])
-	<button class="btn btn-flat" onclick="pay('{{\App\Components\Helpers::systemConfig()['is_QQPay']}}','2')">
+@if(sysConfig('is_QQPay'))
+	<button class="btn btn-flat" onclick="pay('{{sysConfig('is_QQPay')}}','2')">
 		<img src="/assets/images/payment/qqpay.svg" height="36px" alt="qq"/>
 	</button>
 @endif
-@if(\App\Components\Helpers::systemConfig()['is_WeChatPay'])
-	<button class="btn btn-flat" onclick="pay('{{\App\Components\Helpers::systemConfig()['is_WeChatPay']}}','3')">
+@if(sysConfig('is_WeChatPay'))
+	<button class="btn btn-flat" onclick="pay('{{sysConfig('is_WeChatPay')}}','3')">
 		<img src="/assets/images/payment/wechatpay.svg" height="36px" alt="wechat"/>
 	</button>'
 @endif
-@if(\App\Components\Helpers::systemConfig()['is_otherPay'] == 'bitpayx')
-	<button class="btn btn-flat" onclick="pay('{{\App\Components\Helpers::systemConfig()['is_otherPay']}}','4')">
+@if(sysConfig('is_otherPay') == 'bitpayx')
+	<button class="btn btn-flat" onclick="pay('{{sysConfig('is_otherPay')}}','4')">
 		<img src="/assets/images/payment/btc.svg" height="36px" alt="other"/>
 		<span class="font-size-24 black"> 虚拟货币</span>
 	</button>'
-@elseif(\App\Components\Helpers::systemConfig()['is_otherPay'] == 'paypal')
-	<button class="btn btn-flat" onclick="pay('{{\App\Components\Helpers::systemConfig()['is_otherPay']}}','5')">
+@elseif(sysConfig('is_otherPay') == 'paypal')
+	<button class="btn btn-flat" onclick="pay('{{sysConfig('is_otherPay')}}','5')">
 		<img src="https://www.paypalobjects.com/webstatic/mktg/Logo/pp-logo-150px.png" height="32px" alt="PayPal"/>
 	</button>'
 @endif

+ 3 - 3
resources/views/user/help.blade.php

@@ -255,9 +255,9 @@
 													</li>
 													<li>
 														近期流量使用异常;在<code>1小时</code>内使用流量超过
-														<code>{{\App\Components\Helpers::systemConfig()['traffic_ban_value']}}
+														<code>{{sysConfig('traffic_ban_value')}}
 															GB</code>
-														,即会触发本站的流量异常保护;保护时长为<code>{{\App\Components\Helpers::systemConfig()['traffic_ban_time']}}
+														,即会触发本站的流量异常保护;保护时长为<code>{{sysConfig('traffic_ban_time')}}
 															分钟</code>
 													</li>
 												</ol>
@@ -280,7 +280,7 @@
 											<div class="panel-body">
 												订阅地址对于账号来说非常重要。所以本站对此设置了严格的限制措施,以防止用户无意间泄露给他人后,无法挽回。
 												<p>限制为:
-													<code>24小时</code>内,订阅地址只允许请求<code>{{\App\Components\Helpers::systemConfig()['subscribe_ban_times']}}
+													<code>24小时</code>内,订阅地址只允许请求<code>{{sysConfig('subscribe_ban_times')}}
 														次</code>
 												</p>
 												<p>解封,请在过一段时间并确定无误后,创建<a href="/tickets">【{{trans('home.tickets')}}】</a>,联系售后人员

+ 7 - 7
resources/views/user/index.blade.php

@@ -21,11 +21,11 @@
 							<i class="wb-heart red-500"></i>
 						</button>
 						<span class="font-weight-400">{{trans('home.account_status')}}</span>
-						@if(\App\Components\Helpers::systemConfig()['is_checkin'])
-							<a class="btn btn-md btn-round btn-info float-right" href="javascript:checkIn();">
+						@if(sysConfig('is_checkin'))
+							<button class="btn btn-md btn-round btn-info float-right" onclick="checkIn()">
 								<i class="wb-star yellow-400 mr-5"></i>
 								{{trans('home.sign_in')}}
-							</a>
+							</button>
 						@endif
 						<div class="content-text text-center mb-0">
 							@if($not_paying_user)
@@ -48,7 +48,7 @@
 							@elseif($isTrafficWarning || $banedTime != 0)
 								<i class="wb-alert orange-400 font-size-40 mr-10"></i>
 								<span class="font-size-40 font-weight-100">{{trans('home.limited')}}</span>
-								<p class="font-weight-300 m-0 orange-500">{!!trans('home.reason_overused', ['data'=>\App\Components\Helpers::systemConfig()['traffic_ban_value']])!!}</p>
+								<p class="font-weight-300 m-0 orange-500">{!!trans('home.reason_overused', ['data'=>sysConfig('traffic_ban_value')])!!}</p>
 							@else
 								<i class="wb-help red-400 font-size-40 mr-10"></i>
 								<span class="font-size-40 font-weight-100">{{trans('home.disabled')}}</span>
@@ -71,7 +71,7 @@
 									<h4>账号等级:<code class="font-size-20">{{Auth::getUser()->level}}</code></h4>
 								</div>
 								<div class="text-center font-weight-300 blue-grey-500 mb-10">
-									@if(!$not_paying_user && \App\Components\Helpers::systemConfig()['reset_traffic'] && $resetDays != 0 && $remainDays>$resetDays)
+									@if(!$not_paying_user && sysConfig('reset_traffic') && $resetDays != 0 && $remainDays>$resetDays)
 										{{trans('home.account_reset_notice', ['reset_day' => $resetDays])}}
 									@endif
 								</div>
@@ -143,9 +143,9 @@
 					<div class="col-xl-4 col-lg-6 pb-30">
 						<div class="card card-shadow text-center h-full">
 							<div class="card-block">
-								@if(\App\Components\Helpers::systemConfig()['is_push_bear'] && \App\Components\Helpers::systemConfig()['push_bear_qrcode'])
+								@if(sysConfig('is_push_bear') && sysConfig('push_bear_qrcode'))
 									<h4 class="card-title"><i class="wb-bell mr-10 yellow-600"></i>微信公告推送</h4>
-									<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->margin(2)->eyeColor(1, 0, 204, 153, 0, 153, 119)->style('round', 0.9)->size(175)->errorCorrection('H')->merge(url('assets/images/wechat.png'), .3, true)->generate(\App\Components\Helpers::systemConfig()['push_bear_qrcode']))!!}" alt="支付二维码">
+									<img src="data:image/png;base64, {!! base64_encode(QrCode::format('png')->margin(2)->eyeColor(1, 0, 204, 153, 0, 153, 119)->style('round', 0.9)->size(175)->errorCorrection('H')->merge(url('assets/images/wechat.png'), .3, true)->generate(sysConfig('push_bear_qrcode')))!!}" alt="支付二维码">
 								@else
 									<h4 class="card-title"><i class="wb-bell mr-10 yellow-600"></i>交流群</h4>
 								@endif

+ 1 - 1
resources/views/user/invite.blade.php

@@ -20,7 +20,7 @@
 							</h4>
 							<p class="card-text alert alert-info">
 								<i class="icon wb-warning red-700"></i> {{trans('home.invite_code_tips1')}}
-								<strong> {{$num}} </strong> {{trans('home.invite_code_tips2', ['days' => \App\Components\Helpers::systemConfig()['user_invite_days']])}}
+								<strong> {{$num}} </strong> {{trans('home.invite_code_tips2', ['days' => sysConfig('user_invite_days')])}}
 							</p>
 							<button type="button" class="btn btn-primary btn-animate btn-animate-side"
 									onclick="makeInvite()" @if(!$num) disabled @endif><i

+ 2 - 2
resources/views/user/invoiceDetail.blade.php

@@ -10,9 +10,9 @@
 					<div class="col-lg-3">
 						<h3>
 							<img
-									src="{{\App\Components\Helpers::systemConfig()['website_logo']? :'/assets/images/logo64.png'}}"
+									src="{{sysConfig('website_logo')? :'/assets/images/logo64.png'}}"
 									class="navbar-brand-logo" alt="logo">
-							{{\App\Components\Helpers::systemConfig()['website_name']}}
+							{{sysConfig('website_name')}}
 						</h3>
 					</div>
 					<div class="col-lg-3 offset-lg-6 text-right">

+ 9 - 9
resources/views/user/layouts.blade.php

@@ -8,7 +8,7 @@
 <!--<![endif]-->
 <head>
 	<meta charset="utf-8">
-	<title>{{\App\Components\Helpers::systemConfig()['website_name']}}</title>
+	<title>{{sysConfig('website_name')}}</title>
 	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 	<meta name="viewport" content="width=device-width, initial-scale=1">
 	<meta name="description" content="">
@@ -60,10 +60,10 @@
 			<i class="icon wb-more-horizontal" aria-hidden="true"></i>
 		</button>
 		<div class="navbar-brand navbar-brand-center">
-			<img src="{{\App\Components\Helpers::systemConfig()['website_logo']? :'/assets/images/logo64.png'}}"
+			<img src="{{sysConfig('website_logo')? :'/assets/images/logo64.png'}}"
 					class="navbar-brand-logo" alt="logo"/>
 			<span
-					class="navbar-brand-text hidden-xs-down"> {{\App\Components\Helpers::systemConfig()['website_name']}}</span>
+					class="navbar-brand-text hidden-xs-down"> {{sysConfig('website_name')}}</span>
 		</div>
 	</div>
 	<div class="navbar-container container-fluid">
@@ -178,7 +178,7 @@
 				</a>
 			</li>
 			@if(\App\Models\Order::uid()->whereStatus(2)->exists() || \App\Models\ReferralLog::uid()->exists())
-				@if(\App\Components\Helpers::systemConfig()['is_invite_register'])
+				@if(sysConfig('is_invite_register'))
 					<li class="site-menu-item {{in_array(Request::path(), ['invite']) ? 'active open' : ''}}">
 						<a href="/invite">
 							<i class="site-menu-icon wb-extension" aria-hidden="true"></i>
@@ -186,7 +186,7 @@
 						</a>
 					</li>
 				@endif
-				@if((\App\Components\Helpers::systemConfig()['referral_status']))
+				@if((sysConfig('referral_status')))
 					<li class="site-menu-item {{in_array(Request::path(), ['referral']) ? 'active open' : ''}}">
 						<a href="/referral">
 							<i class="site-menu-icon wb-star-outline" aria-hidden="true"></i>
@@ -209,11 +209,11 @@
 </div>
 <footer class="site-footer">
 	<div class="site-footer-legal"> Copyright &copy; 2017 - 2020
-		<a href="{{\App\Components\Helpers::systemConfig()['website_url']}}" target="_blank">{{\App\Components\Helpers::systemConfig()['website_name']}}</a> | 基于<a href="https://github.com/ZBrettonYe/ProxyPane">{{config('version.name')}}</a> 版本: {{config('version.number')}}  开发
+		<a href="{{sysConfig('website_url')}}" target="_blank">{{sysConfig('website_name')}}</a> | 基于<a href="https://github.com/ZBrettonYe/ProxyPane">{{config('version.name')}}</a> 版本: {{config('version.number')}}  开发
 	</div>
 	<div class="site-footer-right">
 		由 <i class="red-600 wb-heart"></i>
-		<a href="https://github.com/ZBrettonYe">兔姬菌</a> 制作
+		<a href="https://github.com/ZBrettonYe">兔姬菌</a> 开发
 	</div>
 </footer>
 @if(Session::get("admin"))
@@ -306,8 +306,8 @@
 	</script>
 @endif
 <!-- 统计 -->
-{!! \App\Components\Helpers::systemConfig()['website_analytics'] !!}
+{!! sysConfig('website_analytics') !!}
 <!-- 客服 -->
-{!! \App\Components\Helpers::systemConfig()['website_customer_service'] !!}
+{!! sysConfig('website_customer_service') !!}
 </body>
 </html>

+ 1 - 1
resources/views/user/payment.blade.php

@@ -4,7 +4,7 @@
 		<div class="panel panel-bordered">
 			<div class="panel-heading">
 				<h1 class="panel-title cyan-600">
-					<i class="icon wb-payment"></i>{{\App\Components\Helpers::systemConfig()['website_name']}}{{trans('home.online_pay')}}
+					<i class="icon wb-payment"></i>{{sysConfig('website_name')}}{{trans('home.online_pay')}}
 				</h1>
 			</div>
 			<div class="panel-body border-primary ml-auto mr-auto w-p75">

+ 11 - 11
resources/views/user/services.blade.php

@@ -102,20 +102,20 @@
 				<div class="modal-body">
 					<div class="alert alert-danger" id="charge_msg" style="display: none;"></div>
 					<form action="#" method="post">
-						@if(\App\Components\Helpers::systemConfig()['is_onlinePay'])
+						@if(sysConfig('is_onlinePay'))
 							<div class="mb-15 w-p50">
 								<select class="form-control" name="charge_type" id="charge_type">
-									@if(\App\Components\Helpers::systemConfig()['is_onlinePay'])
+									@if(sysConfig('is_onlinePay'))
 										<option value="1">{{trans('home.online_pay')}}</option>
 									@endif
-									@if(\App\Components\Helpers::systemConfig()['alipay_qrcode'] || \App\Components\Helpers::systemConfig()['wechat_qrcode'])
+									@if(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
 										<option value="2">二维码</option>
 									@endif
 									<option value="3">{{trans('home.coupon_code')}}</option>
 								</select>
 							</div>
 						@endif
-						@if(\App\Components\Helpers::systemConfig()['is_onlinePay'])
+						@if(sysConfig('is_onlinePay'))
 							<div class="form-group row charge_credit">
 								<label for="amount" class="offset-md-1 col-md-2 col-form-label">充值金额</label>
 								<div class="col-md-8">
@@ -123,22 +123,22 @@
 								</div>
 							</div>
 						@endif
-						@if(\App\Components\Helpers::systemConfig()['alipay_qrcode'] || \App\Components\Helpers::systemConfig()['wechat_qrcode'])
+						@if(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
 							<div class="text-center" id="charge_qrcode">
 								<div class="row">
 									<p class="col-md-12 mb-10">付款时,请
 										<mark>备注邮箱账号</mark>
 									                           ,充值会在<code>24</code>小时内受理!
 									</p>
-									@if(\App\Components\Helpers::systemConfig()['wechat_qrcode'])
+									@if(sysConfig('wechat_qrcode'))
 										<div class="col-md-6">
-											<img class="w-p75 mb-10" src="{{\App\Components\Helpers::systemConfig()['wechat_qrcode']}}" alt=""/>
+											<img class="w-p75 mb-10" src="{{sysConfig('wechat_qrcode')}}" alt=""/>
 											<p>微 信 | WeChat</p>
 										</div>
 									@endif
-									@if(\App\Components\Helpers::systemConfig()['alipay_qrcode'])
+									@if(sysConfig('alipay_qrcode'))
 										<div class="col-md-6">
-											<img class="w-p75 mb-10" src="{{\App\Components\Helpers::systemConfig()['alipay_qrcode']}}" alt=""/>
+											<img class="w-p75 mb-10" src="{{sysConfig('alipay_qrcode')}}" alt=""/>
 											<p>支 付 宝 | AliPay</p>
 										</div>
 									@endif
@@ -189,9 +189,9 @@
 		$(document).ready(function () {
 			itemControl(parseInt($('#charge_type').val()))
 			let which_selected;
-			@if(\App\Components\Helpers::systemConfig()['is_onlinePay'])
+			@if(sysConfig('is_onlinePay'))
 				which_selected = 1;
-			@elseif(\App\Components\Helpers::systemConfig()['alipay_qrcode'] || \App\Components\Helpers::systemConfig()['wechat_qrcode'])
+			@elseif(sysConfig('alipay_qrcode') || sysConfig('wechat_qrcode'))
 				which_selected = 2;
 			@else
 				which_selected = 3

Some files were not shown because too many files changed in this diff