|
@@ -123,7 +123,7 @@ const isPlayNormalBGM = computed(() => store.getters["audio/isPlayNormalBGM"]);
|
|
|
const isPlayV3BGM = computed(() => store.getters["audio/isPlayV3BGM"]);
|
|
|
const isPlayV4BGM = computed(() => store.getters["audio/isPlayV4BGM"]);
|
|
|
const isPlayExplanationBGM = computed(() => store.getters["audio/isPlayExplanationBGM"]);
|
|
|
-
|
|
|
+const vrStatus = computed(() => store.getters["functions/vrStatus"]);
|
|
|
const isFullscreen = ref(false);
|
|
|
|
|
|
const onIntroduce = () => {
|
|
@@ -185,15 +185,103 @@ const enterVR = async () => {
|
|
|
console.error('不支持')
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
-const onVR = (data) => {
|
|
|
- useApp().then((app) => {
|
|
|
- enterVR();
|
|
|
- console.log(app.krpanoDom.get("webvr"));
|
|
|
- app.krpanoDom.call("webvr.enterVR()");
|
|
|
+// 授权
|
|
|
+const $iosGrantedTips = (cb) => {
|
|
|
+ var ua = navigator.userAgent.toLowerCase();
|
|
|
+ if (ua.indexOf("like mac os x") > 0) {
|
|
|
+ var reg = /os [\d._]*/gi;
|
|
|
+ var verinfo = ua.match(reg);
|
|
|
+ var version = (verinfo + "").replace(/[^0-9|_.]/gi, "").replace(/_/gi, ".");
|
|
|
+ var arr = version.split(".");
|
|
|
+ console.log(arr);
|
|
|
+ if (arr[0] > 12 && arr[1] >= 0) {
|
|
|
+ if (typeof DeviceMotionEvent !=='undefined' && typeof DeviceMotionEvent.requestPermission ==='function') {
|
|
|
+ DeviceMotionEvent.requestPermission().then((permissionState) => {
|
|
|
+ console.log("存在-permissionState", permissionState);
|
|
|
+ if (permissionState == "granted") {
|
|
|
+ cb({
|
|
|
+ msg: "授权成功",
|
|
|
+ code: 1,
|
|
|
+ });
|
|
|
+ // this.reload();
|
|
|
+ } else {
|
|
|
+ cb({
|
|
|
+ msg: "授权失败",
|
|
|
+ code: 0,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ //13.3以前的版本
|
|
|
+ cb({
|
|
|
+ msg: "无需授权,直接成功",
|
|
|
+ code: 1,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ //13.3以前的版本
|
|
|
+ cb({
|
|
|
+ msg: "无需授权,直接成功",
|
|
|
+ code: 1,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ cb({
|
|
|
+ msg: "无需授权,直接成功",
|
|
|
+ code: 1,
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
+// const onVR = (data) => {
|
|
|
+// useApp().then((app) => {
|
|
|
+// enterVR();
|
|
|
+// console.log(app.krpanoDom.get("webvr"));
|
|
|
+// app.krpanoDom.call("webvr.enterVR()");
|
|
|
+// });
|
|
|
+// };
|
|
|
+const onVR = () => {
|
|
|
+ $iosGrantedTips((data) => {
|
|
|
+ console.log(data);
|
|
|
+ if (data.code == 1) {
|
|
|
+ store.commit("functions/setVrStatus", !vrStatus.value);
|
|
|
+ if (currentScene.value.type == "pano") {
|
|
|
+ useApp().then((app) => {
|
|
|
+ app.krpanoDom.call(
|
|
|
+ vrStatus.value ? "webvr.enterVR()" : "webvr.exitVR()"
|
|
|
+ );
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ if (fdkkCurrentVersion.value == "V4") {
|
|
|
+ document.querySelector("#fdkkifr") &&
|
|
|
+ document.querySelector("#fdkkifr").contentWindow.postMessage(
|
|
|
+ {
|
|
|
+ source: "qjkankan",
|
|
|
+ event: "enterVr",
|
|
|
+ params: {
|
|
|
+ toggle: vrStatus.value,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ "*"
|
|
|
+ );
|
|
|
+ } else {
|
|
|
+ let ele = document.getElementById("showifr");
|
|
|
+ ele &&
|
|
|
+ ele.contentWindow.postMessage(
|
|
|
+ {
|
|
|
+ source: "mingyuan",
|
|
|
+ event: vrStatus.value ? "vr-in" : "vr-out",
|
|
|
+ },
|
|
|
+ "*"
|
|
|
+ );
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Dialog.alert(
|
|
|
+ "运动和方向访问失败,您需要完全关闭此应用,然后再次打开,并允许访问运动与方向"
|
|
|
+ );
|
|
|
+ }
|
|
|
});
|
|
|
};
|
|
|
-
|
|
|
const onShare = () => {
|
|
|
store.commit("functions/setShareUrl", true);
|
|
|
};
|