mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-14 20:30:25 +08:00
服务支持fastcgi;路径规则支持匹配后缀
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
{$layout "layout_popup"}
|
||||
|
||||
<h3>添加Fastcgi服务</h3>
|
||||
<form class="ui form" data-tea-action="$" data-tea-success="success">
|
||||
<csrf-token></csrf-token>
|
||||
|
||||
<input type="hidden" name="paramsJSON" :value="JSON.stringify(params)"/>
|
||||
|
||||
<table class="ui table definition selectable">
|
||||
<tr>
|
||||
<td class="title">Fastcgi地址</td>
|
||||
<td>
|
||||
<input type="text" name="address" placeholder="比如 127.0.0.1:9000" maxlength="100" style="width:14em" ref="focus"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>自定义参数集</td>
|
||||
<td>
|
||||
<div v-for="(param, index) in params">
|
||||
<div class="ui field" style="margin:0" v-if="param.nameZh.length > 0"><label>{{param.nameZh}}:</label></div>
|
||||
<div class="ui fields inline" >
|
||||
<div class="ui field">
|
||||
<input type="text" name="paramNames" placeholder="参数名" v-model="param.name" style="width:12em" />
|
||||
</div>
|
||||
<div class="ui field">
|
||||
<input type="text" name="paramValues" placeholder="参数值" v-model="param.value" style="width:16em"/>
|
||||
</div>
|
||||
<div class="ui field" style="padding:0">
|
||||
<a href="" title="删除" @click.prevent="removeParam(index)"><i class="ui icon remove"></i> </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="comment" v-if="params.length > 0">可以在参数值中使用一些变量<a href="http://teaos.cn/doc/proxy/Fastcgi.md#%E5%8F%82%E6%95%B0%E5%8F%98%E9%87%8F" target="_blank">点这里查看</a> 。</p>
|
||||
|
||||
<button class="ui button tiny" type="button" @click.prevent="addParam()">+</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<more-options-indicator></more-options-indicator>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody v-show="moreOptionsVisible">
|
||||
<tr>
|
||||
<td>读取超时时间</td>
|
||||
<td>
|
||||
<div class="ui right labeled input" style="width:7em">
|
||||
<input type="number" name="readTimeout" maxlength="10" placeholder="比如 30"/>
|
||||
<span class="ui basic label">秒</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>连接池尺寸</td>
|
||||
<td>
|
||||
<input type="text" name="poolSize" value="0" maxlength="4" style="width:7em"/>
|
||||
<p class="comment">0表示不限制,通常可以设置为CPU数量的两倍</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PATH_INFO匹配</td>
|
||||
<td>
|
||||
<input type="text" name="pathInfoPattern" maxlength="100"/>
|
||||
<p class="comment">匹配PATH_INFO的正则表达式,用括号表示匹配的内容,如果只有一个匹配括号表示第一个括号为${fastcgi.pathInfo}值;如果有两个或两个以上的匹配括号,则第一个表示匹配的是${fastcgi.filename},第二个匹配的是${fastcgi.pathInfo},比如(\w+\.php)(.+)$。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>是否启用</td>
|
||||
<td>
|
||||
<checkbox name="isOn" value="1" checked="checked"></checkbox>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<submit-btn></submit-btn>
|
||||
</form>
|
||||
@@ -0,0 +1,29 @@
|
||||
Tea.context(function () {
|
||||
this.params = [
|
||||
{
|
||||
"name": "DOCUMENT_ROOT",
|
||||
"value": "",
|
||||
"nameZh": "文档目录"
|
||||
},
|
||||
{
|
||||
"name": "SCRIPT_FILENAME",
|
||||
"value": "",
|
||||
"nameZh": "脚本文件"
|
||||
}
|
||||
]
|
||||
|
||||
this.addParam = function () {
|
||||
this.params.push({
|
||||
"name": "",
|
||||
"value": "",
|
||||
"nameZh": ""
|
||||
})
|
||||
this.$delay(function () {
|
||||
this.$find("form input[name='paramNames']").last().focus()
|
||||
})
|
||||
}
|
||||
|
||||
this.removeParam = function (index) {
|
||||
this.params.$remove(index)
|
||||
}
|
||||
})
|
||||
@@ -0,0 +1,11 @@
|
||||
{$layout}
|
||||
|
||||
{$template "/left_menu"}
|
||||
|
||||
<div class="right-box">
|
||||
<form method="post" class="ui form" data-tea-action="$" data-tea-success="success">
|
||||
<input type="hidden" name="webId" :value="webId"/>
|
||||
<http-fastcgi-box :v-fastcgi-ref="fastcgiRef" :v-fastcgi-configs="fastcgiConfigs"></http-fastcgi-box>
|
||||
<submit-btn></submit-btn>
|
||||
</form>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
Tea.context(function () {
|
||||
this.success = NotifyReloadSuccess("保存成功")
|
||||
})
|
||||
@@ -0,0 +1,79 @@
|
||||
{$layout "layout_popup"}
|
||||
|
||||
<h3>修改Fastcgi服务</h3>
|
||||
<form class="ui form" data-tea-action="$" data-tea-success="success">
|
||||
<csrf-token></csrf-token>
|
||||
|
||||
<input type="hidden" name="fastcgiId" :value="fastcgi.id"/>
|
||||
<input type="hidden" name="paramsJSON" :value="JSON.stringify(params)"/>
|
||||
|
||||
<table class="ui table definition selectable">
|
||||
<tr>
|
||||
<td class="title">Fastcgi地址</td>
|
||||
<td>
|
||||
<input type="text" name="address" placeholder="比如 127.0.0.1:9000" maxlength="100" style="width:14em" ref="focus" v-model="fastcgi.address"/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>自定义参数集</td>
|
||||
<td>
|
||||
<div v-for="(param, index) in params">
|
||||
<div class="ui field" style="margin:0" v-if="param.nameZh != null && param.nameZh.length > 0"><label>{{param.nameZh}}:</label></div>
|
||||
<div class="ui fields inline" >
|
||||
<div class="ui field">
|
||||
<input type="text" name="paramNames" placeholder="参数名" v-model="param.name" style="width:12em" />
|
||||
</div>
|
||||
<div class="ui field">
|
||||
<input type="text" name="paramValues" placeholder="参数值" v-model="param.value" style="width:16em"/>
|
||||
</div>
|
||||
<div class="ui field" style="padding:0">
|
||||
<a href="" title="删除" @click.prevent="removeParam(index)"><i class="ui icon remove"></i> </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p class="comment" v-if="params.length > 0">可以在参数值中使用一些变量<a href="http://teaos.cn/doc/proxy/Fastcgi.md#%E5%8F%82%E6%95%B0%E5%8F%98%E9%87%8F" target="_blank">点这里查看</a> 。</p>
|
||||
|
||||
<button class="ui button tiny" type="button" @click.prevent="addParam()">+</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<more-options-indicator></more-options-indicator>
|
||||
</td>
|
||||
</tr>
|
||||
<tbody v-show="moreOptionsVisible">
|
||||
<tr>
|
||||
<td>读取超时时间</td>
|
||||
<td>
|
||||
<div class="ui right labeled input" style="width:7em">
|
||||
<input type="number" name="readTimeout" maxlength="10" placeholder="比如 30" v-model="fastcgi.readTimeout.count"/>
|
||||
<span class="ui basic label">秒</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>连接池尺寸</td>
|
||||
<td>
|
||||
<input type="text" name="poolSize" value="0" maxlength="4" style="width:7em" v-model="fastcgi.poolSize"/>
|
||||
<p class="comment">0表示不限制,通常可以设置为CPU数量的两倍</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>PATH_INFO匹配</td>
|
||||
<td>
|
||||
<input type="text" name="pathInfoPattern" maxlength="100" v-model="fastcgi.pathInfoPattern"/>
|
||||
<p class="comment">匹配PATH_INFO的正则表达式,用括号表示匹配的内容,如果只有一个匹配括号表示第一个括号为${fastcgi.pathInfo}值;如果有两个或两个以上的匹配括号,则第一个表示匹配的是${fastcgi.filename},第二个匹配的是${fastcgi.pathInfo},比如(\w+\.php)(.+)$。</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>是否启用</td>
|
||||
<td>
|
||||
<checkbox name="isOn" value="1" v-model="fastcgi.isOn"></checkbox>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<submit-btn></submit-btn>
|
||||
</form>
|
||||
@@ -0,0 +1,33 @@
|
||||
Tea.context(function () {
|
||||
this.params = this.fastcgi.params
|
||||
if (this.params == null) {
|
||||
this.params = []
|
||||
} else {
|
||||
this.params.forEach(function (v) {
|
||||
switch (v.name) {
|
||||
case "DOCUMENT_ROOT":
|
||||
v.nameZh = "文档目录"
|
||||
break;
|
||||
case "SCRIPT_FILENAME":
|
||||
v.nameZh = "脚本文件"
|
||||
break
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
this.addParam = function () {
|
||||
this.params.push({
|
||||
"name": "",
|
||||
"value": "",
|
||||
"nameZh": ""
|
||||
})
|
||||
this.$delay(function () {
|
||||
this.$find("form input[name='paramNames']").last().focus()
|
||||
})
|
||||
}
|
||||
|
||||
this.removeParam = function (index) {
|
||||
this.params.$remove(index)
|
||||
}
|
||||
})
|
||||
Reference in New Issue
Block a user