From 9ec6506c32d679184a5b26442603846d7ea92c9f Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 2 Jul 2023 15:55:49 +0800 Subject: [PATCH 1/2] fix: fix refresh not working properly (close #229) --- web/src/components/ChannelsTable.js | 8 ++++---- web/src/components/LogsTable.js | 2 +- web/src/components/TokensTable.js | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/web/src/components/ChannelsTable.js b/web/src/components/ChannelsTable.js index a9880c47..0b29ff9e 100644 --- a/web/src/components/ChannelsTable.js +++ b/web/src/components/ChannelsTable.js @@ -60,8 +60,8 @@ const ChannelsTable = () => { if (startIdx === 0) { setChannels(data); } else { - let newChannels = channels; - newChannels.push(...data); + let newChannels = [...channels]; + newChannels.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data); setChannels(newChannels); } } else { @@ -82,7 +82,7 @@ const ChannelsTable = () => { const refresh = async () => { setLoading(true); - await loadChannels(0); + await loadChannels(activePage - 1); }; useEffect(() => { @@ -240,7 +240,7 @@ const ChannelsTable = () => { if (channels.length === 0) return; setLoading(true); let sortedChannels = [...channels]; - if (typeof sortedChannels[0][key] === 'string'){ + if (typeof sortedChannels[0][key] === 'string') { sortedChannels.sort((a, b) => { return ('' + a[key]).localeCompare(b[key]); }); diff --git a/web/src/components/LogsTable.js b/web/src/components/LogsTable.js index 3dc3d048..e311a520 100644 --- a/web/src/components/LogsTable.js +++ b/web/src/components/LogsTable.js @@ -108,7 +108,7 @@ const LogsTable = () => { setLogs(data); } else { let newLogs = [...logs]; - newLogs.push(...data); + newLogs.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data); setLogs(newLogs); } } else { diff --git a/web/src/components/TokensTable.js b/web/src/components/TokensTable.js index 54f4ef8c..b42f7df8 100644 --- a/web/src/components/TokensTable.js +++ b/web/src/components/TokensTable.js @@ -45,8 +45,8 @@ const TokensTable = () => { if (startIdx === 0) { setTokens(data); } else { - let newTokens = tokens; - newTokens.push(...data); + let newTokens = [...tokens]; + newTokens.splice(startIdx * ITEMS_PER_PAGE, data.length, ...data); setTokens(newTokens); } } else { @@ -67,7 +67,7 @@ const TokensTable = () => { const refresh = async () => { setLoading(true); - await loadTokens(0); + await loadTokens(activePage - 1); } useEffect(() => { From edc5156693a255672edde0d1bc82a9551774d834 Mon Sep 17 00:00:00 2001 From: JustSong Date: Sun, 2 Jul 2023 16:07:12 +0800 Subject: [PATCH 2/2] chore: ignore FRONTEND_BASE_URL on master node --- router/main.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/router/main.go b/router/main.go index 2cb50364..b8ac4055 100644 --- a/router/main.go +++ b/router/main.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/gin-gonic/gin" "net/http" + "one-api/common" "os" "strings" ) @@ -14,6 +15,10 @@ func SetRouter(router *gin.Engine, buildFS embed.FS, indexPage []byte) { SetDashboardRouter(router) SetRelayRouter(router) frontendBaseUrl := os.Getenv("FRONTEND_BASE_URL") + if common.IsMasterNode && frontendBaseUrl != "" { + frontendBaseUrl = "" + common.SysLog("FRONTEND_BASE_URL is ignored on master node") + } if frontendBaseUrl == "" { SetWebRouter(router, buildFS, indexPage) } else {