tremble 4 лет назад
Родитель
Сommit
add702591c
13 измененных файлов с 71749 добавлено и 4128 удалено
  1. 139 76
      css/lzb.css
  2. 349 161
      edit.html
  3. 1617 0
      edit_zh.html
  4. 357 156
      eforclient.html
  5. 598 679
      index.html
  6. 21 8
      js/TransformControls.js
  7. 3500 2712
      js/edit.js
  8. 3953 0
      js/edit_zh.js
  9. 132 0
      js/loadCAD.js
  10. 59689 0
      js/mainEdit.js
  11. 662 170
      js/main_2020_edit.js
  12. 671 151
      js/main_2020_show.js
  13. 61 15
      js/overlay.js

+ 139 - 76
css/lzb.css

@@ -285,9 +285,11 @@ ul.MenuOptions li.chosen {
     height: 100%;
 }
 
-.tourListWrap {
+.tourList>ul{
     height: 100%;
-    overflow: scroll;
+    overflow-y: scroll;
+    /* overflow-x: hidden; */
+    /* width: 100%; */
 }
 
 .toolRight .input, .toolRight .editText {
@@ -465,32 +467,30 @@ ul.MenuOptions li.chosen {
     color: #00b4ed;
 }
 
-.tourList {
+#tourItemList {
     padding-top: 1.4vw !important;
+    height: calc(100% - 368px); /*  减去在它上面的部分 */
 }
 
  
 
-#tourSwitchTitle {
-    margin: 0;
-}
+ 
 
-#tourSwitch, #hotListSwitch, #VRSwitch {
+.switch {
     display: flex;
-    justify-content: center;
-    margin: 0;
-}
-
-#tourSwitch label, #hotListSwitch label, #VRSwitch label {
+    /* justify-content: center; */
+    margin-left:5px !important
+} 
+.switch label {
     display: block;
     vertical-align: middle;
 }
 
-#tourSwitch label input, #hotListSwitch label input, #VRSwitch label input {
+.switch input {
     vertical-align: middle;
 }
 
