auto-sync: 2026-05-21 08:17:37

This commit is contained in:
cfdaily
2026-05-21 08:17:37 +08:00
parent ad6bdc193e
commit 615c242a48
+6 -3
View File
@@ -435,7 +435,9 @@ export const useStore = create<AppStore>((set, get) => ({
const projRes = await fetch('/api/projects');
if (!projRes.ok) { set({ v2tasks: [], v2tasksLoading: false }); return; }
const projData = await projRes.json();
const allPids = Object.keys(projData.projects || {}).filter(p => !p.startsWith('_')).slice(0, 50);
const allPids = Object.keys(projData.projects || {}).filter(p => !p.startsWith('_') && p !== '_mail').slice(0, 50);
// 确保 _general 在列表中
if (!allPids.includes('_general') && projData.projects?._general) allPids.unshift('_general');
const allTasks: any[] = [];
// 并行请求,每批10个
for (let i = 0; i < allPids.length; i += 10) {
@@ -534,12 +536,13 @@ export const useStore = create<AppStore>((set, get) => ({
const data = await api.projects();
set({ projects: data.projects });
const s = get();
// 如果当前 selectedProjectId 不在项目列表里,重新选择
if ((!s.selectedProjectId || !(s.selectedProjectId in data.projects)) && s.selectedProjectId !== '' && s.selectedProjectId !== '_general') {
// 如果当前 selectedProjectId 不在项目列表里(且不是全部/一般),重新选择
if (s.selectedProjectId && s.selectedProjectId !== '' && s.selectedProjectId !== '_general' && !(s.selectedProjectId in data.projects)) {
if (Object.keys(data.projects).length > 0) {
const firstPid = Object.keys(data.projects)[0];
set({ selectedProjectId: firstPid });
setApiProjectId(firstPid);
try { localStorage.setItem('selectedProjectId', firstPid); } catch {}
}
}
} catch {