tremble 2 лет назад
Родитель
Сommit
bd06e46cc3

BIN
web/public/program/Build/Build10.data.unityweb


BIN
web/public/program/Build/Build10.framework.js.unityweb


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
web/public/program/Build/Build10.loader.js


BIN
web/public/program/Build/Build10.wasm.unityweb


+ 4 - 4
web/public/program/ServiceWorker.js

@@ -1,9 +1,9 @@
 const cacheName = "DefaultCompany-HeNanMuseum-0.1";
 const contentToCache = [
-    "Build/Build8.loader.js",
-    "Build/Build8.framework.js.unityweb",
-    "Build/Build8.data.unityweb",
-    "Build/Build8.wasm.unityweb",
+    "Build/Build10.loader.js",
+    "Build/Build10.framework.js.unityweb",
+    "Build/Build10.data.unityweb",
+    "Build/Build10.wasm.unityweb",
     "TemplateData/style.css"
 
 ];

+ 106 - 104
web/public/program/index copy.html

@@ -1,110 +1,107 @@
 <!DOCTYPE html>
 <html lang="en-us">
-
-<head>
-  <meta charset="utf-8">
-  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-  <title>Unity WebGL Player | HeNanMuseum</title>
-  <link rel="shortcut icon" href="TemplateData/favicon.ico">
-  <link rel="stylesheet" href="TemplateData/style.css">
-  <link rel="manifest" href="manifest.webmanifest">
-</head>
-
-<body>
-  <div id="unity-container">
-    <canvas id="unity-canvas" width=960 height=600 tabindex="-1"></canvas>
-    <div id="unity-loading-bar">
-      <div id="unity-logo"></div>
-      <div id="unity-progress-bar-empty">
-        <div id="unity-progress-bar-full"></div>
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+    <title>Unity WebGL Player | HeNanMuseum</title>
+    <link rel="shortcut icon" href="TemplateData/favicon.ico">
+    <link rel="stylesheet" href="TemplateData/style.css">
+    <link rel="manifest" href="manifest.webmanifest">
+  </head>
+  <body>
+    <div id="unity-container">
+      <canvas id="unity-canvas" width=960 height=600 tabindex="-1"></canvas>
+      <div id="unity-loading-bar">
+        <div id="unity-logo"></div>
+        <div id="unity-progress-bar-empty">
+          <div id="unity-progress-bar-full"></div>
+        </div>
       </div>
+      <div id="unity-warning"> </div>
     </div>
-    <div id="unity-warning"> </div>
-  </div>
-  <script>
-    window.addEventListener("load", function () {
-      if ("serviceWorker" in navigator) {
-        navigator.serviceWorker.register("ServiceWorker.js");
-      }
-    });
-
-    var container = document.querySelector("#unity-container");
-    var canvas = document.querySelector("#unity-canvas");
-    var loadingBar = document.querySelector("#unity-loading-bar");
-    var progressBarFull = document.querySelector("#unity-progress-bar-full");
-    var warningBanner = document.querySelector("#unity-warning");
+    <script>
+      window.addEventListener("load", function () {
+        if ("serviceWorker" in navigator) {
+          navigator.serviceWorker.register("ServiceWorker.js");
+        }
+      });
 
