Initial commit (code only without large binaries)

This commit is contained in:
robin
2026-02-15 18:58:44 +08:00
commit 35df75498f
9442 changed files with 1495866 additions and 0 deletions

View File

@@ -0,0 +1,5 @@
.feature-boxes .checkbox {
margin-right: 1em;
margin-bottom: 0.5em;
}
/*# sourceMappingURL=index.css.map */

View File

@@ -0,0 +1 @@
{"version":3,"sources":["index.less"],"names":[],"mappings":"AAAA,cACC;EACC,iBAAA;EACA,oBAAA","file":"index.css"}

View File

@@ -0,0 +1,106 @@
{$layout}
{$template "/left_menu_top"}
<div class="right-box without-tabbar">
<form class="ui form" data-tea-action="$" data-tea-success="success">
<csrf-token></csrf-token>
<table class="ui table definition selectable">
<tr>
<td class="title">默认部署集群 *</td>
<td>
<ns-cluster-combo-box name="defaultClusterId" :v-cluster-id="config.defaultClusterId" @change="changeClusterId"></ns-cluster-combo-box>
<p class="comment">
用户创建域名后默认部署到的集群。<span class="red" v-if="config.defaultClusterId == 0">只有设置了默认部署集群,用户才可以添加域名。</span>
</p>
</td>
</tr>
<tr v-if="defaultClusterId > 0 && !clusterIdUpdating">
<td>DNS主机域名</td>
<td>
<span v-if="clusterHosts.length > 0">
<span v-for="clusterHost in clusterHosts" class="ui label basic small">{{clusterHost}}</span>
</span>
<a :href="'/ns/clusters/cluster/settings?clusterId=' + defaultClusterId" v-else class="red"><span class="red">只有设置了DNS主机域名后用户才可以添加域名<span style="border-bottom: 1px #db2828 dashed">点此添加</span></span></a>
</td>
</tr>
</table>
<h4>用户域名校验</h4>
<table class="ui table definition selectable">
<tr>
<td class="title">启用用户域名校验</td>
<td>
<checkbox name="domainValidationIsOn" v-model="config.domainValidation.isOn"></checkbox>
<p class="comment">选中后,表示用户添加的域名需要校验所有权;如果你选择了不启用域名校验,则系统会允许用户添加任何域名,从而可能会导致不同用户之间的域名冲突。</p>
</td>
</tr>
<tr v-show="config.domainValidation.isOn">
<td>域名解析服务器 <tip-icon content="校验域名NS记录需要的域名解析服务器地址通常可以不用填写默认使用API节点服务器上设置的域名解析服务器地址。"></tip-icon></td>
<td>
<dns-resolvers-config-box v-model="config.domainValidation.resolvers" name="domainValidationResolversJSON"></dns-resolvers-config-box>
</td>
</tr>
</table>
<h4>默认功能设置 &nbsp; <a href="/ns/plans" style="font-size: 0.8em">[套餐设置]</a> </h4>
<table class="ui table definition selectable">
<tr>
<td class="title">支持线路</td>
<td>
<div class="feature-boxes">
<checkbox name="supportCountryRoutes" v-model="config.defaultPlanConfig.supportCountryRoutes">支持全球线路</checkbox>
<checkbox name="supportChinaProvinceRoutes" v-model="config.defaultPlanConfig.supportChinaProvinceRoutes">支持国内省份线路</checkbox>
<checkbox name="supportISPRoutes" v-model="config.defaultPlanConfig.supportISPRoutes">支持ISP运营商线路</checkbox>
<checkbox name="supportAgentRoutes" v-model="config.defaultPlanConfig.supportAgentRoutes">支持搜索引擎线路</checkbox>
<checkbox name="supportPublicRoutes" v-model="config.defaultPlanConfig.supportPublicRoutes">支持官方公用线路<tip-icon content="官方公用线路即当前系统管理员创建的公用的线路。"></tip-icon></checkbox>
</div>
</td>
</tr>
<tr>
<td>支持健康检查</td>
<td>
<checkbox name="supportHealthCheck" v-model="config.defaultPlanConfig.supportHealthCheck"></checkbox>
<p class="comment">支持对A/AAAA记录设置健康检查。</p>
</td>
</tr>
<tr>
<td>最小TTL</td>
<td>
<input type="text" name="minTTL" maxlength="6" v-model="config.defaultPlanConfig.minTTL"/>
<p class="comment">0表示不限制。</p>
</td>
</tr>
<tr>
<td>域名数量限制</td>
<td>
<input type="text" name="maxDomains" maxlength="6" v-model="config.defaultPlanConfig.maxDomains"/>
<p class="comment">0表示不限制。</p>
</td>
</tr>
<tr>
<td>单域名记录数量限制</td>
<td>
<input type="text" name="maxRecordsPerDomain" maxlength="6" v-model="config.defaultPlanConfig.maxRecordsPerDomain"/>
<p class="comment">0表示不限制。</p>
</td>
</tr>
<tr>
<td>单记录负载均衡条数限制</td>
<td>
<input type="text" name="maxLoadBalanceRecordsPerRecord" maxlength="6" v-model="config.defaultPlanConfig.maxLoadBalanceRecordsPerRecord"/>
<p class="comment">0表示不限制。</p>
</td>
</tr>
<tr>
<td>自定义线路数量限制</td>
<td>
<input type="text" name="maxCustomRoutes" value="" maxlength="6" v-model="config.defaultPlanConfig.maxCustomRoutes"/>
<p class="comment">0表示不限制。</p>
</td>
</tr>
</table>
<submit-btn></submit-btn>
</form>
</div>

View File

@@ -0,0 +1,23 @@
Tea.context(function () {
this.success = NotifyReloadSuccess("保存成功")
this.defaultClusterId = this.config.defaultClusterId
this.clusterIdUpdating = false
this.changeClusterId = function (clusterId) {
this.clusterIdUpdating = true
this.clusterHosts = []
this.defaultClusterId = clusterId
this.$post(".clusterHosts")
.params({
clusterId: clusterId
})
.success(function (resp) {
this.clusterHosts = resp.data.hosts
})
.done(function () {
this.clusterIdUpdating = false
})
}
})

View File

@@ -0,0 +1,6 @@
.feature-boxes {
.checkbox {
margin-right: 1em;
margin-bottom: 0.5em;
}
}