From 4a329764830bed8e388f0a3141f0db93daabaeb8 Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Tue, 23 Jul 2024 12:37:12 +0800 Subject: [PATCH] fix: proxy check --- src/main/index.ts | 2 +- src/preload/index.d.ts | 2 +- src/renderer/src/pages/settings/GeneralSettings.tsx | 2 +- src/renderer/src/services/api.ts | 8 +++----- src/renderer/src/utils/index.ts | 7 +------ 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/main/index.ts b/src/main/index.ts index 493d3e0c..819d6249 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -102,7 +102,7 @@ app.whenReady().then(() => { }) ipcMain.handle('set-proxy', (_, proxy: string) => { - session.defaultSession.setProxy({ proxyRules: proxy }) + session.defaultSession.setProxy(proxy ? { proxyRules: proxy } : {}) }) // 触发检查更新(此方法用于被渲染线程调用,例如页面点击检查更新按钮来调用此方法) diff --git a/src/preload/index.d.ts b/src/preload/index.d.ts index 979e601b..fbb92686 100644 --- a/src/preload/index.d.ts +++ b/src/preload/index.d.ts @@ -10,7 +10,7 @@ declare global { }> checkForUpdate: () => void openWebsite: (url: string) => void - setProxy: (proxy: string) => void + setProxy: (proxy: string | undefined) => void } } } diff --git a/src/renderer/src/pages/settings/GeneralSettings.tsx b/src/renderer/src/pages/settings/GeneralSettings.tsx index 7b96191f..25aeb109 100644 --- a/src/renderer/src/pages/settings/GeneralSettings.tsx +++ b/src/renderer/src/pages/settings/GeneralSettings.tsx @@ -27,7 +27,7 @@ const GeneralSettings: FC = () => { } const onSetProxyUrl = () => { - if (!proxyUrl || !isValidProxyUrl(proxyUrl)) { + if (proxyUrl && !isValidProxyUrl(proxyUrl)) { window.message.error({ content: t('message.error.invalid.proxy.url'), key: 'proxy-error' }) return } diff --git a/src/renderer/src/services/api.ts b/src/renderer/src/services/api.ts index 5539b5a5..6d20bb76 100644 --- a/src/renderer/src/services/api.ts +++ b/src/renderer/src/services/api.ts @@ -2,7 +2,7 @@ import i18n from '@renderer/i18n' import store from '@renderer/store' import { setGenerating } from '@renderer/store/runtime' import { Assistant, Message, Provider, Topic } from '@renderer/types' -import { getErrorMessage, uuid } from '@renderer/utils' +import { uuid } from '@renderer/utils' import dayjs from 'dayjs' import { getAssistantProvider, getDefaultModel, getProviderByModel, getTopNamingModel } from './assistant' import { EVENT_NAMES, EventEmitter } from './event' @@ -92,15 +92,13 @@ export async function checkApi(provider: Provider) { const providerSdk = new ProviderSDK(provider) - const { valid, error } = await providerSdk.check() + const { valid } = await providerSdk.check() window.message[valid ? 'success' : 'error']({ key: 'api-check', style: { marginTop: '3vh' }, duration: valid ? 2 : 8, - content: valid - ? i18n.t('message.api.connection.success') - : i18n.t('message.api.connection.failed') + ' : ' + getErrorMessage(error) + content: valid ? i18n.t('message.api.connection.success') : i18n.t('message.api.connection.failed') }) return valid diff --git a/src/renderer/src/utils/index.ts b/src/renderer/src/utils/index.ts index fb409da0..c98b8e79 100644 --- a/src/renderer/src/utils/index.ts +++ b/src/renderer/src/utils/index.ts @@ -206,10 +206,5 @@ export const capitalizeFirstLetter = (str: string) => { // is valid proxy url export const isValidProxyUrl = (url: string) => { - try { - new URL(url) - return true - } catch (error) { - return false - } + return url.includes('://') }