refactor: 模块化前端代码 - 将 main.js 和 main.css 拆分为专用模块

- 移除 main.js 并替换为8个 JS 模块
- 移除 main.css 并替换为7个 CSS 模块
- 更新 base.html 以加载模块化文件
- 通过 index.css 保持完全向后兼容
- 改进代码组织、可维护性和可复用性
This commit is contained in:
2025-11-15 12:45:19 +08:00
parent 724351a551
commit 730ee20048
18 changed files with 2322 additions and 2100 deletions

44
static/js/ui-utils.js Normal file
View File

@@ -0,0 +1,44 @@
/**
* UI 相关的全局工具函数
* 包括状态提示、对话框等
*/
/**
* 更新状态消息
* @param {string} message - 消息内容
* @param {string} state - 状态类型 ('success', 'error', 'warning', 或空)
* @returns {HTMLElement|null} 状态元素
*/
function updateStatus(message, state) {
const statusDiv = document.getElementById("uploadStatus");
if (!statusDiv) {
return null;
}
statusDiv.textContent = message;
statusDiv.className = "upload-status" + (state ? ` ${state}` : "");
statusDiv.style.display = "block";
return statusDiv;
}
/**
* 延迟隐藏状态消息
* @param {HTMLElement} statusDiv - 状态元素
* @param {number} delay - 延迟时间(毫秒)
*/
function hideStatusLater(statusDiv, delay = 2000) {
if (!statusDiv) {
return;
}
setTimeout(() => {
statusDiv.style.display = "none";
}, delay);
}
/**
* 导出到全局作用域
*/
window.UIUtils = {
updateStatus,
hideStatusLater,
};