mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-28 23:40:26 +08:00
服务 -- 缓存设置中增加清理和预热功能
This commit is contained in:
5
web/views/@default/servers/server/settings/cache/@menu.html
vendored
Normal file
5
web/views/@default/servers/server/settings/cache/@menu.html
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
<first-menu>
|
||||
<menu-item :href="'.?serverId=' + serverId" code="index">设置</menu-item>
|
||||
<menu-item :href="'.purge?serverId=' + serverId" code="purge">清理</menu-item>
|
||||
<menu-item :href="'.preheat?serverId=' + serverId" code="preheat">预热</menu-item>
|
||||
</first-menu>
|
||||
@@ -1,8 +1,9 @@
|
||||
{$layout}
|
||||
|
||||
{$template "/left_menu"}
|
||||
|
||||
<div class="right-box">
|
||||
{$template "menu"}
|
||||
|
||||
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
|
||||
<input type="hidden" name="webId" :value="webId"/>
|
||||
<http-cache-config-box :v-cache-config="cacheConfig" :v-cache-policy="cachePolicy"></http-cache-config-box>
|
||||
|
||||
39
web/views/@default/servers/server/settings/cache/preheat.html
vendored
Normal file
39
web/views/@default/servers/server/settings/cache/preheat.html
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
{$layout}
|
||||
{$template "/left_menu"}
|
||||
|
||||
<div class="right-box">
|
||||
{$template "menu"}
|
||||
|
||||
<div class="margin"></div>
|
||||
<div v-show="webConfig.cache == null || !webConfig.cache.isOn">
|
||||
<p class="comment">没有开启缓存,不需要清理。</p>
|
||||
</div>
|
||||
<div v-show="webConfig.cache != null && webConfig.cache.isOn">
|
||||
<p class="comment">可以在这里批量预热一组Key。</p>
|
||||
<form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="3600">
|
||||
<input type="hidden" name="serverId" :value="serverId"/>
|
||||
<input type="hidden" name="webId" :value="webId"/>
|
||||
<table class="ui table definition selectable">
|
||||
<tr>
|
||||
<td>Key列表</td>
|
||||
<td>
|
||||
<textarea name="keys" rows="10" ref="focus"></textarea>
|
||||
<p class="comment">每行一个Key。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="title">操作结果</td>
|
||||
<td>
|
||||
<div v-if="isRequesting">数据发送中...</div>
|
||||
<span class="red" v-if="!isRequesting && !isOk && message.length > 0">失败:{{message}}</span>
|
||||
<div v-if="!isRequesting && isOk">
|
||||
<span v-if="results.length == 0" class="red">此集群下没有任何可用的节点。</span>
|
||||
<div class="ui label tiny" v-for="one in results" :class="{green:one.isOk, red:!one.isOk}" style="margin-bottom: 0.5em">{{one.nodeName}}:{{one.message}}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<submit-btn v-if="!isRequesting">提交</submit-btn>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
26
web/views/@default/servers/server/settings/cache/preheat.js
vendored
Normal file
26
web/views/@default/servers/server/settings/cache/preheat.js
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
Tea.context(function () {
|
||||
this.isRequesting = false
|
||||
this.isOk = false
|
||||
this.message = ""
|
||||
this.results = []
|
||||
|
||||
this.before = function () {
|
||||
this.isRequesting = true
|
||||
this.isOk = false
|
||||
this.message = ""
|
||||
this.results = []
|
||||
}
|
||||
|
||||
this.success = function (resp) {
|
||||
this.isOk = true
|
||||
this.results = resp.data.results
|
||||
}
|
||||
|
||||
this.fail = function (resp) {
|
||||
this.message = resp.message
|
||||
}
|
||||
|
||||
this.done = function () {
|
||||
this.isRequesting = false
|
||||
}
|
||||
});
|
||||
51
web/views/@default/servers/server/settings/cache/purge.html
vendored
Normal file
51
web/views/@default/servers/server/settings/cache/purge.html
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
{$layout}
|
||||
{$template "/left_menu"}
|
||||
|
||||
<div class="right-box">
|
||||
{$template "menu"}
|
||||
|
||||
<div class="margin"></div>
|
||||
<div v-show="webConfig.cache == null || !webConfig.cache.isOn">
|
||||
<p class="comment">没有开启缓存,不需要清理。</p>
|
||||
</div>
|
||||
<div v-show="webConfig.cache != null && webConfig.cache.isOn">
|
||||
<p class="comment">可以在这里批量删除一组Key。</p>
|
||||
|
||||
<form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="300">
|
||||
<input type="hidden" name="serverId" :value="serverId"/>
|
||||
<input type="hidden" name="webId" :value="webId"/>
|
||||
<table class="ui table definition selectable">
|
||||
<tr>
|
||||
<td class="title">操作类型</td>
|
||||
<td>
|
||||
<radio name="type" :v-value="'key'" v-model="type">根据Key</radio>
|
||||
<radio name="type" :v-value="'prefix'" v-model="type">根据前缀</radio>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<span v-if="type == 'key'">Key列表</span>
|
||||
<span v-if="type == 'prefix'">Key前缀列表</span>
|
||||
</td>
|
||||
<td>
|
||||
<textarea name="keys" rows="10" ref="focus"></textarea>
|
||||
<p class="comment" v-if="type == 'key'">每行一个Key,比如是一个完整的URL<code-label>https://example.com/hello/world.html</code-label>。</p>
|
||||
<p class="comment" v-if="type == 'prefix'">每行一个Key前缀,比如是一个URL前缀<code-label>https://example.com/hello/</code-label>。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>操作结果</td>
|
||||
<td>
|
||||
<div v-if="isRequesting">数据发送中...</div>
|
||||
<span class="red" v-if="!isRequesting && !isOk && message.length > 0">失败:{{message}}</span>
|
||||
<div v-if="!isRequesting && isOk">
|
||||
<span v-if="results.length == 0" class="red">此集群下没有任何可用的节点。</span>
|
||||
<div class="ui label tiny" v-for="one in results" :class="{green:one.isOk, red:!one.isOk}" style="margin-bottom: 0.5em">{{one.nodeName}}:{{one.message}}</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<submit-btn v-if="!isRequesting">提交</submit-btn>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
31
web/views/@default/servers/server/settings/cache/purge.js
vendored
Normal file
31
web/views/@default/servers/server/settings/cache/purge.js
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
Tea.context(function () {
|
||||
this.isRequesting = false
|
||||
this.isOk = false
|
||||
this.message = ""
|
||||
this.results = []
|
||||
|
||||
this.before = function () {
|
||||
this.isRequesting = true
|
||||
this.isOk = false
|
||||
this.message = ""
|
||||
this.results = []
|
||||
}
|
||||
|
||||
this.success = function (resp) {
|
||||
this.isOk = true
|
||||
this.results = resp.data.results
|
||||
}
|
||||
|
||||
this.fail = function (resp) {
|
||||
this.message = resp.message
|
||||
}
|
||||
|
||||
this.done = function () {
|
||||
this.isRequesting = false
|
||||
}
|
||||
|
||||
/**
|
||||
* 操作类型
|
||||
*/
|
||||
this.type = "key" // key | prefix
|
||||
})
|
||||
Reference in New Issue
Block a user