Bläddra i källkod

添加新数据需求

bill 2 år sedan
förälder
incheckning
1676cb9c10

BIN
public/static/compass.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
server/test/SS-t-P1d6CwREny2/attach/sceneStore


+ 831 - 3
src/components/base/components/icon/iconfont/demo_index.html

@@ -55,6 +55,222 @@
           <ul class="icon_lists dib-box">
           
             <li class="dib">
+              <span class="icon iconfont">&#xe740;</span>
+                <div class="name">control_a</div>
+                <div class="code-name">&amp;#xe740;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe741;</span>
+                <div class="name">control_d</div>
+                <div class="code-name">&amp;#xe741;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe742;</span>
+                <div class="name">lane_a</div>
+                <div class="code-name">&amp;#xe742;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe743;</span>
+                <div class="name">l_thick</div>
+                <div class="code-name">&amp;#xe743;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe744;</span>
+                <div class="name">l_thin</div>
+                <div class="code-name">&amp;#xe744;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe745;</span>
+                <div class="name">lane_d</div>
+                <div class="code-name">&amp;#xe745;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe735;</span>
+                <div class="name">copy</div>
+                <div class="code-name">&amp;#xe735;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe736;</span>
+                <div class="name">label</div>
+                <div class="code-name">&amp;#xe736;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe737;</span>
+                <div class="name">point_a</div>
+                <div class="code-name">&amp;#xe737;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe738;</span>
+                <div class="name">line_v</div>
+                <div class="code-name">&amp;#xe738;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe739;</span>
+                <div class="name">line_f</div>
+                <div class="code-name">&amp;#xe739;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73a;</span>
+                <div class="name">screen_c</div>
+                <div class="code-name">&amp;#xe73a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73b;</span>
+                <div class="name">line_h</div>
+                <div class="code-name">&amp;#xe73b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73c;</span>
+                <div class="name">screen_f</div>
+                <div class="code-name">&amp;#xe73c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73d;</span>
+                <div class="name">draw_s</div>
+                <div class="code-name">&amp;#xe73d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73e;</span>
+                <div class="name">home</div>
+                <div class="code-name">&amp;#xe73e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe73f;</span>
+                <div class="name">edit</div>
+                <div class="code-name">&amp;#xe73f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe733;</span>
+                <div class="name">arrows</div>
+                <div class="code-name">&amp;#xe733;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe734;</span>
+                <div class="name">circle</div>
+                <div class="code-name">&amp;#xe734;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe726;</span>
+                <div class="name">del</div>
+                <div class="code-name">&amp;#xe726;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe727;</span>
+                <div class="name">lock</div>
+                <div class="code-name">&amp;#xe727;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe728;</span>
+                <div class="name">recover</div>
+                <div class="code-name">&amp;#xe728;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe729;</span>
+                <div class="name">line</div>
+                <div class="code-name">&amp;#xe729;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72a;</span>
+                <div class="name">point</div>
+                <div class="code-name">&amp;#xe72a;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72b;</span>
+                <div class="name">panorama_f</div>
+                <div class="code-name">&amp;#xe72b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72c;</span>
+                <div class="name">panorama_t</div>
+                <div class="code-name">&amp;#xe72c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72d;</span>
+                <div class="name">point_c_t</div>
+                <div class="code-name">&amp;#xe72d;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72e;</span>
+                <div class="name">cancel</div>
+                <div class="code-name">&amp;#xe72e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe72f;</span>
+                <div class="name">standard</div>
+                <div class="code-name">&amp;#xe72f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe730;</span>
+                <div class="name">affirm</div>
+                <div class="code-name">&amp;#xe730;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe731;</span>
+                <div class="name">setting</div>
+                <div class="code-name">&amp;#xe731;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe732;</span>
+                <div class="name">point_c_f</div>
+                <div class="code-name">&amp;#xe732;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe722;</span>
+                <div class="name">redo</div>
+                <div class="code-name">&amp;#xe722;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe723;</span>
+                <div class="name">backout</div>
+                <div class="code-name">&amp;#xe723;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe724;</span>
+                <div class="name">reset</div>
+                <div class="code-name">&amp;#xe724;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe725;</span>
+                <div class="name">map</div>
+                <div class="code-name">&amp;#xe725;</div>
+              </li>
+          
+            <li class="dib">
               <span class="icon iconfont">&#xe71d;</span>
                 <div class="name">text</div>
                 <div class="code-name">&amp;#xe71d;</div>
@@ -144,9 +360,9 @@
 <pre><code class="language-css"
 >@font-face {
   font-family: 'iconfont';
-  src: url('iconfont.woff2?t=1684996225484') format('woff2'),
-       url('iconfont.woff?t=1684996225484') format('woff'),
-       url('iconfont.ttf?t=1684996225484') format('truetype');
+  src: url('iconfont.woff2?t=1685323395791') format('woff2'),
+       url('iconfont.woff?t=1685323395791') format('woff'),
+       url('iconfont.ttf?t=1685323395791') format('truetype');
 }
 </code></pre>
           <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
@@ -173,6 +389,330 @@
         <ul class="icon_lists dib-box">
           
           <li class="dib">
