diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md
index 6480d721..8f0a153c 100644
--- a/.github/ISSUE_TEMPLATE/bug-report.md
+++ b/.github/ISSUE_TEMPLATE/bug-report.md
@@ -3,7 +3,7 @@ name: 错误报告 - Bug Report
about: '创建错误报告以帮助我们改进 '
title: "[BUG]"
labels: ''
-assignees: ZBrettonYe
+assignees: ''
---
diff --git a/app/Http/Controllers/Admin/SystemController.php b/app/Http/Controllers/Admin/SystemController.php
index df401c31..4a535a6d 100644
--- a/app/Http/Controllers/Admin/SystemController.php
+++ b/app/Http/Controllers/Admin/SystemController.php
@@ -54,17 +54,7 @@ class SystemController extends Controller
private function getCaptcha()
{
- if (sysConfig('geetest_id') && sysConfig('geetest_key')) {
- $captcha[] = '2';
- }
- if (sysConfig('google_captcha_secret') && sysConfig('google_captcha_sitekey')) {
- $captcha[] = '3';
- }
- if (sysConfig('hcaptcha_secret') && sysConfig('hcaptcha_sitekey')) {
- $captcha[] = '4';
- }
-
- return $captcha ?? [];
+ return sysConfig('captcha_secret') && sysConfig('captcha_key');
}
public function setExtend(Request $request): RedirectResponse // 设置系统扩展信息,例如客服、统计代码
@@ -113,6 +103,10 @@ class SystemController extends Controller
return Response::json(['status' => 'fail', 'message' => '请先完善该支付渠道的必要参数!']);
}
+ if ($value > 1 && $name === 'is_captcha' && ! $this->getCaptcha()) {
+ return Response::json(['status' => 'fail', 'message' => '请先完善验证码的必要参数!']);
+ }
+
// 演示环境禁止修改特定配置项
if (config('app.demo')) {
$denyConfig = [
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index a160e95e..375b9830 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -197,7 +197,7 @@ class UserController extends Controller
// 余额充值商品,只取10个
$renewOrder = Order::userActivePlan($user->id)->first();
$renewPrice = $renewOrder->goods ?? 0;
- // 有重置日时按照重置日为标准,否者就以过期日为标准
+ // 有重置日时按照重置日为标准,否则就以过期日为标准
$dataPlusDays = $user->reset_time ?? $user->expired_at;
return view('user.services', [
@@ -337,7 +337,7 @@ class UserController extends Controller
{
$id = $request->input('id');
- if (Ticket::uid()->whereId($id)->close()) {
+ if (Ticket::uid()->whereId($id)->firstOrFail()->close()) {
return Response::json(['status' => 'success', 'message' => trans('common.close_item', ['attribute' => trans('common.success')])]);
}
@@ -438,7 +438,7 @@ class UserController extends Controller
public function buy(Goods $good)
{
$user = auth()->user();
- // 有重置日时按照重置日为标准,否者就以过期日为标准
+ // 有重置日时按照重置日为标准,否则就以过期日为标准
$dataPlusDays = $user->reset_time ?? $user->expired_at;
return view('user.buy', [
diff --git a/app/Jobs/VNet/editUser.php b/app/Jobs/VNet/editUser.php
index 4ffb6c66..4903e181 100644
--- a/app/Jobs/VNet/editUser.php
+++ b/app/Jobs/VNet/editUser.php
@@ -41,7 +41,7 @@ class editUser implements ShouldQueue
$host = ($node->server ?: $node->ip).':'.$node->push_port;
$secret = $node->auth->secret;
- // 如果用户已存在节点内,则执行修改;否者为添加
+ // 如果用户已存在节点内,则执行修改;否则为添加
$list = $this->list($host, $secret);
if ($list && in_array($this->data['uid'], $list)) {
$this->send($host, $secret);
diff --git a/app/Providers/SettingServiceProvider.php b/app/Providers/SettingServiceProvider.php
index 955513e1..c1f132a7 100644
--- a/app/Providers/SettingServiceProvider.php
+++ b/app/Providers/SettingServiceProvider.php
@@ -15,14 +15,12 @@ class SettingServiceProvider extends ServiceProvider
public function boot()
{
$toApp = collect([
- 'geetest_id' => 'geetest.id',
- 'geetest_key' => 'geetest.key',
- 'google_captcha_secret' => 'NoCaptcha.secret',
- 'google_captcha_sitekey' => 'NoCaptcha.sitekey',
- 'hcaptcha_secret' => 'HCaptcha.secret',
- 'hcaptcha_sitekey' => 'HCaptcha.sitekey',
+ 2 => ['geetest.id', 'geetest.key'],
+ 3 => ['NoCaptcha.secret', 'NoCaptcha.sitekey'],
+ 4 => ['HCaptcha.secret', 'HCaptcha.sitekey'],
]);
- $notifications = collect([
+
+ $notifications = [
'account_expire_notification',
'data_anomaly_notification',
'data_exhaust_notification',
@@ -34,14 +32,14 @@ class SettingServiceProvider extends ServiceProvider
'ticket_closed_notification',
'ticket_created_notification',
'ticket_replied_notification',
- ]);
+ ];
$payments = ['is_AliPay', 'is_QQPay', 'is_WeChatPay', 'is_otherPay'];
if (! Cache::has('settings')) {
Cache::forever('settings', Config::whereNotNull('value')->get());
}
$settings = Cache::get('settings');
$modified = $settings
- ->whereNotIn('name', $toApp->keys()->merge($notifications)) // 设置一般系统选项
+ ->whereNotIn('name', $notifications) // 设置一般系统选项
->pluck('value', 'name')
->merge($settings->whereIn('name', $notifications)->pluck('value', 'name')->map(function ($item) {
return self::setChannel(json_decode($item, true)); // 设置通知相关选项
@@ -51,9 +49,12 @@ class SettingServiceProvider extends ServiceProvider
->toArray();
config(['settings' => $modified]); // 设置系统参数
- $settings->whereIn('name', $toApp->keys())->pluck('value', 'name')->each(function ($item, $key) use ($toApp) {
- config([$toApp[$key] => $item]); // 设置PHP软件包相关配置
- });
+
+ if (config('settings.is_captcha') > 1) {
+ config([$toApp[config('settings.is_captcha')][0] => config('settings.captcha_secret')]);
+ config([$toApp[config('settings.is_captcha')][1] => config('settings.captcha_key')]);
+ }
+
collect([
'website_name' => 'app.name',
'website_url' => 'app.url',
diff --git a/database/migrations/2021_01_27_080544_config_clean.php b/database/migrations/2021_01_27_080544_config_clean.php
new file mode 100644
index 00000000..6ee703d7
--- /dev/null
+++ b/database/migrations/2021_01_27_080544_config_clean.php
@@ -0,0 +1,36 @@
+configs)->delete();
+ foreach ($this->newConfigs as $config) {
+ \App\Models\Config::insert(['name' => $config]);
+ }
+ }
+
+ public function down()
+ {
+ foreach ($this->configs as $config) {
+ \App\Models\Config::insert(['name' => $config]);
+ }
+ \App\Models\Config::whereIn('name', $this->newConfigs)->delete();
+ }
+}
diff --git a/database/seeds/PresetSeeder.php b/database/seeds/PresetSeeder.php
index 08fbbdaf..784131e1 100644
--- a/database/seeds/PresetSeeder.php
+++ b/database/seeds/PresetSeeder.php
@@ -94,7 +94,6 @@ class PresetSeeder extends Seeder
'AppStore_password',
'is_activate_account',
'node_daily_report',
- 'mix_subscribe',
'rand_subscribe',
'is_custom_subscribe',
'is_AliPay',
@@ -111,10 +110,6 @@ class PresetSeeder extends Seeder
'f2fpay_public_key',
'website_security_code',
'subject_name',
- 'geetest_id',
- 'geetest_key',
- 'google_captcha_sitekey',
- 'google_captcha_secret',
'user_invite_days',
'admin_invite_days',
'offline_check_times',
@@ -124,8 +119,6 @@ class PresetSeeder extends Seeder
'maintenance_time',
'maintenance_content',
'bark_key',
- 'hcaptcha_secret',
- 'hcaptcha_sitekey',
'paypal_username',
'paypal_password',
'paypal_secret',
diff --git a/resources/lang/zh-CN/user.php b/resources/lang/zh-CN/user.php
index 4e0112b0..badc2dee 100644
--- a/resources/lang/zh-CN/user.php
+++ b/resources/lang/zh-CN/user.php
@@ -159,7 +159,7 @@ return [
'creating' => '创建支付单中...',
'redirect_stripe' => '转跳至Stripe支付界面...',
'qrcode_tips' => '请使用:software扫描二维码',
- 'close_tips' => '请在:minutes分钟内完成支付,否者订单将会自动关闭',
+ 'close_tips' => '请在:minutes分钟内完成支付,否则订单将会自动关闭',
'mobile_tips' => '手机用户:长按二维码 -> 保存图片 ->打开支付软件 -> 扫一扫 -> 选择相册 进行付款',
],
'invoice' => [
diff --git a/resources/views/admin/config/system.blade.php b/resources/views/admin/config/system.blade.php
index 336ff7d4..9832bbd5 100644
--- a/resources/views/admin/config/system.blade.php
+++ b/resources/views/admin/config/system.blade.php
@@ -469,7 +469,7 @@