You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
2.1 KiB
Vue
110 lines
2.1 KiB
Vue
|
2 years ago
|
<template>
|
||
|
|
<div class="app-container">
|
||
|
|
<div id="container" class="container"></div>
|
||
|
|
</div>
|
||
|
|
</template>
|
||
|
|
|
||
|
|
<script>
|
||
|
|
|
||
|
|
const isAMRT = () => {
|
||
|
|
return new Promise((resolve, reject) => {
|
||
|
|
const fun = () => {
|
||
|
|
if (typeof AMRT !== "undefined" && AMRT) {
|
||
|
|
resolve(true)
|
||
|
|
} else {
|
||
|
|
setTimeout(fun, 100)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
fun()
|
||
|
|
})
|
||
|
|
}
|
||
|
|
|
||
|
|
export default {
|
||
|
|
name: "Model",
|
||
|
|
data() {
|
||
|
|
return {
|
||
|
|
viewer: null
|
||
|
|
}
|
||
|
|
},
|
||
|
|
async mounted() {
|
||
|
|
await isAMRT()
|
||
|
|
console.log(AMRT)
|
||
|
|
const param = {
|
||
|
|
appkey: 'aveMPyNWzDJm',
|
||
|
|
appsecret: 'rXmhoLAiOPNKzbl7g2qxCV8tFwRdYuZM'
|
||
|
|
}
|
||
|
|
const viewer = new AMRT.Viewer('container', param)
|
||
|
|
const callback = () => {
|
||
|
|
console.log('click on model')
|
||
|
|
}
|
||
|
|
const callback1 = () => {
|
||
|
|
console.log('click on model123213213')
|
||
|
|
}
|
||
|
|
let num = 0
|
||
|
|
viewer.loadModel('1720250797926780928', {
|
||
|
|
background: false,
|
||
|
|
onLoad: function (m) {
|
||
|
|
num+=1
|
||
|
|
if(num === 5){
|
||
|
|
alert('加载完成');
|
||
|
|
}
|
||
|
|
m.on('click', callback)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
viewer.loadModel('1720250751495835648', {
|
||
|
|
background: false,
|
||
|
|
onLoad: function (m) {
|
||
|
|
num+=1
|
||
|
|
if(num === 5){
|
||
|
|
alert('加载完成');
|
||
|
|
}
|
||
|
|
m.on('click', callback1)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
viewer.loadModel('1720250742998175744', {
|
||
|
|
background: false,
|
||
|
|
onLoad: function (m) {
|
||
|
|
num+=1
|
||
|
|
if(num === 5){
|
||
|
|
alert('加载完成');
|
||
|
|
}
|
||
|
|
m.on('click', callback1)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
viewer.loadModel('1720250716490174464', {
|
||
|
|
background: false,
|
||
|
|
onLoad: function (m) {
|
||
|
|
num+=1
|
||
|
|
if(num === 5){
|
||
|
|
alert('加载完成');
|
||
|
|
}
|
||
|
|
m.on('click', callback1)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
viewer.loadModel('1720250709951254528', {
|
||
|
|
background: false,
|
||
|
|
onLoad: function (m) {
|
||
|
|
num+=1
|
||
|
|
if(num === 5){
|
||
|
|
alert('加载完成');
|
||
|
|
}
|
||
|
|
m.on('click', callback1)
|
||
|
|
}
|
||
|
|
})
|
||
|
|
},
|
||
|
|
methods: {}
|
||
|
|
};
|
||
|
|
</script>
|
||
|
|
<style scoped>
|
||
|
|
* {
|
||
|
|
margin: 0;
|
||
|
|
padding: 0
|
||
|
|
}
|
||
|
|
|
||
|
|
.container {
|
||
|
|
width: 100vw;
|
||
|
|
height: 100vh
|
||
|
|
}
|
||
|
|
|
||
|
|
</style>
|