From 0e92e402f087db5da389db1719b05345864879b1 Mon Sep 17 00:00:00 2001 From: ChenX Date: Thu, 6 Jan 2022 17:07:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=9F=E8=83=BD:=E6=B8=B2=E6=9F=93=E5=99=A8?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Add-on/ExportData.tsx | 13 ++++++++++++- src/ApplicationServices/Application.ts | 11 +++++++++-- src/GraphicsSystem/WebRtcRenderer.ts | 5 ++++- src/Reactor/SyncDataReactor.ts | 4 +++- 4 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/Add-on/ExportData.tsx b/src/Add-on/ExportData.tsx index 745fd8e69..7dfca9daf 100644 --- a/src/Add-on/ExportData.tsx +++ b/src/Add-on/ExportData.tsx @@ -8,6 +8,7 @@ import { CURRENT_HOST, RenderUrl } from "../Common/HostUrl"; import { KeyBoard } from '../Common/KeyEnum'; import { Log } from "../Common/Log"; import { Vector2ApplyMatrix4 } from "../Common/Matrix4Utils"; +import { StoreageKeys } from '../Common/StoreageKeys'; import { copyTextToClipboard } from "../Common/Utils"; import { CylinderHole } from '../DatabaseServices/3DSolid/CylinderHole'; import { ExtrudeHole } from '../DatabaseServices/3DSolid/ExtrudeHole'; @@ -120,8 +121,8 @@ export class Command_ExportData implements Command let ents = ssRes.SelectSet.SelectEntityList; ents.push(app.Database.SunLight, app.Database.HemisphereLight);//保证传递灯光参数 let d = Entitys2Data(ents); - d.Url = CURRENT_HOST; d.Clear = isClear; + AppendUserInfo(d); let dstr = JSON.stringify(d); copyTextToClipboard(dstr); @@ -139,7 +140,17 @@ export type Data = { Materials: Object[]; Url?: string; Clear?: boolean; + shopid?: string; + uid?: string; }; + +export function AppendUserInfo(d: Data | any) +{ + d.Url = CURRENT_HOST; + d.shopid = TopPanelStore.GetInstance().shopId; + d.uid = localStorage.getItem(StoreageKeys.Uid); +} + export function Entitys2Data(ents: Entity[]): Data { let d: Data = { Entitys: [], Materials: [] }; diff --git a/src/ApplicationServices/Application.ts b/src/ApplicationServices/Application.ts index 96dbde052..b1e97dde3 100644 --- a/src/ApplicationServices/Application.ts +++ b/src/ApplicationServices/Application.ts @@ -4,6 +4,7 @@ import { MathUtils, Matrix4, Object3D, PerspectiveCamera, Vector3 } from 'three' import { begin, end } from 'xaop'; import { HardwareCuttingReactor } from '../Add-on/BoardCutting/HardwareCuttingReactor'; import { DrillingReactor } from '../Add-on/DrawDrilling/DrillingReactor'; +import { AppendUserInfo } from '../Add-on/ExportData'; import { CommandNames } from '../Common/CommandNames'; import { IsDev } from '../Common/Deving'; import { MouseKey } from '../Common/KeyEnum'; @@ -97,7 +98,11 @@ export class ApplicationService end(this.Viewer, this.Viewer.OnSize, () => { if (this.WebRtcRenderer.webRtcPlayerObj) - this.WebSocket.Send(JSON.stringify({ type: "ResSize", w: this.Viewer.Width, h: this.Viewer.Height })); + { + let d = { type: "ResSize", w: this.Viewer.Width, h: this.Viewer.Height }; + AppendUserInfo(d); + this.WebSocket.Send(JSON.stringify(d)); + } }); end(this.Viewer.CameraCtrl, this.Viewer.CameraCtrl.SwitchCamera, this.UpdateBackground);//切换相机的时候响应背景切换 @@ -321,7 +326,9 @@ export class ApplicationService let b = Math.atan(w / 2); b = MathUtils.RAD2DEG * b * 2; - app.WebSocket.Send(JSON.stringify({ type: "camera", p: app.Viewer.Camera.position.toArray(), r: [app.Viewer.CameraControl.Orbit.RoX, app.Viewer.CameraControl.Orbit.theta, 0], fov: b, aspect: app.Viewer.CameraControl.Aspect })); + let d = { type: "camera", p: app.Viewer.Camera.position.toArray(), r: [app.Viewer.CameraControl.Orbit.RoX, app.Viewer.CameraControl.Orbit.theta, 0], fov: b, aspect: app.Viewer.CameraControl.Aspect }; + AppendUserInfo(d); + app.WebSocket.Send(JSON.stringify(d)); } get PerCameraUseSkyBox() { return this._PerCameraUseSkyBox; } diff --git a/src/GraphicsSystem/WebRtcRenderer.ts b/src/GraphicsSystem/WebRtcRenderer.ts index a9f8a9c6b..ea8dd8139 100644 --- a/src/GraphicsSystem/WebRtcRenderer.ts +++ b/src/GraphicsSystem/WebRtcRenderer.ts @@ -1,4 +1,5 @@ import { end } from "xaop"; +import { AppendUserInfo } from "../Add-on/ExportData"; import { app } from "../ApplicationServices/Application"; import { WebSocketClientServer } from "../ApplicationServices/WebSocketClientServer"; import { WebRtcPlayer } from "./WebRtcPlayer"; @@ -130,7 +131,9 @@ export class WebRtcRenderer this.webRtcPlayerObj.video.play(); app.SendCameraPosToRenderer(); - app.WebSocket.Send(JSON.stringify({ type: "ResSize", w: app.Viewer.Width, h: app.Viewer.Height })); + let d = { type: "ResSize", w: app.Viewer.Width, h: app.Viewer.Height }; + AppendUserInfo(d); + app.WebSocket.Send(JSON.stringify(d)); app.Viewer.DisableRenderer = true; } diff --git a/src/Reactor/SyncDataReactor.ts b/src/Reactor/SyncDataReactor.ts index 148618e9a..ed8beb8aa 100644 --- a/src/Reactor/SyncDataReactor.ts +++ b/src/Reactor/SyncDataReactor.ts @@ -1,5 +1,5 @@ import { end } from "xaop"; -import { Data, Entitys2Data } from "../Add-on/ExportData"; +import { AppendUserInfo, Data, Entitys2Data } from "../Add-on/ExportData"; import { ApplicationService } from "../ApplicationServices/Application"; import { Hole } from "../DatabaseServices/3DSolid/Hole"; import { CADObject } from "../DatabaseServices/CADObject"; @@ -47,6 +47,7 @@ export class SyncDataReactor if (createEntitys.length > 0 || deleteEntitys.length > 0 || changeEntitys.length > 0) { let d: IncrementData = { Add: Entitys2Data(createEntitys), Change: Entitys2Data(changeEntitys), Delete: Entitys2Data(deleteEntitys) }; + AppendUserInfo(d); app.WebSocket.Send(JSON.stringify(d)); } }); @@ -108,6 +109,7 @@ export class SyncDataReactor if (createEntitys.length > 0 || deleteEntitys.length > 0 || changeEntitys.length > 0) { let d: IncrementData = { Add: Entitys2Data(createEntitys), Change: Entitys2Data(changeEntitys), Delete: Entitys2Data(deleteEntitys) }; + AppendUserInfo(d); app.WebSocket.Send(JSON.stringify(d)); } };