import { ViewpointTypeEnum, GetViewpointListQuery, SyncFlowNodeViewpointInputsQuery, CreateViewpointQuery, CopyViewpointListQuery, UpdateViewpointQuery, RemoveViewpointQuery, ViewpointInfo, loopHandle, } from '@easytwin/core'; import apis from '@/constants/api.swagger-constants'; import { request } from '@/utils'; /** * 创建镜头 * @author xuek * @since 2022-03-21 * @param { CreateViewpointQuery } query * @returns { Promise } */ export async function create(query: CreateViewpointQuery): Promise { const { type, config, bizId } = query; try { if (type === ViewpointTypeEnum.PROJECT) { const body = { name: '镜头', config, }; const info = await request(apis.scenesViewpointsPost, { params: { sceneId: bizId, }, body, }); if (!info) return; return { ...info, ...body, rank: 0 }; } } catch (error) { console.error('createViewpoint:', error); return Promise.reject('创建镜头失败!'); } } /** * 更新镜头 * @author xuek * @since 2022-03-21 * @param { UpdateViewpointQuery } query * @returns { Promise } */ export async function update(query: UpdateViewpointQuery): Promise { const { type, config, bizId, id, name } = query; try { if (type === ViewpointTypeEnum.PROJECT) { const newQuery = { params: { sceneId: bizId, id, }, body: { name, config, }, }; if (!name) delete newQuery.body.name; const info = await request(apis.scenesViewpointPatch, newQuery); return info; } } catch (error) { console.error('updateViewpoint:', error); return Promise.reject('更新镜头失败!'); } } /** * 删除镜头 * @author xuek * @since 2022-03-21 * @param { RemoveViewpointQuery } query * @returns { Promise } */ export async function remove(query: RemoveViewpointQuery): Promise { try { const { id, bizId } = query; const result = await request(apis.scenesViewpointDelete, { params: { sceneId: bizId, id, }, }); return result; } catch (error) { console.error('removeViewpoint:', error); return Promise.reject('删除镜头失败!'); } }