唯杰地图 logo唯杰地图
VJMAP
EN

main.js

vjcad/templates/vite-app/src/main.js 1.4 KB31 行
原文
import { MainView, initCadContainer, Engine } from "vjcad";

// ===== 换成你的服务配置(公有云 https://vjmap.com/server/api/v1,私有化 http://<ip>: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);