|
@@ -0,0 +1,110 @@
|
|
|
+<template>
|
|
|
+ <div class="HotPage">
|
|
|
+ <Hot
|
|
|
+ v-if="sonInfo"
|
|
|
+ :info="sonInfo"
|
|
|
+ :hotIdOrName="hotIdOrName"
|
|
|
+ :isOne="true"
|
|
|
+ @hotClose="()=>{}"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import Hot from "../components/Hot.vue";
|
|
|
+export default {
|
|
|
+ components: {Hot},
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ sonInfo: null,
|
|
|
+ hotIdOrName: null,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ computed: {},
|
|
|
+ watch: {},
|
|
|
+ methods: {
|
|
|
+ // 热点数据处理得到单个数据
|
|
|
+ hotListFu(data) {
|
|
|
+ // console.log(123,data.length);
|
|
|
+
|
|
|
+ // data.forEach(v=>{
|
|
|
+
|
|
|
+ // console.log(`id:${v.panoId},title:${v.title}`);
|
|
|
+ // })
|
|
|
+
|
|
|
+ let info =data.find(v=>v.panoId===this.$route.params.id)
|
|
|
+ this.openHotFu(info,data)
|
|
|
+ },
|
|
|
+
|
|
|
+ // 封装点击热点的函数
|
|
|
+ openHotFu(data,arr) {
|
|
|
+ let temp = [];
|
|
|
+
|
|
|
+ // 如果是多个热点合并
|
|
|
+ if (data.title.split("&")[1]) {
|
|
|
+ arr.forEach((v) => {
|
|
|
+ if (v.title.split("&")[1] === data.title.split("&")[1]) {
|
|
|
+ temp.push(v);
|
|
|
+ if (v.media && v.media.image && v.media.image.length > 1) {
|
|
|
+ v.media.image.forEach((p, pI) => {
|
|
|
+ if (pI !== 0) temp.push({ ...v, media: { image: [p] } });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ let obj = {
|
|
|
+ image: [],
|
|
|
+ audio: [],
|
|
|
+ link: [],
|
|
|
+ video: [],
|
|
|
+ };
|
|
|
+ temp.forEach((v) => {
|
|
|
+ if (obj[v.type]) obj[v.type].push(v);
|
|
|
+ });
|
|
|
+ for (const k in obj) {
|
|
|
+ if (k === "audio") {
|
|
|
+ obj[k].reverse();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ this.hotIdOrName = {
|
|
|
+ id: data.sid,
|
|
|
+ name: data.title.split("&")[0],
|
|
|
+ };
|
|
|
+ this.sonInfo = obj;
|
|
|
+ } else {
|
|
|
+ this.hotIdOrName = {
|
|
|
+ id: data.sid,
|
|
|
+ name: data.title,
|
|
|
+ };
|
|
|
+ // 单个热点
|
|
|
+ this.sonInfo = { [data.type]: [data] };
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ let lId = this.$route.params.key;
|
|
|
+ window.KKNum = lId==='1'?'KJ-aigSkgvRWR':'KJ-ufjLwlSXba';
|
|
|
+ const url = `http://yhtjyk.travel-yuhuatai.com:9888/YHT/Swkk/scene_view_data/${
|
|
|
+ lId === "1" ? "KJ-aigSkgvRWR" : "KJ-ufjLwlSXba"
|
|
|
+ }/user/hot.json`;
|
|
|
+ fetch(url)
|
|
|
+ .then((response) => response.json()) // 将响应转换为 JSON
|
|
|
+ .then((data) => this.hotListFu(data)); // 处理数据
|
|
|
+ },
|
|
|
+ mounted() {},
|
|
|
+ beforeCreate() {}, //生命周期 - 创建之前
|
|
|
+ beforeMount() {}, //生命周期 - 挂载之前
|
|
|
+ beforeUpdate() {}, //生命周期 - 更新之前
|
|
|
+ updated() {}, //生命周期 - 更新之后
|
|
|
+ beforeDestroy() {}, //生命周期 - 销毁之前
|
|
|
+ destroyed() {}, //生命周期 - 销毁完成
|
|
|
+ activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+};
|
|
|
+</script>
|
|
|
+<style lang="less" scoped>
|
|
|
+.HotPage{
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
+</style>
|