Skip to content

场景基本信息

基本信息预览

json
{
  // 场景id
  "sceneId": "03aee685be8a4c989f90adce64575419",
  // 场景名称
  "title": "SDK",
  // 场景关键字
  "keyWord": "",
  // 场景封面图
  "coverImg": "image/bf7d8f39-f3da-44a9-bc2e-a575f6cb3514.jpg",
  // 场景logo图
  "logoImg": "",
  // 场景描述
  "description": "",
  "sceneStatus": "2",
  // 场景默认视角
  "viewPoint": {
    "posx": -2386094.3571853694,
    "posy": 4799212.235909229,
    "posz": 3448211.149137819,
    "upx": 0.24202189221912118,
    "upy": -0.4867847840963128,
    "upz": 0.8393247152675669,
    "directionx": 0.37366371003917936,
    "directiony": -0.7515593186560449,
    "directionz": -0.5436304096911962,
    // 视角截图
    "viewImg": "image/71f4ce98-db6b-419b-8cbc-086b91d83665.jpg"
  },
  // 皮肤id
  "templateId": "3",
  // 创建时间
  "createDate": "2025-01-15 14:20:39"
}

sceneId

场景id,用于标识场景的唯一性,场景id在场景创建时由用户自动生成UUID,保存成功后用户无法修改。

javascript
// 参考生成方法
function generateGUID(): string {
  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {
    const r = (Math.random() * 16) | 0
    const v = c === 'x' ? r : (r & 0x3) | 0x8
    return v.toString(16)
  })
}

title

场景名称,用于标识场景的名称,用户可以修改。

keyWord

暂时未启用

coverImg

场景封面图,用于标识场景的封面图,用户可以修改。该路径是使用viewer.scene.canvas.toDataURL('image/jpeg', 0.5)导出base64编码的图片,然后使用uploadSceneTempImg接口上传到服务器,服务器返回图片路径。

javascript
async function gen_default_scene_img(sceneid: string) {
  const imgBase64 = viewer.scene.canvas.toDataURL('image/jpeg', 0.5);
  const fd = new FormData()
  fd.append('sceneId', sceneid)
  fd.append('imageBase64Code', imgBase64)
  const res = await uploadSceneTempImg(fd)
  return res.data
}

export function uploadSceneTempImg(data: FormData) {
  return request({
    url: '/admin/api/scene/v1.0.0/uploadTempImg',
    method: 'post',
    data
  })
}

logoImg

场景logo图,用于标识场景的logo图,用户可以修改。

该路径是使用viewer.scene.canvas.toDataURL('image/jpeg', 0.5)导出base64编码的图片,然后使用uploadTempFile接口上传到服务器,服务器返回图片路径。

javascript
async function genSceneLogo(sceneid: string) {

  const fd = new FormData()
  fd.append('sceneId', sceneid)
  // Blob对象可以使用input标签的file获取
  fd.append('file', Blob对象)
  const res = await uploadSceneTempImg(fd)
  return res.data
}

export function uploadSceneTempImg(data: FormData) {
  return request({
    url: '/admin/api/scene/v1.0.0/uploadTempFile',
    method: 'post',
    data
  })
}

description

场景描述,用于标识场景的描述,用户可以修改。

viewPoint

场景默认视角,用于标识场景的默认视角,用户可以修改。

视角参数获取使用获取当前相机的信息接口。

视角截图参照#coverimg

templateId

场景皮肤id,用于标识场景的皮肤,用户可以修改。

目前有三种皮肤,分别是:

  • 1:极光绿
  • 2:暗夜黑
  • 3:无边框

createDate

场景创建时间,用于标识场景的创建时间,用户可以修改。

Released under the MIT License.