chore: 准备开源发布 - 只保留源代码

移除所有非源代码文件:
- 删除 docs/ 目录(所有内部文档)
- 删除 tests/ 目录(所有测试文件)
- 删除 .github/ 目录(CI/CD 配置)
- 删除 .kiro/ 目录(IDE 配置)
- 删除 CONTRIBUTING.md, SECURITY.md

更新项目文件:
- 重写 README.md,简洁清晰(从 1600+ 行压缩到 237 行)
- 更新 .gitignore,忽略所有非源代码文件
- 使用 ASCII art 展示界面布局
- 添加 Shields.io 徽章美化项目

保留的文件:
- 源代码:outlook_web/, static/, templates/
- 入口文件:web_outlook_app.py, start.py, outlook_mail_reader.py
- 配置文件:requirements.txt, Dockerfile, .dockerignore, .env.example
- 项目文档:README.md, LICENSE, .gitignore

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
胡绍康andClaude Opus 4.6 committed 2026-03-01 21:11:55 +08:00
1 parent 39854520e6
commit ba83ca3bf6
134 files changed
+200 -32083

No files matched your search

+1 -1
View File
@@ -25,7 +25,7 @@
const folderTabs = document.getElementById('folderTabs');
if (folderTabs) {
folderTabs.style.display = 'flex';
document.querySelectorAll('.folder-tab').forEach(tab => {
document.querySelectorAll('.email-tab').forEach(tab => {
tab.classList.toggle('active', tab.dataset.folder === 'inbox');
});
}
+1 -1
View File
@@ -32,7 +32,7 @@
// 禁用按钮
const refreshBtn = document.querySelector('.refresh-btn');
const folderTabs = document.querySelectorAll('.folder-tab');
const folderTabs = document.querySelectorAll('.email-tab');
if (refreshBtn) {
refreshBtn.disabled = true;
refreshBtn.textContent = '获取中...';
+21
View File
@@ -32,6 +32,12 @@
loadAccountsByGroup(currentGroupId, true);
}
}
} else {
// 首次进入:自动选中第一个非临时邮箱分组
const firstNormalGroup = groups.find(g => g.name !== '临时邮箱');
if (firstNormalGroup) {
selectGroup(firstNormalGroup.id);
}
}
}
} catch (error) {
@@ -87,6 +93,21 @@
searchInput.value = '';
}
// 重置右侧邮件列 UI(清除上一个分组的残留状态)
currentAccount = null;
const accountBar = document.getElementById('currentAccountBar');
if (accountBar) accountBar.style.display = 'none';
const emailListEl = document.getElementById('emailList');
if (emailListEl) emailListEl.innerHTML = '<div class="empty-state"><span class="empty-icon">📬</span><p>请从左侧选择一个邮箱账号</p></div>';
const detailSection = document.getElementById('emailDetailSection');
if (detailSection) detailSection.style.display = 'none';
const folderTabs = document.getElementById('folderTabs');
if (folderTabs) folderTabs.style.display = 'none';
const emailCount = document.getElementById('emailCount');
if (emailCount) emailCount.textContent = '';
const methodTag = document.getElementById('methodTag');
if (methodTag) methodTag.style.display = 'none';
// 检查是否是临时邮箱分组
const group = groups.find(g => g.id === groupId);
isTempEmailGroup = group && group.name === '临时邮箱';
+8
View File
@@ -1,5 +1,13 @@
// ==================== 临时邮箱相关 ====================
// 复制临时邮箱页面顶栏当前邮箱地址
function copyTempEmailCurrent() {
const el = document.getElementById('tempEmailCurrentName');
if (el && el.textContent && el.textContent !== '选择一个临时邮箱') {
copyEmail(el.textContent.trim());
}
}
// 加载临时邮箱列表
async function loadTempEmails(forceRefresh = false) {
const container = document.getElementById('accountList');
+9 -3
View File
@@ -66,7 +66,13 @@
closeSidebar();
// Load page data
if (page === 'dashboard') loadDashboard();
if (page === 'mailbox' && groups.length === 0) loadGroups();
if (page === 'mailbox') {
if (groups.length === 0) {
loadGroups();
} else if (currentGroupId) {
loadAccountsByGroup(currentGroupId);
}
}
if (page === 'temp-emails' && typeof loadTempEmails === 'function') loadTempEmails(true);
if (page === 'settings') loadSettings();
if (page === 'refresh-log') loadRefreshLogPage();
@@ -429,7 +435,7 @@
// 禁用按钮
const refreshBtn = document.querySelector('.refresh-btn');
const folderTabs = document.querySelectorAll('.folder-tab');
const folderTabs = document.querySelectorAll('.email-tab');
if (refreshBtn) {
refreshBtn.disabled = true;
}
@@ -494,7 +500,7 @@
currentFolder = folder;
// 更新按钮状态
document.querySelectorAll('.folder-tab').forEach(tab => {
document.querySelectorAll('.email-tab').forEach(tab => {
tab.classList.toggle('active', tab.dataset.folder === folder);
});