2020-09-20 16:28:16 +08:00
|
|
|
|
Vue.component("http-cache-config-box", {
|
2020-12-17 15:50:44 +08:00
|
|
|
|
props: ["v-cache-config", "v-is-location", "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,
|
2021-05-12 16:09:40 +08:00
|
|
|
|
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.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">
|
2020-09-23 18:43:38 +08:00
|
|
|
|
<prior-checkbox :v-config="cacheConfig" v-if="vIsLocation"></prior-checkbox>
|
|
|
|
|
|
<tbody v-show="!vIsLocation || cacheConfig.isPrior">
|
2020-12-17 15:50:44 +08:00
|
|
|
|
<tr>
|
|
|
|
|
|
<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>
|
2020-12-17 15:50:44 +08:00
|
|
|
|
<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>
|
2021-05-12 16:09:40 +08:00
|
|
|
|
<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>
|
2021-08-29 09:40:21 +08:00
|
|
|
|
<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>`
|
|
|
|
|
|
})
|