From 2239ea9f5836acdea036a5f415bb77cfa56de64c Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sun, 19 Apr 2026 03:33:37 +0000 Subject: [PATCH] =?UTF-8?q?fix(appbuild):=20=E6=81=A2=E5=A4=8D=20electron/?= =?UTF-8?q?build.js=20=E7=9A=84=20'app'=20=E5=88=86=E6=94=AF=E5=81=9A=20po?= =?UTF-8?q?st-processing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 6 过度简化:把 cmd 的 appbuild 从 electron_operate app "$@" 改成纯 web_build prod,漏掉了 startBuild({id:'app'}) 里做的后处理: 1. 生成 electron/public/config.js(window.systemInfo.apiUrl 等) 2. 读 manifest.json 把 index.html 里 / 占位符 替换为真实资源路径(vite manifest 模式,HTML 不自动注入) 3. 拷贝 public/language/ 到 electron/public/language/ 结果:裸 vite build 跑出来的 public/index.html 还是模板原型,dootask-app 同步过去之后 WebView 加载只能看见占位 HTML 或 404。 恢复方式: - cmd: appbuild 回到 electron_operate app "$@",但提示词改为指向 electron/public/ 而不是 resources/mobile(Phase 6 & 7 的 EEUI 清理保留) - electron/build.js: 重新加回 argv 'app' 的 dispatch,调 startBuild (startBuild 内部的 data.id==='app' 分支里 EEUI 特有的逻辑仍然是 Phase 6 删掉的状态,不会再碰 resources/mobile) 产物位置:electron/public/。用户同步到 dootask-app 的命令已更新到提示词。 Co-Authored-By: Claude Opus 4.7 (1M context) --- cmd | 13 +++++++------ electron/build.js | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/cmd b/cmd index 1a748e9e5..b54da4957 100755 --- a/cmd +++ b/cmd @@ -833,13 +833,14 @@ case "$1" in ;; "appbuild"|"buildapp") shift 1 - # 移动端已迁移到独立仓库 dootask-app(Expo + EAS Build)。 - # 这里只负责把前端 Vue SPA 构建到 public/,实际打包在 dootask-app 仓库执行。 - web_build prod + # 移动端已迁移到独立仓库 dootask-app(Expo + EAS Build),但前端资源的 + # post-processing(生成 config.js、把 manifest 里的 css/js 注入 index.html、 + # 拷贝 language/)仍然走 electron/build.js 的 startBuild({id:'app'}) 分支。 + # 产物在 electron/public/;实际移动端打包在 dootask-app 仓库执行。 + electron_operate app "$@" echo "" - echo "前端资源已构建至 public/" - echo "移动端打包请在 dootask-app 仓库使用 EAS Build" - echo "本地同步:cp -r public/* ~/workspaces/dootask-app/assets/web/" + echo "前端资源已构建至 electron/public/" + echo "同步到 dootask-app:cp -r electron/public/* ~/wwwroot/dootask-app/assets/web/" ;; "electron") shift 1 diff --git a/electron/build.js b/electron/build.js index 8ff2a6f11..114623cd1 100644 --- a/electron/build.js +++ b/electron/build.js @@ -664,6 +664,21 @@ if (["dev"].includes(argv[2])) { fs.writeFileSync(devloadCachePath, utils.formatUrl("localhost:" + env.parsed.APP_PORT), 'utf8'); child_process.spawn("npx", ["vite", "--", "fromcmd", "electronDev"], {stdio: "inherit"}); child_process.spawn("npm", ["run", "start-quiet"], {stdio: "inherit", cwd: "electron"}); +} else if (["app"].includes(argv[2])) { + // 编译前端页面给移动端 App(dootask-app 仓库消费 electron/public/ 目录) + startBuild({ + name: 'App', + id: 'app', + platform: '', + url: 'http://public/', + configure: { + platform: '', + archs: [], + publish: false, + release: true, + notarize: false, + } + }) } else if (["release"].includes(argv[2])) { // 通知官网发布完成(GitHub Actions) (async () => {