diff --git a/client/src/pages/api/openapi/plugin/openaiEmbedding.ts b/client/src/pages/api/openapi/plugin/openaiEmbedding.ts index 0c7e7a097..1daa0a860 100644 --- a/client/src/pages/api/openapi/plugin/openaiEmbedding.ts +++ b/client/src/pages/api/openapi/plugin/openaiEmbedding.ts @@ -39,7 +39,12 @@ export async function openaiEmbedding({ input, mustPay = false }: { userId: string; mustPay?: boolean } & Props) { - const apiKey = getSystemOpenAiKey(); + const { userOpenAiKey, systemAuthKey } = await getApiKey({ + model: 'gpt-3.5-turbo', + userId, + mustPay + }); + const apiKey = userOpenAiKey || systemAuthKey; // 获取 chatAPI const chatAPI = getOpenAIApi(apiKey); @@ -68,7 +73,7 @@ export async function openaiEmbedding({ }); pushGenerateVectorBill({ - isPay: mustPay, + isPay: !userOpenAiKey, userId, text: input.join(''), tokenLen: result.tokenLen diff --git a/client/src/pages/number/index.tsx b/client/src/pages/number/index.tsx index c0c64db70..67ca3298c 100644 --- a/client/src/pages/number/index.tsx +++ b/client/src/pages/number/index.tsx @@ -54,7 +54,6 @@ const NumberSetting = ({ tableType }: { tableType: `${TableEnum}` }) => { { label: '佣金', id: TableEnum.promotion, Component: }, { label: '通知', id: TableEnum.inform, Component: } ]); - const [currentTab, setCurrentTab] = useState(tableType); const router = useRouter(); const { copyData } = useCopyData(); @@ -84,7 +83,14 @@ const NumberSetting = ({ tableType }: { tableType: `${TableEnum}` }) => { async (data: UserUpdateParams) => { setLoading(true); try { - data.openaiKey && (await authOpenAiKey(data.openaiKey)); + if (data.openaiKey) { + const text = await authOpenAiKey(data.openaiKey); + text && + toast({ + title: text, + status: 'warning' + }); + } await putUserInfo({ openaiKey: data.openaiKey, avatar: data.avatar @@ -95,7 +101,7 @@ const NumberSetting = ({ tableType }: { tableType: `${TableEnum}` }) => { }); reset(data); toast({ - title: '更新成功', + title: '更新数据成功', status: 'success' }); } catch (error) { @@ -195,7 +201,7 @@ const NumberSetting = ({ tableType }: { tableType: `${TableEnum}` }) => { openaiKey: { m={'auto'} w={'200px'} list={tableList.current} - activeId={currentTab} + activeId={tableType} size={'sm'} - onChange={(id: any) => setCurrentTab(id)} + onChange={(id: any) => router.replace(`/number?type=${id}`)} /> {(() => { - const item = tableList.current.find((item) => item.id === currentTab); + const item = tableList.current.find((item) => item.id === tableType); return item ? item.Component : null; })()} diff --git a/client/src/utils/plugin/openai.ts b/client/src/utils/plugin/openai.ts index b39d9a3e5..93a3fb42d 100644 --- a/client/src/utils/plugin/openai.ts +++ b/client/src/utils/plugin/openai.ts @@ -111,16 +111,11 @@ export const authOpenAiKey = async (key: string) => { }) .then((res) => { if (!res.data.access_until) { - return Promise.reject('OpenAI Key 无效,请重试或更换 key'); - } - const keyExpiredTime = dayjs(res.data.access_until * 1000); - const currentTime = dayjs(); - if (keyExpiredTime.isBefore(currentTime)) { - return Promise.reject('OpenAI Key 已过期'); + return Promise.resolve('OpenAI Key 可能无效'); } }) .catch((err) => { console.log(err); - return Promise.reject(err?.response?.data?.error || 'OpenAI 账号无效,请重试或更换 key'); + return Promise.reject(err?.response?.data?.error?.message || 'OpenAI Key 可能无效'); }); };