-    // 新添加
-    let unityInstance = null
-    // Shows a temporary message banner/ribbon for a few seconds, or
-    // a permanent error message on top of the canvas if type=='error'.
-    // If type=='warning', a yellow highlight color is used.
-    // Modify or remove this function to customize the visually presented
-    // way that non-critical warnings and error messages are presented to the
-    // user.
-    function unityShowBanner(msg, type) {
-      function updateBannerVisibility() {
-        warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
-      }
-      var div = document.createElement('div');
-      div.innerHTML = msg;
-      warningBanner.appendChild(div);
-      if (type == 'error') div.style = 'background: red; padding: 10px;';
-      else {
-        if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
-        setTimeout(function () {
-          warningBanner.removeChild(div);
-          updateBannerVisibility();
-        }, 5000);
+      var container = document.querySelector("#unity-container");
+      var canvas = document.querySelector("#unity-canvas");
+      var loadingBar = document.querySelector("#unity-loading-bar");
+      var progressBarFull = document.querySelector("#unity-progress-bar-full");
+      var warningBanner = document.querySelector("#unity-warning");
+
+      // 新添加
+      let unityInstance = null
+      // Shows a temporary message banner/ribbon for a few seconds, or
+      // a permanent error message on top of the canvas if type=='error'.
+      // If type=='warning', a yellow highlight color is used.
+      // Modify or remove this function to customize the visually presented
+      // way that non-critical warnings and error messages are presented to the
+      // user.
+      function unityShowBanner(msg, type) {
+        function updateBannerVisibility() {
+          warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
+        }
+        var div = document.createElement('div');
+        div.innerHTML = msg;
+        warningBanner.appendChild(div);
+        if (type == 'error') div.style = 'background: red; padding: 10px;';
+        else {
+          if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
+          setTimeout(function() {
+            warningBanner.removeChild(div);
+            updateBannerVisibility();
+          }, 5000);
+        }
+        updateBannerVisibility();
       }
-      updateBannerVisibility();
-    }
 
-    var buildUrl = "Build";
-    var loaderUrl = buildUrl + "/Build6.loader.js";
-    var config = {
-      dataUrl: buildUrl + "/Build6.data.unityweb",
-      frameworkUrl: buildUrl + "/Build6.framework.js.unityweb",
-      codeUrl: buildUrl + "/Build6.wasm.unityweb",
-      streamingAssetsUrl: "StreamingAssets",
-      companyName: "DefaultCompany",
-      productName: "HeNanMuseum",
-      productVersion: "0.1",
-      showBanner: unityShowBanner,
-    };
-
-    // By default Unity keeps WebGL canvas render target size matched with
-    // the DOM size of the canvas element (scaled by window.devicePixelRatio)
-    // Set this to false if you want to decouple this synchronization from
-    // happening inside the engine, and you would instead like to size up
-    // the canvas DOM size and WebGL render target sizes yourself.
-    // config.matchWebGLToCanvasSize = false;
-
-    if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
-      // Mobile device style: fill the whole browser client area with the game canvas:
-      var meta = document.createElement('meta');
-      meta.name = 'viewport';
-      meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
-      document.getElementsByTagName('head')[0].appendChild(meta);
-    }
-
-    loadingBar.style.display = "block";
-
-    var script = document.createElement("script");
-    script.src = loaderUrl;
-    script.onload = () => {
-      createUnityInstance(canvas, config, (progress) => {
-        progressBarFull.style.width = 100 * progress + "%";
-      }).then((instance) => {
-        loadingBar.style.display = "none";
-        // 新添加
-        unityInstance = instance
-      }).catch((message) => {
-        alert(message);
-      });
-    };
-    document.body.appendChild(script);
+      var buildUrl = "Build";
+      var loaderUrl = buildUrl + "/Build8.loader.js";
+      var config = {
+        dataUrl: buildUrl + "/Build8.data.unityweb",
+        frameworkUrl: buildUrl + "/Build8.framework.js.unityweb",
+        codeUrl: buildUrl + "/Build8.wasm.unityweb",
+        streamingAssetsUrl: "StreamingAssets",
+        companyName: "DefaultCompany",
+        productName: "HeNanMuseum",
+        productVersion: "0.1",
+        showBanner: unityShowBanner,
+      };
+
+      // By default Unity keeps WebGL canvas render target size matched with
+      // the DOM size of the canvas element (scaled by window.devicePixelRatio)
+      // Set this to false if you want to decouple this synchronization from
+      // happening inside the engine, and you would instead like to size up
+      // the canvas DOM size and WebGL render target sizes yourself.
+      // config.matchWebGLToCanvasSize = false;
+
+      if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
+        // Mobile device style: fill the whole browser client area with the game canvas:
+        var meta = document.createElement('meta');
+        meta.name = 'viewport';
+        meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
+        document.getElementsByTagName('head')[0].appendChild(meta);
+      }
 