+            <span class="icon iconfont icon-control_a"></span>
+            <div class="name">
+              control_a
+            </div>
+            <div class="code-name">.icon-control_a
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-control_d"></span>
+            <div class="name">
+              control_d
+            </div>
+            <div class="code-name">.icon-control_d
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-lane_a"></span>
+            <div class="name">
+              lane_a
+            </div>
+            <div class="code-name">.icon-lane_a
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-l_thick"></span>
+            <div class="name">
+              l_thick
+            </div>
+            <div class="code-name">.icon-l_thick
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-l_thin"></span>
+            <div class="name">
+              l_thin
+            </div>
+            <div class="code-name">.icon-l_thin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-lane_d"></span>
+            <div class="name">
+              lane_d
+            </div>
+            <div class="code-name">.icon-lane_d
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-copy"></span>
+            <div class="name">
+              copy
+            </div>
+            <div class="code-name">.icon-copy
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-label"></span>
+            <div class="name">
+              label
+            </div>
+            <div class="code-name">.icon-label
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-point_a"></span>
+            <div class="name">
+              point_a
+            </div>
+            <div class="code-name">.icon-point_a
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-line_v"></span>
+            <div class="name">
+              line_v
+            </div>
+            <div class="code-name">.icon-line_v
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-line_f"></span>
+            <div class="name">
+              line_f
+            </div>
+            <div class="code-name">.icon-line_f
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-screen_c"></span>
+            <div class="name">
+              screen_c
+            </div>
+            <div class="code-name">.icon-screen_c
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-line_h"></span>
+            <div class="name">
+              line_h
+            </div>
+            <div class="code-name">.icon-line_h
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-screen_f"></span>
+            <div class="name">
+              screen_f
+            </div>
+            <div class="code-name">.icon-screen_f
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-draw_s"></span>
+            <div class="name">
+              draw_s
+            </div>
+            <div class="code-name">.icon-draw_s
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-home"></span>
+            <div class="name">
+              home
+            </div>
+            <div class="code-name">.icon-home
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-edit"></span>
+            <div class="name">
+              edit
+            </div>
+            <div class="code-name">.icon-edit
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-arrows"></span>
+            <div class="name">
+              arrows
+            </div>
+            <div class="code-name">.icon-arrows
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-circle"></span>
+            <div class="name">
+              circle
+            </div>
+            <div class="code-name">.icon-circle
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-del"></span>
+            <div class="name">
+              del
+            </div>
+            <div class="code-name">.icon-del
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-lock"></span>
+            <div class="name">
+              lock
+            </div>
+            <div class="code-name">.icon-lock
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-recover"></span>
+            <div class="name">
+              recover
+            </div>
+            <div class="code-name">.icon-recover
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-line"></span>
+            <div class="name">
+              line
+            </div>
+            <div class="code-name">.icon-line
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-point"></span>
+            <div class="name">
+              point
+            </div>
+            <div class="code-name">.icon-point
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-panorama_f"></span>
+            <div class="name">
+              panorama_f
+            </div>
+            <div class="code-name">.icon-panorama_f
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-panorama_t"></span>
+            <div class="name">
+              panorama_t
+            </div>
+            <div class="code-name">.icon-panorama_t
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-point_c_t"></span>
+            <div class="name">
+              point_c_t
+            </div>
+            <div class="code-name">.icon-point_c_t
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-cancel"></span>
+            <div class="name">
+              cancel
+            </div>
+            <div class="code-name">.icon-cancel
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-standard"></span>
+            <div class="name">
+              standard
+            </div>
+            <div class="code-name">.icon-standard
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-affirm"></span>
+            <div class="name">
+              affirm
+            </div>
+            <div class="code-name">.icon-affirm
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-setting"></span>
+            <div class="name">
+              setting
+            </div>
+            <div class="code-name">.icon-setting
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-point_c_f"></span>
+            <div class="name">
+              point_c_f
+            </div>
+            <div class="code-name">.icon-point_c_f
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-redo"></span>
+            <div class="name">
+              redo
+            </div>
+            <div class="code-name">.icon-redo
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-backout"></span>
+            <div class="name">
+              backout
+            </div>
+            <div class="code-name">.icon-backout
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-reset"></span>
+            <div class="name">
+              reset
+            </div>
+            <div class="code-name">.icon-reset
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-map"></span>
+            <div class="name">
+              map
+            </div>
+            <div class="code-name">.icon-map
+            </div>
+          </li>
+          
+          <li class="dib">
             <span class="icon iconfont icon-text"></span>
             <div class="name">
               text
@@ -309,6 +849,294 @@
           
             <li class="dib">
                 <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-control_a"></use>
