指挥中心(bim中心):bim接入

This commit is contained in:
骆乐 2022-08-19 18:24:37 +08:00
parent 5d0b2833e6
commit 722e32f0a8
2 changed files with 31 additions and 83 deletions

View File

@ -30,8 +30,11 @@
}
window.addEventListener('message', function(e) {
// const modelId = e.data.modelId
const data = e.data || {}
console.log('eeeeeeeeeee',e)
if (data.token) {
// removeModel(modelId)
bimCallback(data.token)
}
// console.log(e.data, '父级页面传来的数据')

View File

@ -1,17 +1,16 @@
<template>
<div class="fullHeight">
<div id="domId" style="width:800px; height:600px"></div>
<iframe src="/bim.html" frameborder="0" width="100%" height="100%" id="iframe" @load="load"></iframe>
</div>
</template>
<script>
import { getJlwTokenApi } from "@/assets/js/api/project";
var viewer3D,
app
export default {
data() {
return {
token: "75dd83c0b9664b49a836b1b5c9a45f59"
token: "",
model:1,
};
},
props: {
@ -23,105 +22,51 @@ export default {
},
mounted() {
console.log("fileId", this.fileId);
// let viewer3Djs = document.getElementsByClassName("viewer3Djs")[0];
// let newScript = document.createElement("script");
// window.location.reload()
// if(viewer3Djs){
// //
// if(this.$store.state.reloadPage){
// this.$store.commit('setReloadPage',false)
// // this.reload();
// window.location.reload()
// }
// }else{
// //
// this.$store.commit('setReloadPage',true)
// }
// newScript.type = "text/javascript";
// newScript.src =
// "https://static.bimface.com/api/BimfaceSDKLoader/BimfaceSDKLoader@latest-release.js";
// newScript.classList.add("viewer3Djs");
// document.body.appendChild(newScript);
// this.getToken();
// setTimeout(()=>{
this.getMoudle();
// },5000)
this.iframe = document.getElementById('iframe')
window.addEventListener('message', this.getIframeMessage)
this.getToken()
},
watch: {
fileId: {
handler(newVal, oldVal) {
if (newVal != oldVal) {
// this.iframe.remove();
this.$nextTick(()=>{
// this.iframe.append("<iframe id=\"iframe\" style=\"width: 100%;height: 100%\" src=\"\.bim.html\"></iframe>");
// console.log('',this.iframe)
// this.iframe = document.getElementById('iframe')
this.load()
window.addEventListener('message', this.getIframeMessage)
this.getToken();
this.reload();
})
}
},
deep: true,
immediate: true
deep: true
}
},
methods: {
load() {
this.iframe.contentWindow.postMessage('Message from parentload complate')
},
getIframeMessage(e) {
// console.log('Message from iframe', e.data)
},
getToken() {
let data = {};
data.fileId = this.fileId;
console.log('----看一下这个id',this.fileId)
data.projectSn = this.$store.state.projectSn;
getJlwTokenApi(data).then(res => {
if (res.code == 200) {
console.log("token", res);
this.token = res.result;
// let loaderConfig = new BimfaceSDKLoaderConfig();
// let that = this;
// loaderConfig.viewToken = this.token;
// console.log('loaderConfig',loaderConfig)
// BimfaceSDKLoader.load(loaderConfig, successCallback, failureCallback);
// // console.log('Glodon',Glodon)
// function successCallback(viewMetaData) {
// console.log("----", viewMetaData);
// let domShow = document.getElementById("domId");
// console.log("---------", domShow);
// console.log("Glodon", Glodon);
// // let webAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig();
// // webAppConfig.domElement = domShow;
// app = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
// app.addView(that.token);
// viewer3D = app.getViewer();
// }
// function failureCallback(error) {
// console.log("", error);
// }
let token = res.result;
let modelId = this.fileId
this.iframe.contentWindow.postMessage({ token , modelId})
}
});
},
getMoudle(){
let loaderConfig = new BimfaceSDKLoaderConfig();
loaderConfig.viewToken = this.token;
console.log('loaderConfig',loaderConfig)
BimfaceSDKLoader.load(loaderConfig, successCallback, failureCallback);
// console.log('Glodon',Glodon)
function successCallback(viewMetaData) {
console.log("----成功的回调", viewMetaData);
let domShow = document.getElementById("domId");
console.log("---------", domShow);
console.log("Glodon", Glodon);
// let webAppConfig = new Glodon.Bimface.Application.WebApplication3DConfig();
// webAppConfig.domElement = domShow;
// app = new Glodon.Bimface.Application.WebApplication3D(webAppConfig);
// app.addView(this.token);
// viewer3D = app.getViewer();
}
function failureCallback(error) {
console.log("错误的回调", error);
}
}
}
};
</script>