+      loadingBar.style.display = "block";
+
+      var script = document.createElement("script");
+      script.src = loaderUrl;
+      script.onload = () => {
+        createUnityInstance(canvas, config, (progress) => {
+          progressBarFull.style.width = 100 * progress + "%";
+        }).then((instance) => {
+          loadingBar.style.display = "none";
+          // 新添加
+          unityInstance = instance
+        }).catch((message) => {
+          alert(message);
+        });
+      };
+      document.body.appendChild(script);
 
     // 新添加
     window.addEventListener('message', (res) => {
@@ -129,21 +126,26 @@
           unityInstance.SendMessage('Main', 'OnClickItem', data);
           console.log('result:OnClickItem', data);
         }
+
+        // 保存
         else if (res.data.source === "Save") {
           unityInstance.SendMessage('Main', 'Save');
         }
+
+        // 取消
         else if (res.data.source === "Cancel") {
           unityInstance.SendMessage('Main', 'Cancel');
         }
+
+        // 图片回调
         else if (res.data.source === "CallShareImage") {
-          unityInstance.SendMessage('Main', 'CallShareImage', (str) => {
+          unityInstance.SendMessage('Main', 'CallShareImage', (img) => {
             console.log('result:', img);
           });
-
         }
       }
     })
-  </script>
-</body>
 
-</html>
+    </script>
+  </body>
+</html>

+ 21 - 11
web/public/program/index.html

@@ -31,9 +31,8 @@
       var loadingBar = document.querySelector("#unity-loading-bar");
       var progressBarFull = document.querySelector("#unity-progress-bar-full");
       var warningBanner = document.querySelector("#unity-warning");
-
-      // 新添加
       let unityInstance = null
+
       // Shows a temporary message banner/ribbon for a few seconds, or
       // a permanent error message on top of the canvas if type=='error'.
       // If type=='warning', a yellow highlight color is used.
@@ -59,11 +58,11 @@
       }
 
       var buildUrl = "Build";
-      var loaderUrl = buildUrl + "/Build8.loader.js";
+      var loaderUrl = buildUrl + "/Build10.loader.js";
       var config = {
-        dataUrl: buildUrl + "/Build8.data.unityweb",
-        frameworkUrl: buildUrl + "/Build8.framework.js.unityweb",
-        codeUrl: buildUrl + "/Build8.wasm.unityweb",
+        dataUrl: buildUrl + "/Build10.data.unityweb",
+        frameworkUrl: buildUrl + "/Build10.framework.js.unityweb",
+        codeUrl: buildUrl + "/Build10.wasm.unityweb",
         streamingAssetsUrl: "StreamingAssets",
         companyName: "DefaultCompany",
         productName: "HeNanMuseum",
@@ -95,16 +94,25 @@
           progressBarFull.style.width = 100 * progress + "%";
         }).then((instance) => {
           loadingBar.style.display = "none";
-          // 新添加
+          console.log('result:', instance);
           unityInstance = instance
         }).catch((message) => {
           alert(message);
         });
       };
-      document.body.appendChild(script);
+    document.body.appendChild(script);
+
 
+
+      
     // 新添加
+    window.onShareImage(img=>{
+      console.log('result:', img);
+    })
+
+
     window.addEventListener('message', (res) => {
+      console.log('result:', unityInstance);
       if (!unityInstance) return
       if (Object.prototype.toString.call(res.data) == "[object Object]") {
         let data = res.data.data;
@@ -137,15 +145,17 @@
           unityInstance.SendMessage('Main', 'Cancel');
         }
 
+
         // 图片回调
         else if (res.data.source === "CallShareImage") {
-          unityInstance.SendMessage('Main', 'CallShareImage', (img) => {
-            console.log('result:', img);
-          });
+          unityInstance.SendMessage('Main', 'CallShareImage');
         }
+
+
       }
     })
 
+ 
     </script>
   </body>
 </html>

+ 8 - 0
web/src/App.vue

@@ -18,6 +18,9 @@
     <Transition>
       <IntegralDetail v-if="isShowIntegralDetail" @close="isShowIntegralDetail = false" />
     </Transition>
+    <Transition>
+      <Share v-if="isShowShare" @close="isShowShare = false" />
+    </Transition>
   </teleport>
 </template>
 
