import { MainView, initCadContainer, Engine } from "vjcad"; // ===== 换成你的服务配置(公有云 https://vjmap.com/server/api/v1,私有化 http://:27660/api/v1)===== // wasm / 字体默认从 serviceUrl 所指服务加载,不要另设 wasmServiceUrl const serviceUrl = import.meta.env.VITE_VJMAP_SERVICE_URL ?? "https://vjmap.com/server/api/v1"; const accessToken = import.meta.env.VITE_VJMAP_TOKEN ?? ""; // 不要把真实 token 提交进仓库 async function main() { const cadView = new MainView({ appname: "vjcad-vite-app", version: "v1.0.0", serviceUrl, accessToken, sidebarStyle: "both", // both | left | right | none // viewMode: "viewer", // 只读查看模式 // showUcsIcon: false, showAxis: false, enableContextMenu: false, showGrips: false }); initCadContainer("cad-app", cadView); // 容器必须有非零宽高 await cadView.onLoad(); // 这一步之前 Engine 不可用 // onLoad 之后才可以用 Engine。Engine 是全局单例,绑定最近活跃视图; // 多实例下切换视图前先 Engine.bindViewCache(cadView),或直接操作实例成员 cadView.editor / cadView.pcanvas // 示例:触发画线命令 // Engine.editor.executerWithOp("LINE"); console.log("vjcad ready", Engine.currentDoc ? "doc ok" : "no doc"); } // vite 默认构建 target 不支持顶层 await,包一层 async main main().catch(console.error);