| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- <!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>
- </div>
- </div>
- <div id="unity-warning"> </div>
- </div>
- <style>
- #unity-loading-bar {
- position: fixed;
- z-index: 999;
- top: 0;
- left: 0;
- transform: translate(0, 0);
- width: 100%;
- height: 100%;
- background-color: black;
- }
- #unity-logo {
- display: none !important;
- }
- #unity-progress-bar-empty {
- position: absolute;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
- background: none;
- background-image: url('./loginSta.gif');
- background-size: 100% 100%;
- }
- #unity-progress-bar-full {
- display: none !important;
- }
- </style>
- <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");
- 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();
- }
- var buildUrl = "Build";
- var loaderUrl = buildUrl + "/Build13.loader.js";
- var config = {
- dataUrl: buildUrl + "/Build13.data.unityweb",
- frameworkUrl: buildUrl + "/Build13.framework.js.unityweb",
- codeUrl: buildUrl + "/Build13.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.onShareImage = (img) => {
- console.log('result:', img);
- window.parent.postMessage({
- source: 'shareImg',
- data: img,
- },
- "*")
- }
- // 禁用UI交互
- window.disableUIInteract = () => {
- // console.log('禁用ui:111');
- window.parent.postMessage({
- source: 'disableUIInteract',
- data: true
- },
- "*")
- }
- // 启用UI交互
- window.enableUIInteract = () => {
- // console.log('禁用ui:111');
- window.parent.postMessage({
- source: 'enableUIInteract',
- data: true
- },
- "*")
- }
- // 拼接模型成功,接受 unity的消息 取消 模型的选中ui效果
- window.modelSuccItem = () => {
- window.parent.postMessage({
- source: 'modelSuccItem',
- data: true
- },
- "*")
- }
- window.Internal_ShowTouchErrorTips = (data) => {
- console.log('result:', data);
- }
- window.showTouchErrorTips = (data) => {
- console.log('result:', data);
- }
- window._Internal_ShowTouchErrorTips = (data) => {
- console.log('result:', data);
- }
- 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;
- // 切换模块
- if (res.data.source === "changeBlock") {
- console.log('result:changeBlock', data);
- unityInstance.SendMessage('Main', 'OnClickModule', data);
- }
- // 切换类型
- else if (res.data.source === "clickTypeBtn") {
- unityInstance.SendMessage('Main', 'OnClickType', data === 'block' ? 0 : 1);
- console.log('result:OnClickType', data === 'block' ? 0 : 1);
- }
- // 点击子项
- else if (res.data.source === "clickItemBtn") {
- console.log('选中了子选项', data);
- unityInstance.SendMessage('Main', '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');
- }
- // 到处逛逛
- else if (res.data.source === "ShowUserData") {
- console.log('到处逛逛,用户id:', data, '不知道为啥报错??');
- unityInstance.SendMessage('Main', 'ShowUserData', data);
- }
- // 点击编辑
- else if (res.data.source === "OnClickEdit") {
- // console.log('----------------');
- unityInstance.SendMessage('Main', 'OnClickEdit');
- }
- }
- })
- </script>
- </body>
- </html>
|