Files
WeChatDataAnalysis/desktop/scripts/copy-ui.cjs
2977094657 6eb161c726 feat(desktop): 新增 Electron 桌面端壳与自绘标题栏
- 新增 desktop/ Electron 工程:启动后端并等待 /api/health,就绪后加载页面;打包模式从 extraResources 读取 UI/后端
- 新增 DesktopTitleBar 组件,适配 frame:false 自绘标题栏,并修复桌面端 100vh 布局导致的外层滚动条
- chat 页面右侧布局调整更接近原生微信;detection-result 调试输出仅在 dev 环境启用
- .gitignore 忽略 desktop 构建产物/依赖,保留 .gitkeep 占位文件
- README 补充 Windows 桌面端 EXE 打包(npm run dist)与产物路径说明
2026-01-17 18:23:52 +08:00

25 lines
845 B
JavaScript

const fs = require("fs");
const path = require("path");
const repoRoot = path.resolve(__dirname, "..", "..");
const srcDir = path.join(repoRoot, "frontend", ".output", "public");
const dstDir = path.join(repoRoot, "desktop", "resources", "ui");
if (!fs.existsSync(path.join(srcDir, "index.html"))) {
// eslint-disable-next-line no-console
console.error(
`Nuxt static output not found at ${srcDir}. Run: npm --prefix frontend run generate`
);
process.exit(1);
}
fs.mkdirSync(dstDir, { recursive: true });
for (const ent of fs.readdirSync(dstDir, { withFileTypes: true })) {
if (ent.name === ".gitkeep") continue;
fs.rmSync(path.join(dstDir, ent.name), { recursive: true, force: true });
}
fs.cpSync(srcDir, dstDir, { recursive: true });
// eslint-disable-next-line no-console
console.log(`Copied UI: ${srcDir} -> ${dstDir}`);