Commit 6d0da0d1 by junxiang wang

完成剩余需求。

parent d3e2fd09
File added
......@@ -2,46 +2,53 @@
<html>
<head>
<title>度假到丹寨</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<style>
*{
* {
margin: 0;
padding: 0;
border:none;
border: none;
}
.page-wrap{
.page-wrap {
position: absolute;
width: 100%;
height: 100%;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-image: url("/images/load/hello.png");
background-size: cover;
background-repeat: no-repeat;
background-position: bottom center;
}
.logo{
margin:30px 0 0 20px;
.logo {
margin: 30px 0 0 20px;
height: 14px;
display: block;
}
.title{
.title {
position: absolute;
width: 235px;
bottom: 207px;
left: 50%;
transform: translateX(-50%);
}
.mtitle{
.mtitle {
position: absolute;
height: 15px;
bottom: 162px;
left: 50%;
transform: translateX(-50%);
}
.go{
.go {
position: absolute;
height: 63px;
bottom: 18px;
......@@ -49,18 +56,41 @@
transform: translateX(-50%);
}
</style>
<!-- <script src="/libs/vue/vue.js"></script>-->
<!-- <script src="/libs/vue/vue.js"></script>-->
<script src="/libs/axios.min.js"></script>
</head>
<body id="app">
<div class="page-wrap">
<img class="logo" src="/images/load/logo.png" />
<img class="title" src="/images/load/title.png" />
<img class="mtitle" src="/images/load/mtitle.png" />
<img onclick="toPano()" class="go" src="/images/load/go.png" />
<img class="logo" src="/images/load/logo.png"/>
<img class="title" src="/images/load/title.png"/>
<img class="mtitle" src="/images/load/mtitle.png"/>
<img onclick="toPano()" class="go" src="/images/load/go.png"/>
</div>
<script src="/libs/helper.js"></script>
<script>
async function init_applcation() {
if(!checkIsLogin()){
var code = getQueryByString(location.href,'code')
//没有登录情况下
if(code){
const getTokenUrl = `/weixin/callback?code=${code}`
const {accessToken} = await $get(getTokenUrl).then(res=>res.data).catch(err=>{throw err})
localStorage.setItem('accessToken',accessToken)
}else{
const {url,appid} = await $get('/weixin/info').then(res=>res.data).catch(err=>{throw err})
location.href = url
return;
}
}
}
init_applcation()
function toPano() {
location.href = '/tour.html'
location.href = '/tour.html'
}
</script>
</body>
......
const apiBaseUrl = 'https://wanda-holiday-tapi.bdideal.com'
//const frontUrl = 'https://wanda-holiday-tapi.bdideal.com'
/**
* 检测是否登录
* @returns {boolean}
*/
const checkIsLogin = (redirect=0)=>{
if(!redirect){
return localStorage.getItem('accessToken')!=null
}
if(redirect && !localStorage.getItem('accessToken')){
location.href = '/index.html'
}
}
/**
* 获取字符串中参数
* @param str
* @param name
* @returns {string|null}
* @constructor
*/
const getQueryByString = (str, name) => {
// 获取?号出现几次
var tempArr = str.split('?')
// console.log(tempArr)
// //如果大于1
if (tempArr.length - 1 > 1) {
var rt = null
for (var i in tempArr) {
var s = tempArr[i]
var reg1 = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') // 构造一个含有目标参数的正则表达式对象
var r1 = s.match(reg1) // 匹配目标参数
if (r1 != null) {
rt = decodeURIComponent(r1[2])// 一直覆盖,要最后的就行了
}
}
return rt
}
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)') // 构造一个含有目标参数的正则表达式对象
if (!str.split('?')[1]) return null
var r = str.split('?')[1].match(reg) // 匹配目标参数
// console.log(r)
if (r != null) {
return decodeURIComponent(r[2])
}
return null // 返回参数值
}
const getReqHeader = ()=>{
if(checkIsLogin()){
return {
accessToken:localStorage.getItem('accessToken')
}
}
if(!checkIsLogin()){
return {}
}
}
const $get = (url)=>{
return new Promise((resolve, reject) => {
axios({
methods: 'get',
headers:getReqHeader(),
url:apiBaseUrl+url
}).then(res => {
if(res.data.code===0){
resolve(res.data)
}else{
reject(Error(res.data.msg))
}
}).catch(err => {
reject(Error(err.message))
})
})
}
const $post = (url,data)=>{
return new Promise((resolve, reject) => {
axios.post(apiBaseUrl+url,data,getReqHeader()).then(res => {
if(res.data.code===0){
resolve(res.data)
}else{
reject(Error(res.data.msg))
}
}).catch(err => {
reject(Error(err.message))
})
})
}
/**
* 获取信息
* @returns {Promise<unknown>}
*/
const getUserInfo = async(storage='local')=>{
var qrcode = sessionStorage.getItem('qrcode'),
nickname = sessionStorage.getItem('nickname'),
head = sessionStorage.getItem('head')
if(storage==='local' && qrcode && nickname && head ){
return {
qrcode,nickname,head
}
}else{
const userInfo = await $get('/weixin/userinfo').then(res=>res.data).catch(err=>{ throw err })
return {...userInfo}
}
}
function setWxConfig (config) {
wx.config(config)
}
const WX_JSSDK_INIT = (vm, jsApiListList) => new Promise((resolve, reject) => {
if (vm.JSSDK_READY) {
resolve(wx)
return
}
// let {origin,pathname} = location
// `${origin}${pathname}`,//
$get('/wechat/info?url='+encodeURI(location.href.split('#')[0])).then((res) => {
const config = res.data
console.log(res)
// 线上环境,听服务器的,本地的一律调试
const debug = !!res.data.debug// process.env.NODE_ENV === 'production'?config.debug?true:false:true
const jsApiList = jsApiListList || ['onMenuShareAppMessage', 'onMenuShareTimeline', 'openLocation', 'getLocation', 'scanQRCode', 'chooseImage', 'previewImage', 'uploadImage']
// ['chooseImage', 'previewImage', 'uploadImage', 'openLocation','getLocation', 'chooseWXPay', 'getSystemInfo', 'onMenuShareAppMessage','onMenuShareTimeline','scanQRCode'];
const { noncestr, timestamp, appId, signature } = config
setWxConfig({ debug, appId, timestamp,nonceStr, signature, jsApiList })
wx.ready(function () {
vm.JSSDK_READY = true
// 将微信这个变量传进去,所以在页面就不需要传了
resolve(wx)
// config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
})
}).catch(res => {
console.log(res,'getqianmng')
reject(new Error(false))
})
})

426 KB | W: | H:

403 KB | W: | H:

panos/vr.tiles/pano_b.jpg
panos/vr.tiles/pano_b.jpg
panos/vr.tiles/pano_b.jpg
panos/vr.tiles/pano_b.jpg
  • 2-up
  • Swipe
  • Onion skin

220 KB | W: | H:

157 KB | W: | H:

panos/vr.tiles/pano_d.jpg
panos/vr.tiles/pano_d.jpg
panos/vr.tiles/pano_d.jpg
panos/vr.tiles/pano_d.jpg
  • 2-up
  • Swipe
  • Onion skin

509 KB | W: | H:

492 KB | W: | H:

panos/vr.tiles/pano_f.jpg
panos/vr.tiles/pano_f.jpg
panos/vr.tiles/pano_f.jpg
panos/vr.tiles/pano_f.jpg
  • 2-up
  • Swipe
  • Onion skin

410 KB | W: | H:

393 KB | W: | H:

panos/vr.tiles/pano_l.jpg
panos/vr.tiles/pano_l.jpg
panos/vr.tiles/pano_l.jpg
panos/vr.tiles/pano_l.jpg
  • 2-up
  • Swipe
  • Onion skin

401 KB | W: | H:

386 KB | W: | H:

panos/vr.tiles/pano_r.jpg
panos/vr.tiles/pano_r.jpg
panos/vr.tiles/pano_r.jpg
panos/vr.tiles/pano_r.jpg
  • 2-up
  • Swipe
  • Onion skin

80 KB | W: | H:

83.2 KB | W: | H:

panos/vr.tiles/pano_u.jpg
panos/vr.tiles/pano_u.jpg
panos/vr.tiles/pano_u.jpg
panos/vr.tiles/pano_u.jpg
  • 2-up
  • Swipe
  • Onion skin

27.9 KB | W: | H:

27.3 KB | W: | H:

panos/vr.tiles/preview.jpg
panos/vr.tiles/preview.jpg
panos/vr.tiles/preview.jpg
panos/vr.tiles/preview.jpg
  • 2-up
  • Swipe
  • Onion skin

8.9 KB | W: | H:

8.54 KB | W: | H:

panos/vr.tiles/thumb.jpg
panos/vr.tiles/thumb.jpg
panos/vr.tiles/thumb.jpg
panos/vr.tiles/thumb.jpg
  • 2-up
  • Swipe
  • Onion skin
<!DOCTYPE html>
<html>
<head>
<title>度假到丹寨</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="x-ua-compatible" content="IE=edge" />
<script src="/libs/rem.js"></script>
<style>
*{
margin: 0;
padding: 0;
border:none;
}
.full-img{
width: 100%;
vertical-align: top;
}
</style>
<!-- <script src="/libs/vue/vue.js"></script>-->
</head>
<body id="app">
<img class="full-img" src="/images/route.png" />
<script>
</script>
</body>
</html>
......@@ -419,6 +419,7 @@
);
);
if(skin_settings.littleplanetintro AND (device.webgl OR device.flash),
skin_setup_littleplanetintro();
);
......@@ -552,7 +553,7 @@
);
);
);
js(showSwiper());
);
</action>
......
......@@ -7,6 +7,8 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
<script src="/libs/vue/vue.js"></script>
<script src="/libs/axios.min.js"></script>
<link rel="stylesheet" href="/libs/swiper3d/src/css/3dSwiper.css">
<style>
@-ms-viewport {
......@@ -40,6 +42,7 @@
left: 0;
top: 0;
z-index: -1;
visibility: hidden;
}
ul,li {
list-style: none;
......@@ -59,50 +62,12 @@
<body>
<div id="pano" style="width:100%;height:100%;"></div>
<div id="swiper" style="width:100%;height:100%;">
<div class="swiper-container ">
<ul class="swiper-wrap">
<li>
<img class="img-item" onclick="toShow(0)" src="/images/slide/0.png">
</li>
<li>
<img class="img-item" onclick="toShow(1)" src="/images/slide/5.jpg">
</li>
<li>
<img class="img-item" onclick="toShow(2)" src="/images/slide/6.jpg">
</li>
<li>
<img class="img-item" onclick="toShow(3)" src="/images/slide/7.jpg">
</li>
<li>
<img class="img-item" onclick="toShow(false)" src="/images/slide/8.jpg">
</li>
<li>
<img class="img-item" onclick="toShow(false)" src="/images/slide/9.jpg">
</li>
<li>
<img class="img-item" onclick="toShow(false)" src="/images/slide/10.jpg">
<div class="swiper-container " id="app">
<ul class="swiper-wrap" v-if="loadReady">
<li v-for="(item,idx) in slides" :key="idx">
<img class="img-item" @click="toShow(item.title,item.id,idx)" :src="item.image">
</li>
</ul>
<!-- <ul class="swiper-wrap">-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner1.png">-->
<!-- </li>-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner2.png">-->
<!-- </li>-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner3.png">-->
<!-- </li>-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner4.png">-->
<!-- </li>-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner5.png">-->
<!-- </li>-->
<!-- <li>-->
<!-- <img src="/libs/swiper3d/images/3dSwiper/3dBanner6.png">-->
<!-- </li>-->
<!-- </ul>-->
<ul class="swiper-dots"></ul>
<ul class="swiper-navigator">
<li class="swiper-btn-prev">&lt;</li>
......@@ -110,10 +75,49 @@
</ul>
</div>
</div>
<script src="/libs/helper.js"></script>
<script src="/libs/swiper3d/src/js/3dSwiper.js"></script>
<script>
new Swiper(".swiper-container",{
var vueInstance = new Vue({
el:'#app',
data(){
return {
loadReady:false,
slides:[]
}
},
methods:{
toShow(title,id,idx) {
// 0: {id: 12, title: "宜人的气候",…}
// 1: {id: 11, title: "完善的设施",…}
// 2: {id: 10, title: "绝美的风景",…}
// 3: {id: 9, title: "交通路线",…}
// 4: {id: 8, title: "行程推荐",…}
// 5: {id: 7, title: "独特的非遗",…}
if(title==='交通路线'){
location.href = '/travel.html?title&'+title+'&id='+id
return;
}
if(title==='行程推荐'){
location.href = '/route.html?title&'+title+'&id='+id
return;
}
console.log(idx)
location.href = '/show.html?title&'+title+'&id='+id
},
async _init_func(){
this.slides = await $get('/category/list').then(res=>res.data).catch(err=>{throw err})
console.log(this.slides)
this.loadReady = true
this.$nextTick().then(()=>{
new Swiper(".swiper-container",{
pagination: ".swiper-dots",
navigator: {
prev: ".swiper-btn-prev",
......@@ -121,53 +125,74 @@ new Swiper(".swiper-container",{
},
delay: 4000,
autoPlay: true
});
});
})
}
},
created(){
this._init_func()
function toShow(idx) {
console.log(idx)
if(idx!==false){
location.href = '/show.html?idx='+idx
}else{
location.href = '/show.html'
}
})
}
</script>
</script>
<script src="tour.js"></script>
<script>
embedpano({
swf: "tour.swf",
window.onload = function () {
if(sessionStorage.getItem('is_load')){
showSwiper()
embedpano({
// swf: "tour.swf",
xml: "tour_no_littleplantintro.xml",
target: "pano",
html5: "only",
mobilescale: 1.0,
passQueryParameters: true,
onready: krpano_onready_callback2
});
}else{
embedpano({
// swf: "tour.swf",
xml: "tour.xml",
target: "pano",
html5: "auto",
html5: "only",
mobilescale: 1.0,
passQueryParameters: true,
onready: krpano_onready_callback
});
});
}
}
function showSwiper() {
setTimeout(function(){
console.log('showSwiper')
//alert('showSwiper');
async function showSwiper() {
document.getElementById('swiper').style.visibility = 'visible'
document.getElementById('swiper').style.zIndex = 4
},4000)
}
function krpano_onready_callback(krpano_interface) {
krpano = krpano_interface;
setTimeout(() => {
add_hotspot('完善的设施', 128.862, 4.478)
add_hotspot('宜人的气候', '-144.129', -5)
}, 1000)
function krpano_onready_callback2(krpano_interface) {
krpano = krpano_interface;
krpano.set("skin_settings.littleplanetintro", false)
sessionStorage.setItem('is_load',1)
showSwiper()
}
function krpano_onready_callback(krpano_interface) {
krpano = krpano_interface;
console.log(krpano)
krpano.set("skin_settings.littleplanetintro", false)
sessionStorage.setItem('is_load',1)
// setTimeout(()=>{
//
// setTimeout(() => {
// add_hotspot('完善的设施', 128.862, 4.478)
// add_hotspot('宜人的气候', '-144.129', -5)
//
// },3000)
// }, 1000)
showSwiper()
}
/**
......@@ -211,6 +236,9 @@ window.func = function () {
console.log(3333333333)
}
function trace(a) {
console.log(a)
}
function test(hs) {
// if(hs==='完善的设施'){
......@@ -222,7 +250,6 @@ function test(hs) {
}
</script>
</div>
</body>
</html>
......@@ -128,55 +128,55 @@
onloaded.addevent=""
/>
<hotspot name="mytext"
type="text"
ath="-144.129" atv="-8" edge="center"
distorted="true"
renderer="webgl"
html="宜人的气候"
css="font-family:Arial; font-size:16px; color:#FFFFFF;"
vcenter="false"
padding="8"
zorder="5"
wordwrap="true"
bg="true"
bgcolor="0xFFFFFF"
bgalpha="0.2"
bgborder="0"
bgroundedge="6"
bgshadow=""
txtshadow=""
mergedalpha="true"
oversampling="1.0"
mipmapping="false"
onautosized=""
onclick="bindJsEvent('完善的设施')"
/>
<hotspot name="mytext2"
type="text"
ath="128.862" atv="0" edge="center"
distorted="true"
zorder="3"
renderer="webgl"
html="完善的设施"
css="font-family:Arial; font-size:16px; color:#FFFFFF;"
vcenter="false"
padding="8"
wordwrap="true"
bg="true"
bgcolor="0xFFFFFF"
bgalpha="0.2"
bgborder="0"
bgroundedge="6"
bgshadow=""
txtshadow=""
mergedalpha="true"
oversampling="1.0"
mipmapping="false"
onautosized=""
onclick="bindJsEvent('完善的设施')"
/>
<!-- <hotspot name="mytext"-->
<!-- type="text"-->
<!-- ath="-144.129" atv="-8" edge="center"-->
<!-- distorted="true"-->
<!-- renderer="webgl"-->
<!-- html="宜人的气候"-->
<!-- css="font-family:Arial; font-size:16px; color:#FFFFFF;"-->
<!-- vcenter="false"-->
<!-- padding="8"-->
<!-- zorder="5"-->
<!-- wordwrap="true"-->
<!-- bg="true"-->
<!-- bgcolor="0xFFFFFF"-->
<!-- bgalpha="0.2"-->
<!-- bgborder="0"-->
<!-- bgroundedge="6"-->
<!-- bgshadow=""-->
<!-- txtshadow=""-->
<!-- mergedalpha="true"-->
<!-- oversampling="1.0"-->
<!-- mipmapping="false"-->
<!-- onautosized=""-->
<!-- onclick="bindJsEvent('完善的设施')"-->
<!-- />-->
<!-- <hotspot name="mytext2"-->
<!-- type="text"-->
<!-- ath="128.862" atv="0" edge="center"-->
<!-- distorted="true"-->
<!-- zorder="3"-->
<!-- renderer="webgl"-->
<!-- html="完善的设施"-->
<!-- css="font-family:Arial; font-size:16px; color:#FFFFFF;"-->
<!-- vcenter="false"-->
<!-- padding="8"-->
<!-- wordwrap="true"-->
<!-- bg="true"-->
<!-- bgcolor="0xFFFFFF"-->
<!-- bgalpha="0.2"-->
<!-- bgborder="0"-->
<!-- bgroundedge="6"-->
<!-- bgshadow=""-->
<!-- txtshadow=""-->
<!-- mergedalpha="true"-->
<!-- oversampling="1.0"-->
<!-- mipmapping="false"-->
<!-- onautosized=""-->
<!-- onclick="bindJsEvent('完善的设施')"-->
<!-- />-->
</scene>
......
<krpano version="1.19" title="Virtual Tour">
<include url="skin/vtourskin.xml" />
<!-- customize skin settings: maps, gyro, webvr, thumbnails, tooltips, layout, design, ... -->
<skin_settings maps="false"
maps_type="google"
maps_bing_api_key=""
maps_google_api_key=""
maps_zoombuttons="false"
gyro="true"
webvr="true"
webvr_gyro_keeplookingdirection="false"
webvr_prev_next_hotspots="true"
littleplanetintro="false"
title="true"
thumbs="true"
thumbs_width="120" thumbs_height="80" thumbs_padding="10" thumbs_crop="0|40|240|160"
thumbs_opened="false"
thumbs_text="false"
thumbs_dragging="true"
thumbs_onhoverscrolling="false"
thumbs_scrollbuttons="false"
thumbs_scrollindicator="false"
thumbs_loop="false"
tooltips_buttons="false"
tooltips_thumbs="false"
tooltips_hotspots="false"
tooltips_mapspots="false"
deeplinking="false"
loadscene_flags="MERGE"
loadscene_blend="OPENBLEND(0.5, 0.0, 0.75, 0.05, linear)"
loadscene_blend_prev="SLIDEBLEND(0.5, 180, 0.75, linear)"
loadscene_blend_next="SLIDEBLEND(0.5, 0, 0.75, linear)"
loadingtext="loading..."
layout_width="100%"
layout_maxwidth="814"
controlbar_width="-24"
controlbar_height="40"
controlbar_offset="20"
controlbar_offset_closed="-40"
controlbar_overlap.no-fractionalscaling="10"
controlbar_overlap.fractionalscaling="0"
design_skin_images="vtourskin.png"
design_bgcolor="0x2D3E50"
design_bgalpha="0.8"
design_bgborder="0"
design_bgroundedge="1"
design_bgshadow="0 4 10 0x000000 0.3"
design_thumbborder_bgborder="3 0xFFFFFF 1.0"
design_thumbborder_padding="2"
design_thumbborder_bgroundedge="0"
design_text_css="color:#FFFFFF; font-family:Arial;"
design_text_shadow="1"
/>
<!--
For an alternative skin design either change the <skin_settings> values
from above or optionally include one of the predefined designs from below.
-->
<!-- <include url="skin/vtourskin_design_flat_light.xml" /> -->
<!-- <include url="skin/vtourskin_design_glass.xml" /> -->
<!-- <include url="skin/vtourskin_design_ultra_light.xml" /> -->
<!-- <include url="skin/vtourskin_design_117.xml" /> -->
<!-- <include url="skin/vtourskin_design_117round.xml" /> -->
<!-- <include url="skin/vtourskin_design_black.xml" /> -->
<!-- startup action - load the first scene -->
<action name="startup" autorun="onstart">
if(startscene === null OR !scene[get(startscene)], copy(startscene,scene[0].name); );
loadscene(get(startscene), null, MERGE);
if(startactions !== null, startactions() );
</action>
<action name="bindJsEvent">
js(test(%1));
</action>
<scene name="scene_vr" title="vr" onstart="" thumburl="panos/vr.tiles/thumb.jpg" lat="26.20434422" lng="107.80451219" heading="0.0">
<view hlookat="0.0" vlookat="0.0" fovtype="MFOV" fov="120" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />
<preview url="panos/vr.tiles/preview.jpg" />
<image prealign="0|0.0|0">
<cube url="panos/vr.tiles/pano_%s.jpg" />
</image>
<layer name="mask"
type="container"
keep="true"
parent=""
visible="true"
enabled="true"
handcursor="true"
maskchildren="false"
scalechildren="false"
zorder="1"
style=""
align=""
edge=""
x=""
y=""
rotate="0.0"
width="100%"
height="100%"
scale="1.0"
alpha="1.0"
crop=""
onovercrop=""
ondowncrop=""
bgcolor="0x000000"
bgalpha="0.1"
bgborder="0"
bgroundedge="0"
bgshadow=""
bgcapture="true"
onover.addevent=""
onhover.addevent=""
onout.addevent=""
onclick.addevent=""
ondown.addevent=""
onup.addevent=""
onloaded.addevent=""
/>
<!-- <hotspot name="mytext"-->
<!-- type="text"-->
<!-- ath="-144.129" atv="-8" edge="center"-->
<!-- distorted="true"-->
<!-- renderer="webgl"-->
<!-- html="宜人的气候"-->
<!-- css="font-family:Arial; font-size:16px; color:#FFFFFF;"-->
<!-- vcenter="false"-->
<!-- padding="8"-->
<!-- zorder="5"-->
<!-- wordwrap="true"-->
<!-- bg="true"-->
<!-- bgcolor="0xFFFFFF"-->
<!-- bgalpha="0.2"-->
<!-- bgborder="0"-->
<!-- bgroundedge="6"-->
<!-- bgshadow=""-->
<!-- txtshadow=""-->
<!-- mergedalpha="true"-->
<!-- oversampling="1.0"-->
<!-- mipmapping="false"-->
<!-- onautosized=""-->
<!-- onclick="bindJsEvent('完善的设施')"-->
<!-- />-->
<!-- <hotspot name="mytext2"-->
<!-- type="text"-->
<!-- ath="128.862" atv="0" edge="center"-->
<!-- distorted="true"-->
<!-- zorder="3"-->
<!-- renderer="webgl"-->
<!-- html="完善的设施"-->
<!-- css="font-family:Arial; font-size:16px; color:#FFFFFF;"-->
<!-- vcenter="false"-->
<!-- padding="8"-->
<!-- wordwrap="true"-->
<!-- bg="true"-->
<!-- bgcolor="0xFFFFFF"-->
<!-- bgalpha="0.2"-->
<!-- bgborder="0"-->
<!-- bgroundedge="6"-->
<!-- bgshadow=""-->
<!-- txtshadow=""-->
<!-- mergedalpha="true"-->
<!-- oversampling="1.0"-->
<!-- mipmapping="false"-->
<!-- onautosized=""-->
<!-- onclick="bindJsEvent('完善的设施')"-->
<!-- />-->
</scene>
</krpano>
<!DOCTYPE html>
<html>
<head>
<title>度假到丹寨</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<meta http-equiv="x-ua-compatible" content="IE=edge"/>
</head>
<body id="app">
<script src="/libs/helper.js"></script>
<script>
async function init_applcation() {
var code = getQueryByString(location.href,'code')
if(code){
location.href = `/index.html?code=${code}`
}
}
init_applcation()
</script>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment