Browse Source

change netproxy

master
godo 6 months ago
parent
commit
5a6908b448
  1. 25
      frontend/src/components/setting/NetProxy.vue

25
frontend/src/components/setting/NetProxy.vue

@ -9,6 +9,8 @@ interface ProxyItem {
domain: string; domain: string;
type: string; type: string;
name: string; name: string;
serverAddr: string;
serverPort: string;
} }
const localKey = "godoos_net_proxy" const localKey = "godoos_net_proxy"
const getProxies = (): ProxyItem[] => { const getProxies = (): ProxyItem[] => {
@ -27,6 +29,8 @@ const proxyData = ref<ProxyItem>({
name: "", name: "",
port: "", port: "",
domain: "", domain: "",
serverAddr: "",
serverPort: "",
}); });
const proxyDialogShow = ref(false); const proxyDialogShow = ref(false);
const isEditing = ref(false); const isEditing = ref(false);
@ -46,7 +50,7 @@ const addProxy = () => {
proxies.value.push({ ...proxyData.value }); proxies.value.push({ ...proxyData.value });
saveProxies(proxies.value); saveProxies(proxies.value);
proxyDialogShow.value = false; proxyDialogShow.value = false;
proxyData.value = { id: Date.now(), port: "", domain: "",type:"http",name:"" }; proxyData.value = { id: Date.now(), port: "", domain: "", type: "http", name: "", serverAddr: "", serverPort: "" };
} }
}; };
@ -68,7 +72,7 @@ const updateProxy = () => {
proxies.value[index] = { ...proxyData.value }; proxies.value[index] = { ...proxyData.value };
saveProxies(proxies.value); saveProxies(proxies.value);
proxyDialogShow.value = false; proxyDialogShow.value = false;
proxyData.value = { id: Date.now(), port: "", domain: "",type:"http",name:"" }; proxyData.value = { id: Date.now(), port: "", domain: "", type: "http", name: "", serverAddr: "", serverPort: "" };
isEditing.value = false; isEditing.value = false;
} }
} }
@ -106,6 +110,14 @@ const proxyRules = {
domain: [ domain: [
{ required: true, message: '代理域名不能为空', trigger: 'blur' }, { required: true, message: '代理域名不能为空', trigger: 'blur' },
{ pattern: /^(https?:\/\/)?(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:\d{1,5})?(\/[^\s]*)?$/, message: '请输入有效的域名格式', trigger: 'blur' } { pattern: /^(https?:\/\/)?(?:[a-zA-Z0-9-]+\.)+[a-zA-Z]{2,}(:\d{1,5})?(\/[^\s]*)?$/, message: '请输入有效的域名格式', trigger: 'blur' }
],
serverAddr: [
{ required: true, message: '服务器地址不能为空', trigger: 'blur' },
{ pattern: /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/, message: '请输入有效的IP地址格式', trigger: 'blur' }
],
serverPort: [
{ required: true, message: '服务器端口不能为空', trigger: 'blur' },
{ pattern: /^(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])$/, message: '请输入有效的服务器端口号(1-65535)', trigger: 'blur' }
] ]
}; };
@ -156,7 +168,8 @@ const prevPage = () => {
<el-form :model="proxyData" :rules="proxyRules" ref="pwdRef"> <el-form :model="proxyData" :rules="proxyRules" ref="pwdRef">
<el-form-item label="代理类型" prop="type"> <el-form-item label="代理类型" prop="type">
<el-select v-model="proxyData.type" placeholder="代理类型"> <el-select v-model="proxyData.type" placeholder="代理类型">
<el-option v-for="type in types" :key="type.value" :label="type.label" :value="type.value" /> <el-option v-for="type in types" :key="type.value" :label="type.label"
:value="type.value" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="代理名称" prop="name"> <el-form-item label="代理名称" prop="name">
@ -169,6 +182,12 @@ const prevPage = () => {
<el-form-item label="代理域名" prop="domain"> <el-form-item label="代理域名" prop="domain">
<el-input v-model="proxyData.domain" /> <el-input v-model="proxyData.domain" />
</el-form-item> </el-form-item>
<el-form-item label="服务器地址" prop="serverAddr">
<el-input v-model="proxyData.serverAddr" />
</el-form-item>
<el-form-item label="服务器端口" prop="serverPort">
<el-input v-model="proxyData.serverPort" />
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" @click="saveProxy" style="margin: 0 auto;"> <el-button type="primary" @click="saveProxy" style="margin: 0 auto;">
确认 确认

Loading…
Cancel
Save