前端页面

This commit is contained in:
robin
2026-02-24 11:33:44 +08:00
parent f3af234308
commit 60dc87e0f2
141 changed files with 6845 additions and 133 deletions

View File

@@ -0,0 +1,121 @@
{$layout}
{$template "menu"}
<style>
.httpdns-policy-grid {
margin-top: 0 !important;
}
.httpdns-policy-grid .left-nav-column {
max-width: 220px;
}
.httpdns-policy-grid .right-form-column {
padding-left: .3em !important;
}
.httpdns-policy-menu .item {
padding-top: .8em !important;
padding-bottom: .8em !important;
}
.httpdns-policy-note.comment {
color: #8f9aa6 !important;
font-size: 12px;
margin-top: .45em !important;
}
.httpdns-inline-field {
display: inline-flex;
align-items: center;
gap: .45em;
}
.httpdns-inline-field input {
margin: 0 !important;
}
.httpdns-inline-field .httpdns-unit {
color: #333;
min-width: 2em;
display: inline-block;
text-align: left;
}
.httpdns-inline-hint {
color: #8f9aa6;
margin-left: .35em;
}
.httpdns-unit-input {
display: inline-flex !important;
align-items: stretch !important;
}
.httpdns-unit-input .label {
min-width: 3em;
text-align: center;
}
</style>
<div class="ui margin"></div>
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<div class="ui stackable grid httpdns-policy-grid">
<div class="three wide computer four wide tablet sixteen wide mobile column left-nav-column">
<div class="ui fluid vertical pointing menu httpdns-policy-menu">
<a href="" class="item" :class="{active: activeSection == 'user'}" @click.prevent="activeSection='user'">用户设置</a>
<a href="" class="item" :class="{active: activeSection == 'basic'}" @click.prevent="activeSection='basic'">基础默认</a>
</div>
</div>
<div class="thirteen wide computer twelve wide tablet sixteen wide mobile column right-form-column">
<table class="ui table definition selectable" v-show="activeSection == 'user'">
<tr>
<td class="title">默认部署集群</td>
<td>
<select name="defaultClusterId" class="ui dropdown auto-width" v-model="policies.defaultClusterId">
<option v-for="cluster in availableClusters" :value="cluster.id">{{cluster.name}}</option>
</select>
<p class="comment httpdns-policy-note">用户新建应用时默认落到此集群。</p>
</td>
</tr>
<tr>
<td class="title">启用用户域名校验</td>
<td>
<checkbox name="enableUserDomainVerify" value="1" v-model="policies.enableUserDomainVerify"></checkbox>
<p class="comment httpdns-policy-note">开启后,用户添加域名需要通过归属校验。</p>
</td>
</tr>
</table>
<table class="ui table definition selectable" v-show="activeSection == 'basic'">
<tr>
<td class="title">SNI 防护配置</td>
<td>
<span class="green">隐匿 SNI</span>
<p class="comment httpdns-policy-note">当前统一采用隐匿 SNI 策略,避免在握手阶段暴露业务域名。</p>
</td>
</tr>
<tr>
<td class="title">全局默认解析 TTL</td>
<td>
<div class="httpdns-inline-field">
<div class="ui right labeled input httpdns-unit-input" style="width:11em;">
<input type="text" name="defaultTTL" maxlength="8" v-model="policies.defaultTTL" />
<div class="ui basic label"></div>
</div>
</div>
<p class="comment httpdns-policy-note">建议 30~120 秒,兼顾缓存命中与切换速度。</p>
</td>
</tr>
<tr>
<td class="title">全局降级超时</td>
<td>
<div class="httpdns-inline-field">
<div class="ui right labeled input httpdns-unit-input" style="width:11em;">
<input type="text" name="defaultFallbackMs" maxlength="8" v-model="policies.defaultFallbackMs" />
<div class="ui basic label">毫秒</div>
</div>
</div>
<p class="comment httpdns-policy-note">超时后可走降级解析流程,建议 200~800ms。</p>
</td>
</tr>
</table>
<submit-btn></submit-btn>
</div>
</div>
</form>