"ui"; /** * main.js — AutoX 项目启动入口(**启动后直接进入界面**) * * `project.json` 的 `"main"` 指向本文件:在编辑器点「运行」、或打包成 APK 后启动, * 跑的都是**界面**(tiktok-app):登录激活 → 选脚本 → 调参数 → 点「开始运行」。 * * ★ `"ui";` 必须写在**本文件的第一行**。 * AutoX 的 UI 模式由**入口脚本**的这条指令开启;写在被 require 的模块里是无效的 * (那只是一句字符串语句)。所以界面产物 `tiktok-app/dist/tiktok-app.js` 里 * 那句 `"ui";` 只在「它自己直接被运行」时才起作用 —— 从本文件 require 进来时, * 真正决定 UI 模式的是这里的第一行。 * * 本文件刻意保持"薄":不实现任何业务逻辑,只做两件事—— * 1. 加载界面构建产物; * 2. 失败时给出人能看懂的原因和下一步动作,而不是一个光秃秃的红叉。 * * 改界面 → 改 `tiktok-app/src/*.js`,然后 `node tiktok-app/tools/build.js` * 改互动 → 改 `tiktok-auto/src/*.js`,然后 `node tiktok-auto/tools/build.js` * * ⚠️ tiktok-auto(TikTok 自动互动)**不再是启动入口**:启动进来的是界面, * 界面把配置与任务落盘成 `/sdcard/tiktok_app/run-config.json`(见 * `tiktok-app/README.md` 第 5 节)。需要它单独跑时,直接运行它自己的产物 * `tiktok-auto/dist/tiktok-auto.js`,或走 `tiktok-auto/tools/run.js`。 * * 关于 require 的路径:这里用的是**相对本文件的路径**。 * 已在真机实测确认:模块内的相对 require 是相对**该文件所在目录**解析的 * (而不是引擎的 cwd),所以同步到手机、打成 APK 后同样成立。 */ (function () { 'use strict'; var UI_SCRIPT = './tiktok-app/dist/tiktok-app.js'; console.log('[TTA] 项目启动入口 main.js → 加载界面 ' + UI_SCRIPT); try { require(UI_SCRIPT); } catch (error) { console.error('[TTA] 加载界面构建产物失败:' + error); console.error('[TTA] 请按顺序排查:'); console.error('[TTA] 1) 还没构建过 —— 在项目根目录执行:node tiktok-app/tools/build.js'); console.error('[TTA] 2) 构建产物没同步到手机 —— 让 AutoX 重新同步项目,' + '确认设备上存在 tiktok-app/dist/tiktok-app.js'); console.error('[TTA] 3) 文件位置不对 —— 本文件必须与 tiktok-app/ 目录同级'); toast('飞舟脚本:界面启动失败,详见日志'); throw error; // 不吞异常:失败就要看得见 } }());