构造函数
Optionalconfig: MainViewConfig配置对象
主视图配置接口
Optionalappname?: stringOptionalversion?: stringOptionalwasmServiceUrl?: stringOptionalserviceUrl?: stringOptionalworkspace?: stringOptionalaccessToken?: stringOptionalaccessKey?: stringOptionalfonts?: { path: string; name?: string; kind?: "ttf" | "woff" | "otf" | "shx" }[]OptionalcloseDocOnOpen?: boolean打开图纸时关闭当前文档(单文档打开模式)
Optionalplugins?: PluginConfig[]插件配置列表 - 启动时自动加载的插件
OptionalpluginMarketUrl?: string服务端插件市场地址
访问此地址可获取服务端插件市场的插件列表(JSON格式)。 自动加载的插件会在程序启动时自动下载并加载。
OptionaldocUrl?: string官方文档地址
点击顶栏右侧的文档按钮时打开此地址。 默认为 https://www.vjmap.com
OptionalsidebarStyle?: "left" | "right" | "none" | "both"侧边栏样式
控制侧边栏的初始显示位置:
OptionalviewMode?: "full" | "viewer"视图模式
控制 UI 组件的显示:
viewer 模式适用于只需要查看和选择实体的场景,可通过 SDK 获取选中实体信息。
OptionalshowMenuBar?: boolean是否显示菜单栏(细粒度控制) 默认 true。设为 false 时隐藏菜单栏。
OptionalshowToolBar?: boolean是否显示工具栏/Ribbon(细粒度控制) 默认 true。设为 false 时隐藏工具栏。
OptionalshowDocBar?: boolean是否显示文档栏(细粒度控制) 默认 true。设为 false 时隐藏文档标签栏。
OptionalshowCoordsBar?: boolean是否显示坐标栏(细粒度控制) 默认 true。设为 false 时隐藏坐标栏。
OptionalshowCommandLine?: boolean是否显示命令行(细粒度控制) 默认 true。设为 false 时隐藏命令行。
OptionalshowBottomBar?: boolean是否显示底部状态栏(细粒度控制) 默认 true。设为 false 时隐藏底部状态栏。
OptionalenableContextMenu?: boolean是否启用右键菜单(细粒度控制) 默认 true。设为 false 时禁用右键菜单。 viewer 模式下默认禁用。
OptionalshowGrips?: boolean是否显示选择夹点(细粒度控制) 默认 true。设为 false 时选择实体后不显示夹点。 viewer 模式下默认禁用(防止通过夹点拖动修改实体)。
OptionalshowUcsIcon?: boolean是否显示左下角的坐标轴图标(UCS 图标) 默认 true。设为 false 时隐藏左下角的坐标轴指示器。
OptionalshowAxis?: boolean是否显示图中绘制的坐标轴 默认 true。设为 false 时隐藏图中绘制的坐标轴。
OptionalbackgroundAlpha?: number背景透明度 (0-1) 默认 1(不透明)。设为 0 可实现透明背景,用于图层叠加场景。
OptionalshowCrosshair?: boolean是否显示十字光标 默认 true。设为 false 时隐藏十字光标和拾取框。
OptionaldisablePointerEvents?: boolean是否禁用鼠标事件(允许事件穿透) 默认 false。设为 true 时 canvas 不接收鼠标事件,用于图层叠加场景。
OptionalthemeMode?: number主题模式 0=深色(默认),1=浅色。影响实体默认颜色等。
OptionalautoActivatePropertyPanel?: boolean选择实体时是否自动激活特性面板
默认 true。设为 false 时,选择实体后不会自动切换到特性面板, 保持当前激活的面板不变。
OptionalexcludedPanelsFromAutoActivate?: string[]排除自动激活特性面板的面板名称列表
当 autoActivatePropertyPanel 为 true 时,如果当前激活的面板在此列表中, 则选择实体时不会自动切换到特性面板。
这允许在启用自动激活的同时,为特定面板(如 AI 面板)排除此行为。
OptionalleftPanels?: string[]左侧侧边栏面板列表
指定哪些内置面板显示在左侧侧边栏。 可用的面板名称:
默认:["props", "blocks", "images"]
OptionalrightPanels?: string[]右侧侧边栏面板列表
指定哪些内置面板显示在右侧侧边栏。 可用的面板名称同 leftPanels。
默认:["dsettings", "commands", "alias"]
OptionaluserInfo?: { userId: string; userName?: string; sessionId?: string }业务系统用户信息(用于协同编辑中区分用户和后台权限回调)
二次开发者通过此配置传入业务系统中的用户信息。 如果设置了 userId,则协同编辑中将使用此用户身份替代默认的机器指纹ID。 后端会将 userId 和 sessionId 传递给配置的权限回调接口进行鉴权。
用户唯一标识(必填,用于协同编辑的用户区分和权限回调)
OptionaluserName?: string用户显示名称(选填,为空时显示 userId,用于协同编辑中的作者显示)
OptionalsessionId?: string会话ID(选填,用于业务系统会话验证,传递给权限回调接口)
OptionalonAuthError?: (error: { errorCode: string; message: string; operation: string }) => void权限错误回调(当后台配置的业务系统权限校验失败时触发)
二次开发者可以在此回调中处理不同的错误场景:
Staticproperties定义响应式属性 - 使用静态属性
这是 Lit 官方推荐的写法,会自动处理属性的响应式更新 使用 query 来查询 DOM 元素
Staticstyles定义样式 - 使用静态属性
OptionalfontsOptionalpluginsOptionalpluginOptionalsidebarOptionalviewOptionalshowOptionalshowOptionalshowOptionalshowOptionalshowOptionalshowOptionalenableOptionalshowOptionalautoOptionalexcludedOptionalleftOptionalrightOptionalshowOptionalshowOptionalbackgroundOptionalshowOptionaldisableOptionalthemeStatic ReadonlyURL_URL 参数前缀,用于防止与其他系统参数冲突
Static ReadonlyURL_URL 参数名称常量
图纸 ID (mapid)
版本号,可选,默认最新版本
分支名称,可选,默认 main
Patch ID,可选,默认 base
是否只读打开,可选,默认 false
是否以瓦片方式打开,可选,默认 false
初始化后要激活的侧边栏面板名称,可选
Staticobserved获取权限错误回调函数(供内部模块调用)
清空文件数据
设置主题
主题名称
连接回调
首次更新后回调
等待视图初始化完成
在初始化完成后返回,可用于替代 DocumentCreated 事件监听。 初始化包括:画布创建、WASM 加载、插件加载、URL 参数处理等。
初始化完成后 resolve
动态加载单个插件
插件JS文件URL
OptionalcssUrl: string插件CSS文件URL(可选)
插件ID
卸载插件
插件ID
初始化事件监听器
隐藏UI元素
命令行输入回调
事件对象
文档变更回调
事件对象
新建文档
新文档对象
下载文档
文件名
另存为文档
文档对象
文件名
文件路径
克隆另存为文档
源文档对象
文件名
文件路径
打开或激活文档
文档全名
是否成功
打开文档
文档对象
打开数据库文档
文件对象
数据库数据
是否只读
是否成功打开
通过文件打开文档
文件对象
是否只读
读取文件为数据库文档
文件对象
数据库数据
开始监听坐标
画布鼠标移动回调
事件对象
根据名称关闭文档
文档名称
根据ID关闭文档
文档ID
关闭当前文档
渲染方法
渲染结果
StaticaddStaticcreateStaticgetStaticgetStatic_StaticfinalizeStaticfinalizeStatic_Optionalt: anyOptionale: anyOptionals: any
主视图类 - 使用 Lit 官方推荐的静态属性写法