@@ -3,7 +3,7 @@
return [
'chunk' => env('TASKS_CHUNK', 1000), // 大数据量修改,分段处理,减少内存使用
'clean' => [
- 'node_daily_logs' => env('TASKS_NODE_DAILY_LOGS', '-2 month'), // 清除节点每天流量数据日志
+ 'node_daily_logs' => env('TASKS_NODE_DAILY_LOGS', '-25 month'), // 清除节点每天流量数据日志
'node_hourly_logs' => env('TASKS_NODE_HOURLY_LOGS', '-3 days'), // 清除节点每小时流量数据日志
'notification_logs' => env('TASKS_NOTIFICATION_LOGS', '-1 month'), // 清理通知日志
'node_heartbeats' => env('TASKS_NODE_HEARTBEATS', '-30 minutes'), // 清除节点负载信息日志
@@ -19,13 +19,15 @@
<link href="{{asset('favicon.ico')}}" rel="shortcut icon apple-touch-icon">
<!-- 样式表/Stylesheets -->
<link href="/assets/bundle/app.min.css" rel="stylesheet">
- <link rel="stylesheet" href="//cdn.staticfile.org/flag-icons/6.6.6/css/flag-icons.min.css"/>
+ <link rel="stylesheet" href="//cdn.staticfile.net/flag-icons/7.1.0/css/flag-icons.min.css" />
@yield('layout_css')
<!-- 字体/Fonts -->
<link href="/assets/global/fonts/web-icons/web-icons.min.css" rel="stylesheet">
- <link href="/assets/css/font.css" rel="stylesheet">
+ <link rel="preconnect" href="https://fonts.loli.net">
+ <link rel="preconnect" href="https://gstatic.loli.net" crossorigin>
+ <link href="https://fonts.loli.net/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
<!--[if lt IE 9]>
- <script src="//cdn.staticfile.org/html5shiv/3.7.3/html5shiv.min.js"></script>
+ <script src="//cdn.staticfile.net/html5shiv/3.7.3/html5shiv.min.js"></script>
<![endif]-->
<!--[if lt IE 10]>
<script src="/assets/global/vendor/media-match/media.match.min.js"></script>
@@ -133,11 +133,21 @@
link_default_target: '_blank',
quickbars_insert_toolbar: 'quicktable image media',
quickbars_selection_toolbar: 'bold italic underline | blocks | bullist numlist | blockquote quicklink',
- extended_valid_elements: 'i[class|aria-hidden]',
+ extended_valid_elements: 'button[onclick|class],i[class|aria-hidden]', // Allow more attributes for <a>
language: '{{app()->getLocale()}}',
content_css: '/assets/bundle/app.min.css',
min_height: 500,
max_height: 800,
+ setup: function (editor) {
+ editor.on('PreProcess', function (e) {
+ // Allow href attribute to contain 'javascript:' protocol
+ tinymce.each(e.node.getElementsByTagName('a'), function (a) {
+ if (a.href && a.href.startsWith('javascript:')) {
+ a.setAttribute('href', a.href);
+ }
+ });
});
$('input:radio[name=\'type\']').on('change', function() {
@@ -77,7 +77,7 @@
<div class="panel-title">
<div class="brand">
<img src="{{sysConfig('website_home_logo')? asset(sysConfig('website_home_logo')) :'/assets/images/logo.png'}}" class="brand-img" alt="logo"/>
- <h3 class="brand-text">{{sysConfig('website_name')}}</h3>
+ <h1 class="brand-text">{{sysConfig('website_name')}}</h1>
</div>
<div class="ribbon ribbon-reverse ribbon-info ribbon-clip">
@@ -22,7 +22,7 @@
<div class="col-xxl-2 col-lg-4 col-md-12">
<div class="panel">
<div class="panel-body">
- <div class="list-group faq-list" role="tablist">
+ <div class="list-group" role="tablist">
@foreach($knowledges as $category => $articles)
@php $str = string_urlsafe($category) @endphp
<a class="list-group-item list-group-item-action @if($loop->first) active @endif" data-toggle="tab"
@@ -48,3 +48,7 @@ Route::prefix('pay')->group(function () {
Route::post('/manual/{payment}/inform', [Manual::class, 'inform'])->name('manual.inform'); // 人工支付通知
Route::get('/stripe/{session_id}', [Stripe::class, 'redirectPage'])->name('stripe.checkout'); // Stripe Checkout page
+
+Route::get('create/string', [Str::class, 'random'])->name('createStr'); // 生成随机密码
+Route::get('create/uuid', [Str::class, 'uuid'])->name('createUUID'); // 生成UUID
+Route::get('getPort', [Helpers::class, 'getPort'])->name('getPort'); // 获取端口
@@ -41,9 +41,6 @@ Route::middleware(['isForbidden', 'affiliate', 'isMaintenance'])->group(function
Route::post('send', 'sendCode')->name('sendVerificationCode'); // 发送注册验证码
Route::get('free', 'free')->name('freeInvitationCode'); // 免费邀请码
- Route::get('create/string', [Str::class, 'random'])->name('createStr'); // 生成随机密码
- Route::get('create/uuid', [Str::class, 'uuid'])->name('createUUID'); // 生成UUID
- Route::get('getPort', [Helpers::class, 'getPort'])->name('getPort'); // 获取端口
Route::get('admin/login', [AuthController::class, 'showLoginForm'])->name('admin.login')->middleware('isForbidden', 'isSecurity'); // 管理登录页面
Route::post('admin/login', [AuthController::class, 'login'])->middleware('isSecurity')->name('admin.login.post'); // 管理登录