+                </svg>
+                <div class="name">control_a</div>
+                <div class="code-name">#icon-control_a</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-control_d"></use>
+                </svg>
+                <div class="name">control_d</div>
+                <div class="code-name">#icon-control_d</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-lane_a"></use>
+                </svg>
+                <div class="name">lane_a</div>
+                <div class="code-name">#icon-lane_a</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-l_thick"></use>
+                </svg>
+                <div class="name">l_thick</div>
+                <div class="code-name">#icon-l_thick</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-l_thin"></use>
+                </svg>
+                <div class="name">l_thin</div>
+                <div class="code-name">#icon-l_thin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-lane_d"></use>
+                </svg>
+                <div class="name">lane_d</div>
+                <div class="code-name">#icon-lane_d</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-copy"></use>
+                </svg>
+                <div class="name">copy</div>
+                <div class="code-name">#icon-copy</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-label"></use>
+                </svg>
+                <div class="name">label</div>
+                <div class="code-name">#icon-label</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-point_a"></use>
+                </svg>
+                <div class="name">point_a</div>
+                <div class="code-name">#icon-point_a</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-line_v"></use>
+                </svg>
+                <div class="name">line_v</div>
+                <div class="code-name">#icon-line_v</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-line_f"></use>
+                </svg>
+                <div class="name">line_f</div>
+                <div class="code-name">#icon-line_f</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-screen_c"></use>
+                </svg>
+                <div class="name">screen_c</div>
+                <div class="code-name">#icon-screen_c</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-line_h"></use>
+                </svg>
+                <div class="name">line_h</div>
+                <div class="code-name">#icon-line_h</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-screen_f"></use>
+                </svg>
+                <div class="name">screen_f</div>
+                <div class="code-name">#icon-screen_f</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-draw_s"></use>
+                </svg>
+                <div class="name">draw_s</div>
+                <div class="code-name">#icon-draw_s</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-home"></use>
+                </svg>
+                <div class="name">home</div>
+                <div class="code-name">#icon-home</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-edit"></use>
+                </svg>
+                <div class="name">edit</div>
+                <div class="code-name">#icon-edit</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-arrows"></use>
+                </svg>
+                <div class="name">arrows</div>
+                <div class="code-name">#icon-arrows</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-circle"></use>
+                </svg>
+                <div class="name">circle</div>
+                <div class="code-name">#icon-circle</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-del"></use>
+                </svg>
+                <div class="name">del</div>
+                <div class="code-name">#icon-del</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-lock"></use>
+                </svg>
+                <div class="name">lock</div>
+                <div class="code-name">#icon-lock</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-recover"></use>
+                </svg>
+                <div class="name">recover</div>
+                <div class="code-name">#icon-recover</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-line"></use>
+                </svg>
+                <div class="name">line</div>
+                <div class="code-name">#icon-line</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-point"></use>
+                </svg>
+                <div class="name">point</div>
+                <div class="code-name">#icon-point</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-panorama_f"></use>
+                </svg>
+                <div class="name">panorama_f</div>
+                <div class="code-name">#icon-panorama_f</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-panorama_t"></use>
+                </svg>
+                <div class="name">panorama_t</div>
+                <div class="code-name">#icon-panorama_t</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-point_c_t"></use>
+                </svg>
+                <div class="name">point_c_t</div>
+                <div class="code-name">#icon-point_c_t</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-cancel"></use>
+                </svg>
+                <div class="name">cancel</div>
+                <div class="code-name">#icon-cancel</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-standard"></use>
+                </svg>
+                <div class="name">standard</div>
+                <div class="code-name">#icon-standard</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-affirm"></use>
+                </svg>
+                <div class="name">affirm</div>
+                <div class="code-name">#icon-affirm</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-setting"></use>
+                </svg>
+                <div class="name">setting</div>
+                <div class="code-name">#icon-setting</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-point_c_f"></use>
+                </svg>
+                <div class="name">point_c_f</div>
+                <div class="code-name">#icon-point_c_f</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-redo"></use>
+                </svg>
+                <div class="name">redo</div>
+                <div class="code-name">#icon-redo</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-backout"></use>
+                </svg>
+                <div class="name">backout</div>
+                <div class="code-name">#icon-backout</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-reset"></use>
+                </svg>
+                <div class="name">reset</div>
+                <div class="code-name">#icon-reset</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-map"></use>
+                </svg>
+                <div class="name">map</div>
+                <div class="code-name">#icon-map</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
                   <use xlink:href="#icon-text"></use>
                 </svg>
                 <div class="name">text</div>

+ 147 - 3
src/components/base/components/icon/iconfont/iconfont.css

