diff --git a/frontend/src/api/modules/setting.ts b/frontend/src/api/modules/setting.ts index 8594646ab..d9ecd3137 100644 --- a/frontend/src/api/modules/setting.ts +++ b/frontend/src/api/modules/setting.ts @@ -45,6 +45,7 @@ export const updateProxy = (params: Setting.ProxyUpdate) => { if (request.proxyPasswd) { request.proxyPasswd = Base64.encode(request.proxyPasswd); } + request.proxyType = request.proxyType === 'close' ? '' : request.proxyType; return http.post(`/settings/proxy/update`, request); }; diff --git a/frontend/src/views/setting/panel/proxy/index.vue b/frontend/src/views/setting/panel/proxy/index.vue index bdee3a1c7..4c17bd1b8 100644 --- a/frontend/src/views/setting/panel/proxy/index.vue +++ b/frontend/src/views/setting/panel/proxy/index.vue @@ -25,7 +25,7 @@ - + @@ -80,6 +80,7 @@ const { isProductPro } = storeToRefs(globalStore); const formRef = ref(); const rules = reactive({ + proxyType: [Rules.requiredSelect], proxyUrl: [Rules.noSpace, Rules.requiredInput], proxyPortItem: [Rules.port], }); @@ -107,7 +108,7 @@ interface DialogProps { } const acceptParams = (params: DialogProps): void => { form.proxyUrl = params.url || '127.0.0.1'; - form.proxyType = params.type; + form.proxyType = params.type || 'close'; form.proxyPortItem = params.port ? Number(params.port) : 7890; form.proxyUser = params.user; form.proxyPasswd = params.passwd; @@ -119,7 +120,7 @@ const submitChangePassword = async (formEl: FormInstance | undefined) => { if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return; - if (!form.proxyType) { + if (form.proxyType === '' || form.proxyType === 'close') { form.proxyUrl = ''; form.proxyPort = ''; form.proxyUser = '';