Files
EdgeAdmin/web/public/js/components/server/http-cache-config-box.js

63 lines
1.9 KiB
JavaScript
Raw Normal View History

2020-09-20 16:28:16 +08:00
Vue.component("http-cache-config-box", {
props: ["v-cache-config", "v-is-location", "v-is-group", "v-cache-policy"],
2020-09-20 16:28:16 +08:00
data: function () {
let cacheConfig = this.vCacheConfig
if (cacheConfig == null) {
cacheConfig = {
2020-09-23 18:43:38 +08:00
isPrior: false,
2020-09-20 16:28:16 +08:00
isOn: false,
addStatusHeader: true,
2020-10-04 20:38:27 +08:00
cacheRefs: []
2020-09-20 16:28:16 +08:00
}
}
return {
cacheConfig: cacheConfig
}
},
2020-09-20 20:12:43 +08:00
methods: {
2020-10-04 20:38:27 +08:00
isOn: function () {
return ((!this.vIsLocation && !this.vIsGroup) || this.cacheConfig.isPrior) && this.cacheConfig.isOn
2020-09-20 20:12:43 +08:00
}
},
2020-09-20 16:28:16 +08:00
template: `<div>
<input type="hidden" name="cacheJSON" :value="JSON.stringify(cacheConfig)"/>
<table class="ui table definition selectable">
<prior-checkbox :v-config="cacheConfig" v-if="vIsLocation || vIsGroup"></prior-checkbox>
<tbody v-show="(!vIsLocation && !vIsGroup) || cacheConfig.isPrior">
<tr v-show="!vIsGroup">
<td>缓存策略</td>
<td>
2020-12-23 19:44:10 +08:00
<div v-if="vCachePolicy != null">{{vCachePolicy.name}} <link-icon :href="'/servers/components/cache/policy?cachePolicyId=' + vCachePolicy.id"></link-icon>
<p class="comment">使用当前服务所在集群的设置</p>
</div>
<span v-else class="red">当前集群没有设置缓存策略当前配置无法生效</span>
</td>
</tr>
2020-09-23 18:43:38 +08:00
<tr>
<td class="title">是否开启缓存</td>
<td>
<div class="ui checkbox">
<input type="checkbox" v-model="cacheConfig.isOn"/>
<label></label>
</div>
</td>
</tr>
2020-09-20 16:28:16 +08:00
</tbody>
<tbody v-show="isOn()">
<tr>
<td>自动添加X-Cache Header</td>
<td>
<checkbox v-model="cacheConfig.addStatusHeader"></checkbox>
<p class="comment">选中后自动在响应Header中增加<code-label>X-Cache: BYPASS|MISS|HIT</code-label></p>
</td>
</tr>
</tbody>
2020-09-20 16:28:16 +08:00
</table>
2020-10-04 20:38:27 +08:00
<div v-show="isOn()">
2021-06-08 22:58:39 +08:00
<h4>缓存条件</h4>
<http-cache-refs-config-box :v-cache-config="cacheConfig" :v-cache-refs="cacheConfig.cacheRefs" ></http-cache-refs-config-box>
2020-10-04 20:38:27 +08:00
</div>
2020-09-20 16:28:16 +08:00
<div class="margin"></div>
</div>`
})