@@ -1,8 +1,8 @@
 @font-face {
   font-family: "iconfont"; /* Project id 4084834 */
-  src: url('iconfont.woff2?t=1684996225484') format('woff2'),
-       url('iconfont.woff?t=1684996225484') format('woff'),
-       url('iconfont.ttf?t=1684996225484') format('truetype');
+  src: url('iconfont.woff2?t=1685323395791') format('woff2'),
+       url('iconfont.woff?t=1685323395791') format('woff'),
+       url('iconfont.ttf?t=1685323395791') format('truetype');
 }
 
 .iconfont {
@@ -13,6 +13,150 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-control_a:before {
+  content: "\e740";
+}
+
+.icon-control_d:before {
+  content: "\e741";
+}
+
+.icon-lane_a:before {
+  content: "\e742";
+}
+
+.icon-l_thick:before {
+  content: "\e743";
+}
+
+.icon-l_thin:before {
+  content: "\e744";
+}
+
+.icon-lane_d:before {
+  content: "\e745";
+}
+
+.icon-copy:before {
+  content: "\e735";
+}
+
+.icon-label:before {
+  content: "\e736";
+}
+
+.icon-point_a:before {
+  content: "\e737";
+}
+
+.icon-line_v:before {
+  content: "\e738";
+}
+
+.icon-line_f:before {
+  content: "\e739";
+}
+
+.icon-screen_c:before {
+  content: "\e73a";
+}
+
+.icon-line_h:before {
+  content: "\e73b";
+}
+
+.icon-screen_f:before {
+  content: "\e73c";
+}
+
+.icon-draw_s:before {
+  content: "\e73d";
+}
+
+.icon-home:before {
+  content: "\e73e";
+}
+
+.icon-edit:before {
+  content: "\e73f";
+}
+
+.icon-arrows:before {
+  content: "\e733";
+}
+
+.icon-circle:before {
+  content: "\e734";
+}
+
+.icon-del:before {
+  content: "\e726";
+}
+
+.icon-lock:before {
+  content: "\e727";
+}
+
+.icon-recover:before {
+  content: "\e728";
+}
+
+.icon-line:before {
+  content: "\e729";
+}
+
+.icon-point:before {
+  content: "\e72a";
+}
+
+.icon-panorama_f:before {
+  content: "\e72b";
+}
+
+.icon-panorama_t:before {
+  content: "\e72c";
+}
+
+.icon-point_c_t:before {
+  content: "\e72d";
+}
+
+.icon-cancel:before {
+  content: "\e72e";
+}
+
+.icon-standard:before {
+  content: "\e72f";
+}
+
+.icon-affirm:before {
+  content: "\e730";
+}
+
+.icon-setting:before {
+  content: "\e731";
+}
+
+.icon-point_c_f:before {
+  content: "\e732";
+}
+
+.icon-redo:before {
+  content: "\e722";
+}
+
+.icon-backout:before {
+  content: "\e723";
+}
+
+.icon-reset:before {
+  content: "\e724";
+}
+
+.icon-map:before {
+  content: "\e725";
+}
+
 .icon-text:before {
   content: "\e71d";
 }

Filskillnaden har hållts tillbaka eftersom den är för stor
+ 1 - 1
src/components/base/components/icon/iconfont/iconfont.js


+ 252 - 0
src/components/base/components/icon/iconfont/iconfont.json

@@ -6,6 +6,258 @@
   "description": "交通事故现场勘验系统",
   "glyphs": [
     {
+      "icon_id": "35710135",
+      "name": "control_a",
+      "font_class": "control_a",
+      "unicode": "e740",
+      "unicode_decimal": 59200
+    },
+    {
+      "icon_id": "35710136",
+      "name": "control_d",
+      "font_class": "control_d",
+      "unicode": "e741",
+      "unicode_decimal": 59201
+    },
+    {
+      "icon_id": "35710137",
+      "name": "lane_a",
+      "font_class": "lane_a",
+      "unicode": "e742",
+      "unicode_decimal": 59202
+    },
+    {
+      "icon_id": "35710138",
+      "name": "l_thick",
+      "font_class": "l_thick",
+      "unicode": "e743",
+      "unicode_decimal": 59203
+    },
+    {
+      "icon_id": "35710139",
+      "name": "l_thin",
+      "font_class": "l_thin",
+      "unicode": "e744",
+      "unicode_decimal": 59204
+    },
+    {
+      "icon_id": "35710140",
+      "name": "lane_d",
+      "font_class": "lane_d",
+      "unicode": "e745",
+      "unicode_decimal": 59205
+    },
+    {
+      "icon_id": "35709605",
+      "name": "copy",
+      "font_class": "copy",
+      "unicode": "e735",
+      "unicode_decimal": 59189
+    },
+    {
+      "icon_id": "35709606",
+      "name": "label",
+      "font_class": "label",
+      "unicode": "e736",
+      "unicode_decimal": 59190
+    },
+    {
+      "icon_id": "35709607",
+      "name": "point_a",
+      "font_class": "point_a",
+      "unicode": "e737",
+      "unicode_decimal": 59191
+    },
+    {
+      "icon_id": "35709608",
+      "name": "line_v",
+      "font_class": "line_v",
+      "unicode": "e738",
+      "unicode_decimal": 59192
+    },
+    {
+      "icon_id": "35709609",
+      "name": "line_f",
+      "font_class": "line_f",
+      "unicode": "e739",
+      "unicode_decimal": 59193
+    },
+    {
+      "icon_id": "35709610",
+      "name": "screen_c",
+      "font_class": "screen_c",
+      "unicode": "e73a",
+      "unicode_decimal": 59194
+    },
+    {
+      "icon_id": "35709611",
+      "name": "line_h",
+      "font_class": "line_h",
+      "unicode": "e73b",
+      "unicode_decimal": 59195
+    },
+    {
+      "icon_id": "35709612",
+      "name": "screen_f",
+      "font_class": "screen_f",
+      "unicode": "e73c",
+      "unicode_decimal": 59196
+    },
+    {
+      "icon_id": "35709613",
+      "name": "draw_s",
+      "font_class": "draw_s",
+      "unicode": "e73d",
+      "unicode_decimal": 59197
+    },
+    {
+      "icon_id": "35709614",
+      "name": "home",
+      "font_class": "home",
+      "unicode": "e73e",
+      "unicode_decimal": 59198
+    },
+    {
+      "icon_id": "35709615",
+      "name": "edit",
+      "font_class": "edit",
+      "unicode": "e73f",
+      "unicode_decimal": 59199
+    },
+    {
+      "icon_id": "35695033",
+      "name": "arrows",
+      "font_class": "arrows",
+      "unicode": "e733",
+      "unicode_decimal": 59187
+    },
+    {
+      "icon_id": "35695034",
+      "name": "circle",
+      "font_class": "circle",
+      "unicode": "e734",
+      "unicode_decimal": 59188
+    },
+    {
+      "icon_id": "35694805",
+      "name": "del",
+      "font_class": "del",
+      "unicode": "e726",
+      "unicode_decimal": 59174
+    },
+    {
+      "icon_id": "35694807",
+      "name": "lock",
+      "font_class": "lock",
+      "unicode": "e727",
+      "unicode_decimal": 59175
+    },
+    {
+      "icon_id": "35694808",
+      "name": "recover",
+      "font_class": "recover",
+      "unicode": "e728",
+      "unicode_decimal": 59176
+    },
+    {
+      "icon_id": "35694809",
+      "name": "line",
+      "font_class": "line",
+      "unicode": "e729",
+      "unicode_decimal": 59177
+    },
+    {
+      "icon_id": "35694810",
+      "name": "point",
+      "font_class": "point",
+      "unicode": "e72a",
+      "unicode_decimal": 59178
+    },
+    {
+      "icon_id": "35694811",
+      "name": "panorama_f",
+      "font_class": "panorama_f",
+      "unicode": "e72b",
+      "unicode_decimal": 59179
+    },
+    {
+      "icon_id": "35694812",
+      "name": "panorama_t",
+      "font_class": "panorama_t",
+      "unicode": "e72c",
+      "unicode_decimal": 59180
+    },
+    {
+      "icon_id": "35694813",
+      "name": "point_c_t",
+      "font_class": "point_c_t",
+      "unicode": "e72d",
+      "unicode_decimal": 59181
+    },
+    {
+      "icon_id": "35694814",
+      "name": "cancel",
+      "font_class": "cancel",
+      "unicode": "e72e",
+      "unicode_decimal": 59182
+    },
+    {
+      "icon_id": "35694815",
+      "name": "standard",
+      "font_class": "standard",
+      "unicode": "e72f",
+      "unicode_decimal": 59183
+    },
+    {
+      "icon_id": "35694816",
+      "name": "affirm",
+      "font_class": "affirm",
+      "unicode": "e730",
+      "unicode_decimal": 59184
+    },
+    {
+      "icon_id": "35694817",
+      "name": "setting",
+      "font_class": "setting",
+      "unicode": "e731",
+      "unicode_decimal": 59185
+    },
+    {
+      "icon_id": "35694818",
+      "name": "point_c_f",
+      "font_class": "point_c_f",
+      "unicode": "e732",
+      "unicode_decimal": 59186
+    },
+    {
+      "icon_id": "35690775",
+      "name": "redo",
+      "font_class": "redo",
+      "unicode": "e722",
+      "unicode_decimal": 59170
+    },
+    {
+      "icon_id": "35690776",
+      "name": "backout",
+      "font_class": "backout",
+      "unicode": "e723",
+      "unicode_decimal": 59171
+    },
+    {
+      "icon_id": "35690777",
+      "name": "reset",
+      "font_class": "reset",
+      "unicode": "e724",
+      "unicode_decimal": 59172
+    },
+    {
+      "icon_id": "35690778",
+      "name": "map",
+      "font_class": "map",
+      "unicode": "e725",
+      "unicode_decimal": 59173
+    },
+    {
       "icon_id": "35676724",
       "name": "text",
       "font_class": "text",

BIN
src/components/base/components/icon/iconfont/iconfont.ttf


BIN
src/components/base/components/icon/iconfont/iconfont.woff


BIN
src/components/base/components/icon/iconfont/iconfont.woff2


+ 1 - 1
src/components/base/components/input/checkbox.vue

@@ -2,7 +2,7 @@
     <div class="input checkbox" :style="{ width, height }">
         <input :id="id" type="checkbox" class="replace-input" :checked="props.modelValue" @input="ev => emit('update:modelValue', ev.target.checked)" />
         <span class="replace" :class="{checked: props.modelValue}">
-            <icon type="checkbox" :size="width > height ? height : width" />
+            <icon type="affirm" :size="width > height ? height : width" />
         </span>
     </div>
     <label class="label" v-if="props.label" :for="id">

+ 1 - 1
src/components/fill-slide/index.vue

@@ -70,7 +70,7 @@ const clickHandler = () => {
 .image {
   width: 100%;
   height: 100%;
-  object-fit: cover;
+  object-fit: contain;
   border-radius: 4px;
 }
 

+ 1 - 0
src/graphic/Renderer/Draw.js

@@ -606,6 +606,7 @@ export default class Draw {
   drawCircle(element) {
     this.drawPoint({
       ...element,
+      radius: help.getReal(element.radius),
       geoType: "Circle",
       ...element.center,
     });

+ 1 - 0
src/hook/useParams.ts

@@ -8,6 +8,7 @@ export type Params = {
   lang?: langNameEum;
   test?: boolean;
   token?: string;
+  realPath?: string
   entry?: string;
   unit?: string;
   kankan?: boolean;

+ 2 - 2
src/main.ts

@@ -1,9 +1,9 @@
 import VConsole from 'vconsole';
-if (import.meta.env.DEV) {
+// if (import.meta.env.DEV) {
   if (!os.isPc) {
     new VConsole();
   }
-}
+// }
 
 import "@/assets/theme.editor.scss";
 import "@/assets/public.scss";

+ 13 - 8
src/store/sync.ts

@@ -40,6 +40,9 @@ export const api =
           return true;
         },
         async getFile(url) {
+          console.log(baseURL + url)
+          return baseURL + url.trim();
+
           if (url.includes(baseURL)) {
             url = url.substring(baseURL.length);
           }
@@ -79,6 +82,13 @@ export const api =
         },
         getFile(fileUrl: string) {
           fileUrl = fileUrl.trim();
+          if (fileUrl.includes(params.m)) {
+            fileUrl = fileUrl.substring(fileUrl.indexOf(params.m) + params.m.length)
+          }
+          fileUrl = new URL(fileUrl, "http://www.a.com").pathname
+          fileUrl = (params.realPath || params.m) + fileUrl
+          console.error("处理后url:" + fileUrl)
+
           if (import.meta.env.DEV) {
             return new Promise<string>((resolve) => {
               const apiName = `getImageCallback${count++}`
@@ -87,15 +97,10 @@ export const api =
                 resolve(base64);
                 delete global[apiName]
               };
-              console.error("请求原始url:" + fileUrl)
-              if (fileUrl.includes(params.m)) {
-                fileUrl = fileUrl.substring(fileUrl.indexOf(params.m) + params.m.length)
-              }
-              fileUrl = new URL(fileUrl, "http://www.a.com").pathname
-              console.error("处理后url:" + fileUrl)
-              global.android.getImage(params.m + fileUrl, apiName);
+              global.android.getImage(fileUrl, apiName);
             });
           } else {
+            console.log("请求文件" + fileUrl)
             return Promise.resolve(fileUrl);
           }
         },
@@ -109,7 +114,7 @@ export const api =
             }
             const data = await blobToBase64(file);
             // console.log("上传图片", params.m + "/" + file.name, "参数:", data);
-            global.android.uploadImage(params.m + "/" + file.name, data, apiName);
+            global.android.uploadImage(params.m + "/attach/upload/" + file.name, data, apiName);
           });
         },
         downloadImage(file: File) {

+ 5 - 1
src/views/accidents/index.vue

@@ -81,12 +81,14 @@ const selects = ref<AccidentPhoto[]>([])
 const active = ref<AccidentPhoto>()
 const menus = [
   {
-    key: "road",
+    key: "edit",
+    icon: "edit",
     text: "修改",
     onClick: () => gotoDraw()
   },
   {
     key: "del",
+    icon: "del",
     text: "删除",
     onClick: () => delPhoto()
   }
@@ -95,6 +97,7 @@ const menus = [
 const selectMenus = reactive([
   {
     key: "gen",
+    icon: "photo",
     text: "生成A4",
     disabled: computed(() => selects.value.length > 2),
     onClick: () => {
@@ -108,6 +111,7 @@ const selectMenus = reactive([
   {
     key: "del",
     text: "删除",
+    icon: "del",
     onClick: () => delSelects()
   },
 ])

+ 11 - 4
src/views/graphic/header.vue

@@ -12,7 +12,7 @@
           :class="{disabled: menu.disable}"
           @click="menu.onClick"
       >
-        <ui-icon type="close"  />
+        <ui-icon :type="menu.icon"  />
         <p>{{ menu.text }}</p>
       </div>
     </div>
@@ -58,6 +58,7 @@ const menus = computed<{disable?: boolean, text: string, onClick: () => void}[]>
   const menus = [
     {
       text: "回退",
+      icon: "backout",
       disable: !graphicState.value.canRevoke,
       onClick: () => {
         drawRef.value.uiControl.menu_revoke()
@@ -66,6 +67,7 @@ const menus = computed<{disable?: boolean, text: string, onClick: () => void}[]>
     },
     {
       text: "前进",
+      icon: "redo",
       disable: !graphicState.value.canRecovery,
       onClick: () => {
         drawRef.value.uiControl.menu_recovery()
@@ -74,12 +76,14 @@ const menus = computed<{disable?: boolean, text: string, onClick: () => void}[]>
     },
     {
       text: "清除",
+      icon: "reset",
       onClick: () => {
         drawRef.value.uiControl.menu_clear()
         changeStore()
       }
     },
     {
+      icon: "recover",
       text: "恢复",
       onClick: () => drawRef.value.uiControl.menu_view_reset()
     }
@@ -87,12 +91,15 @@ const menus = computed<{disable?: boolean, text: string, onClick: () => void}[]>
 
   if (isRoad.value) {
     menus.push({
+      icon: "map",
       text: `底图${graphicState.value.showBackImage ? '关' : '开'}`,
       onClick: () => drawRef.value.uiControl.menu_backgroundImg(!graphicState.value.showBackImage)
-    }, {
-      text: `保存`,
-      onClick: () => drawRef.value.uiControl.menu_backgroundImg(!graphicState.value.showBackImage)
     })
+    // , {
+    //   icon: "map",
+    //   text: `保存`,
+    //   onClick: () => drawRef.value.uiControl.menu_backgroundImg(!graphicState.value.showBackImage)
+    // }
   }
   return menus
 })

+ 2 - 2
src/views/graphic/index.vue

@@ -12,7 +12,7 @@
 
     <GraphicAction class="full-action">
       <ui-icon
-        :type="isFull ? 'lessen' : 'full'"
+        :type="isFull ? 'screen_c' : 'screen_f'"
         ctrl
         @click="customMap.sysView = isFull ? 'auto' : 'full'"
       />
@@ -50,7 +50,7 @@ const store = computed(() => generateMixMenus(
     title: mainMenuRaw.text,
     name: mainMenuRaw.key,
     isRoute: false,
-    icon: 'menu',
+    // icon: 'menu',
     bottom:  mainMenuRaw.key === UITypeExtend.setup
   }),
   menusRaws.value

+ 17 - 14
src/views/graphic/menus.ts

@@ -78,10 +78,11 @@ export const templateMenusRaw = [
 export const measureMenusRaw = [
   {
     key: UIType.BaseLine,
+    icon: "line",
     text: "基准线",
     disabled: computed(() => graphicState.value.existsBaseLine)
   },
-  { key: UIType.BasePoint, text: "基准点" },
+  { key: UIType.BasePoint, text: "基准点", icon: "point", },
   { key: UIType.NormalLocationMode, text: "自由测量" },
   {
     key: UIType.AngleLocationMode,
@@ -108,28 +109,30 @@ export const measureMenusRaw = [
 ]
 
 export const mainMenusRaw: MenusRaw = [
-  { key: UIType.Line, text: "画线" },
+  { key: UIType.Line, text: "画线", icon: "line_d" },
 
   // { key: UIType.Img, text: "图例" },
   {
     key: UITypeExtend.measure,
     text: "测量",
-    children: measureMenusRaw
+    children: measureMenusRaw,
+    icon: "measure"
   },
   // { key: UIType.MeasureLine, text: "测量" },
-  { key: UIType.Text, text: "文字" },
-  { key: UIType.Magnifier, text: "放大镜" },
+  { key: UIType.Text, text: "文字", icon: "text" },
+  { key: UIType.Magnifier, text: "放大镜", icon: "magnify_g" },
   // { key: UITypeExtend.photo, text: "照片库" },
   // { key: UITypeExtend.setup, text: "设置" },
 ];
 
 if (import.meta.env.DEV) {
   mainMenusRaw.unshift(
-    { key: UIType.CurveRoad, text: "弯路" }
+    { key: UIType.CurveRoad, text: "弯路", icon: "road", }
   )
   mainMenusRaw.splice(1, 0, {
     key: UITypeExtend.road,
     text: "道路",
+    icon: "road",
     children: [
       { key: UIType.OneEdgeOneLanRoad, text: "单向单车道直路" },
       { key: UIType.OneEdgeTwoLanRoad, text: "单向双车道直路" },
@@ -144,18 +147,18 @@ if (import.meta.env.DEV) {
 }
 
 export const photoMenusRaw: MenusRaw = [
-  { key: UIType.Text, text: "文字" },
-  { key: UIType.Circle, text: "圈出" },
-  { key: UIType.Arrow, text: "箭头" },
-  { key: UIType.Magnifier, text: "放大镜" },
+  { key: UIType.Text, text: "文字", icon: "text" },
+  { key: UIType.Circle, text: "圈出", icon: "circle" },
+  { key: UIType.Arrow, text: "箭头", icon: "arrows" },
+  { key: UIType.Magnifier, text: "放大镜", icon: "magnify_g" },
 ]
 
 
 export const headActionMenuRaw = [
-  { key: UIType.GoBack, text: "回退" },
-  { key: UIType.GoAhead, text: "前进" },
-  { key: UIType.Clear, text: "清除" },
-  { key: UIType.BackImageChange, text: "底图开关" },
+  { key: UIType.GoBack, text: "回退", icon: "backout" },
+  { key: UIType.GoAhead, text: "前进", icon: "redo" },
+  { key: UIType.Clear, text: "清除", icon: "reset" },
+  { key: UIType.BackImageChange, text: "底图开关", icon: "map" },
 ]
 
 export const focusMenuRaw : { [key in string]: MenusRaw } = {

+ 5 - 1
src/views/photos/index.vue

@@ -15,7 +15,7 @@
       :data="sortPhotos"
     />
     <ButtonPane class="back fun-ctrl" @click="router.push(writeRouteName.scene)" v-if="!selectMode">
-      <ui-icon type="close" class="icon" />
+      <ui-icon type="photo" class="icon" />
     </ButtonPane>
 
     <ActionMenus class="select-menus" :menus="selectMenus" dire="row" v-if="selects.length" />
@@ -50,15 +50,18 @@ const menus = [
   {
     key: "road",
     text: "现场绘图",
+    icon: "draw_s",
     onClick: () => gotoDraw(Mode.Road)
   },
   {
     key: "accident",
+    icon: "label",
     text: "照片标注",
     onClick: () => gotoDraw(Mode.Photo)
   },
   {
     key: "del",
+    icon: "del",
     text: "删除",
     onClick: () => delPhoto()
   }
@@ -67,6 +70,7 @@ const menus = [
 const selectMenus = [
   {
     key: "del",
+    icon: "del",
     text: "删除",
     onClick: () => delSelects()
   },

+ 3 - 0
src/views/roads/index.vue

@@ -72,11 +72,13 @@ const selects = ref<RoadPhoto[]>([])
 const menus = [
   {
     key: "road",
+    icon: "edit",
     text: "修改",
     onClick: () => gotoDraw()
   },
   {
     key: "del",
+    icon: "del",
     text: "删除",
     onClick: () => delPhoto()
   }
@@ -85,6 +87,7 @@ const menus = [
 const selectMenus = [
   {
     key: "del",
+    icon: "del",
     text: "删除",
     onClick: () => delSelects()
   },

+ 35 - 3
src/views/roads/tabulation.vue

@@ -91,6 +91,7 @@
                     :style="{transform: compassCSSMatrix}"
                     ref="compassRef"
                 />
+                <p class="compass-info">比例1 : {{ proportion }}</p>
               </div>
             </td>
           </tr>
@@ -126,7 +127,7 @@
 <script setup lang="ts">
 import { router, writeRouteName } from '@/router'
 import { formatDate } from "@/utils";
-import {computed, nextTick, ref} from "vue";
+import {computed, nextTick, ref, watchEffect} from "vue";
 import { useHistory } from '@/hook/useHistory'
 import {roadPhotos, RoadPhoto, getDefaultTable} from "@/store/roadPhotos";
 import {useStaticUrl} from "@/hook/useStaticUrl";
@@ -152,6 +153,7 @@ const roadPhoto = computed<RoadPhoto>(() => {
 const history = computed(
   () => roadPhoto.value && useHistory(getDefaultTable(roadPhoto.value))
 )
+
 const input = () => history.value.state.hasRedo = false
 
 const compassRef = ref<HTMLImageElement>()
@@ -175,8 +177,25 @@ const { cssMatrix: photoCSSMatrix, matrix: photoMatrix } = useHand(
   history.value.value.imageTransform
 )
 
+const photoWidth = ref(0)
+watchEffect(() => {
+  if (photoRef.value) {
+    photoRef.value.onload = () => {
+      photoWidth.value = photoRef.value.naturalWidth
+    }
+  }
+})
+const proportion = ref(1)
+watchEffect(() => {
+  if (!roadPhoto.value || !photoRef.value) {
+    return;
+  }
+  const prop = ((photoWidth.value / photoRef.value.width) * (roadPhoto.value.data.scale || 1)) / photoMatrix.value[0]
+  proportion.value = Math.ceil(prop * 100) / 100
+})
+
+
 const onBack = () => {
-  console.log("????")
   router.replace({
     name: writeRouteName.graphic,
     params: {mode: Mode.Road, id: roadPhoto.value.id, action: 'update'}
@@ -240,10 +259,23 @@ const saveHandler = async () => {
       align-items: center;
     }
     .compass {
+      top: 20px;
+    }
+    .compass,
+    .compass-info {
       position: absolute;
       right: 20px;
+      width: 128px;
+      height: 128px;
       top: 20px;
-      width: 60px;
+    }
+    .compass-info {
+      text-align: center;
+      color: #000;
+      font-size: 16px;
+      margin-top: 128px;
+      pointer-events: none;
+      white-space: nowrap;
     }
   }
 }

+ 3 - 2
src/views/scene/container.vue

@@ -88,7 +88,8 @@ onMounted(async () => {
     width: 20px !important;
     height: 20px !important;
     font-family: "iconfont" !important;
-    font-size: 16px;
+    font-size: 20px;
+    color: #fff;
     font-style: normal;
     -webkit-font-smoothing: antialiased;
     background: none !important;
@@ -96,7 +97,7 @@ onMounted(async () => {
     color: #fff;
 
     &:before {
-      content: "\e633";
+      content: "\e73e";
       pointer-events: none;
     }
   }

+ 11 - 11
src/views/scene/menus/menus.ts

@@ -23,34 +23,34 @@ export enum menuEnum {
 
 export const menus: MenuRaw[] = [
   {
-    icon: "",
+    icon: "save",
     text: "保存",
     key: menuEnum.SAVE
   },
   {
-    icon: "",
+    icon: "clear",
     text: "清除",
     key: menuEnum.CLEAR
   },
   {
-    icon: "",
+    icon: "measure",
     text: "测量",
     key: "measure",
     children: [
       {
-        icon: "",
+        icon: "line_h",
         // continued: true,
         text: "水平",
         key: menuEnum.MEASURE_ROW
       },
       {
-        icon: "",
+        icon: "line_v",
         continued: true,
         text: "垂直",
         key: menuEnum.MEASURE_COLUMN
       },
       {
-        icon: "",
+        icon: "line_f",
         continued: true,
         text: "自由",
         key: menuEnum.MEASURE_FREE
@@ -58,29 +58,29 @@ export const menus: MenuRaw[] = [
     ]
   },
   {
-    icon: "",
+    icon: "point_f",
     text: "固定点",
     key: "fixPointMenu",
     children: [
       {
-        icon: "",
+        icon: "point_a",
         text: "固定点",
         key: menuEnum.FIX_POINT
       },
     ]
   },
   {
-    icon: "",
+    icon: "standard",
     text: "基准线/点",
     key: "baseLineOrPoint",
     children: [
       {
-        icon: "",
+        icon: "line",
         text: "基准线",
         key: menuEnum.BASE_LINE
       },
       {
-        icon: "",
+        icon: "point",
         text: "基准点",
         key: menuEnum.BASE_POINT
       },

+ 1 - 1
src/views/scene/menus/pane.vue

@@ -26,7 +26,7 @@ const props = withDefaults(
 )
 const emit = defineEmits<{ (e: 'back'): void }>();
 const backMenu = {
-  icon: "",
+  icon: "return",
   text: "返回",
   key: "back",
   onClick: () => emit("back")

+ 4 - 4
src/views/scene/mode.vue

@@ -15,13 +15,13 @@ import {customMap} from "@/hook";
 const tabs = [
   {
     mode: Mode.pano,
-    icon: "show_pic_n",
-    activeIcon: "show_pic_s",
+    icon: "point_c_f",
+    activeIcon: "point_c_t",
   },
   {
     mode: Mode.cloud,
-    icon: "show_dot_n",
-    activeIcon: "show_dot_s",
+    icon: "panorama_f",
+    activeIcon: "panorama_t",
   },
 ];
 

+ 5 - 1
src/views/scene/photo.vue

@@ -3,7 +3,7 @@
 
   <div class="photo-layout">
     <ButtonPane class="photo-btn fun-ctrl" size="80" @click="photo">
-      <ui-icon type="close" class="icon" />
+      <ui-icon type="photo" class="icon" />
     </ButtonPane>
 
     <img
@@ -123,6 +123,10 @@ const photo = genUseLoading(async () => {
 .photo-btn {
   position: static;
   margin-bottom: 16px;
+
+  .icon {
+    font-size: 28px;
+  }
 }
 
 .cover {

+ 1 - 0
vite.config.ts

@@ -28,6 +28,7 @@ export default async ({ mode }) => {
   }
 
   return defineConfig({
+    base: "./",
     mode,
     build: {
       sourcemap: true,