系统设置页面,前端改进
下一步打算加入google analysis的支持
This commit is contained in:
parent
ccc4335188
commit
1446120a44
@ -10,6 +10,7 @@ use yii\base\Model;
|
|||||||
* Class SiteConfig
|
* Class SiteConfig
|
||||||
* 配置信息
|
* 配置信息
|
||||||
* 少数配置不在列表中,如数据库配置等
|
* 少数配置不在列表中,如数据库配置等
|
||||||
|
* TODO: 实现Google analysis、Microsoft Clarity统计
|
||||||
*/
|
*/
|
||||||
class SiteConfig extends Model
|
class SiteConfig extends Model
|
||||||
{
|
{
|
||||||
@ -74,7 +75,23 @@ class SiteConfig extends Model
|
|||||||
'ipinfoToken' => 'IPinfo Token',
|
'ipinfoToken' => 'IPinfo Token',
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
public function attributeHelpTexts(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'siteTitle' => '你可以在这里设置网站的标题',
|
||||||
|
'registrationEnabled' => '你可以在这里设置是否允许新用户注册<br>关闭注册后,只有管理员可以添加用户',
|
||||||
|
'domain' => '你可以在这里设置网站使用的域名<br>开头不需要添加 http:// 或 https://<br>结尾不需要添加 /<br>本地测试时可以使用 localhost',
|
||||||
|
'verifyProvider' => '你可以在这里设置验证码提供商<br>目前支持<a href=\'https://developers.google.com/recaptcha\' target=\'_blank\'>reCAPTCHA</a>、<a href=\'https://www.hcaptcha.com/\' target=\'_blank\'>hCaptcha</a>、<a href=\'https://www.cloudflare.com/en-ca/products/turnstile/\' target=\'_blank\'>Turnstile</a>或关闭验证码',
|
||||||
|
'recaptchaSiteKey' => '请在这里填入reCAPTCHA Site Key',
|
||||||
|
'recaptchaSecret' => '请在这里填入reCAPTCHA Secret',
|
||||||
|
'hcaptchaSiteKey' => '请在这里填入hCaptcha Site Key',
|
||||||
|
'hcaptchaSecret' => '请在这里填入hCaptcha Secret',
|
||||||
|
'turnstileSiteKey' => '请在这里填入Turnstile Site Key',
|
||||||
|
'turnstileSecret' => '请在这里填入Turnstile Secret',
|
||||||
|
'enableIpinfo' => '是否使用<a href=\'https://ipinfo.io/\' target=\'_blank\'>ipinfo.io</a>查询站点上的ip信息',
|
||||||
|
'ipinfoToken' => '请在这里填入IPinfo Token',
|
||||||
|
];
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* 读取配置信息
|
* 读取配置信息
|
||||||
* @return bool
|
* @return bool
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use app\assets\FontAwesomeAsset;
|
||||||
|
use yii\bootstrap5\BootstrapAsset;
|
||||||
use yii\helpers\Html;
|
use yii\helpers\Html;
|
||||||
use yii\web\JqueryAsset;
|
use yii\web\JqueryAsset;
|
||||||
use yii\web\View;
|
use yii\web\View;
|
||||||
@ -8,6 +10,8 @@ use yii\widgets\ActiveForm;
|
|||||||
/* @var $this yii\web\View */
|
/* @var $this yii\web\View */
|
||||||
/* @var $siteConfig app\models\SiteConfig */
|
/* @var $siteConfig app\models\SiteConfig */
|
||||||
JqueryAsset::register($this);
|
JqueryAsset::register($this);
|
||||||
|
FontAwesomeAsset::register($this);
|
||||||
|
$this->registerCssFile('@web/css/admin-system.css', ['depends' => [BootstrapAsset::class]]);
|
||||||
$this->title = '系统设置';
|
$this->title = '系统设置';
|
||||||
?>
|
?>
|
||||||
<div class="admin-system">
|
<div class="admin-system">
|
||||||
@ -22,7 +26,7 @@ $this->title = '系统设置';
|
|||||||
<?php
|
<?php
|
||||||
$attributes = array_keys(get_object_vars($siteConfig));
|
$attributes = array_keys(get_object_vars($siteConfig));
|
||||||
foreach ($attributes as $attribute) {
|
foreach ($attributes as $attribute) {
|
||||||
echo '<tr id="tr-'.$attribute.'">';
|
echo '<tr id="tr-' . $attribute . '">';
|
||||||
echo '<th style="width: 200px"><p>' . $siteConfig->attributeLabels()[$attribute] . '</p></th>';
|
echo '<th style="width: 200px"><p>' . $siteConfig->attributeLabels()[$attribute] . '</p></th>';
|
||||||
if ($attribute == 'registrationEnabled' || $attribute == 'enableIpinfo') {
|
if ($attribute == 'registrationEnabled' || $attribute == 'enableIpinfo') {
|
||||||
echo '<td>' . $form->field($siteConfig, $attribute)->checkbox(['class' => 'form-check-input'], false)->label(false) . '</td>';
|
echo '<td>' . $form->field($siteConfig, $attribute)->checkbox(['class' => 'form-check-input'], false)->label(false) . '</td>';
|
||||||
@ -31,6 +35,7 @@ $this->title = '系统设置';
|
|||||||
} else {
|
} else {
|
||||||
echo '<td>' . $form->field($siteConfig, $attribute)->textInput(['class' => 'form-control form-control-sm', 'style' => 'width:25em'])->label(false) . '</td>';
|
echo '<td>' . $form->field($siteConfig, $attribute)->textInput(['class' => 'form-control form-control-sm', 'style' => 'width:25em'])->label(false) . '</td>';
|
||||||
}
|
}
|
||||||
|
echo '<td><button type="button" class="btn btn-sm btn-light" data-bs-toggle="popover" data-bs-custom-class="custom-popover" data-bs-title="help" data-bs-html="true" data-bs-content="'.$siteConfig->attributeHelpTexts()[$attribute].'" style="margin-bottom: 14px;"><i class="fa-solid fa-circle-question"></i></button></td>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@ -45,4 +50,9 @@ $this->title = '系统设置';
|
|||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
$this->registerJsFile('@web/js/admin-system.js', ['depends' => [JqueryAsset::class], 'position' => View::POS_END]);
|
$this->registerJsFile('@web/js/admin-system.js', ['depends' => [JqueryAsset::class], 'position' => View::POS_END]);
|
||||||
|
$this->registerJs('
|
||||||
|
$(function () {
|
||||||
|
$("[data-bs-toggle=\'popover\']").popover();
|
||||||
|
});
|
||||||
|
');
|
||||||
?>
|
?>
|
9
web/css/admin-system.css
Normal file
9
web/css/admin-system.css
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
.custom-popover {
|
||||||
|
--bs-popover-max-width: 200px;
|
||||||
|
--bs-popover-border-color: rgb(113,44,249);
|
||||||
|
--bs-popover-header-bg: rgb(113,44,249);
|
||||||
|
--bs-popover-header-color: var(--bs-white);
|
||||||
|
--bs-popover-header-padding-y: .1rem;
|
||||||
|
--bs-popover-body-padding-x: 1rem;
|
||||||
|
--bs-popover-body-padding-y: .5rem;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user