-.mui-switch {
+.switch .mui-switch {
     width: 52px !important;
     height: 24px !important;
     position: relative !important;
@@ -513,7 +513,7 @@ ul.MenuOptions li.chosen {
     top:-2px;
 }
 
-.mui-switch:before {
+.switch .mui-switch:before {
     content: '';
     width: 22px;
     height: 22px;
@@ -529,75 +529,81 @@ ul.MenuOptions li.chosen {
     box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
 }
 
-.mui-switch:checked {
+.switch .mui-switch:checked {
     border-color: #00b4ed;
     box-shadow: #00b4ed 0 0 0 16px inset;
     background-color: #00b4ed;
 }
 
-.mui-switch:checked:before {
+.switch .mui-switch:checked:before {
     left: 29px;
 }
 
-.mui-switch.mui-switch-animbg {
+.switch .mui-switch.mui-switch-animbg {
     transition: background-color ease 0.4s;
 }
 
-.mui-switch.mui-switch-animbg:before {
+.switch .mui-switch.mui-switch-animbg:before {
     transition: left 0.3s;
 }
 
-.mui-switch.mui-switch-animbg:checked {
+.switch .mui-switch.mui-switch-animbg:checked {
     box-shadow: #dfdfdf 0 0 0 0 inset;
     background-color: #00b4ed !important;
     transition: border-color 0.4s, background-color ease 0.4s;
 }
 
-.mui-switch.mui-switch-animbg:checked:before {
+.switch .mui-switch.mui-switch-animbg:checked:before {
     transition: left 0.3s;
 }
 
-.mui-switch.mui-switch-anim {
+.switch .mui-switch.mui-switch-anim {
     transition: border cubic-bezier(0, 0, 0, 1) 0.4s, box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
 }
 
-.mui-switch.mui-switch-anim:before {
+.switch .mui-switch.mui-switch-anim:before {
     transition: left 0.3s;
 }
 
-.mui-switch.mui-switch-anim:checked {
+.switch .mui-switch.mui-switch-anim:checked {
     box-shadow: #64bd63 0 0 0 16px inset;
     background-color: #64bd63;
     transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
 }
 
-.mui-switch.mui-switch-anim:checked:before {
+.switch .mui-switch.mui-switch-anim:checked:before {
     transition: left 0.3s;
 }
 
-.toolRight .snapTour .tourList {
+
+
+
+
+
+.toolRight .snapTour #tourList {
     padding-bottom: 20px;
     height: 100%;
 }
 
-.toolRight .snapTour .tourList li {
+.toolRight .snapTour .tourList li.guideItem {
     height: 75px;
     display: flex;
     margin: 16px 0;
+    cursor: pointer;
 }
 
-.toolRight .snapTour .tourList li:first-child {
+.toolRight .snapTour .tourList li.guideItem:first-child {
     margin-top: 0;
 }
 
-.toolRight .snapTour .tourList li>div:nth-child(2) {
+.toolRight .snapTour .tourList li.guideItem>div:nth-child(2) {
     /* background: #3e1313; */
     width: calc(100% - 107px);
     height: 100%;
     position: relative;
 }
 
-.toolRight .snapTour .tourList li>div:nth-child(2) span {
+.toolRight .snapTour .tourList li.guideItem>div:nth-child(2) span {
     text-align: left;
     margin: 0 10px 0 0;
     font-size: 14px;
@@ -610,10 +616,10 @@ ul.MenuOptions li.chosen {
     color: #00b4ed;
     word-wrap: break-word;
     line-height: 22px;
-    cursor: text;
+    /* cursor: text; */
 }
 
-.toolRight .snapTour .tourList li>div:first-child span {
+.toolRight .snapTour .tourList li.guideItem>div:first-child span {
     border-radius: 11px;
     background: #373939;
     width: 22px;
@@ -625,7 +631,7 @@ ul.MenuOptions li.chosen {
     margin-right: 10px;
 }
 
-.toolRight .snapTour .tourList li:last-child>div:first-child span {
+.toolRight .snapTour .tourList li.guideItem:last-child>div:first-child span {
     background: #00b4ed
 }
 
@@ -636,11 +642,11 @@ ul.MenuOptions li.chosen {
     height: 82% !important;
 }
 
-.toolRight .snapTour .tourList li>div:first-child {
+.toolRight .snapTour .tourList li.guideItem>div:first-child {
     position: relative;
 }
 
-.toolRight .snapTour .tourList li>div:first-child div.line {
+.toolRight .snapTour .tourList li.guideItem>div:first-child div.line {
     border-left: 2px solid #373939;
     height: 70px;
     position: absolute;
@@ -649,18 +655,18 @@ ul.MenuOptions li.chosen {
     z-index: 0;
 }
 
-.toolRight .snapTour .tourList li:last-child div.line {
+.toolRight .snapTour .tourList li.guideItem:last-child div.line {
     display: none;
 }
 
-.toolRight .snapTour .tourList li .preview {
+.toolRight .snapTour .tourList li.guideItem .preview {
     width: 75px;
     cursor: pointer;
     position: relative;
     overflow: hidden;
 }
 
-.toolRight .snapTour .tourList li .preview::before {
+.toolRight .snapTour .tourList li.guideItem .preview::before {
     content: '删除';
     width: 50px;
     height: 30px;
@@ -673,11 +679,11 @@ ul.MenuOptions li.chosen {
     transform: translate(-250%, -50%);
 }
 
-.toolRight .snapTour .tourList li .preview:hover::before {
+.toolRight .snapTour .tourList li.guideItem .preview:hover::before {
     transform: translate(-50%, -50%);
 }
 
-.toolRight .snapTour .tourList li .preview div {
+.toolRight .snapTour .tourList li.guideItem .preview div {
     width: 100%;
     height: 100%;
     border-radius: 3px;
@@ -694,11 +700,11 @@ ul.MenuOptions li.chosen {
     margin: 0 !important;
 }
 
-.toolRight .snapTour .tourList li .preview div:hover {
+.toolRight .snapTour .tourList li.guideItem .preview div:hover {
     opacity: 0.2;
 }
 
-.toolRight .snapTour .tourList li input {
+.toolRight .snapTour .tourList li.guideItem input {
     position: absolute;
     top: -5px;
     left: 0;
@@ -743,7 +749,7 @@ ul.MenuOptions li.chosen {
     right: 0px;
     top: 2px;
     content: ""attr(data-size)"";
-    color: #999;
+    color: #7b7b7b;
 }
 
 .toolRight .itemTitle {
@@ -843,8 +849,12 @@ ul.MenuOptions li.chosen {
     display: block;
 }
 
-.toolRight .playBox[data-type='music']>div:first-child {
-    background-image: url("../images/soundPlay.png");
+.toolRight .playBox[data-type='music']>div:first-child { 
+    /* background-image: url("../images/soundPlay.png"); */
+    background-image: url("../images/Volume btn_on.png");
+    background-size: 50%;
+    background-repeat:no-repeat;
+    background-position:center;
 }
 
 .toolRight .playBox[data-type='music']>div:first-child.playing {
@@ -975,7 +985,7 @@ ul.MenuOptions li.chosen {
     cursor: default; 
 }
 
-.toolRight .hotpoint .spotList>ul>li,  .overlayList li {
+.toolRight .listItem{
     height: 40px;
     margin: 0 0 8px -10px;
     background: #373938;
@@ -989,28 +999,31 @@ ul.MenuOptions li.chosen {
     transition: background 0.1s;
     position: relative;
     overflow: hidden;
+    /* width: 100%; */
+}
+#tourList .listItem{
+    width: calc(100% + 12px);
 }
-
 .toolRight .hotpoint .spotList>ul>li:hover, .toolRight .hotpoint .spotList>ul>li.active {
     background: #565a5b;
 }
 
-.toolRight .hotpoint .spotList li .icon, .toolRight .editDetail .setPos li .icon , .overlayList li .icon{
-    width: 30px;
+.toolRight .listItem .icon{
+    width: 33px;
     margin-left: 10px;
     background-size: 70%;
     background-position-x: 0;
     background-repeat: no-repeat;
     background-position-y: center;
 }
-.toolRight .hotpoint .spotList li .number{
+.toolRight .hotpoint .listItem .number{
     color:#828282;
     margin-right:10px;
 }
- .overlayList li .icon{
+.overlayList li .icon{
      background-image:url(../images/edit/box_video.png);
  }
-.toolRight .hotpoint .spotList li .title, .toolRight .editDetail .setPos li .title, .overlayList li .title{
+.toolRight .listItem .title{
     width: calc(100% - 70px);
     font-size: 14px;
     text-overflow: ellipsis;
@@ -1018,7 +1031,7 @@ ul.MenuOptions li.chosen {
     white-space: nowrap;
 }
 
-.toolRight .hotpoint .spotList li .DelConfirm {
+.toolRight .listItem .DelConfirm{
     width: 82px;
     background: #00b4ed;
     border-radius: 1px;
@@ -1030,11 +1043,11 @@ ul.MenuOptions li.chosen {
     transition: right 0.3s, opacity 0.1s;
 }
 
-.toolRight .hotpoint .spotList li .DelConfirm.active {
+.toolRight .listItem .DelConfirm.active {
     right: -3px;
 }
 
-.toolRight .hotpoint .spotList li .del {
+.toolRight  .listItem .del {
     width: 40px;
     background-image: url(../images/delete.png);
     background-size: 72%;
@@ -1076,11 +1089,11 @@ ul.MenuOptions li.chosen {
     background-repeat: no-repeat;
 }
 
-.toolRight .sign ul.chose li.upload .buttons, .toolRight .editDetail .upload:not(.uploaded) .buttons {
+.toolRight .sign ul.chose li.upload .buttons, .toolRight .upload:not(.uploaded) .buttons {
     display: none;
 }
 
-.toolRight .sign ul.chose li .buttons button, .toolRight .editDetail .upload button {
+.toolRight .sign ul.chose li .buttons button, .toolRight .upload button {
     pointer-events: auto;
     margin-top: -17px;
     width: 68%;
@@ -1090,9 +1103,9 @@ ul.MenuOptions li.chosen {
     box-shadow: 0 0 5px rgba(0, 0, 0, 0.21);
 }
 
-.toolRight .secondary .upload {
+.toolRight  .upload {
     width: 97px;
-    height: 97px;
+    height: 97px !important;
     border-radius: 2px;
     border: 1px solid #5d5d5d;
     position: relative;
@@ -1100,29 +1113,30 @@ ul.MenuOptions li.chosen {
     background-size: contain
 }
 
-.toolRight .sign ul.chose li>div, .toolRight .editDetail .upload>div {
+.toolRight .sign ul.chose li>div, .toolRight .upload>div {
     position: relative;
     top: 0;
     width: 100%;
     height: 100%;
-    left: 0;
-    background-color: #414141;
+    left: 0; 
     background-size: cover;
     cursor: pointer;
 }
 
-.toolRight .secondary .upload>div {
-    background-color: transparent;
-}
+ 
 
-.toolRight .sign ul.chose li.upload>div, .toolRight .editDetail .upload>div {
+.toolRight .sign ul.chose li.upload>div, .toolRight .upload>div {
     background-image: url(../images/plus.png);
     background-position: center 42%;
     background-size: 15% 15%;
     background-repeat: no-repeat;
 }
 
-.toolRight .sign ul.chose li.upload span, .editDetail .upload span {
+#userUploadStyle .upload>div{
+    background-position: center center;
+}
+
+.toolRight .sign ul.chose li.upload span, .toolRight .upload span {
     color: #00b4ed;
     margin-top: 46%;
     display: inline-block;
@@ -1159,7 +1173,7 @@ ul.MenuOptions li.chosen {
     padding:0 20px;
 } 
 
-.editDetail .content .upload input {
+.toolRight .upload input {
     cursor: pointer;
     position: absolute;
     width: 100%;
@@ -1554,8 +1568,8 @@ ul.MenuOptions li.chosen {
 
 
 .unable {
-    pointer-events: none!important;
-    opacity: .5
+    pointer-events: none !important;
+    opacity: .5 !important
 }
 
 
@@ -1584,8 +1598,8 @@ ul.MenuOptions li.chosen {
 .slider .scrollBar .scroll_Track {
     width: 0px;
     height: 4px;
-    background-color: #02c8ae;
-    border: 1px solid #02c8ae;
+    background-color: #00b4ed;
+    border: 1px solid #00b4ed;
     margin: -1px 0 0 0;
 }
 
@@ -1640,14 +1654,18 @@ ul.MenuOptions li.chosen {
     /* line-height: 100px; */
     position: relative;
     color: #a0a0a0;
-					
     width: 200px;
-    background-repeat:no-repeat; 
+    background-repeat:no-repeat;
     margin:15px 0 30px 0;
     text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.4);
     background-image:url("../images/img_videoview@2x.png");
     background-position:center 40%;
     background-size: 17%;
+    display: flex;
+    align-items: center;
+    text-align: center;
+    align-content: center;
+    justify-content: center;
 }
  
 .toolRight .hotpointDetail  .preview{
@@ -1667,8 +1685,9 @@ ul.MenuOptions li.chosen {
     transform:translate(-50%,-50%);
 }
 .preview .text{
-    line-height: 144px;
+    display:inline-block;
     color: #a7a7a7;
+    margin-top: 32px;
 }
 .preview.uploaded .text{
     display:none;
@@ -1696,7 +1715,7 @@ ul.MenuOptions li.chosen {
 }
 #userUploadStyle .upload{
     width: 70px;
-    height: 70px;
+    height: 70px !important;
     border-radius: 2px;
     border: 1px solid #5d5d5d;
     position: relative;
@@ -1731,4 +1750,48 @@ ul.MenuOptions li.chosen {
 }
 #userUploadStyle  .upload.uploaded:hover .del{
     display:block; 
+}
+
+
+.cad-setting {
+    text-align: left;
+}
+/* 
+.cad-setting li {
+    display: flex;
+    align-items: center;
+}
+
+.cad-setting li label {
+    flex: none;
+    width: 65px;
+    text-align: right;
+    margin-right: 5px;
+}
+
+.cad-setting li select,
+.cad-setting li input {
+    flex: 1;
+    margin: 0 10px;
+    padding-left: 0;
+    padding-right: 0;
+    outline: none;
+    border: 1px solid #737373;
+    background-color: #000;
+    color: #fff;
+}
+.cad-setting li input {
+    height: 30px;
+} */
+
+.cad-size {
+    width: 100%;
+    border: 1px solid #737373;
+    background-color: #000;
+    outline: none;
+    height: 32px;
+    padding: 0 10px;
+    color: #fff;
+    letter-spacing: 1px;
+    border-radius: 2px;
 }

+ 349 - 161
edit.html

@@ -24,7 +24,7 @@
         }
         if (number.indexOf("#") != -1) {
             number = number.substring(0, number.indexOf("#"));
-        } 
+        }
     </script>
     <script class="build keep">
         // Safari and Android does not support performance.timing.navigationStart :(
@@ -36,9 +36,9 @@
     </script>
 </head>
 
-<body> 
+<body>
     <div class="wrapper">
-        <div class="waiting"> 
+        <div class="waiting">
             <div class="overlay"></div>
             <div class="spinner">
                 <div class="bounce1"></div>
@@ -46,7 +46,7 @@
                 <div class="bounce3"></div>
             </div>
             <div class="text">请等待...</div>
-        </div> 
+        </div>
         <div class="toolTop hasPad unable">
             <!-- 顶部header -->
             <div class="btns"></div>
@@ -87,12 +87,16 @@
                     </li>
                     <li data-name="overlay">
                         <span class="overlay"></span>
-                        <label>视频</label>
+                        <label>展览</label>
                     </li>
                     <li data-name="panoVisible">
                         <span class="panoVisible"></span>
                         <label>漫游可行</label>
                     </li>
+                    <li data-name="cadMap">
+                        <span class="panoVisible"></span>
+                        <label>小地图</label>
+                    </li>
                 </ul>
             </div>
             <div class="toolMid">
@@ -100,7 +104,7 @@
                     <!-- 画布区域 -->
                     <div class="webgl-inside">
                         <div class="content">
-                            <div id="hot"> 
+                            <div id="hot">
                             </div>
                             <div id="popup">
                                 <div class="popup-content">
@@ -123,7 +127,7 @@
                                 </div>
                                 <div id="gui-loading" class="message-outer darkGlass" style="display: none;">
                                     <h2 class="model-title"></h2>
-                                    <div class="message-inner"> 
+                                    <div class="message-inner">
                                         <div class="progressbar" data-perc="100">
                                             <div class="label">
                                                 <div class="perc">0%</div>
@@ -888,9 +892,9 @@
                     </div>
                 </div>
                 <div class="midBottom hasPad">
-                    <!-- 中间下部 --> 
+                    <!-- 中间下部 -->
                     <div class="confirmSnap innerBtn hide" id="camera-start">点此设置为初始画面</div>
-                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->	
+                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->
                 </div>
             </div>
             <div class="toolRight">
@@ -904,17 +908,17 @@
                         <!-- <li class="describ noBorderbott">
                             <label class="remark">通过添加热点,您可以进一步装饰您的场景;例如:说明文字、图片、音频、视频等。</label>
                         </li> -->
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle hotListSwitchTitle">
                                 <span>热点列表</span>
                             </div>
-                            <ul id="hotListSwitch" class="clearfix hotStyle-item colorWrap">
+                            <ul id="hotListSwitch" class="switch clearfix hotStyle-item colorWrap">
                                 <label><input class="mui-switch mui-switch-animbg" type="checkbox">
                                     启用热点列表
                                 </label>
                             </ul>
                         </li>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle">
                                 <span>热点大小 (初始值为1)</span>
                             </div>
@@ -965,7 +969,8 @@
                                     </div>
                                     <ul>
                                         <li>
-                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite" id="isSprite">
+                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite"
+                                                id="isSprite">
                                             <label for="isSprite"></label>
                                             <label for="isSprite">恒朝向相机 </label>
                                         </li>
@@ -975,19 +980,23 @@
                                         <!-- <li class="halfCell" index="scale" data-lang="">缩放</li> -->
                                         <li class="halfCell" index="rotate" data-lang="">旋转</li>
                                     </ul>
-                                </li>  
+                                </li>
                                 <li class="style">
                                     <div class="itemTitle">
                                         <span>样式</span>
                                     </div>
                                     <ul class="MenuOptions innerBtn">
                                         <li class="halfCell chosen" index="default">默认</li>
-                                        <li class="halfCell" index="user" >自定义</li> 
+                                        <li class="halfCell" index="user">自定义</li>
                                     </ul>
                                     <div id="userUploadStyle" class="hide">
                                         <ul>
-                                            <li class="upload "><div> </div><a class="del"></a></li>
-                                            <li class="upload hide"><div> </div><a class="del"></a></li>
+                                            <li class="upload ">
+                                                <div> </div><a class="del"></a>
+                                            </li>
+                                            <li class="upload hide">
+                                                <div> </div><a class="del"></a>
+                                            </li>
                                         </ul>
                                     </div>
                                 </li>
@@ -1002,7 +1011,7 @@
                                             <div class="buttons">
                                                 <button class="submit innerBtn">更改</button>
                                             </div>
-                                            <input type="file">
+                                            <input type="file" accept="image/*">
                                         </div>
                                         <a class="del"></a>
                                     </div>
@@ -1018,7 +1027,7 @@
                                             <div class="buttons">
                                                 <button class="submit innerBtn">更改</button>
                                             </div>
-                                            <input type="file">
+                                            <input type="file" accept="video/*">
                                         </div>
                                         <a class="del"></a>
                                     </div>
@@ -1027,7 +1036,7 @@
                                     <div class="itemTitle">
                                         <span>添加音频</span>
                                         <div class="buttons">
-                                            <input type="file" id="upload-hotBgm">
+                                            <input type="file" id="upload-hotBgm" accept="audio/*">
                                             <button class="innerBtn submit">上传</button>
                                         </div>
                                     </div>
@@ -1055,6 +1064,22 @@
                                     <div class="itemTitle">
                                         <span>添加网页</span>
                                     </div>
+
+                                    <!-- <ul>
+                                        <li>
+                                            <input name="linkOutside" class="editCheckbox" type="checkbox" value="linkOutside" id="linkOutside"></input>
+                                            <label for="linkOutside"></label>
+                                            <label for="linkOutside">在新窗口打开(其他内容将失效) </label>
+                                        </li>
+                                    </ul>   
+                                    -->
+
+                                    <ul class="MenuOptions innerBtn" name="linkType">
+                                        <li class="halfCell chosen" index="common" data-lang="">普通</li>
+                                        <li class="halfCell" index="jumpLink" data-lang="">跳转</li>
+                                        <li class="halfCell" index="iframeDiv" data-lang="">iframe</li>
+                                    </ul>
+                                    <label class="remark">方式1须https, 方式2、3 除当前第一个链接外,其他内容将不展现。</label>
                                     <div class="list"></div>
                                     <div class="linkBtns">
                                         <div class="buttons">
@@ -1069,7 +1094,8 @@
                                     </div>
                                     <ul>
                                         <li>
-                                            <input name="noAction" class="editCheckbox" type="checkbox" value="noAction" id="noAction">
+                                            <input name="noAction" class="editCheckbox" type="checkbox" value="noAction"
+                                                id="noAction">
                                             <label for="noAction"></label>
                                             <label for="noAction">仅用于指示(不弹窗)</label>
                                         </li>
@@ -1096,6 +1122,70 @@
                         </li>
                     </ul>
                 </div>
+                <div class="cadMap content hide">
+                    <ul>
+                        <li data-name="other">
+                            <ul class="other-item">
+                                <li>
+                                    <input name="show-cad" class="editCheckbox" type="checkbox">
+                                    <label for="show-cad"></label>
+                                    <label for="show-cad">开启小地图 </label>
+                                </li>
+                            </ul>
+                        </li>
+                        
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条粗细</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <select class="cad-size" id="cad-size">
+                                    <option value="0.01">1px</option>
+                                    <option value="0.02">2px</option>
+                                    <option value="0.03">3px</option>
+                                    <option value="0.04">4px</option>
+                                    <option value="0.05">5px</option>
+                                    <option value="0.06">6px</option>
+                                </select>
+                            </ul>
+                        </li>
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadBorderColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadBorderColor" type="color" />
+                            </ul>
+                        </li>
+                        <li data-name="MouseMarkerColor">
+                            <div class="itemTitle">
+                                <span>相机颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadSignColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadSignColor" type="color" />
+                            </ul>
+                        </li>
+                        <!-- <ul class="cad-setting">
+                                <li>
+                                    <label for="">线宽</label>
+                                    <select name="" id="">
+                                        <option value="1">1px</option>
+                                        <option value="2">2px</option>
+                                        <option value="3">3px</option>
+                                        <option value="4">4px</option>
+                                        <option value="5">5px</option>
+                                    </select>
+                                </li>
+                                <li>
+                                    <label for="">相机颜色</label>
+                                    <input type="color" name="" id="">
+                                </li>
+                            </ul> -->
+                        </li>
+                    </ul>
+                </div>
                 <div class="information content">
                     <ul>
                         <li data-name="title">
@@ -1108,18 +1198,34 @@
                             <!-- <div class="unComplete">请填写项目名称</div> -->
                         </li>
                         <li data-name="description">
-                            <div class="itemTitle" data-size="200" id="project-intro2" >
+                            <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>简介内容</span>
                             </div>
 
-                            <textarea placeholder="大场景的简介" id="info-summary" class="editText" maxlength="200"></textarea>
+                            <textarea placeholder="大场景的简介" id="info-summary" class="editText"
+                                maxlength="200"></textarea>
 
                             <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>分享文字</span>
                             </div>
 
-                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText" maxlength="200"></textarea>
+                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText"
+                                maxlength="200"></textarea>
 
+                            <div class="itemTitle" data-size="建议图片为正方形">
+                                <span>分享图片</span>
+                            </div>
+                            <div class="list edit-fun-images clearfix forShareImg"></div>
+                            <div class="upload" id="shareImgUpload">
+                                <div data-type="photo">
+                                    <span>手动上传</span>
+                                    <div class="buttons">
+                                        <button class="submit innerBtn">更改</button>
+                                    </div>
+                                    <input type="file" accept="image/*">
+                                </div>
+                                <a class="del hasHover"></a>
+                            </div>
                         </li>
                         <li data-name="hotStyle">
                             <div class="itemTitle">
@@ -1131,28 +1237,31 @@
                                     class="active"></li>
                                 <li style="background-image: url(images/edit/hotStyle_2.png);"
                                     data-val='{"default":"images/point2.png","higt":"images/point2_light.png"}'>
-                                </li>
-                                <!-- <ul>
-                                    <li class="addSpot customizeHotStyle">
-                                        <div class="buttons">
-                                            <button class="innerBtn" id="customizeHot">自定义样式</button>
+                                </li>  
+                                <!-- <li class="addSpot customizeHotStyle" >
+                                    <div class="list edit-fun-images clearfix"></div>
+                                    <div class="upload" id="SpotStyle">
+                                        <div data-type='photo'> 
+                                            <div class="buttons">
+                                                <button class="submit innerBtn">更改</button>
+                                            </div>
+                                            <input type="file" accept="image/*">
                                         </div>
-                                    </li>
-                                </ul> -->
+                                        <a class="del"></a>
+                                    </div>
+                                </li>  -->
                             </ul>
                         </li>
                         <li data-name="floorMarkerColor">
                             <div class="itemTitle">
-                                <span>当前位置标记/导览标记颜色</span>
+                                <span>当前位置/导览路线</span>
                             </div>
                             <ul class="clearfix hotStyle-item colorWrap">
                                 <input id="floorMarkerColorTex" class="color-text" type="text" placeholder="请输入颜色" />
                                 <input id="floorMarkerColor" type="color" />
-                            </ul>
-                        </li>
-                        <li data-name="MouseMarkerColor">
+                            </ul> 
                             <div class="itemTitle">
-                                <span>鼠标标记颜色</span>
+                                <span>鼠标标记</span>
                             </div>
                             <ul class="clearfix hotStyle-item colorWrap">
                                 <input id="mouseMarkerColorTex" class="color-text" type="text" placeholder="请输入颜色" />
@@ -1187,7 +1296,7 @@
                                         value="hideMouseMarker" id="hideMouseMarker">
                                     <label for="hideMouseMarker"></label>
                                     <label for="hideMouseMarker">隐藏鼠标标记 </label>
-                                </li> 
+                                </li>
                                 <li>
                                     <input name="g_specialScene" class="editCheckbox" type="checkbox"
                                         value="g_specialScene" id="g_specialScene">
@@ -1203,10 +1312,11 @@
                             </ul>
                             <ul>
                                 <li>
-                                    <label class="remark">注: <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
-                                    <br><br>启动二代数据:和tile贴图有关。</label>
+                                    <label class="remark">注:
+                                        <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
+                                        <br><br>启动二代数据:和tile贴图有关。</label>
                                 </li>
-                            </ul>     
+                            </ul>
                         </li>
                     </ul>
                 </div>
@@ -1217,7 +1327,7 @@
                             <div class="itemTitle">
                                 <span>背景音乐</span>
                                 <div class="buttons">
-                                    <input type="file" id="upload-bgm">
+                                    <input type="file" accept="audio/*" id="upload-bgm">
                                     <button class="innerBtn submit">上传</button>
                                 </div>
                             </div>
@@ -1232,93 +1342,166 @@
                     </ul>
                 </div>
 
+
+
+
+
                 <div class="snapTour content hide">
-                    <ul>
-                        <div id="tourEdit" class="secondary  editDetail  atRight">
+                    <ul> 
+                        <li class="addTour">
+                            <div class="buttons begin">
+                                <button class="innerBtn">添加导览</button>
+                                <button class="innerBtn">添加片段</button>
+                            </div>
+                        </li>
+                        <li>
+                            <div class="itemTitle">
+                                <span>选择导览过渡效果</span>
+                            </div>
+                            <ul id="tourSwitch" class="switch clearfix hotStyle-item colorWrap">
+                                <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                    启用瞬间过渡
+                                </label>
+                            </ul>
+                        </li>
+                        
+                        
+                        <li id="tourList" class='tourList'>  <!-- 总目录-->
+                            <ul>
+
+                            </ul>
+                        </li>
+                        
+                        <!-- <li id="tourFolderList">
+                            <ul>
+
+                            </ul>
+                        </li> -->
+                        
+                        
+                        
+                        
+                        <div id="tourFolderEdit" class="secondary  editDetail  atRight">
                             <div class="itemTitle head">
                                 <span>导览编辑</span>
                                 <!-- <a class="close"></a> -->
                             </div>
                             <div class="content">
                                 <ul>
-                                    <li id="tourName" class="info">
+                                    <li class="tourName info">
                                         <div class="itemTitle" data-size="15" id="project-name1">
                                             <span>导览名称</span>
+                                        </div> 
+                                        <div class="name">
+                                            <input spellcheck="false" placeholder="最多15字" class="right" type="text" minlength="1" maxlength="15" placeholder="" data-oper=tour-input>
+                                        </div><!-- 必填,限15字 ??-->
+                                    </li>
+                                    <li class="audio mediaUpload">
+                                        <div class="itemTitle itemMargin">
+                                            <span>添加音频</span>
+                                            <div class="buttons">
+                                                <input type="file"  accept="audio/*">
+                                                <button class="innerBtn submit">上传</button>
+                                            </div>
+                                        </div>
+                                        <div class="playBox hide" data-type='music'>
+                                            <div><a target="_blank"></a></div>
+                                            <div>
+                                                <span class="title">background</span>
+                                                <span class="delete">删除</span>
+                                            </div>
+                                        </div>
+                                    </li>
+                                    <li>
+                                        <div class="itemTitle">
+                                            <span>选择导览过渡效果</span>
+                                        </div>
+                                        <ul id="folderTourSwitch" class="switch clearfix hotStyle-item colorWrap">
+                                            <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                                启用瞬间过渡
+                                            </label>
+                                        </ul>
+                                    </li>
+                                    <li class="snapATourView">
+                                        <div class="buttons begin">
+                                            <button class="innerBtn">添加片段</button>
                                         </div>
-                                        <!-- <span class="redPoint" id="project-name2" data-size="15">标题</span> -->
+                                    </li>
+                                    
+                                    <li id="tourItemList" class='tourList'>
+                                        <ul>
+
+                                        </ul>
+                                    </li>
+                                </ul>
+                            </div>
+                            <div class="buttons tail">
+                                <button class="tourSubmit submit innerBtn">完成</button> 
+                            </div> 
+                        </div>
+                    
+                    
+                    
+                        
+                    
+                    
+                    
+                    
+                    
+                        <div id="tourItemEdit" class="secondary  editDetail  atRight">
+                            <div class="itemTitle head">
+                                <span>片段编辑</span>
+                                <!-- <a class="close"></a> -->
+                            </div>
+                            <div class="content">
+                                <ul>
+                                    <li class="tourName info">
+                                        <div class="itemTitle" data-size="15" id="project-name1">
+                                            <span>片段名称</span>
+                                        </div> 
                                         <div class="name">
-                                            <input id="tourNameInput" spellcheck="false" placeholder="导览的名称"
-                                                class="right" type="text" minlength="1" maxlength="15" placeholder=""
-                                                data-oper=tour-input>
+                                            <input spellcheck="false" placeholder="导览的名称" class="right" type="text" minlength="1" maxlength="15" placeholder="" data-oper=tour-input>
                                         </div><!-- 必填,限15字 ??-->
                                     </li>
                                     <li class="audio mediaUpload">
                                         <div class="itemTitle itemMargin">
                                             <span>添加音频</span>
                                             <div class="buttons">
-                                                <input type="file" id="uploadTourBgm">
+                                                <input type="file"  accept="audio/*">
                                                 <button class="innerBtn submit">上传</button>
                                             </div>
                                         </div>
                                         <div class="playBox hide" data-type='music'>
                                             <div><a target="_blank"></a></div>
                                             <div>
-                                                <span id="tourMusicName" class="title">background</span>
+                                                <span class="title">background</span>
                                                 <span class="delete">删除</span>
                                             </div>
                                         </div>
                                     </li>
-                                    <li id="tourRenew" class="info">
-                                        <!-- <div class="itemTitle" data-size="0.94 ~ 3.18" id="project-name1">
-                                                <span></span>
-                                            </div> -->
-                                        <!-- <span class="redPoint" id="project-name2" data-size="15">标题</span> -->
+                                    <li id="tourRenew" class="info"> 
                                         <div class="name itemMargin">
                                             <div class="buttons begin">
                                                 <button id="renewTourBtn" class="innerBtn">重新录制当前导览</button>
-                                            </div>
-                                            <!-- <input spellcheck="false" placeholder=" 1" class="right" type="text"
-                                                                minlength="1" maxlength="15"> -->
+                                            </div> 
                                         </div><!-- 必填,限15字 ??-->
                                     </li>
                                 </ul>
                             </div>
                             <div class="buttons tail">
-                                <button id="tourSubmit" class="submit innerBtn">完成</button>
-                                <!-- <button class="cancel innerBtn">取消</button> -->
-                            </div>
-
-                        </div>
-                        <li class="addTour">
-                            <div class="buttons begin">
-                                <button class="innerBtn">添加导览</button>
-                            </div>
-                        </li>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp">
-                            <div class="itemTitle">
-                                <span>选择导览过渡效果</span>
-                            </div>
-                            <ul id="tourSwitch" class="clearfix hotStyle-item colorWrap">
-                                <label><input class="mui-switch mui-switch-animbg" type="checkbox">
-                                    启用瞬间过渡
-                                </label>
-                            </ul>
-                        </li>
-                        <li class="tourList">
-
-                            <ul id="tourListWrap" class="tourListWrap">
-
-                            </ul>
-                        </li>
+                                <button class="tourSubmit submit innerBtn">完成</button> 
+                            </div> 
+                        </div> 
+                        
                     </ul>
                 </div>
                 <div class="VR content hide">
                     <ul>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle">
                                 <span>VR</span>
                             </div>
-                            <ul id="VRSwitch" class="clearfix hotStyle-item colorWrap">
+                            <ul id="VRSwitch" class="switch clearfix hotStyle-item colorWrap">
                                 <label><input class="mui-switch mui-switch-animbg" type="checkbox">
                                     启用VR功能
                                 </label>
@@ -1328,76 +1511,84 @@
                 </div>
                 <div class="wallDesign content hide"></div>
                 <div class="panoVisible content hide">
-                    <ul class="view-setting"><li ><div class="itemTitle"><span>漫游可行</span></div>
-                        <div  class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>  
-                        <div  class="remark">点击“保存当前设置”后展示页面立即生效。</div>
+                    <ul class="view-setting">
+                        <li>
+                            <div class="itemTitle"><span>漫游可行</span></div>
+                            <div class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>
+                            <div class="remark">点击“保存当前设置”后展示页面立即生效。</div>
                         </li>
                     </ul>
                 </div>
                 <div class="overlay content hide">
                     <ul>
-						<li class="addBtn"> 
-							<div class="buttons">
-								<button class="innerBtn" data-lang="">添加视频</button>
-							</div>
-						</li>
-						<li class="overlayList ">
+                        <li class="addBtn">
+                            <div class="buttons">
+                                <button class="innerBtn" data-type='video'>添加视频</button>
+                                <button class="innerBtn" data-type='photo'>添加图片</button>
+                            </div>
+                        </li>
+                        <li class="overlayList ">
                             <div class="itemTitle">
                                 <span>已添加的视频</span>
                             </div>
                             <ul>
-                            
+
                             </ul>
-                        </li> 
-					</ul>                
+                        </li>
+                    </ul>
                 </div>
-                
-				<div id="overlayProp" class="secondary atRight ">
-					<div class="itemTitle head">
-						<span data-lang="">BOX视频属性</span>
-						<a class="close"></a>
-					</div> 
-					<div class="content"> 
-						<ul>   
-							<li id="overlayUpload"> 
-								<div class="itemTitle">
-									<span data-lang="">预览</span>  
-									<div class="buttons" name="upload">
-										<button class="innerBtn" data-lang="">上传视频</button>
-									</div>
-								</div> 
-								<div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span attr-type="height"></span><span attr-type="width"></span></div>
-								<div class="buttons" name="useImgRatio">
-									<button class="innerBtn" data-lang="">恢复原始比例</button>
-								</div>
-								<ul class="MenuOptions innerBtn" name="transform">
-									<li class="halfCell chosen" index="translate" data-lang="">位移</li>
-									<li class="halfCell" index="scale" data-lang="">缩放</li>
-									<li class="halfCell" index="rotate" data-lang="">旋转</li>
-								</ul>							
-							</li>
-						 
-							
-							<li>
-								<!-- <div class="itemTitle" data-name="overlayAddBox">
-									<span data-lang="">厚度</span>
-									<div class="switch">
-										<div></div>
-									</div>									
-								</div> -->
-								<div class="itemTitle">
-									<span data-lang="">厚度</span>  
-								</div>
-								<div id="videoDepth"></div> 
-							</li>  
-						</ul> 	
-					</div>
-					<div class="buttons tail">
-						<button class="submit innerBtn" data-lang="">完成</button>
-						<button class="delete cancel innerBtn" data-lang="">删除</button>
-					</div>					
-				</div>
-                
+
+                <div id="overlayProp" class="secondary atRight ">
+                    <div class="itemTitle head">
+                        <span data-lang="">展览属性</span>
+                        <a class="close"></a>
+                    </div>
+                    <div class="content">
+                        <ul>
+                            <li id="overlayUpload">
+                                <div class="itemTitle">
+                                    <span data-lang="">预览</span>
+                                    <div class="buttons" name="upload">
+                                        <button class="innerBtn" data-lang="">上传视频</button>
+                                    </div>
+                                </div>
+                                <div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span
+                                        attr-type="height"></span><span attr-type="width"></span></div>
+                                <div class="buttons" name="useImgRatio">
+                                    <button class="innerBtn" data-lang="">恢复原始比例</button>
+                                </div>
+                                <ul class="MenuOptions innerBtn" name="transform">
+                                    <li class="halfCell chosen" index="translate" data-lang="">位移</li>
+                                    <li class="halfCell" index="scale" data-lang="">缩放</li>
+                                    <li class="halfCell" index="rotate" data-lang="">旋转</li>
+                                </ul>
+                                <ul id='setOverlayPosForPano' class="switch clearfix hotStyle-item colorWrap"
+                                    style="margin-top:20px">
+                                    <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                        当前漫游点独立调整
+                                    </label>
+
+                                </ul>
+                                <label class="remark">如在其他点位出现错位,请开启此开关,独立调整在特定点位的位移/缩放/旋转。
+                                </label>
+                            </li>
+
+
+
+                            <li>
+                                <div class="itemTitle">
+                                    <span data-lang="">厚度</span>
+                                </div>
+                                <div id="videoDepth"></div>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="buttons tail">
+                        <button class="submit innerBtn" data-lang="">完成</button>
+                        <button class="delete cancel innerBtn" data-lang="">删除</button>
+                    </div>
+                </div>
+
             </div>
             <div data-label="video">
                 <div class="fun-view-video">
@@ -1415,19 +1606,15 @@
         </div>
     </div>
 
-    <script> 
-         
-        //本地:
-        /*var token ="eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsInJvbGUiOm51bGwsIm1hbmFnZXIiOm51bGwsImlkIjoxLCJ1c2VyTmFtZSI6ImFkbWluIiwiZXhwIjoxNTk3MTA5MDk0LCJpYXQiOjE1OTcwMjI2OTQsImp0aSI6ImY4YzI1MTcyLWM0NmUtNGNmYi04MjRhLWJkMmU2YWRmOWVjZSJ9.kUEmWOCJ0WONTkUI1vTToLePfzgbLiWwhU5nEWIsvlg"
-        var ceshi = 'http://47.107.252.54:8105';
-         */
-        //大场景: 
-        var ceshi = '';
-        var token = window.localStorage.dcj_token 
-        if (!token) {
-           window.location.href = '../list/index.html'
-        } 
-        
+    <script>
+ 
+       //大场景: 
+       var ceshi = '';
+       var token = window.localStorage.dcj_token 
+       if (!token) {
+          window.location.href = '../list/index.html'
+       } 
+       
         /*
         //军史馆:
         var ceshi = "http://192.168.0.44:8101/"
@@ -1436,10 +1623,10 @@
            window.location.href = "http://192.168.0.44:8101/bigscene/#/"
         }
         */
-        
-        
+
+
         var log = window.location.href.substring(window.location.href.indexOf("?") + 1).indexOf('log') > -1;
-        
+
         if (log) {
             var textarea = document.createElement('textarea');
             textarea.id = "consoleLog";
@@ -1498,6 +1685,7 @@
     <script src="js/overlay.js"></script>
     <script src="js/TransformControls.js"></script>
     <script src="js/main_2020_edit.js"></script>
+    <script src="js/loadCAD.js"></script>
 </body>
 
 </html>

Разница между файлами не показана из-за своего большого размера
+ 1617 - 0
edit_zh.html


+ 357 - 156
eforclient.html

@@ -24,7 +24,7 @@
         }
         if (number.indexOf("#") != -1) {
             number = number.substring(0, number.indexOf("#"));
-        } 
+        }
     </script>
     <script class="build keep">
         // Safari and Android does not support performance.timing.navigationStart :(
@@ -36,9 +36,9 @@
     </script>
 </head>
 
-<body> 
+<body>
     <div class="wrapper">
-        <div class="waiting"> 
+        <div class="waiting">
             <div class="overlay"></div>
             <div class="spinner">
                 <div class="bounce1"></div>
@@ -46,7 +46,7 @@
                 <div class="bounce3"></div>
             </div>
             <div class="text">请等待...</div>
-        </div> 
+        </div>
         <div class="toolTop hasPad unable">
             <!-- 顶部header -->
             <div class="btns"></div>
@@ -87,12 +87,16 @@
                     </li>
                     <li data-name="overlay">
                         <span class="overlay"></span>
-                        <label>视频</label>
+                        <label>展览</label>
                     </li>
                     <li data-name="panoVisible">
                         <span class="panoVisible"></span>
                         <label>漫游可行</label>
                     </li>
+                    <li data-name="cadMap">
+                        <span class="panoVisible"></span>
+                        <label>小地图</label>
+                    </li>
                 </ul>
             </div>
             <div class="toolMid">
@@ -100,7 +104,7 @@
                     <!-- 画布区域 -->
                     <div class="webgl-inside">
                         <div class="content">
-                            <div id="hot"> 
+                            <div id="hot">
                             </div>
                             <div id="popup">
                                 <div class="popup-content">
@@ -888,9 +892,9 @@
                     </div>
                 </div>
                 <div class="midBottom hasPad">
-                    <!-- 中间下部 --> 
+                    <!-- 中间下部 -->
                     <div class="confirmSnap innerBtn hide" id="camera-start">点此设置为初始画面</div>
-                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->	
+                    <!--  <div class="innerBtn hide cancel" data-lang="">隐藏该点</div>  -->
                 </div>
             </div>
             <div class="toolRight">
@@ -904,17 +908,17 @@
                         <!-- <li class="describ noBorderbott">
                             <label class="remark">通过添加热点,您可以进一步装饰您的场景;例如:说明文字、图片、音频、视频等。</label>
                         </li> -->
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle hotListSwitchTitle">
                                 <span>热点列表</span>
                             </div>
-                            <ul id="hotListSwitch" class="clearfix hotStyle-item colorWrap">
+                            <ul id="hotListSwitch" class="switch clearfix hotStyle-item colorWrap">
                                 <label><input class="mui-switch mui-switch-animbg" type="checkbox">
                                     启用热点列表
                                 </label>
                             </ul>
                         </li>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle">
                                 <span>热点大小 (初始值为1)</span>
                             </div>
@@ -923,6 +927,11 @@
                                     step="0.1">
                             </ul>
                         </li>
+                        <li>
+                            <div class="buttons">
+                                <button class="innerBtn cancel" id="hotVisible">热点可视</button>
+                            </div>
+                        </li>
                         <li class="spotList">
                             <div class="itemTitle">
                                 <span>已添加的热点( <i class="hotNum"></i> )</span>
@@ -938,18 +947,18 @@
                         <div class="content">
                             <ul>
                                 <li class="info">
-                                    <div class="itemTitle" data-size="15" id="project-name1">
+                                    <div class="itemTitle" data-size="50" id="project-name1">
                                         <span>标题</span>
                                     </div>
                                     <!-- <span class="redPoint" id="project-name2" data-size="15">标题</span> -->
                                     <div class="name">
                                         <input spellcheck="false" placeholder="热点的标题" class="right" type="text"
-                                            minlength="1" maxlength="15" placeholder="">
+                                            minlength="1" maxlength="50" placeholder="">
                                     </div><!-- 必填,限15字 ??-->
-                                    <div class="itemTitle" data-size="200">
+                                    <div class="itemTitle" data-size="500">
                                         <span>简介</span>
                                     </div>
-                                    <textarea placeholder="热点的简介" class="editText" maxlength="200"></textarea>
+                                    <textarea placeholder="热点的简介" class="editText" maxlength="500"></textarea>
 
 
 
@@ -960,7 +969,8 @@
                                     </div>
                                     <ul>
                                         <li>
-                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite" id="isSprite">
+                                            <input name="isSprite" class="editCheckbox" type="checkbox" value="isSprite"
+                                                id="isSprite">
                                             <label for="isSprite"></label>
                                             <label for="isSprite">恒朝向相机 </label>
                                         </li>
@@ -970,24 +980,28 @@
                                         <!-- <li class="halfCell" index="scale" data-lang="">缩放</li> -->
                                         <li class="halfCell" index="rotate" data-lang="">旋转</li>
                                     </ul>
-                                </li>  
+                                </li>
                                 <li class="style">
                                     <div class="itemTitle">
                                         <span>样式</span>
                                     </div>
                                     <ul class="MenuOptions innerBtn">
                                         <li class="halfCell chosen" index="default">默认</li>
-                                        <li class="halfCell" index="user" >自定义</li> 
+                                        <li class="halfCell" index="user">自定义</li>
                                     </ul>
                                     <div id="userUploadStyle" class="hide">
                                         <ul>
-                                            <li class="upload "><div> </div><a class="del"></a></li>
-                                            <li class="upload hide"><div> </div><a class="del"></a></li>
+                                            <li class="upload ">
+                                                <div> </div><a class="del"></a>
+                                            </li>
+                                            <li class="upload hide">
+                                                <div> </div><a class="del"></a>
+                                            </li>
                                         </ul>
                                     </div>
                                 </li>
                                 <li class="photo">
-                                    <div class="itemTitle" data-size="<2M">
+                                    <div class="itemTitle" data-size="<9M">
                                         <span>图片</span>
                                     </div>
                                     <div class="list edit-fun-images clearfix"></div>
@@ -997,7 +1011,7 @@
                                             <div class="buttons">
                                                 <button class="submit innerBtn">更改</button>
                                             </div>
-                                            <input type="file">
+                                            <input type="file" accept="image/*">
                                         </div>
                                         <a class="del"></a>
                                     </div>
@@ -1013,7 +1027,7 @@
                                             <div class="buttons">
                                                 <button class="submit innerBtn">更改</button>
                                             </div>
-                                            <input type="file">
+                                            <input type="file" accept="video/*">
                                         </div>
                                         <a class="del"></a>
                                     </div>
@@ -1022,7 +1036,7 @@
                                     <div class="itemTitle">
                                         <span>添加音频</span>
                                         <div class="buttons">
-                                            <input type="file" id="upload-hotBgm">
+                                            <input type="file" id="upload-hotBgm" accept="audio/*">
                                             <button class="innerBtn submit">上传</button>
                                         </div>
                                     </div>
@@ -1050,6 +1064,22 @@
                                     <div class="itemTitle">
                                         <span>添加网页</span>
                                     </div>
+
+                                    <!-- <ul>
+                                        <li>
+                                            <input name="linkOutside" class="editCheckbox" type="checkbox" value="linkOutside" id="linkOutside"></input>
+                                            <label for="linkOutside"></label>
+                                            <label for="linkOutside">在新窗口打开(其他内容将失效) </label>
+                                        </li>
+                                    </ul>   
+                                    -->
+
+                                    <ul class="MenuOptions innerBtn" name="linkType">
+                                        <li class="halfCell chosen" index="common" data-lang="">普通</li>
+                                        <li class="halfCell" index="jumpLink" data-lang="">跳转</li>
+                                        <li class="halfCell" index="iframeDiv" data-lang="">iframe</li>
+                                    </ul>
+                                    <label class="remark">方式1须https, 方式2、3 除当前第一个链接外,其他内容将不展现。</label>
                                     <div class="list"></div>
                                     <div class="linkBtns">
                                         <div class="buttons">
@@ -1058,6 +1088,19 @@
                                         </div>
                                     </div>
                                 </li>
+                                <li class="">
+                                    <div class="itemTitle">
+                                        <span>其他</span>
+                                    </div>
+                                    <ul>
+                                        <li>
+                                            <input name="noAction" class="editCheckbox" type="checkbox" value="noAction"
+                                                id="noAction">
+                                            <label for="noAction"></label>
+                                            <label for="noAction">仅用于指示(不弹窗)</label>
+                                        </li>
+                                    </ul>
+                                </li>
                             </ul>
                         </div>
                         <div class="buttons tail">
@@ -1079,6 +1122,70 @@
                         </li>
                     </ul>
                 </div>
+                <div class="cadMap content hide">
+                    <ul>
+                        <li data-name="other">
+                            <ul class="other-item">
+                                <li>
+                                    <input name="show-cad" class="editCheckbox" type="checkbox">
+                                    <label for="show-cad"></label>
+                                    <label for="show-cad">开启小地图 </label>
+                                </li>
+                            </ul>
+                        </li>
+                        
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条粗细</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <select class="cad-size" id="cad-size">
+                                    <option value="0.01">1px</option>
+                                    <option value="0.02">2px</option>
+                                    <option value="0.03">3px</option>
+                                    <option value="0.04">4px</option>
+                                    <option value="0.05">5px</option>
+                                    <option value="0.06">6px</option>
+                                </select>
+                            </ul>
+                        </li>
+                        <li data-name="floorMarkerColor">
+                            <div class="itemTitle">
+                                <span>线条颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadBorderColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadBorderColor" type="color" />
+                            </ul>
+                        </li>
+                        <li data-name="MouseMarkerColor">
+                            <div class="itemTitle">
+                                <span>相机颜色</span>
+                            </div>
+                            <ul class="clearfix hotStyle-item colorWrap">
+                                <input id="cadSignColorTex" class="color-text" type="text" placeholder="请输入颜色" />
+                                <input id="cadSignColor" type="color" />
+                            </ul>
+                        </li>
+                        <!-- <ul class="cad-setting">
+                                <li>
+                                    <label for="">线宽</label>
+                                    <select name="" id="">
+                                        <option value="1">1px</option>
+                                        <option value="2">2px</option>
+                                        <option value="3">3px</option>
+                                        <option value="4">4px</option>
+                                        <option value="5">5px</option>
+                                    </select>
+                                </li>
+                                <li>
+                                    <label for="">相机颜色</label>
+                                    <input type="color" name="" id="">
+                                </li>
+                            </ul> -->
+                        </li>
+                    </ul>
+                </div>
                 <div class="information content">
                     <ul>
                         <li data-name="title">
@@ -1091,18 +1198,34 @@
                             <!-- <div class="unComplete">请填写项目名称</div> -->
                         </li>
                         <li data-name="description">
-                            <div class="itemTitle" data-size="200" id="project-intro2" >
+                            <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>简介内容</span>
                             </div>
 
-                            <textarea placeholder="大场景的简介" id="info-summary" class="editText" maxlength="200"></textarea>
+                            <textarea placeholder="大场景的简介" id="info-summary" class="editText"
+                                maxlength="200"></textarea>
 
                             <div class="itemTitle" data-size="200" id="project-intro2">
                                 <span>分享文字</span>
                             </div>
 
-                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText" maxlength="200"></textarea>
+                            <textarea placeholder="微信分享的描述" id="weixin-summary" class="editText"
+                                maxlength="200"></textarea>
 
+                            <div class="itemTitle" data-size="建议图片为正方形">
+                                <span>分享图片</span>
+                            </div>
+                            <div class="list edit-fun-images clearfix forShareImg"></div>
+                            <div class="upload" id="shareImgUpload">
+                                <div data-type="photo">
+                                    <span>手动上传</span>
+                                    <div class="buttons">
+                                        <button class="submit innerBtn">更改</button>
+                                    </div>
+                                    <input type="file" accept="image/*">
+                                </div>
+                                <a class="del hasHover"></a>
+                            </div>
                         </li>
                         <li data-name="hotStyle">
                             <div class="itemTitle">
@@ -1114,28 +1237,31 @@
                                     class="active"></li>
                                 <li style="background-image: url(images/edit/hotStyle_2.png);"
                                     data-val='{"default":"images/point2.png","higt":"images/point2_light.png"}'>
-                                </li>
-                                <!-- <ul>
-                                    <li class="addSpot customizeHotStyle">
-                                        <div class="buttons">
-                                            <button class="innerBtn" id="customizeHot">自定义样式</button>
+                                </li>  
+                                <!-- <li class="addSpot customizeHotStyle" >
+                                    <div class="list edit-fun-images clearfix"></div>
+                                    <div class="upload" id="SpotStyle">
+                                        <div data-type='photo'> 
+                                            <div class="buttons">
+                                                <button class="submit innerBtn">更改</button>
+                                            </div>
+                                            <input type="file" accept="image/*">
                                         </div>
-                                    </li>
-                                </ul> -->
+                                        <a class="del"></a>
+                                    </div>
+                                </li>  -->
                             </ul>
                         </li>
                         <li data-name="floorMarkerColor">
                             <div class="itemTitle">
-                                <span>当前位置标记/导览标记颜色</span>
+                                <span>当前位置/导览路线</span>
                             </div>
                             <ul class="clearfix hotStyle-item colorWrap">
                                 <input id="floorMarkerColorTex" class="color-text" type="text" placeholder="请输入颜色" />
                                 <input id="floorMarkerColor" type="color" />
-                            </ul>
-                        </li>
-                        <li data-name="MouseMarkerColor">
+                            </ul> 
                             <div class="itemTitle">
-                                <span>鼠标标记颜色</span>
+                                <span>鼠标标记</span>
                             </div>
                             <ul class="clearfix hotStyle-item colorWrap">
                                 <input id="mouseMarkerColorTex" class="color-text" type="text" placeholder="请输入颜色" />
@@ -1170,7 +1296,7 @@
                                         value="hideMouseMarker" id="hideMouseMarker">
                                     <label for="hideMouseMarker"></label>
                                     <label for="hideMouseMarker">隐藏鼠标标记 </label>
-                                </li> 
+                                </li>
                                 <li>
                                     <input name="g_specialScene" class="editCheckbox" type="checkbox"
                                         value="g_specialScene" id="g_specialScene">
@@ -1186,10 +1312,11 @@
                             </ul>
                             <ul>
                                 <li>
-                                    <label class="remark">注: <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
-                                    <br><br>启动二代数据:和tile贴图有关。</label>
+                                    <label class="remark">注:
+                                        <br>特殊大场景:一般不勾选,是对某些需要特殊处理的场景设置的。如果勾选了还需要将处理的内容写进SpecialScene.js,否则没有作用。
+                                        <br><br>启动二代数据:和tile贴图有关。</label>
                                 </li>
-                            </ul>     
+                            </ul>
                         </li>
                     </ul>
                 </div>
@@ -1200,7 +1327,7 @@
                             <div class="itemTitle">
                                 <span>背景音乐</span>
                                 <div class="buttons">
-                                    <input type="file" id="upload-bgm">
+                                    <input type="file" accept="audio/*" id="upload-bgm">
                                     <button class="innerBtn submit">上传</button>
                                 </div>
                             </div>
@@ -1215,93 +1342,166 @@
                     </ul>
                 </div>
 
+
+
+
+
                 <div class="snapTour content hide">
-                    <ul>
-                        <div id="tourEdit" class="secondary  editDetail  atRight">
+                    <ul> 
+                        <li class="addTour">
+                            <div class="buttons begin">
+                                <button class="innerBtn">添加导览</button>
+                                <button class="innerBtn">添加片段</button>
+                            </div>
+                        </li>
+                        <li>
+                            <div class="itemTitle">
+                                <span>选择导览过渡效果</span>
+                            </div>
+                            <ul id="tourSwitch" class="switch clearfix hotStyle-item colorWrap">
+                                <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                    启用瞬间过渡
+                                </label>
+                            </ul>
+                        </li>
+                        
+                        
+                        <li id="tourList" class='tourList'>  <!-- 总目录-->
+                            <ul>
+
+                            </ul>
+                        </li>
+                        
+                        <!-- <li id="tourFolderList">
+                            <ul>
+
+                            </ul>
+                        </li> -->
+                        
+                        
+                        
+                        
+                        <div id="tourFolderEdit" class="secondary  editDetail  atRight">
                             <div class="itemTitle head">
                                 <span>导览编辑</span>
                                 <!-- <a class="close"></a> -->
                             </div>
                             <div class="content">
                                 <ul>
-                                    <li id="tourName" class="info">
+                                    <li class="tourName info">
                                         <div class="itemTitle" data-size="15" id="project-name1">
                                             <span>导览名称</span>
+                                        </div> 
+                                        <div class="name">
+                                            <input spellcheck="false" placeholder="最多15字" class="right" type="text" minlength="1" maxlength="15" placeholder="" data-oper=tour-input>
+                                        </div><!-- 必填,限15字 ??-->
+                                    </li>
+                                    <li class="audio mediaUpload">
+                                        <div class="itemTitle itemMargin">
+                                            <span>添加音频</span>
+                                            <div class="buttons">
+                                                <input type="file"  accept="audio/*">
+                                                <button class="innerBtn submit">上传</button>
+                                            </div>
+                                        </div>
+                                        <div class="playBox hide" data-type='music'>
+                                            <div><a target="_blank"></a></div>
+                                            <div>
+                                                <span class="title">background</span>
+                                                <span class="delete">删除</span>
+                                            </div>
                                         </div>
-                                        <!-- <span class="redPoint" id="project-name2" data-size="15">标题</span> -->
+                                    </li>
+                                    <li>
+                                        <div class="itemTitle">
+                                            <span>选择导览过渡效果</span>
+                                        </div>
+                                        <ul id="folderTourSwitch" class="switch clearfix hotStyle-item colorWrap">
+                                            <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                                启用瞬间过渡
+                                            </label>
+                                        </ul>
+                                    </li>
+                                    <li class="snapATourView">
+                                        <div class="buttons begin">
+                                            <button class="innerBtn">添加片段</button>
+                                        </div>
+                                    </li>
+                                    
+                                    <li id="tourItemList" class='tourList'>
+                                        <ul>
+
+                                        </ul>
+                                    </li>
+                                </ul>
+                            </div>
+                            <div class="buttons tail">
+                                <button class="tourSubmit submit innerBtn">完成</button> 
+                            </div> 
+                        </div>
+                    
+                    
+                    
+                        
+                    
+                    
+                    
+                    
+                    
+                        <div id="tourItemEdit" class="secondary  editDetail  atRight">
+                            <div class="itemTitle head">
+                                <span>片段编辑</span>
+                                <!-- <a class="close"></a> -->
+                            </div>
+                            <div class="content">
+                                <ul>
+                                    <li class="tourName info">
+                                        <div class="itemTitle" data-size="15" id="project-name1">
+                                            <span>片段名称</span>
+                                        </div> 
                                         <div class="name">
-                                            <input id="tourNameInput" spellcheck="false" placeholder="导览的名称"
-                                                class="right" type="text" minlength="1" maxlength="15" placeholder=""
-                                                data-oper=tour-input>
+                                            <input spellcheck="false" placeholder="导览的名称" class="right" type="text" minlength="1" maxlength="15" placeholder="" data-oper=tour-input>
                                         </div><!-- 必填,限15字 ??-->
                                     </li>
                                     <li class="audio mediaUpload">
                                         <div class="itemTitle itemMargin">
                                             <span>添加音频</span>
                                             <div class="buttons">
-                                                <input type="file" id="uploadTourBgm">
+                                                <input type="file"  accept="audio/*">
                                                 <button class="innerBtn submit">上传</button>
                                             </div>
                                         </div>
                                         <div class="playBox hide" data-type='music'>
                                             <div><a target="_blank"></a></div>
                                             <div>
-                                                <span id="tourMusicName" class="title">background</span>
+                                                <span class="title">background</span>
                                                 <span class="delete">删除</span>
                                             </div>
                                         </div>
                                     </li>
-                                    <li id="tourRenew" class="info">
-                                        <!-- <div class="itemTitle" data-size="0.94 ~ 3.18" id="project-name1">
-                                                <span></span>
-                                            </div> -->
-                                        <!-- <span class="redPoint" id="project-name2" data-size="15">标题</span> -->
+                                    <li id="tourRenew" class="info"> 
                                         <div class="name itemMargin">
                                             <div class="buttons begin">
                                                 <button id="renewTourBtn" class="innerBtn">重新录制当前导览</button>
-                                            </div>
-                                            <!-- <input spellcheck="false" placeholder=" 1" class="right" type="text"
-                                                                minlength="1" maxlength="15"> -->
+                                            </div> 
                                         </div><!-- 必填,限15字 ??-->
                                     </li>
                                 </ul>
                             </div>
                             <div class="buttons tail">
-                                <button id="tourSubmit" class="submit innerBtn">完成</button>
-                                <!-- <button class="cancel innerBtn">取消</button> -->
-                            </div>
-
-                        </div>
-                        <li class="addTour">
-                            <div class="buttons begin">
-                                <button class="innerBtn">添加导览</button>
-                            </div>
-                        </li>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp">
-                            <div class="itemTitle">
-                                <span>选择导览过渡效果</span>
-                            </div>
-                            <ul id="tourSwitch" class="clearfix hotStyle-item colorWrap">
-                                <label><input class="mui-switch mui-switch-animbg" type="checkbox">
-                                    启用瞬间过渡
-                                </label>
-                            </ul>
-                        </li>
-                        <li class="tourList">
-
-                            <ul id="tourListWrap" class="tourListWrap">
-
-                            </ul>
-                        </li>
+                                <button class="tourSubmit submit innerBtn">完成</button> 
+                            </div> 
+                        </div> 
+                        
                     </ul>
                 </div>
                 <div class="VR content hide">
                     <ul>
-                        <li data-name="MouseMarkerColor" class="tourSelectWarp hotListSwitch">
+                        <li class="tourSelectWarp hotListSwitch">
                             <div class="itemTitle">
                                 <span>VR</span>
                             </div>
-                            <ul id="VRSwitch" class="clearfix hotStyle-item colorWrap">
+                            <ul id="VRSwitch" class="switch clearfix hotStyle-item colorWrap">
                                 <label><input class="mui-switch mui-switch-animbg" type="checkbox">
                                     启用VR功能
                                 </label>
@@ -1311,76 +1511,84 @@
                 </div>
                 <div class="wallDesign content hide"></div>
                 <div class="panoVisible content hide">
-                    <ul class="view-setting"><li ><div class="itemTitle"><span>漫游可行</span></div>
-                        <div  class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>  
-                        <div  class="remark">点击“保存当前设置”后展示页面立即生效。</div>
+                    <ul class="view-setting">
+                        <li>
+                            <div class="itemTitle"><span>漫游可行</span></div>
+                            <div class="remark">通过设置漫游可行,进一步优化在漫游时出现的体验;例如,您在漫游时,出现穿透房间的情况。</div>
+                            <div class="remark">点击“保存当前设置”后展示页面立即生效。</div>
                         </li>
                     </ul>
                 </div>
                 <div class="overlay content hide">
                     <ul>
-						<li class="addBtn"> 
-							<div class="buttons">
-								<button class="innerBtn" data-lang="">添加视频</button>
-							</div>
-						</li>
-						<li class="overlayList ">
+                        <li class="addBtn">
+                            <div class="buttons">
+                                <button class="innerBtn" data-type='video'>添加视频</button>
+                                <button class="innerBtn" data-type='photo'>添加图片</button>
+                            </div>
+                        </li>
+                        <li class="overlayList ">
                             <div class="itemTitle">
                                 <span>已添加的视频</span>
                             </div>
                             <ul>
-                            
+
                             </ul>
-                        </li> 
-					</ul>                
+                        </li>
+                    </ul>
                 </div>
-                
-				<div id="overlayProp" class="secondary atRight ">
-					<div class="itemTitle head">
-						<span data-lang="">BOX视频属性</span>
-						<a class="close"></a>
-					</div> 
-					<div class="content"> 
-						<ul>   
-							<li id="overlayUpload"> 
-								<div class="itemTitle">
-									<span data-lang="">预览</span>  
-									<div class="buttons" name="upload">
-										<button class="innerBtn" data-lang="">上传视频</button>
-									</div>
-								</div> 
-								<div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span attr-type="height"></span><span attr-type="width"></span></div>
-								<div class="buttons" name="useImgRatio">
-									<button class="innerBtn" data-lang="">恢复原始比例</button>
-								</div>
-								<ul class="MenuOptions innerBtn" name="transform">
-									<li class="halfCell chosen" index="translate" data-lang="">位移</li>
-									<li class="halfCell" index="scale" data-lang="">缩放</li>
-									<li class="halfCell" index="rotate" data-lang="">旋转</li>
-								</ul>							
-							</li>
-						 
-							
-							<li>
-								<!-- <div class="itemTitle" data-name="overlayAddBox">
-									<span data-lang="">厚度</span>
-									<div class="switch">
-										<div></div>
-									</div>									
-								</div> -->
-								<div class="itemTitle">
-									<span data-lang="">厚度</span>  
-								</div>
-								<div id="videoDepth"></div> 
-							</li>  
-						</ul> 	
-					</div>
-					<div class="buttons tail">
-						<button class="submit innerBtn" data-lang="">完成</button>
-						<button class="delete cancel innerBtn" data-lang="">删除</button>
-					</div>					
-				</div>
-                
+
+                <div id="overlayProp" class="secondary atRight ">
+                    <div class="itemTitle head">
+                        <span data-lang="">展览属性</span>
+                        <a class="close"></a>
+                    </div>
+                    <div class="content">
+                        <ul>
+                            <li id="overlayUpload">
+                                <div class="itemTitle">
+                                    <span data-lang="">预览</span>
+                                    <div class="buttons" name="upload">
+                                        <button class="innerBtn" data-lang="">上传视频</button>
+                                    </div>
+                                </div>
+                                <div class="preview"><span class="text">支持MP4、MOV等,<20M</span> <span
+                                        attr-type="height"></span><span attr-type="width"></span></div>
+                                <div class="buttons" name="useImgRatio">
+                                    <button class="innerBtn" data-lang="">恢复原始比例</button>
+                                </div>
+                                <ul class="MenuOptions innerBtn" name="transform">
+                                    <li class="halfCell chosen" index="translate" data-lang="">位移</li>
+                                    <li class="halfCell" index="scale" data-lang="">缩放</li>
+                                    <li class="halfCell" index="rotate" data-lang="">旋转</li>
+                                </ul>
+                                <ul id='setOverlayPosForPano' class="switch clearfix hotStyle-item colorWrap"
+                                    style="margin-top:20px">
+                                    <label><input class="mui-switch mui-switch-animbg" type="checkbox">
+                                        当前漫游点独立调整
+                                    </label>
+
+                                </ul>
+                                <label class="remark">如在其他点位出现错位,请开启此开关,独立调整在特定点位的位移/缩放/旋转。
+                                </label>
+                            </li>
+
+
+
+                            <li>
+                                <div class="itemTitle">
+                                    <span data-lang="">厚度</span>
+                                </div>
+                                <div id="videoDepth"></div>
+                            </li>
+                        </ul>
+                    </div>
+                    <div class="buttons tail">
+                        <button class="submit innerBtn" data-lang="">完成</button>
+                        <button class="delete cancel innerBtn" data-lang="">删除</button>
+                    </div>
+                </div>
+
             </div>
             <div data-label="video">
                 <div class="fun-view-video">
@@ -1398,8 +1606,6 @@
         </div>
     </div>
 
-    
-
     <script src="js/lib/jquery-2.1.1.min.js" class="build keep"></script>
     <script src="js/lib/player-0.0.12.min.js" class="build keep"></script>
     <script src="js/Tween.js"></script>
@@ -1410,19 +1616,14 @@
     <script src="js/overlay.js"></script>
     <script src="js/TransformControls.js"></script>
     <script src="js/main_2020_edit.js"></script>
-
+    <script src="js/loadCAD.js"></script>
     <script>
         let clientCode = getQueryVariable('cmp')
-
-        if (clientCode) {
-            
-        }
         var ceshi = ''//'http://47.107.252.54:8105';
         var token = ''
         //if (!token) {
          //  window.location.href = '../list/index.html'
         //}
-         
     </script>
 </body>
 

Разница между файлами не показана из-за своего большого размера
+ 598 - 679
index.html


+ 21 - 8
js/TransformControls.js

@@ -151,7 +151,7 @@ var TransformControls = function ( camera, domElement, options ) {
 		domElement.removeEventListener( "mousedown", onPointerDown );
 		domElement.removeEventListener( "touchstart", onPointerDown );
 		domElement.removeEventListener( "mousemove", onPointerHover );
-		document.removeEventListener( "mousemove", onPointerMove );
+		domElement.removeEventListener( "mousemove", onPointerMove );
 		domElement.removeEventListener( "touchmove", onPointerHover );
 		domElement.removeEventListener( "touchmove", onPointerMove );
 		document.removeEventListener( "mouseup", onPointerUp );
@@ -348,7 +348,7 @@ var TransformControls = function ( camera, domElement, options ) {
 			space = 'world';
 
 		}
-		console.log(axis)
+		 
 
 		if ( object === undefined || axis === null || this.dragging === false || ( pointer.button !== undefined && pointer.button !== 0 ) ) return;
 
@@ -456,6 +456,15 @@ var TransformControls = function ( camera, domElement, options ) {
 
 			}
 
+
+            //add:
+             
+            if(EditOverlay.editing){
+                EditOverlay.updatePosition();
+            }
+
+
+
 		} else if ( mode === 'scale' ) {
 
 			if ( axis.search( 'XYZ' ) !== - 1 ) {
@@ -528,10 +537,7 @@ var TransformControls = function ( camera, domElement, options ) {
             
            
             if(EditOverlay.editing){
-                object.width = settings.overlay.width * object.scale.x;
-                object.height = settings.overlay.height * object.scale.y;
-                //object.depth = Settings.overlay.height * object.scale.y;
-                EditOverlay.updateOverlayScaleDisplay()
+                EditOverlay.updateScale(); 
             }
 
 
@@ -540,7 +546,7 @@ var TransformControls = function ( camera, domElement, options ) {
 
 			offset.copy( pointEnd ).sub( pointStart );
 
-			var ROTATION_SPEED = 20 / worldPosition.distanceTo( _tempVector.setFromMatrixPosition( this.camera.matrixWorld ) );
+			var ROTATION_SPEED = 2 / worldPosition.distanceTo( _tempVector.setFromMatrixPosition( this.camera.matrixWorld ) );
 
 			if ( axis === 'E' ) {
 
@@ -592,7 +598,14 @@ var TransformControls = function ( camera, domElement, options ) {
 				object.quaternion.multiply( quaternionStart ).normalize();
 
 			}
-
+            
+            //add:
+            
+            
+           
+            if(EditOverlay.editing){
+                EditOverlay.updateQua(); 
+            }
 		}
 
 		this.dispatchEvent( changeEvent );

Разница между файлами не показана из-за своего большого размера
+ 3500 - 2712
js/edit.js


Разница между файлами не показана из-за своего большого размера
+ 3953 - 0
js/edit_zh.js


+ 132 - 0
js/loadCAD.js

@@ -0,0 +1,132 @@
+window.grendCAD = (function grendCAD() {
+  let initFloor
+  let initScript
+  let initDOM
+  let point, dire
+
+  window.cad = {
+    setSign: function(p, d) {
+      point = p
+      dire = d
+    }
+  }
+
+  function loadScript(cb) {
+    if (initScript) return cb()
+
+    let $script = document.createElement('script')
+    $script.src = '//www.4dmodel.com/CAD/bundle.js'
+    $script.onload = function() {
+      initScript = true
+      cb()
+    }
+
+    document.documentElement.appendChild($script)
+  }
+
+  function loadDOM($parent) {
+    if (initDOM) return initDOM;
+    let $layer = document.createElement('div')
+    let $cad = document.createElement('div')
+
+    $layer.className = 'cad'
+    $cad.id = 'cad'
+    $layer.appendChild($cad)
+
+
+    let style = document.createElement('style')
+    style.innerHTML = `
+      .cad {
+        position: absolute;
+        right: 80px;
+        top: 16px;
+        width: 200px;
+        height: 200px;
+        background: rgba(0, 0, 0, .3);
+        border-radius: 5px;
+      }
+
+      .cad > div {
+        width: 100%;
+        height: 100%;
+      }
+
+      @media only screen and (max-width: 600px) { 
+        .cad {
+            position: absolute;
+            left: 16px;
+            top: 65px;
+            width: 100px;
+            height: 100px;
+            background: rgba(0, 0, 0, .3);
+            border-radius: 5px;
+        }
+      }
+    `
+
+    document.documentElement.appendChild(style)
+    document.documentElement.appendChild($layer)
+    $parent.appendChild(style)
+    $parent.appendChild($layer)
+    return $layer
+  }
+
+
+  function setStyle(signColor, borderColor, borderWidth) {
+    cad.setDefaultPointStyle({
+      fillColor: "rgba(0,0,0,0)",
+      storkeColor: "rgba(0,0,0,0)"
+    });
+
+    console.log(borderWidth)
+    cad.setDefaultLineStyle({
+      width: borderWidth,
+      color: borderColor
+    });
+
+    cad.setDefaultSignStyle({
+      color: signColor
+    })
+  }
+
+
+  return function(floor, $parent, signColor, borderColor, borderWidth) {
+    if (initFloor) {
+      console.log('cache')
+      return setStyle(signColor, borderColor, borderWidth)
+    }
+    console.log('load')
+    initFloor = floor
+
+    loadScript(function() {
+      let $layer = loadDOM($parent)
+
+      $layer.style.visibility = 'hidden'
+      window.cad = structureCAD({
+        data: {
+            block: [],
+            column: [],
+            door: [],
+            hole: [],
+            segment: [],
+            "vertex-xy": [],
+            "vertex-z": [],
+        }, 
+        layer: $layer.querySelector('#cad'),
+        edit: false
+      });
+      
+      setStyle(signColor, borderColor, borderWidth)
+      cad.hideDire()
+      cad.hideGauge()
+  
+      console.log('loadData')
+      cad.loadData(initFloor);
+      if (point && dire) {
+        window.cad.setSign(point, dire)
+      }
+      $layer.style.visibility = 'visible'
+    })
+
+  }
+})();

Разница между файлами не показана из-за своего большого размера
+ 59689 - 0
js/mainEdit.js


Разница между файлами не показана из-за своего большого размера
+ 662 - 170
js/main_2020_edit.js


Разница между файлами не показана из-за своего большого размера
+ 671 - 151
js/main_2020_show.js


+ 61 - 15
js/overlay.js

@@ -61,10 +61,14 @@ var initOverlay = function(THREE){
                 video.volume = 0
                 video.muted = true
             }else if(info.media.includes('photo')){
-                var img = new Image();
-                /* img.src = "https://4dkk.4dage.com/images/images"+Config.projectNum+"/overlay"+this.sid+".jpg?m="+new Date().getTime()
+                /* var img = new Image();
+                 
+                img.src = manage.dealURL(info.file) //"https://4dkk.4dage.com/images/images"+Config.projectNum+"/overlay"+this.sid+".jpg?m="+new Date().getTime()
                 info.media = img
-                info.type = "photo"  */
+                 */
+                
+                info.type = "photo"  
+                
             }
             plane.material.opacity = 1;
             plane.material.color = new THREE.Color(1,1,1) 
@@ -72,25 +76,46 @@ var initOverlay = function(THREE){
         if(info.width == void 0) info.width = settings.overlay.width;
         if(info.height == void 0) info.height = settings.overlay.height;
         this.setFromInfo(info) 
-        
+        this.fileSrc = info.file
         
     }
 
      
       
     Overlay.prototype.setFromInfo = function(info){//1 恢复到编辑之前 2 初始加载 
-        var plane = this.plane;
-        info.width && (this.scale.setX(info.width/settings.overlay.width),this.width = info.width)
-        info.height && (this.scale.setY(info.height/settings.overlay.height),this.height = info.height) 
+        var plane = this.plane; 
+        this.transformAtPanos = info.transformAtPanos || {} //在每个漫游点独立设置的position。  
+        var curPanoTransform = player.currentPano && this.transformAtPanos[player.currentPano.id] || {} 
+        
         info.depth && this.scale.setZ(info.depth/settings.overlay.depth)
-        info.pos && this.position.copy(info.pos);
-        info.qua && this.quaternion.copy(info.qua);
+        
+         
+        this.posCustom = info.pos ? info.pos.clone() : this.position.clone(); //没有单独设置position的漫游点使用的position
+        this.position.copy(curPanoTransform.pos || this.posCustom )
+        
+        this.quaCustom = info.qua ? info.qua.clone() : this.quaternion.clone()
+        this.quaternion.copy(curPanoTransform.qua || this.quaCustom);
+        
+        
+        this.widthCustom = info.width  
+        this.heightCustom = info.height  
+        this.width = curPanoTransform.width || this.widthCustom
+        this.height = curPanoTransform.height || this.heightCustom
+        var a = this.getScaleBySize(this.width, this.height)
+        this.scale.setX( a.x )
+        this.scale.setY( a.y )
+        
+        
+        
+        
         if(info.type){
             if(!plane.material.map){
                 if(info.type == "video"){ 
                     plane.material.map = new THREE.VideoTexture( info.media );  
-                }else{
-                    plane.material.map = texture.load(info.media) 
+                }else{  
+                    plane.material.map = Texture.load(info.file,()=>{
+                        if(this._loadDone)this._loadDone()
+                    }) 
                 } 
                 plane.material.map.wrapS = plane.material.map.wrapT = THREE.ClampToEdgeWrapping;
                 plane.material.map.minFilter = THREE.LinearFilter;
@@ -104,6 +129,9 @@ var initOverlay = function(THREE){
         if(!!this.hasBox != !!info.hasBox){
             this.addBox(!this.hasBox); 
         }
+        
+        
+        
     } 
 
     Overlay.prototype.addBox = function(state){
@@ -126,9 +154,18 @@ var initOverlay = function(THREE){
         this.hasBox = state
     }
     
-    
-    
-    
+    Overlay.prototype.getSizeByScale = function(){ 
+        return {
+            width : settings.overlay.width * this.scale.x,
+            height : settings.overlay.height * this.scale.y
+        }
+    }
+    Overlay.prototype.getScaleBySize = function(width, height){ 
+        return {
+            x : width / settings.overlay.width,
+            y : height / settings.overlay.height,
+        }  
+    } 
     
     Overlay.prototype.preDeal = function(info){
         info.pos = new THREE.Vector3().fromArray(info.pos)
@@ -143,7 +180,16 @@ var initOverlay = function(THREE){
         info.qua.x = parseFloat(info.qua.x)
         info.qua.y = parseFloat(info.qua.y)
         info.qua.z = parseFloat(info.qua.z)
-        info.qua.w = parseFloat(info.qua.w) 
+        info.qua.w = parseFloat(info.qua.w)
+        
+        if(!info.transformAtPanos)info.transformAtPanos = {}
+               
+        for(let i in info.transformAtPanos){
+            info.transformAtPanos[i].pos = new THREE.Vector3().fromArray(info.transformAtPanos[i].pos)
+            info.transformAtPanos[i].qua = new THREE.Quaternion().fromArray(info.transformAtPanos[i].qua)
+                
+        }
+        
     }