mirror of
https://github.com/TeaOSLab/EdgeAdmin.git
synced 2025-11-03 12:20:28 +08:00
优化请求脚本配置交互
This commit is contained in:
@@ -10,12 +10,12 @@ Vue.component("http-request-scripts-config-box", {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeInitScript: function (scriptConfig) {
|
||||
this.config.onInitScript = scriptConfig
|
||||
changeInitGroup: function (group) {
|
||||
this.config.initGroup = group
|
||||
this.$forceUpdate()
|
||||
},
|
||||
changeRequestScript: function (scriptConfig) {
|
||||
this.config.onRequestScript = scriptConfig
|
||||
changeRequestGroup: function (group) {
|
||||
this.config.requestGroup = group
|
||||
this.$forceUpdate()
|
||||
}
|
||||
},
|
||||
@@ -25,12 +25,12 @@ Vue.component("http-request-scripts-config-box", {
|
||||
<h4 style="margin-bottom: 0">请求初始化</h4>
|
||||
<p class="comment">在请求刚初始化时调用,此时自定义Header等尚未生效。</p>
|
||||
<div>
|
||||
<script-config-box id="init-script" :v-script-config="config.onInitScript" comment="在接收到客户端请求之后立即调用。预置req、resp变量。" @change="changeInitScript"></script-config-box>
|
||||
<script-group-config-box :v-group="config.initGroup" @change="changeInitGroup"></script-group-config-box>
|
||||
</div>
|
||||
<h4 style="margin-bottom: 0">准备发送请求</h4>
|
||||
<p class="comment">在准备执行请求或者转发请求之前调用,此时自定义Header、源站等已准备好。</p>
|
||||
<div>
|
||||
<script-config-box id="request-script" :v-script-config="config.onRequestScript" comment="在准备好转发客户端请求之前调用。预置req、resp变量。" @change="changeRequestScript"></script-config-box>
|
||||
<script-group-config-box :v-group="config.requestGroup" @change="changeRequestGroup"></script-group-config-box>
|
||||
</div>
|
||||
<div class="margin"></div>
|
||||
</div>`
|
||||
|
||||
38
web/public/js/components/server/script-group-config-box.js
Normal file
38
web/public/js/components/server/script-group-config-box.js
Normal file
@@ -0,0 +1,38 @@
|
||||
Vue.component("script-group-config-box", {
|
||||
props: ["v-group"],
|
||||
data: function () {
|
||||
let group = this.vGroup
|
||||
if (group == null) {
|
||||
group = {
|
||||
isPrior: false,
|
||||
isOn: true,
|
||||
scripts: []
|
||||
}
|
||||
}
|
||||
if (group.scripts == null) {
|
||||
group.scripts = []
|
||||
}
|
||||
|
||||
let script = null
|
||||
if (group.scripts.length > 0) {
|
||||
script = group.scripts[group.scripts.length - 1]
|
||||
}
|
||||
|
||||
return {
|
||||
group: group,
|
||||
script: script
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeScript: function (script) {
|
||||
this.group.scripts = [script] // 目前只支持单个脚本
|
||||
this.change()
|
||||
},
|
||||
change: function () {
|
||||
this.$emit("change", this.group)
|
||||
}
|
||||
},
|
||||
template: `<div>
|
||||
<script-config-box :v-script-config="script" comment="在接收到客户端请求之后立即调用。预置req、resp变量。" @change="changeScript"></script-config-box>
|
||||
</div>`
|
||||
})
|
||||
Reference in New Issue
Block a user