refactor: 小修改

pull/67/head
xiaojunnuo 2020-12-02 15:18:17 +08:00
parent 5fd89d66f6
commit 6a328ecebe
3 changed files with 70 additions and 13 deletions

View File

@ -1,14 +1,11 @@
module.exports = { module.exports = {
name: 'OverWall', name: '梯子',
enabled: true, enabled: false,
server: { server: {
'ow.docmirror.top/_go_over_wall_': true 'ow.docmirror.top/_go_over_wall_': true
}, },
targets: { targets: {
'*facebook.com': true, '*facebook.com': true
'*.fbcdn.net': true,
'*twitter.com': true,
'*youtube.com': true
}, },
pac: { pac: {
enabled: true, enabled: true,

View File

@ -61,7 +61,7 @@ export default {
icon: 'api', icon: 'api',
children: [ children: [
{ title: 'NPM加速', path: '/plugin/node', icon: 'like' }, { title: 'NPM加速', path: '/plugin/node', icon: 'like' },
{ title: '', path: '/plugin/overwall', icon: 'global' } { title: '不好说', path: '/plugin/overwall', icon: 'global' }
] ]
} }
] ]

View File

@ -1,19 +1,20 @@
<template> <template>
<ds-container> <ds-container>
<template slot="header"> <template slot="header">
梯子 Ladder
<span> <span>
<a-button type="primary" @click="openExternal('https://github.com/docmirror/dev-sidecar-doc/blob/main/ow.md')"></a-button>
</span> </span>
</template> </template>
<div v-if="config"> <div v-if="config">
<a-form layout="horizontal"> <a-form layout="horizontal">
<a-form-item label="梯子" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form-item label="Ladder" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-checkbox v-model="config.plugin.overwall.enabled"> <a-checkbox v-model="config.plugin.overwall.enabled">
启用 启用
</a-checkbox> </a-checkbox>
<div>这是什么功能你懂的偷偷的用别声张可以分享给信得过的朋友</div> <div>这是什么功能你懂的偷偷的用别声张(不要看视频流量挺小的)</div>
<div>还有不要看视频流量挺小的</div> <div>建议按右上角说明自建服务端</div>
</a-form-item> </a-form-item>
<a-form-item label="PAC" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form-item label="PAC" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-checkbox v-model="config.plugin.overwall.pac.enabled"> <a-checkbox v-model="config.plugin.overwall.pac.enabled">
@ -38,6 +39,26 @@
<a-button type="danger" icon="minus" @click="deleteTarget(item,index)" /> <a-button type="danger" icon="minus" @click="deleteTarget(item,index)" />
</a-col> </a-col>
</a-row> </a-row>
</div>
</a-form-item>
<a-form-item label="代理服务端" :label-col="labelCol" :wrapper-col="wrapperCol">
<div>
<a-row :gutter="10" style="">
<a-col :span="14">
<span>Nginx二层代理服务端配置</span>
</a-col>
<a-col :span="3">
<a-button type="primary" icon="plus" @click="addServer()" />
</a-col>
</a-row>
<a-row :gutter="10" v-for="(item,index) of servers" :key = 'index'>
<a-col :span="14">
<a-input v-model="item.key"></a-input>
</a-col>
<a-col :span="3">
<a-button type="danger" icon="minus" @click="deleteServer(item,index)" />
</a-col>
</a-row>
</div> </div>
</a-form-item> </a-form-item>
@ -62,7 +83,8 @@ export default {
data () { data () {
return { return {
key: 'plugin.overwall', key: 'plugin.overwall',
targets: undefined targets: undefined,
servers: undefined
} }
}, },
created () { created () {
@ -71,12 +93,23 @@ export default {
mounted () { mounted () {
}, },
methods: { methods: {
openExternal (url) {
this.$api.ipc.openExternal(url)
},
async applyAfter () { async applyAfter () {
if (this.status.server.enabled) { if (this.status.server.enabled) {
return this.$api.server.restart() return this.$api.server.restart()
} }
}, },
ready () { ready () {
this.initTarget()
this.initServer()
},
async applyBefore () {
this.saveTarget()
this.saveServer()
},
initTarget () {
this.targets = [] this.targets = []
const targetsMap = this.config.plugin.overwall.targets const targetsMap = this.config.plugin.overwall.targets
for (const key in targetsMap) { for (const key in targetsMap) {
@ -92,7 +125,7 @@ export default {
addTarget () { addTarget () {
this.targets.unshift({ key: '', value: true }) this.targets.unshift({ key: '', value: true })
}, },
async applyBefore () { saveTarget () {
const map = {} const map = {}
for (const item of this.targets) { for (const item of this.targets) {
if (item.key) { if (item.key) {
@ -100,7 +133,34 @@ export default {
} }
} }
this.config.plugin.overwall.targets = map this.config.plugin.overwall.targets = map
},
initServer () {
this.servers = []
const targetsMap = this.config.plugin.overwall.server
for (const key in targetsMap) {
const value = targetsMap[key]
this.servers.push({
key, value
})
}
},
deleteServer (item, index) {
this.servers.splice(index, 1)
},
addServer () {
this.servers.unshift({ key: '', value: true })
},
saveServer () {
const map = {}
for (const item of this.servers) {
if (item.key) {
map[item.key] = item.value
}
}
this.config.plugin.overwall.server = map
} }
} }
} }
</script> </script>