WebCAD-Lib-TS API 文档 - v1.0.0
    Preparing search index...

    Class Service

    Service 服务类.

    Index

    Constructors

    Properties

    Methods

    clone serviceUrl switchWorkspace getCurWorkspaceName getWorkspaces workspaceCreate workspaceModify workspaceDelete pwdToSecretKey addSecretKey removeSecretKey addAccessKey removeAccessKey toLayerIndex setCurrentMapParam currentMapParam openMap updateMap glyphsUrl baseUrl spriteUrl setSprite blankTileUrl qrcodeUrl rasterTileUrl vectorTileUrl checkFileHasUpload uploadUrl strMd5 styleVersion fileMd5 uploadMap execCommand metadata updateMetadata listMaps waitMapOpenFinish processQueryResult pointQueryFeature rectQueryFeature exprQueryFeature conditionQueryFeature getMapLayers cmdSwitchLayers cmdUpdateStyle cmdSliceLayer createStyle getSliceCacheZoom cmdGetDrawBounds getStyleLayerName thumbnailUrl wmsTileUrl cmdDeleteMap cmdGetAccessKey cmdResetAccessKey cmdSetMapPassword cmdRenameMap cmdClearMapCache cmdClearTileCache getUserConfig cmdDeleteStyle cmdDeleteCache cmdDeleteMapFile cmdRunStatus cmdGetSupportFormat getConstData rasterBlankStyle rasterLayerId rasterSourceId rasterStyle vectorStyle getFontsCapacity clearCache webMapUrl composeNewMap cmdMapDiff cmdExportLayout cmdMatchObject cmdExtractTable cmdSplitChildMaps cmdCreateEntitiesGeomData cmdTransform cmdPrjWktToPrj4 saveCustomData getCustomData getCustomDataKeysByPrefix deleteCustomData listWebcadDraws getWebcadData saveWebcadPatch deleteWebcadDraw createWebcadBranch deleteWebcadBranch mergeWebcadBranch exportWebcadToDwg getDownloadUrl toDbDoc getWebCadServerInfo getSymbolConfig getSymbolCategories createSymbolCategory updateSymbolCategory deleteSymbolCategory getSymbolList getSymbol createSymbol updateSymbol deleteSymbol

    Constructors

    • 构造函数

      Parameters

      • url: string

        服务地址

      • Optionaltoken: string

        访问凭证

      • Optionalreq: IRequest

        请求的方法实现(默认内部实现)

      Returns Service

    Properties

    serverUrl: string = ""

    服务器地址

    accessToken: string = ""

    访问凭证

    Methods

    • 克隆一个新的服务实例对象

      Parameters

      • OptionalisCloneWorkspace: boolean

        是否克隆当前工作区 (默认是)

      Returns Service

      Service

    • 得到服务地址

      Parameters

      • u: string

        要拼接的地址

      Returns string

      string

    • 切换至工作区

      Parameters

      • workspaceName: string

        工作区名称

      Returns void

    • 获取当前的工作区名称

      Returns string

    • 获取所有工作区(如果不是root权限的token获取非公开的工作区名称将返回空)

      Returns Promise<any>

    • 创建工作区(默认需要root权限)

      Parameters

      Returns Promise<any>

    • 修改工作区(默认需要root权限)

      Parameters

      Returns Promise<any>

    • 删除工作区(会同时删除工作区下面的所有目录文件)(默认需要root权限)

      Parameters

      • name: string

        要删除的工作区名称

      Returns Promise<any>

    • 密码转换为秘钥

      Parameters

      • pwd: string

        密码

      Returns string

    • 增加秘钥key

      Parameters

      • key: string

        key值

      Returns Set<string>

    • 移除秘钥key, 如果key为undefined时,则移除所有的

      Parameters

      • key: string

        key值

      Returns Set<string>

    • 增加访问key

      Parameters

      • key: string

        key值

      Returns Set<string>

    • 移除访问key, 如果key为undefined时,则移除所有的

      Parameters

      • key: string

        key值

      Returns void

    • 把图层名称数组转成图层索引数组

      Parameters

      • layernames: string[]

        图层名称数组

      • layers: any[]

        图层列表

      Returns number[]

    • 打开图

      Parameters

      • param: IOpenMapParam
      • isWaitFinish: boolean = true

        是否等待打开完成

      Returns Promise<any>

    • 更新地图

      Parameters

      • param: IUpdateMapParam
      • isWaitFinish: boolean = true

        是否等待打开完成

      Returns Promise<any>

    • 字体地址

      Returns string

    • 服务根地址

      Returns string

    • 精灵图片名称

      Parameters

      • name: string

        精灵名称

      Returns string

    • 设置精灵图片名称

      Parameters

      • name: string

        精灵名称

      Returns string

    • 空白瓦片地址

      Returns string

    • 二维码图片地址

      Parameters

      • content: string

        生成二维码的内容

      • Optionalsize: number

        生成二维码的大小,默认256

      Returns string

    • 栅格瓦片地址

      Parameters

      Returns string

    • 矢量瓦片地址

      Parameters

      Returns string

    • 检查文件是否上传过

      Parameters

      • filemd5: string

        文件md5值

      Returns Promise<any>

    • 返回上传文件的url地址

      Returns string

    • 获取字符串的Md5值

      Parameters

      • str: string

      Returns string

    • 得到style的版本号

      Returns number

    • 获取文件的Md5值

      Parameters

      • file: File

      Returns Promise<any>

    • 上传地图

      Parameters

      • file: File

      Returns Promise<any>

    • 执行命令

      Parameters

      • cmdname: string
      • Optionalparam: Record<string, any>
      • Optionalmapid: string
      • Optionalversion: string
      • OptionaluseGet: boolean

      Returns Promise<any>

    • 获取地图元数据

      Parameters

      • Optionalmapid: string

        地图ID ,为空, 则为当前打开的图形

      • Optionalversion: string

        版本号,为空 则为当前打开的版本;

      Returns Promise<any>

    • 修改地图元数据

      Parameters

      • meta: Record<string, number | boolean | string | undefined | null>

        要修改的元数据项

      • Optionalmapid: string

        地图ID ,为空, 则为当前打开的图形

      • Optionalversion: string

        版本号,为空 则为当前打开的版本;

      Returns Promise<any>

    • 获取所有地图信息

      Parameters

      • mapid: string | string[] | { curPage: number; pageCount: number; mapIds?: string[] } = "_"

        地图ID,为空,则获取所有的;如果传入的是地图ID数组,则获取指定的地图ID数组的信息。如果不想一次性获取,可通过传入分页对象获取,如{curPage: 1, pageCount: 10}

      • version: string = "_"

        版本号,为空,则获取最新的; * 则获取所有的版本

      Returns Promise<any>

    • 等待地图打开完成

      Parameters

      • mapid: string

        地图ID

      • version: string

        地图版本号

      • tryTime: number = 5

        每次尝试时间间隔(秒)

      • maxTryTimes: number = 120

        最大尝试次数

      Returns Promise<any>

    • 处理查询结果

      Parameters

      • param: any

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns any

    • 点查询实体

      Parameters

      • param: IPointQueryFeatures

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns Promise<any>

    • 矩形查询实体

      Parameters

      • param: IRectQueryFeatures

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns Promise<any>

    • 表达式查询实体

      Parameters

      • param: IExprQueryFeatures

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns Promise<any>

    • 条件查询实体

      Parameters

      • param: IConditionQueryFeatures

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns Promise<any>

    • 得到地图图层集合,调用前请确保地图已打开,否则会抛异常

      Returns IMapLayer[]

    • 切换图层

      Parameters

      • visibleLayers: string[]

        让可见的图层列表数组

      • Optionalexpression: string

        样式表达式

      Returns Promise<any>

    • 更新样式

      Parameters

      Returns Promise<any>

      Example:

      const res = svc.cmdUpdateStyle({
      name: "style1",
      layeron: [0,1,2,4,5,6,7,8,9],
      layeroff: "",
      clipbounds: "",
      backcolor: 0,
      lineweight:[1,1,0]
      expression: "gOutColorRed := gInColorGreen;gOutColorGreen := gInColorBlue;gOutColorBlue := gInColorRed;gOutColorAlpha := gInColorAlpha;"
      });
    • 对图层进行切片缓存

      Parameters

      Returns Promise<any>

    • 获取样式图层名

      Parameters

      • style: IMapStyleParam

        样式参数

      • Optionalmapid: string

        地图ID

      • Optionalversion: string

        版本号,为空,则获取最新的;

      • OptionalisGeomLayer: boolean

        几何渲染图层优先(默认true)

      Returns Promise<any>

    • 获取已缓存的切片级别

      Parameters

      Returns Promise<any>

    • 获取图形中有数据的范围区域

      Parameters

      • Optionalmapid: string

        地图id

      • Optionalversion: string

        版本号

      Returns Promise<GeoBounds>

    • 获取样式图层名

      Parameters

      • mapid: string

        地图ID

      • Optionalversion: string

        版本号,为空,则获取最新的;

      • OptionalisGeomLayer: boolean

        几何渲染图层优先(默认true)

      • Optionalname: string

        有名称时,根据名称来查找;

      Returns Promise<any>

    • 获取图的缩略图

      Parameters

      • Optionalmapid: string
      • Optionalversion: string
      • Optionalwidth: number
      • Optionalheight: number
      • OptionaldarkTheme: boolean

        是否是深色主题,是的话,图片将反色(黑色变白色)

      Returns string

    • Parameters

      Returns string

    • 删除地图

      Parameters

      • mapid: string

        地图ID

      • version: string

        版本号,如删除所有版本,输入"*"号

      • OptionalretainVersionMaxCount: number

        删除所有版本时,保留的最新的版本总数。如总共有10个版本,retainVersionMaxCount为3时,会保存最新的3个版本,其余的都会删除

      Returns Promise<any>

    • 获取地图的AccessKey,获取之前请确保已成功打开了地图

      Parameters

      • mapid: string

        地图ID

      • key: string

        secretKey秘钥和超级管理员superKey

      Returns Promise<any>

    • 重置地图的AccessKey,获取之前请确保已成功打开了地图

      Parameters

      • mapid: string

        地图ID

      • key: string

        secretKey秘钥和超级管理员superKey

      Returns Promise<any>

    • 重置地图的密码,如果之前有密码,则是修改密码。如果之前没有密码,则是把此地图设置了密码保护。如果设置密码为空,则取消对此地图的密码保护。

      Parameters

      • mapid: string

        地图ID

      • key: string

        旧的secretKey秘钥和超级管理员superKey

      • newKey: string

        新的secretKey秘钥

      Returns Promise<any>

    • 地图ID重命名

      Parameters

      • oldMapID: string

        旧地图ID

      • newMapID: string

        新地图ID

      Returns Promise<any>

    • 清空地图的几何和瓦片缓存数据

      Parameters

      • mapid: string

        地图ID

      • version: string

        版本号

      Returns Promise<any>

    • 清空地图的瓦片缓存数据

      Parameters

      • mapid: string

        地图ID

      • version: string

        版本号

      Returns Promise<any>

    • 获取服务端用户配置数据

      Returns Promise<Record<string, any>>

    • 删除地图样式

      Parameters

      Returns Promise<any>

    • 删除地图缓存

      Parameters

      Returns Promise<any>

    • 删除后台的一个地图相关的地图源文件

      Parameters

      • mapfileNames: string | string[]

        要删除的源文件名

      Returns Promise<any>

    • 获取当前运行状态

      Parameters

      • OptionalbDetail: boolean

        是否需要细节 (默认false)

      Returns Promise<any>

    • 获取支持的格式类型

      Returns Promise<any>

    • 获取服务后台常量设置

      Returns Promise<any>

    • 空白栅格style

      Parameters

      • Optionalminzoom: number

        最小级别,缺省0

      • Optionalmaxzoom: number

        最大级别,缺省24

      • Optionalprefix: string

        前缀,缺省rasterBlank

      Returns {
          version: number;
          sources: {
              [key: string]: {
                  type: string;
                  tiles: string[];
                  tileSize: number;
                  minzoom: number;
                  maxzoom: number;
              };
          };
          glyphs: string;
          layers: {
              id: string;
              type: string;
              source: string;
              minzoom: number;
              maxzoom: number;
              layout: { visibility: string };
          }[];
      }

    • 获取栅格图层ID

      Parameters

      • Optionalprefix: string

      Returns string

    • 获取栅格源ID

      Parameters

      • Optionalprefix: string

      Returns string

    • 栅格style

      Parameters

      • OptionaltileUrl: string

        栅格瓦片地址

      • Optionalminzoom: number

        最小级别,缺省0

      • Optionalmaxzoom: number

        最大级别,缺省24

      • Optionalprefix: string

        前缀,缺省raster

      Returns {
          version: number;
          sources: {
              [key: string]: {
                  type: string;
                  tiles: string[];
                  tileSize: number;
                  minzoom: number;
                  maxzoom: number;
              };
          };
          glyphs: string;
          layers: {
              id: string;
              type: string;
              source: string;
              minzoom: number;
              maxzoom: number;
              layout: { visibility: string };
          }[];
      }

    • 矢量style

      Parameters

      • OptionaltileUrl: string | Record<string, any>

        矢量瓦片地址 或者为一个Object,为Object时,设置项为参数的每个项值,做为一个参数传入

      • Optionalminzoom: number

        最小级别,缺省0

      • Optionalmaxzoom: number

        最大级别,缺省24

      • Optionalprefix: string

        前缀,缺省vector

      • OptionalhoverColor: string

        高亮时颜色,缺省rgba(0,0,255,255)

      • OptionalhoverOpacity: number

        高亮时透明度,缺省0.5

      • OptionalhoverLineWidth: number

        高亮时线宽,缺省3

      • OptionalcustomColorCaseExpr: any[]

        自定义颜色表达式,必须为数组[条件1,值,条件2,值,...],如[['==', ['feature-state', 'status'], 'alarm'], '#ff0000', ['==', ['feature-state', 'status'], 'normal'], '#00ff00'],缺省默认

      • OptionalcustomOpacityCaseExpr: any[]

        自定义透明度表达式,必须为数组,缺省默认

      • OptionalcustomLineWidthCaseExpr: any[]

        自定义线宽表达式,必须为数组,缺省默认

      • OptionaldisableHover: boolean

        禁止hover

      Returns {
          version: number;
          sources: {
              [key: string]: {
                  type: string;
                  tiles: (string | Record<string, any>)[];
                  maxzoom: number;
                  minzoom: number;
              };
          };
          glyphs: string;
          layers: (
              | {
                  id: string;
                  type: string;
                  source: string;
                  "source-layer": string;
                  paint: {
                      "line-color": any[];
                      "line-opacity": any[];
                      "line-width": (
                          string
                          | number
                          | boolean
                          | (string | boolean | string[])[]
                      )[];
                      "fill-color"?: undefined;
                      "fill-antialias"?: undefined;
                      "fill-outline-color"?: undefined;
                      "fill-opacity"?: undefined;
                      "line-blur"?: undefined;
                      "circle-radius"?: undefined;
                      "circle-color"?: undefined;
                      "circle-stroke-color"?: undefined;
                      "circle-opacity"?: undefined;
                  };
                  layout?: undefined;
              }
              | {
                  id: string;
                  type: string;
                  source: string;
                  "source-layer": string;
                  paint: {
                      "fill-color": any[];
                      "fill-antialias": boolean;
                      "fill-outline-color": any[];
                      "fill-opacity": any[];
                      "line-color"?: undefined;
                      "line-blur"?: undefined;
                      "line-opacity"?: undefined;
                      "line-width"?: undefined;
                      "circle-radius"?: undefined;
                      "circle-color"?: undefined;
                      "circle-stroke-color"?: undefined;
                      "circle-opacity"?: undefined;
                  };
                  layout: { "line-cap"?: undefined };
              }
              | {
                  id: string;
                  type: string;
                  source: string;
                  "source-layer": string;
                  layout: { "line-cap": string };
                  paint: {
                      "fill-color"?: undefined;
                      "fill-antialias"?: undefined;
                      "fill-outline-color"?: undefined;
                      "fill-opacity"?: undefined;
                      "line-color": any[];
                      "line-blur": (
                          string
                          | number
                          | boolean
                          | (string | boolean | string[])[]
                      )[];
                      "line-opacity": any[];
                      "line-width": any[];
                      "circle-radius"?: undefined;
                      "circle-color"?: undefined;
                      "circle-stroke-color"?: undefined;
                      "circle-opacity"?: undefined;
                  };
              }
              | {
                  layout?: undefined;
                  id: string;
                  type: string;
                  source: string;
                  "source-layer": string;
                  paint: {
                      "fill-color"?: undefined;
                      "fill-antialias"?: undefined;
                      "fill-outline-color"?: undefined;
                      "fill-opacity"?: undefined;
                      "line-color"?: undefined;
                      "line-blur"?: undefined;
                      "line-opacity"?: undefined;
                      "line-width"?: undefined;
                      "circle-radius": any[];
                      "circle-color": any[];
                      "circle-stroke-color": any[];
                      "circle-opacity": any[];
                  };
              }
          )[];
      }

    • 得到所有矢量字体名称

      Returns Promise<unknown>

    • 清空服务器缓存数据

      Parameters

      • prefix: string = ""

        key前缀

      Returns Promise<unknown>

    • 获取服务器地图服务地址

      Parameters

      • tileProvider: {
            tileCrs?: "gcj02" | "wgs84";
            tileSize?: number;
            tileRetina?: number;
            tileMaxZoom?: number;
            tileUrl: string | string[];
            tileShards?: string;
            tileToken?: string | string[];
            tileFlipY?: boolean;
            mapbounds?: string;
            fourParameterBefore?: string;
            fourParameterAfter?: string;
            srs?: string;
        }

      Returns string

    • 比较地图不同

      Parameters

      Returns Promise<any>

    • 导出布局空间为dwg图

      Parameters

      Returns Promise<any>

    • 目标匹配

      Parameters

      Returns Promise<any>

    • 自动提交图中的表格

      Parameters

      Returns Promise<any>

    • 拆分子图

      Parameters

      Returns Promise<any>

    • 获取创建实体的几何数据

      Parameters

      • param: ICreateEntitiesGeomData

        参数

      • Optionalcb: (point: [number, number]) => [number, number]

        结果中每个点的处理回调。如果返回空的话,则用默认处理方法

      Returns Promise<any>

    • 坐标转换

      Parameters

      • srs: string

        源坐标系名称,如 EPSG:4326

      • crs: string

        目标坐标系名称,如 EPSG:3857

      • points: GeoPoint | GeoPoint[]

        要转换的坐标

      • OptionalfourParameter: string | string[]

        四参数(x偏移,y偏移,缩放,旋转弧度),可选,对坐标最后进行修正

      • OptionalisInverseFourParamter: boolean

        是否是上面四参数坐标的反算

      Returns Promise<any>

    • 投影prj文件WKT字符转proj4字符串

      Parameters

      • wkt: string
      • Optionalfrom: "" | "wmsauto" | "xml" | "urn" | "crsurl" | "url" | "micoordsys" | "pci"

        字符串来源,为空为话为WKT

      Returns Promise<any>

    • 保存用户自定义数据

      Parameters

      • key: string | { key: string; value: any; prop?: any; ttl?: number }[]

        键名(必须唯一,否则会覆盖之前的数据,同类型的key前缀尽量一样),如果是数组的话,可以批量

      • Optionalvalue: any

        键值

      • Optionalprop: any

        属性值

      • Optionalttl: number

        有效时间,单位秒,默认长期有效

      Returns Promise<any>

    • 获取用户自定义数据

      Parameters

      • key: string | string[]

        键名,如果是数组的话,可以查询.

      • Optionaloptions: { retDataType?: "" | "value" | "prop"; contentType?: "" | "image" }

        选项 retDataType为空时查询数据及属性,"value"只查询数据,"prop"只查询属性。contentType返回类型,为空时为json,为"image"时为图片.

      Returns Promise<any>

    • 通过前缀获取用户自定义数据的键值

      Parameters

      • prefix: string

        键名前缀

      Returns Promise<any>

    • 删除用户自定义数据

      Parameters

      • key: string | string[]

        键名,如果是数组的话,可以查询

      • OptionalisPrefix: boolean

        是否删除所有前缀为key的所有键值,默认false

      Returns Promise<any>

    • 获取 WebCAD 图纸数据 (.vcad 格式) 返回二进制格式的压缩 vcad 数据 如果未指定 patchId,会先获取最新的 patchId 再请求数据

      Parameters

      • mapid: string

        地图 ID (imports 类型必填)

      • version: string

        版本号 (imports 类型必填)

      • Optionalparams: IGetWebcadDataParams

        额外参数

      Returns Promise<IGetWebcadDataResponse>

      包含 vcad 二进制数据和 patchId 信息的响应

    • 保存 WebCAD 图纸 Patch 可用于:

      1. 更新已有图纸 (传入 patch 参数)
      2. 创建新的 designs 图纸 (传入 vcadData 参数)

      Parameters

      Returns Promise<ISaveWebcadPatchResponse>

      保存结果

    • 导出 WebCAD 图纸为 DWG 格式 支持三种场景:

      1. imports 类型:基于原 DWG 增量修改导出
      2. 瓦片模式:只导出编辑区域内的变更
      3. designs 类型:创建全新的 DWG 文件

      Parameters

      Returns Promise<IExportWebcadResponse>

      导出结果,包含下载 URL

    • 获取文件下载 URL

      Parameters

      • filePath: string

        服务器文件路径

      Returns string

      完整的下载 URL

    • 转成文档字符串

      Parameters

      • content: string | Record<string, any>

        如果传入了内容,则以content为主。json格式

      Returns string

    • Get WebCAD server configuration and font metrics

      Parameters

      • stamp: string

        Encrypted metrics stamp from WASM

      • version: string

        Client version

      Returns Promise<{ status: string; version: string; time: string; stamp: string }>

      Server response with configuration data

    • 创建符号分类

      Parameters

      • name: string

        分类名称

      Returns Promise<ISymbolCategory>

      权限不足等错误

    • 更新符号分类

      Parameters

      • id: string

        分类ID

      • name: string

        新名称

      Returns Promise<void>

      权限不足等错误

    • 删除符号分类

      Parameters

      • id: string

        分类ID

      Returns Promise<void>

      权限不足等错误

    • 获取符号详情(包含vcad数据)

      Parameters

      • id: string

        符号ID

      Returns Promise<ISymbol>

    • 更新符号

      Parameters

      Returns Promise<void>

      权限不足等错误

    • 删除符号

      Parameters

      • id: string

        符号ID

      Returns Promise<void>

      权限不足等错误