@@ -26,6 +29,9 @@ import Vmenu from "@/components/Vmenu.vue";
 import Introduce from "@/components/Introduce.vue";
 import IntegralDetail from '@/components/Integral-detail.vue'
 
+import Share from '@/components/Share.vue'
+
+
 import { ref, onMounted, reactive } from 'vue'
 import http from '@/api/http.js'
 import utils from '@/utils/index.js'
@@ -33,6 +39,7 @@ let token = utils.getQueryByName('token')
 
 const isShowIntro = ref(false)
 const isShowIntegralDetail = ref(false)
+const isShowShare = ref(false)
 const point = ref(0)
 
 
@@ -101,6 +108,7 @@ body {
 
   .fix-root {
     pointer-events: none;
+
     * {
       pointer-events: auto;
     }

+ 0 - 39
web/src/components/Integraltoast.vue

@@ -1,39 +0,0 @@
-<template>
-  <div class="video">
-    <video autoplay controls :src="`${config.cdn_url}video/video.mp4`"></video>
-    <div @click="emit('close')" class="jump">跳过</div>
-  </div>
-</template>
-
-<script setup>
-import { } from "vue"
-
- const emit = defineEmits(['close'])
-
-
-</script>
-
-<style lang="scss" scoped>
-.video {
-  position: fixed;
-  left: 0;
-  top: 0;
-  width: 100%;
-  height: 100%;
-  z-index: 99;
-
-  >video {
-    width: 100%;
-    height: 100%;
-    object-fit: contain;
-  }
-
-  .jump {
-    position: absolute;
-    right: 20px;
-    top: 20px;
-    color: #fff;
-    z-index: 10;
-  }
-}
-</style>

+ 120 - 0
web/src/components/Share.vue

@@ -0,0 +1,120 @@
+<template>
+  <div class="share">
+    <div class="share-left">
+
+    </div>
+
+    <div class="share-right">
+    
+    </div>
+
+  </div>
+</template>
+
+<script setup>
+import { ref } from "vue"
+
+const bgImage = ref(`url(${config.cdn_url}images/background.jpg)`)
+
+</script>
+
+<style lang="scss" scoped>
+.share {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  left: 0;
+  top: 0;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  background-image: v-bind(bgImage);
+  background-size: cover;
+  background-repeat: no-repeat;
+  background-position: center bottom;
+  z-index: 999;
+  &::before{
+    background-color: rgba(0, 0, 0, 0.5);
+    content: '';
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    left: 0;
+    top: 0;
+  }
+  .id-header {
+    display: flex;
+    justify-content: center;
+    align-items: center;
+
+    >img {
+      width: 150px;
+      height: auto;
+      transform: translate(30px, -10px);
+    }
+
+    >div {
+      text-align: center;
+
+      >p {
+        font-size: 14px;
+        color: #63543D;
+
+        &:first-of-type {
+          color: $font-active-color;
+          font-size: 18px;
+          margin-bottom: 10px;
+        }
+      }
+    }
+  }
+
+  .id-con {
+    background: #FEF8F1;
+    color: #63543D;
+    display: flex;
+    padding: 4px 10px;
+    transform: translateY(-20px);
+
+    .table {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+
+      >li {
+        width: 100%;
+        padding: 6px;
+        box-sizing: border-box;
+        border-bottom: 1px solid rgba(99, 84, 61, 0.5);
+        border-right: 1px solid rgba(99, 84, 61, 0.5);
+        text-align: center;
+        font-size: 14px;
+        color: rgba(99, 84, 61, 1);
+        text-align: center;
+
+        &:last-of-type {
+          border-bottom: none;
+        }
+      }
+
+      &:last-of-type {
+        >li {
+          border-right: none;
+        }
+      }
+
+    }
+  }
+
+  .id-btm{
+    margin: 10px auto 0;
+    width: 15%;
+    text-align: center;
+    >img{
+      width: 100%;
+    }
+  }
+}
+</style>

+ 1 - 1
web/src/views/Editing.vue

@@ -165,8 +165,8 @@ const onClickLeft = (item) => {
 }
 
 const save = ()=>{
+  console.log('result:', 1111);
   postMsg("CallShareImage", '')
-  
 }
 
 const mycomfirm = () => {