diff --git a/app/client/platforms/openai.ts b/app/client/platforms/openai.ts index b6ea97506f0..62c35b276a3 100644 --- a/app/client/platforms/openai.ts +++ b/app/client/platforms/openai.ts @@ -1,13 +1,13 @@ import { REQUEST_TIMEOUT_MS } from "@/app/constant"; import { useAccessStore, useAppConfig, useChatStore } from "@/app/store"; -import { ChatOptions, getHeaders, LLMApi, LLMUsage } from "../api"; -import Locale from "../../locales"; +import { prettyObject } from "@/app/utils/format"; import { EventStreamContentType, fetchEventSource, } from "@microsoft/fetch-event-source"; -import { prettyObject } from "@/app/utils/format"; +import Locale from "../../locales"; +import { ChatOptions, getHeaders, LLMApi, LLMUsage } from "../api"; export class ChatGPTApi implements LLMApi { public ChatPath = "v1/chat/completions"; @@ -15,7 +15,7 @@ export class ChatGPTApi implements LLMApi { public SubsPath = "dashboard/billing/subscription"; path(path: string): string { - let openaiUrl = useAccessStore.getState().openaiUrl; + let openaiUrl = useAccessStore.getState().openaiUrl(); if (openaiUrl.endsWith("/")) { openaiUrl = openaiUrl.slice(0, openaiUrl.length - 1); } diff --git a/app/components/home.tsx b/app/components/home.tsx index 810c9fa12c8..6d2393f29cb 100644 --- a/app/components/home.tsx +++ b/app/components/home.tsx @@ -2,7 +2,7 @@ require("../polyfill"); -import { useState, useEffect } from "react"; +import { useEffect, useState } from "react"; import styles from "./home.module.scss"; @@ -16,13 +16,13 @@ import { Path, SlotID } from "../constant"; import { ErrorBoundary } from "./error"; import { + Route, HashRouter as Router, Routes, - Route, useLocation, } from "react-router-dom"; -import { SideBar } from "./sidebar"; import { useAppConfig } from "../store/config"; +import { SideBar } from "./sidebar"; export function Loading(props: { noLogo?: boolean }) { return ( @@ -94,7 +94,7 @@ const loadAsyncGoogleFont = () => { const linkEl = document.createElement("link"); linkEl.rel = "stylesheet"; linkEl.href = - "/google-fonts/css2?family=Noto+Sans+SC:wght@300;400;700;900&display=swap"; + "./google-fonts/css2?family=Noto+Sans+SC:wght@300;400;700;900&display=swap"; document.head.appendChild(linkEl); }; diff --git a/app/layout.tsx b/app/layout.tsx index 37f5a9f1437..9c6405da097 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -1,8 +1,8 @@ /* eslint-disable @next/next/no-page-custom-font */ +import { getBuildConfig } from "./config/build"; import "./styles/globals.scss"; -import "./styles/markdown.scss"; import "./styles/highlight.scss"; -import { getBuildConfig } from "./config/build"; +import "./styles/markdown.scss"; const buildConfig = getBuildConfig(); @@ -33,8 +33,9 @@ export default function RootLayout({
- - + + + {children} diff --git a/app/locales/cn.ts b/app/locales/cn.ts index 032df3ab030..a384b55fb49 100644 --- a/app/locales/cn.ts +++ b/app/locales/cn.ts @@ -4,7 +4,7 @@ const cn = { WIP: "该功能仍在开发中……", Error: { Unauthorized: - "访问密码不正确或为空,请前往[设置](/#/settings)页输入正确的访问密码,或者填入你自己的 OpenAI API Key。", + "访问密码不正确或为空,请前往设置页输入正确的访问密码,或在设置页填入可用的 OpenAI API Key。", }, ChatItem: { ChatItemCount: (count: number) => `${count} 条对话`, diff --git a/app/store/access.ts b/app/store/access.ts index 91049846b1d..04cb2a5440c 100644 --- a/app/store/access.ts +++ b/app/store/access.ts @@ -1,7 +1,7 @@ import { create } from "zustand"; import { persist } from "zustand/middleware"; -import { StoreKey } from "../constant"; import { getHeaders } from "../client/api"; +import { StoreKey } from "../constant"; import { BOT_HELLO } from "./chat"; import { ALL_MODELS } from "./config"; @@ -11,8 +11,9 @@ export interface AccessControlStore { needCode: boolean; hideUserApiKey: boolean; - openaiUrl: string; + openaiUrl: () => string; + configUrl: () => string; updateToken: (_: string) => void; updateCode: (_: string) => void; enabledAccessControl: () => boolean; @@ -29,8 +30,13 @@ export const useAccessStore = create