feat: 完善 WebUI basePath 支持并简化示例代码

主要改动:

1. WebUI basePath 逻辑完善
   - NewWebUI 支持可变参数 basePath
   - 新增 path() 辅助方法统一路径处理
   - handleTableAPI 正确处理 basePath 前缀
   - handleIndex 根据 basePath 替换占位符

2. 简化示例代码
   - 删除反向代理实现(111行)
   - 直接使用带 basePath 的 WebUI
   - 代码量减少 33%,架构更清晰

3. 前端优化
   - 新增 api.js 统一 API 服务层
   - 所有组件使用统一的 API 调用
   - 支持通过 window.API_BASE 配置 basePath

4. 修复 .gitignore
   - 使用通用模式支持 commands 目录
   - 无需为新示例项目修改配置
This commit is contained in:
2025-10-14 14:13:59 +08:00
parent 7ac4b99a9e
commit 30c3e74bd2
16 changed files with 222 additions and 68 deletions

View File

@@ -7,7 +7,10 @@
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link rel="stylesheet" href="/static/css/styles.css">
<link rel="stylesheet" href="~~/static/css/styles.css">
<!-- 路径配置:服务端渲染时替换 ~~ 和 ~/: 为实际的 BasePath -->
<script>window.API_BASE = "~~";</script>
<!-- Import Map for Preact and HTM -->
<script type="importmap">
@@ -16,7 +19,8 @@
"preact": "https://esm.sh/preact@10.19.3",
"preact/": "https://esm.sh/preact@10.19.3/",
"htm/preact": "https://esm.sh/htm@3.1.1/preact?external=preact",
"dom-align": "https://cdn.jsdelivr.net/npm/dom-align@1.12.4/+esm"
"dom-align": "https://cdn.jsdelivr.net/npm/dom-align@1.12.4/+esm",
"~/": "~~/static/js/"
}
}
</script>
@@ -25,6 +29,6 @@
<div id="app"></div>
<!-- Load Preact App -->
<script type="module" src="/static/js/main.js"></script>
<script type="module" src="~~/static/js/main.js"></script>
</body>
</html>