diff --git a/src/api/gitea.ts b/src/api/gitea.ts index 9bd658a..ad2c396 100644 --- a/src/api/gitea.ts +++ b/src/api/gitea.ts @@ -127,7 +127,7 @@ export const giteaApi = { page, limit }, - timeout: 30000 // 处理缓慢的 git 操作 + timeout: 60000 // 处理缓慢的 git 操作 }); return response.data; } catch (error) { diff --git a/src/pages/projects/ProjectLibrary.tsx b/src/pages/projects/ProjectLibrary.tsx index caccb08..516d1ad 100644 --- a/src/pages/projects/ProjectLibrary.tsx +++ b/src/pages/projects/ProjectLibrary.tsx @@ -1,7 +1,6 @@ import { useState, useEffect, useCallback, useMemo } from 'react' import { Folder, - RefreshCw, Plus, FileCode, FileText, @@ -73,7 +72,7 @@ interface TreeItem { } export default function ProjectLibrary() { - const { success, error: showError } = useToast() + const { toast, success, error: showError } = useToast() const { startDownload } = useDownloadManager() // 使用缓存Hook获取仓库列表 @@ -81,9 +80,7 @@ export default function ProjectLibrary() { const cacheConfig = useMemo(() => ({ namespace: 'projects' }), []) const { - data: repos, - loading: repoLoading, - refresh: refreshRepos + data: repos } = useCache( 'project-library-repos', // 缓存键 fetchRepos, // 数据获取函数 @@ -212,15 +209,20 @@ export default function ProjectLibrary() { return } - console.log('调用API获取提交记录') - const data = await giteaApi.getRepoCommits(selectedRepo.owner.username, selectedRepo.name, 1, 5) + console.log(`调用API获取提交记录: owner=${selectedRepo.owner.username}, repo=${selectedRepo.name}`) + const data = await giteaApi.getRepoCommits(selectedRepo.owner.username, selectedRepo.name, 1, 20) setCommits(data) // 缓存提交记录 await cacheUtils.setJSON(cacheKey, data, { namespace: 'projects', maxAge: 1000 * 60 * 5 }) // 5分钟缓存 - } catch (error) { + } catch (error: any) { console.error("Failed to fetch commits:", error) setCommits([]) + + // 如果是超时错误,给用户明确提示 + if (error.code === 'ECONNABORTED' || error.message?.includes('timeout')) { + toast(`获取提交记录超时 (60s),请检查网络或稍后重试`, { type: 'error' }) + } } finally { setCommitsLoading(false) } @@ -749,14 +751,6 @@ export default function ProjectLibrary() { Git同步 - @@ -773,8 +767,24 @@ export default function ProjectLibrary() {
最后提交
-
- 修复光学渲染bug(a87b9c3) +
+ {commitsLoading ? ( + 加载中... + ) : commits.length > 0 ? ( +
+ + {commits[0].commit.message} + + {commits[0].sha.substring(0, 7)} + + + + {new Date(commits[0].commit.author.date).toLocaleString()} + +
+ ) : ( + 暂无记录 + )}
@@ -842,7 +852,7 @@ export default function ProjectLibrary() { Git提交记录 -
+
{commitsLoading ? (
加载提交记录中...
) : commits.length === 0 ? (