mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-10 02:24:35 +08:00
feat: 添加服务模块到加载顺序,优化工作区状态加载逻辑,支持预加载和直接获取
This commit is contained in:
@@ -104,6 +104,7 @@ const MODULE_FILES = [
|
|||||||
'help-i18n.js', // Help page translations
|
'help-i18n.js', // Help page translations
|
||||||
'utils.js',
|
'utils.js',
|
||||||
'state.js',
|
'state.js',
|
||||||
|
'services.js', // CacheManager, EventManager, PreloadService - must be before main.js
|
||||||
'api.js',
|
'api.js',
|
||||||
'components/theme.js',
|
'components/theme.js',
|
||||||
'components/modals.js',
|
'components/modals.js',
|
||||||
|
|||||||
@@ -174,21 +174,28 @@ async function refreshWorkspaceIndexStatus(forceRefresh) {
|
|||||||
window.eventManager.on('data:updated:workspace-status', _workspaceStatusHandler);
|
window.eventManager.on('data:updated:workspace-status', _workspaceStatusHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 3. Trigger background loading
|
// 3. Trigger background loading (with fallback to direct fetch)
|
||||||
if (window.preloadService) {
|
try {
|
||||||
try {
|
var freshData;
|
||||||
var freshData = await window.preloadService.preload('workspace-status', { force: forceRefresh });
|
if (window.preloadService) {
|
||||||
render(freshData);
|
freshData = await window.preloadService.preload('workspace-status', { force: forceRefresh });
|
||||||
} catch (err) {
|
} else {
|
||||||
console.error('[CodexLens] Failed to load workspace status:', err);
|
// Fallback: direct fetch if preloadService not available
|
||||||
if (headerFtsEl) headerFtsEl.textContent = '--';
|
var path = encodeURIComponent(projectPath || '');
|
||||||
if (headerVectorEl) headerVectorEl.textContent = '--';
|
var response = await fetch('/api/codexlens/workspace-status?path=' + path);
|
||||||
if (container) {
|
if (!response.ok) throw new Error('HTTP ' + response.status);
|
||||||
container.innerHTML = '<div class="text-xs text-destructive text-center py-2">' +
|
freshData = await response.json();
|
||||||
'<i data-lucide="alert-circle" class="w-4 h-4 inline mr-1"></i> ' +
|
}
|
||||||
(t('common.error') || 'Error') + ': ' + err.message +
|
render(freshData);
|
||||||
'</div>';
|
} catch (err) {
|
||||||
}
|
console.error('[CodexLens] Failed to load workspace status:', err);
|
||||||
|
if (headerFtsEl) headerFtsEl.textContent = '--';
|
||||||
|
if (headerVectorEl) headerVectorEl.textContent = '--';
|
||||||
|
if (container) {
|
||||||
|
container.innerHTML = '<div class="text-xs text-destructive text-center py-2">' +
|
||||||
|
'<i data-lucide="alert-circle" class="w-4 h-4 inline mr-1"></i> ' +
|
||||||
|
(t('common.error') || 'Error') + ': ' + err.message +
|
||||||
|
'</div>';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user