wangfumin 2 месяцев назад
Родитель
Сommit
d669f4b7d9

+ 539 - 0
src/assets/icon/ga/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

+ 901 - 0
src/assets/icon/ga/demo_index.html

@@ -0,0 +1,901 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8"/>
+  <title>iconfont Demo</title>
+  <link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
+  <link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
+  <link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
+  <link rel="stylesheet" href="demo.css">
+  <link rel="stylesheet" href="iconfont.css">
+  <script src="iconfont.js"></script>
+  <!-- jQuery -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
+  <!-- 代码高亮 -->
+  <script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
+  <style>
+    .main .logo {
+      margin-top: 0;
+      height: auto;
+    }
+
+    .main .logo a {
+      display: flex;
+      align-items: center;
+    }
+
+    .main .logo .sub-title {
+      margin-left: 0.5em;
+      font-size: 22px;
+      color: #fff;
+      background: linear-gradient(-45deg, #3967FF, #B500FE);
+      -webkit-background-clip: text;
+      -webkit-text-fill-color: transparent;
+    }
+  </style>
+</head>
+<body>
+  <div class="main">
+    <h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
+      <img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
+      
+    </a></h1>
+    <div class="nav-tabs">
+      <ul id="tabs" class="dib-box">
+        <li class="dib active"><span>Unicode</span></li>
+        <li class="dib"><span>Font class</span></li>
+        <li class="dib"><span>Symbol</span></li>
+      </ul>
+      
+      <a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4789215" target="_blank" class="nav-more">查看项目</a>
+      
+    </div>
+    <div class="tab-container">
+      <div class="content unicode" style="display: block;">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c8;</span>
+                <div class="name">Upload</div>
+                <div class="code-name">&amp;#xe7c8;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c9;</span>
+                <div class="name">import</div>
+                <div class="code-name">&amp;#xe7c9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c6;</span>
+                <div class="name">rename</div>
+                <div class="code-name">&amp;#xe7c6;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c7;</span>
+                <div class="name">media_l</div>
+                <div class="code-name">&amp;#xe7c7;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe63f;</span>
+                <div class="name">PDF图标</div>
+                <div class="code-name">&amp;#xe63f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe66e;</span>
+                <div class="name">word</div>
+                <div class="code-name">&amp;#xe66e;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7ba;</span>
+                <div class="name">virus</div>
+                <div class="code-name">&amp;#xe7ba;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7bc;</span>
+                <div class="name">handprint</div>
+                <div class="code-name">&amp;#xe7bc;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7bd;</span>
+                <div class="name">corpse</div>
+                <div class="code-name">&amp;#xe7bd;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7be;</span>
+                <div class="name">footprint</div>
+                <div class="code-name">&amp;#xe7be;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7bf;</span>
+                <div class="name">check</div>
+                <div class="code-name">&amp;#xe7bf;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c0;</span>
+                <div class="name">video</div>
+                <div class="code-name">&amp;#xe7c0;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c1;</span>
+                <div class="name">electronic</div>
+                <div class="code-name">&amp;#xe7c1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c2;</span>
+                <div class="name">case_other</div>
+                <div class="code-name">&amp;#xe7c2;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c3;</span>
+                <div class="name">physics_and_chemistry</div>
+                <div class="code-name">&amp;#xe7c3;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c4;</span>
+                <div class="name">cube</div>
+                <div class="code-name">&amp;#xe7c4;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7c5;</span>
+                <div class="name">folder_close</div>
+                <div class="code-name">&amp;#xe7c5;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7bb;</span>
+                <div class="name">wrenchAndScrewdriver</div>
+                <div class="code-name">&amp;#xe7bb;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe7b9;</span>
+                <div class="name">poison</div>
+                <div class="code-name">&amp;#xe7b9;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe603;</span>
+                <div class="name">价格保护</div>
+                <div class="code-name">&amp;#xe603;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe656;</span>
+                <div class="name">复制</div>
+                <div class="code-name">&amp;#xe656;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe61b;</span>
+                <div class="name">列表</div>
+                <div class="code-name">&amp;#xe61b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe88c;</span>
+                <div class="name">09安全、保障-线性</div>
+                <div class="code-name">&amp;#xe88c;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe768;</span>
+                <div class="name">快速</div>
+                <div class="code-name">&amp;#xe768;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xeb66;</span>
+                <div class="name">使用文档</div>
+                <div class="code-name">&amp;#xeb66;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe618;</span>
+                <div class="name">照片</div>
+                <div class="code-name">&amp;#xe618;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe76f;</span>
+                <div class="name">资料</div>
+                <div class="code-name">&amp;#xe76f;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe60b;</span>
+                <div class="name">提档案</div>
+                <div class="code-name">&amp;#xe60b;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xeca1;</span>
+                <div class="name">爱心</div>
+                <div class="code-name">&amp;#xeca1;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe612;</span>
+                <div class="name">卷宗管理</div>
+                <div class="code-name">&amp;#xe612;</div>
+              </li>
+          
+            <li class="dib">
+              <span class="icon iconfont">&#xe610;</span>
+                <div class="name">查询</div>
+                <div class="code-name">&amp;#xe610;</div>
+              </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="unicode-">Unicode 引用</h2>
+          <hr>
+
+          <p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
+          <ul>
+            <li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
+            <li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
+          </ul>
+          <blockquote>
+            <p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
+          </blockquote>
+          <p>Unicode 使用步骤如下:</p>
+          <h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
+<pre><code class="language-css"
+>@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1764731714587') format('woff2'),
+       url('iconfont.woff?t=1764731714587') format('woff'),
+       url('iconfont.ttf?t=1764731714587') format('truetype');
+}
+</code></pre>
+          <h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
+<pre><code class="language-css"
+>.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
+<pre>
+<code class="language-html"
+>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
+</code></pre>
+          <blockquote>
+            <p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+          </blockquote>
+          </div>
+      </div>
+      <div class="content font-class">
+        <ul class="icon_lists dib-box">
+          
+          <li class="dib">
+            <span class="icon iconfont icon-Upload"></span>
+            <div class="name">
+              Upload
+            </div>
+            <div class="code-name">.icon-Upload
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-import"></span>
+            <div class="name">
+              import
+            </div>
+            <div class="code-name">.icon-import
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-rename"></span>
+            <div class="name">
+              rename
+            </div>
+            <div class="code-name">.icon-rename
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-media_l"></span>
+            <div class="name">
+              media_l
+            </div>
+            <div class="code-name">.icon-media_l
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-PDFtubiao"></span>
+            <div class="name">
+              PDF图标
+            </div>
+            <div class="code-name">.icon-PDFtubiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-word"></span>
+            <div class="name">
+              word
+            </div>
+            <div class="code-name">.icon-word
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-virus"></span>
+            <div class="name">
+              virus
+            </div>
+            <div class="code-name">.icon-virus
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-handprint"></span>
+            <div class="name">
+              handprint
+            </div>
+            <div class="code-name">.icon-handprint
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-corpse"></span>
+            <div class="name">
+              corpse
+            </div>
+            <div class="code-name">.icon-corpse
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-footprint"></span>
+            <div class="name">
+              footprint
+            </div>
+            <div class="code-name">.icon-footprint
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-check"></span>
+            <div class="name">
+              check
+            </div>
+            <div class="code-name">.icon-check
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-video"></span>
+            <div class="name">
+              video
+            </div>
+            <div class="code-name">.icon-video
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-electronic"></span>
+            <div class="name">
+              electronic
+            </div>
+            <div class="code-name">.icon-electronic
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-case_other"></span>
+            <div class="name">
+              case_other
+            </div>
+            <div class="code-name">.icon-case_other
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-physics_and_chemistry"></span>
+            <div class="name">
+              physics_and_chemistry
+            </div>
+            <div class="code-name">.icon-physics_and_chemistry
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-cube"></span>
+            <div class="name">
+              cube
+            </div>
+            <div class="code-name">.icon-cube
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-folder_close"></span>
+            <div class="name">
+              folder_close
+            </div>
+            <div class="code-name">.icon-folder_close
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-wrenchAndScrewdriver"></span>
+            <div class="name">
+              wrenchAndScrewdriver
+            </div>
+            <div class="code-name">.icon-wrenchAndScrewdriver
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-poison"></span>
+            <div class="name">
+              poison
+            </div>
+            <div class="code-name">.icon-poison
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-jiagebaohu"></span>
+            <div class="name">
+              价格保护
+            </div>
+            <div class="code-name">.icon-jiagebaohu
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-fuzhi"></span>
+            <div class="name">
+              复制
+            </div>
+            <div class="code-name">.icon-fuzhi
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-liebiao"></span>
+            <div class="name">
+              列表
+            </div>
+            <div class="code-name">.icon-liebiao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-anquanbaozhang-xianxing"></span>
+            <div class="name">
+              09安全、保障-线性
+            </div>
+            <div class="code-name">.icon-anquanbaozhang-xianxing
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-port-ks"></span>
+            <div class="name">
+              快速
+            </div>
+            <div class="code-name">.icon-port-ks
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-shiyongwendang"></span>
+            <div class="name">
+              使用文档
+            </div>
+            <div class="code-name">.icon-shiyongwendang
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-zhaopian"></span>
+            <div class="name">
+              照片
+            </div>
+            <div class="code-name">.icon-zhaopian
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-ziliao"></span>
+            <div class="name">
+              资料
+            </div>
+            <div class="code-name">.icon-ziliao
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-tidangan"></span>
+            <div class="name">
+              提档案
+            </div>
+            <div class="code-name">.icon-tidangan
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-aixin"></span>
+            <div class="name">
+              爱心
+            </div>
+            <div class="code-name">.icon-aixin
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-juanzongguanli"></span>
+            <div class="name">
+              卷宗管理
+            </div>
+            <div class="code-name">.icon-juanzongguanli
+            </div>
+          </li>
+          
+          <li class="dib">
+            <span class="icon iconfont icon-chaxun"></span>
+            <div class="name">
+              查询
+            </div>
+            <div class="code-name">.icon-chaxun
+            </div>
+          </li>
+          
+        </ul>
+        <div class="article markdown">
+        <h2 id="font-class-">font-class 引用</h2>
+        <hr>
+
+        <p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
+        <p>与 Unicode 使用方式相比,具有如下特点:</p>
+        <ul>
+          <li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
+          <li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
+        </ul>
+        <p>使用步骤如下:</p>
+        <h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
+<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
+</code></pre>
+        <h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
+</code></pre>
+        <blockquote>
+          <p>"
+            iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
+        </blockquote>
+      </div>
+      </div>
+      <div class="content symbol">
+          <ul class="icon_lists dib-box">
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-Upload"></use>
+                </svg>
+                <div class="name">Upload</div>
+                <div class="code-name">#icon-Upload</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-import"></use>
+                </svg>
+                <div class="name">import</div>
+                <div class="code-name">#icon-import</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-rename"></use>
+                </svg>
+                <div class="name">rename</div>
+                <div class="code-name">#icon-rename</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-media_l"></use>
+                </svg>
+                <div class="name">media_l</div>
+                <div class="code-name">#icon-media_l</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-PDFtubiao"></use>
+                </svg>
+                <div class="name">PDF图标</div>
+                <div class="code-name">#icon-PDFtubiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-word"></use>
+                </svg>
+                <div class="name">word</div>
+                <div class="code-name">#icon-word</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-virus"></use>
+                </svg>
+                <div class="name">virus</div>
+                <div class="code-name">#icon-virus</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-handprint"></use>
+                </svg>
+                <div class="name">handprint</div>
+                <div class="code-name">#icon-handprint</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-corpse"></use>
+                </svg>
+                <div class="name">corpse</div>
+                <div class="code-name">#icon-corpse</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-footprint"></use>
+                </svg>
+                <div class="name">footprint</div>
+                <div class="code-name">#icon-footprint</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-check"></use>
+                </svg>
+                <div class="name">check</div>
+                <div class="code-name">#icon-check</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-video"></use>
+                </svg>
+                <div class="name">video</div>
+                <div class="code-name">#icon-video</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-electronic"></use>
+                </svg>
+                <div class="name">electronic</div>
+                <div class="code-name">#icon-electronic</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-case_other"></use>
+                </svg>
+                <div class="name">case_other</div>
+                <div class="code-name">#icon-case_other</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-physics_and_chemistry"></use>
+                </svg>
+                <div class="name">physics_and_chemistry</div>
+                <div class="code-name">#icon-physics_and_chemistry</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-cube"></use>
+                </svg>
+                <div class="name">cube</div>
+                <div class="code-name">#icon-cube</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-folder_close"></use>
+                </svg>
+                <div class="name">folder_close</div>
+                <div class="code-name">#icon-folder_close</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-wrenchAndScrewdriver"></use>
+                </svg>
+                <div class="name">wrenchAndScrewdriver</div>
+                <div class="code-name">#icon-wrenchAndScrewdriver</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-poison"></use>
+                </svg>
+                <div class="name">poison</div>
+                <div class="code-name">#icon-poison</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-jiagebaohu"></use>
+                </svg>
+                <div class="name">价格保护</div>
+                <div class="code-name">#icon-jiagebaohu</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-fuzhi"></use>
+                </svg>
+                <div class="name">复制</div>
+                <div class="code-name">#icon-fuzhi</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-liebiao"></use>
+                </svg>
+                <div class="name">列表</div>
+                <div class="code-name">#icon-liebiao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-anquanbaozhang-xianxing"></use>
+                </svg>
+                <div class="name">09安全、保障-线性</div>
+                <div class="code-name">#icon-anquanbaozhang-xianxing</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-port-ks"></use>
+                </svg>
+                <div class="name">快速</div>
+                <div class="code-name">#icon-port-ks</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-shiyongwendang"></use>
+                </svg>
+                <div class="name">使用文档</div>
+                <div class="code-name">#icon-shiyongwendang</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-zhaopian"></use>
+                </svg>
+                <div class="name">照片</div>
+                <div class="code-name">#icon-zhaopian</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-ziliao"></use>
+                </svg>
+                <div class="name">资料</div>
+                <div class="code-name">#icon-ziliao</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-tidangan"></use>
+                </svg>
+                <div class="name">提档案</div>
+                <div class="code-name">#icon-tidangan</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-aixin"></use>
+                </svg>
+                <div class="name">爱心</div>
+                <div class="code-name">#icon-aixin</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-juanzongguanli"></use>
+                </svg>
+                <div class="name">卷宗管理</div>
+                <div class="code-name">#icon-juanzongguanli</div>
+            </li>
+          
+            <li class="dib">
+                <svg class="icon svg-icon" aria-hidden="true">
+                  <use xlink:href="#icon-chaxun"></use>
+                </svg>
+                <div class="name">查询</div>
+                <div class="code-name">#icon-chaxun</div>
+            </li>
+          
+          </ul>
+          <div class="article markdown">
+          <h2 id="symbol-">Symbol 引用</h2>
+          <hr>
+
+          <p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
+            这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
+          <ul>
+            <li>支持多色图标了,不再受单色限制。</li>
+            <li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
+            <li>兼容性较差,支持 IE9+,及现代浏览器。</li>
+            <li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
+          </ul>
+          <p>使用步骤如下:</p>
+          <h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
+<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
+</code></pre>
+          <h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
+<pre><code class="language-html">&lt;style&gt;
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+&lt;/style&gt;
+</code></pre>
+          <h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
+<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
+  &lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
+&lt;/svg&gt;
+</code></pre>
+          </div>
+      </div>
+
+    </div>
+  </div>
+  <script>
+  $(document).ready(function () {
+      $('.tab-container .content:first').show()
+
+      $('#tabs li').click(function (e) {
+        var tabContent = $('.tab-container .content')
+        var index = $(this).index()
+
+        if ($(this).hasClass('active')) {
+          return
+        } else {
+          $('#tabs li').removeClass('active')
+          $(this).addClass('active')
+
+          tabContent.hide().eq(index).fadeIn()
+        }
+      })
+    })
+  </script>
+</body>
+</html>

+ 139 - 0
src/assets/icon/ga/iconfont.css

@@ -0,0 +1,139 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 4789215 */
+  src: url('iconfont.woff2?t=1764731714587') format('woff2'),
+       url('iconfont.woff?t=1764731714587') format('woff'),
+       url('iconfont.ttf?t=1764731714587') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-Upload:before {
+  content: "\e7c8";
+}
+
+.icon-import:before {
+  content: "\e7c9";
+}
+
+.icon-rename:before {
+  content: "\e7c6";
+}
+
+.icon-media_l:before {
+  content: "\e7c7";
+}
+
+.icon-PDFtubiao:before {
+  content: "\e63f";
+}
+
+.icon-word:before {
+  content: "\e66e";
+}
+
+.icon-virus:before {
+  content: "\e7ba";
+}
+
+.icon-handprint:before {
+  content: "\e7bc";
+}
+
+.icon-corpse:before {
+  content: "\e7bd";
+}
+
+.icon-footprint:before {
+  content: "\e7be";
+}
+
+.icon-check:before {
+  content: "\e7bf";
+}
+
+.icon-video:before {
+  content: "\e7c0";
+}
+
+.icon-electronic:before {
+  content: "\e7c1";
+}
+
+.icon-case_other:before {
+  content: "\e7c2";
+}
+
+.icon-physics_and_chemistry:before {
+  content: "\e7c3";
+}
+
+.icon-cube:before {
+  content: "\e7c4";
+}
+
+.icon-folder_close:before {
+  content: "\e7c5";
+}
+
+.icon-wrenchAndScrewdriver:before {
+  content: "\e7bb";
+}
+
+.icon-poison:before {
+  content: "\e7b9";
+}
+
+.icon-jiagebaohu:before {
+  content: "\e603";
+}
+
+.icon-fuzhi:before {
+  content: "\e656";
+}
+
+.icon-liebiao:before {
+  content: "\e61b";
+}
+
+.icon-anquanbaozhang-xianxing:before {
+  content: "\e88c";
+}
+
+.icon-port-ks:before {
+  content: "\e768";
+}
+
+.icon-shiyongwendang:before {
+  content: "\eb66";
+}
+
+.icon-zhaopian:before {
+  content: "\e618";
+}
+
+.icon-ziliao:before {
+  content: "\e76f";
+}
+
+.icon-tidangan:before {
+  content: "\e60b";
+}
+
+.icon-aixin:before {
+  content: "\eca1";
+}
+
+.icon-juanzongguanli:before {
+  content: "\e612";
+}
+
+.icon-chaxun:before {
+  content: "\e610";
+}
+

Разница между файлами не показана из-за своего большого размера
+ 1 - 0
src/assets/icon/ga/iconfont.js


+ 226 - 0
src/assets/icon/ga/iconfont.json

@@ -0,0 +1,226 @@
+{
+  "id": "4789215",
+  "name": "江门公安",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "45434743",
+      "name": "Upload",
+      "font_class": "Upload",
+      "unicode": "e7c8",
+      "unicode_decimal": 59336
+    },
+    {
+      "icon_id": "45434742",
+      "name": "import",
+      "font_class": "import",
+      "unicode": "e7c9",
+      "unicode_decimal": 59337
+    },
+    {
+      "icon_id": "45263630",
+      "name": "rename",
+      "font_class": "rename",
+      "unicode": "e7c6",
+      "unicode_decimal": 59334
+    },
+    {
+      "icon_id": "45263629",
+      "name": "media_l",
+      "font_class": "media_l",
+      "unicode": "e7c7",
+      "unicode_decimal": 59335
+    },
+    {
+      "icon_id": "6233085",
+      "name": "PDF图标",
+      "font_class": "PDFtubiao",
+      "unicode": "e63f",
+      "unicode_decimal": 58943
+    },
+    {
+      "icon_id": "14476528",
+      "name": "word",
+      "font_class": "word",
+      "unicode": "e66e",
+      "unicode_decimal": 58990
+    },
+    {
+      "icon_id": "45263094",
+      "name": "virus",
+      "font_class": "virus",
+      "unicode": "e7ba",
+      "unicode_decimal": 59322
+    },
+    {
+      "icon_id": "45263091",
+      "name": "handprint",
+      "font_class": "handprint",
+      "unicode": "e7bc",
+      "unicode_decimal": 59324
+    },
+    {
+      "icon_id": "45263092",
+      "name": "corpse",
+      "font_class": "corpse",
+      "unicode": "e7bd",
+      "unicode_decimal": 59325
+    },
+    {
+      "icon_id": "45263090",
+      "name": "footprint",
+      "font_class": "footprint",
+      "unicode": "e7be",
+      "unicode_decimal": 59326
+    },
+    {
+      "icon_id": "45263089",
+      "name": "check",
+      "font_class": "check",
+      "unicode": "e7bf",
+      "unicode_decimal": 59327
+    },
+    {
+      "icon_id": "45263086",
+      "name": "video",
+      "font_class": "video",
+      "unicode": "e7c0",
+      "unicode_decimal": 59328
+    },
+    {
+      "icon_id": "45263085",
+      "name": "electronic",
+      "font_class": "electronic",
+      "unicode": "e7c1",
+      "unicode_decimal": 59329
+    },
+    {
+      "icon_id": "45263087",
+      "name": "case_other",
+      "font_class": "case_other",
+      "unicode": "e7c2",
+      "unicode_decimal": 59330
+    },
+    {
+      "icon_id": "45263084",
+      "name": "physics_and_chemistry",
+      "font_class": "physics_and_chemistry",
+      "unicode": "e7c3",
+      "unicode_decimal": 59331
+    },
+    {
+      "icon_id": "45263083",
+      "name": "cube",
+      "font_class": "cube",
+      "unicode": "e7c4",
+      "unicode_decimal": 59332
+    },
+    {
+      "icon_id": "45263082",
+      "name": "folder_close",
+      "font_class": "folder_close",
+      "unicode": "e7c5",
+      "unicode_decimal": 59333
+    },
+    {
+      "icon_id": "45263095",
+      "name": "wrenchAndScrewdriver",
+      "font_class": "wrenchAndScrewdriver",
+      "unicode": "e7bb",
+      "unicode_decimal": 59323
+    },
+    {
+      "icon_id": "45263093",
+      "name": "poison",
+      "font_class": "poison",
+      "unicode": "e7b9",
+      "unicode_decimal": 59321
+    },
+    {
+      "icon_id": "90509",
+      "name": "价格保护",
+      "font_class": "jiagebaohu",
+      "unicode": "e603",
+      "unicode_decimal": 58883
+    },
+    {
+      "icon_id": "658013",
+      "name": "复制",
+      "font_class": "fuzhi",
+      "unicode": "e656",
+      "unicode_decimal": 58966
+    },
+    {
+      "icon_id": "954024",
+      "name": "列表",
+      "font_class": "liebiao",
+      "unicode": "e61b",
+      "unicode_decimal": 58907
+    },
+    {
+      "icon_id": "1727279",
+      "name": "09安全、保障-线性",
+      "font_class": "anquanbaozhang-xianxing",
+      "unicode": "e88c",
+      "unicode_decimal": 59532
+    },
+    {
+      "icon_id": "2926748",
+      "name": "快速",
+      "font_class": "port-ks",
+      "unicode": "e768",
+      "unicode_decimal": 59240
+    },
+    {
+      "icon_id": "3868276",
+      "name": "使用文档",
+      "font_class": "shiyongwendang",
+      "unicode": "eb66",
+      "unicode_decimal": 60262
+    },
+    {
+      "icon_id": "3930490",
+      "name": "照片",
+      "font_class": "zhaopian",
+      "unicode": "e618",
+      "unicode_decimal": 58904
+    },
+    {
+      "icon_id": "4293108",
+      "name": "资料",
+      "font_class": "ziliao",
+      "unicode": "e76f",
+      "unicode_decimal": 59247
+    },
+    {
+      "icon_id": "6325386",
+      "name": "提档案",
+      "font_class": "tidangan",
+      "unicode": "e60b",
+      "unicode_decimal": 58891
+    },
+    {
+      "icon_id": "6775644",
+      "name": "爱心",
+      "font_class": "aixin",
+      "unicode": "eca1",
+      "unicode_decimal": 60577
+    },
+    {
+      "icon_id": "9165873",
+      "name": "卷宗管理",
+      "font_class": "juanzongguanli",
+      "unicode": "e612",
+      "unicode_decimal": 58898
+    },
+    {
+      "icon_id": "12719948",
+      "name": "查询",
+      "font_class": "chaxun",
+      "unicode": "e610",
+      "unicode_decimal": 58896
+    }
+  ]
+}

BIN
src/assets/icon/ga/iconfont.ttf


BIN
src/assets/icon/ga/iconfont.woff


BIN
src/assets/icon/ga/iconfont.woff2


+ 1 - 0
src/assets/style/public.scss

@@ -1,6 +1,7 @@
 @import "../icon/fire/iconfont.css";
 @import "../icon/fuse/iconfont.css";
 @import "../icon/newfire/iconfont.css";
+@import "../icon/ga/iconfont.css";
 * {
   margin : 0;
   padding: 0;

+ 4 - 4
src/view/newFireCase/newFireDetails/components/mix3d.vue

@@ -12,7 +12,7 @@
       <div class="let-bar">
         <div class="import-row">
           <div class="import-btn" v-if="editOrShow === 'edit'" @click="handleImportClick">
-            <el-icon><DocumentAdd /></el-icon>
+            <i class="iconfont icon-import" />
             <span style="margin-left: 6px;">导入</span>
           </div>
         </div>
@@ -29,10 +29,10 @@
             </div>
             <div class="actions" v-if="editOrShow === 'edit'">
               <el-tooltip content="编辑">
-                <el-icon class="act" :size="18" @click.stop="onEdit(item)"><Edit /></el-icon>
+                <span class="act" @click.stop="onEdit(item)"><i class="iconfont icon-Edit" /></span>
               </el-tooltip>
               <el-tooltip content="删除">
-                <el-icon class="act" :size="18" @click.stop="onDelete(item)"><Delete /></el-icon>
+                <span class="act" @click.stop="onDelete(item)"><i class="iconfont icon-CloseCircle" /></span>
               </el-tooltip>
             </div>
           </el-menu-item>
@@ -405,7 +405,7 @@ onMounted(async () => {
           bottom: 26px;
           display: flex;
           align-items: center;
-          gap: 10px;
+          gap: 20px;
           opacity: 0;
           color: rgba(0,0,0,0.85);
           transition: opacity .2s ease;

+ 27 - 5
src/view/newFireCase/newFireDetails/components/otherFiles.vue

@@ -13,7 +13,7 @@
         :accept="accept"
       >
         <div class="upload-tip">
-          <el-icon class="upload-icon"><Upload /></el-icon>
+          <i style="font-size: 24px;color: var(--el-color-primary);" class="iconfont icon-Upload" />
           <div class="tip-title">点击此区域文件上传</div>
           <div class="tip-sub">支持100M以内的pdf、doc、docx、jpg、jpeg、png、raw、dcm文件</div>
         </div>
@@ -31,8 +31,8 @@
             <span class="file-name" :title="file.filesTitle">{{ file.filesTitle || '未命名' }}</span>
           </div>
           <div class="file-actions" v-if="editOrShow === 'edit'">
-            <el-tooltip content="更改" placement="top">
-              <el-button link @click.stop="handleView(file)">
+            <el-tooltip content="更改名字" placement="top">
+              <el-button link @click.stop="handleRename(file)">
                 <i class="iconfont icon-rename" />
               </el-button>
             </el-tooltip>
@@ -65,10 +65,10 @@
 <script setup lang="ts">
 import { ref, computed, onMounted } from 'vue';
 import { useRoute } from 'vue-router';
-import { ElMessage } from 'element-plus';
+import { ElMessage, ElMessageBox } from 'element-plus';
 import { Upload, View, Download, Close } from '@element-plus/icons-vue';
 import { useUpload } from '@/hook/upload';
-import { getCaseFileTypes, getCaseFiles, addCaseFile, delCaseFile, type CaseFile } from '@/store/caseFile';
+import { getCaseFileTypes, getCaseFiles, addCaseFile, setCaseFile, delCaseFile, type CaseFile } from '@/store/caseFile';
 import { confirm } from '@/helper/message';
 
 const props = defineProps<{ caseId?: number; fire?: any, editOrShow?: string }>();
@@ -126,6 +126,28 @@ const handleView = (file: CaseFile) => {
   }
 };
 
+// 更改名字:弹窗输入并更新文件标题
+const handleRename = async (file: CaseFile) => {
+  try {
+    const { value } = await ElMessageBox.prompt('', '更改名字', {
+      inputValue: file.filesTitle || '',
+      inputPattern: /^[^\/:*?"<>|]{1,100}$/,
+      inputErrorMessage: '文件名不合法或过长',
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+    });
+    const title = (value || '').trim();
+    if (!title || title === file.filesTitle) return;
+    await setCaseFile({ filesId: file.filesId, filesTitle: title });
+    ElMessage.success('更改成功');
+    await refresh();
+  } catch (err: any) {
+    if (err === 'cancel' || err === 'close') return; // 取消或关闭不提示错误
+    ElMessage.error('更改失败');
+    console.error(err);
+  }
+};
+
 const handleDownload = (file: CaseFile) => {
   window.open(file.filesUrl + '?time=' + Date.now());
 };

+ 9 - 6
src/view/newFireCase/newFireDetails/components/scene.vue

@@ -12,7 +12,7 @@
       <div class="let-bar">
         <div class="import-row">
           <div class="import-btn" v-if="editOrShow === 'edit'" @click.stop="handleImportClick">
-            <el-icon><DocumentAdd /></el-icon>
+            <i class="iconfont icon-import" />
             <span style="margin-left: 6px;">导入</span>
           </div>
         </div>
@@ -29,10 +29,11 @@
             </div>
             <div class="actions" v-if="editOrShow === 'edit'" v-show="String(item.sceneNumId) === activeId">
               <el-tooltip content="编辑">
-                <el-icon class="act" :size="18"><Edit /></el-icon>
+                <span class="act" @click.stop="onOpen(item)"><i class="iconfont icon-Edit" /></span>
               </el-tooltip>
-              <el-tooltip content="删除">
-                <el-icon class="act" :size="18" @click.stop="onDelete(item)"><Delete /></el-icon>
+              <el-tooltip content="移除">
+                <span class="act" @click.stop="onDelete(item)"><i class="iconfont icon-CloseCircle" /></span>
+                <!-- <el-icon class="act" :size="18" @click.stop="onDelete(item)"><Delete /></el-icon> -->
               </el-tooltip>
               <el-tooltip content="全屏">
                 <el-icon class="act" :size="18" @click.stop="onFullscreen()"><FullScreen /></el-icon>
@@ -256,7 +257,9 @@ const onDelete = async (scene: Scene) => {
     }
   }
 };
-
+const onOpen = (scene: Scene) => {
+  window.open(scene.webSite, '_blank');
+};
 const onFullscreen = () => {
   if (screenfull.isEnabled && rightBarRef.value) {
     screenfull.request(rightBarRef.value);
@@ -503,7 +506,7 @@ onMounted(async () => {
           bottom: 26px;
           display: flex;
           align-items: center;
-          gap: 10px;
+          gap: 20px;
           opacity: 0;
           color: rgba(0,0,0,0.85);
           transition: opacity .2s ease;

+ 1 - 2
src/view/newFireCase/newFireDetails/components/screenShot.vue

@@ -163,7 +163,7 @@ const handleContinue = (file: any) => {
 const handleRename = async (file: any) => {
   try {
     const currentName = file?.videoFolderName || file?.filesTitle || '';
-    const { value, action } = await ElMessageBox.prompt('请输入新的视频名称', '更改名称', {
+    const { value, action } = await ElMessageBox.prompt('', '更改名称', {
       inputValue: currentName,
       inputPlaceholder: '视频名称',
       confirmButtonText: '确定',
@@ -172,7 +172,6 @@ const handleRename = async (file: any) => {
       inputErrorMessage: '名称不可为空',
     }) as any;
     if (action !== 'confirm') return;
-    console.log(file, 8888)
     const id = file?.videoFolderId;
     if (!id) {
       ElMessage.error('无法识别文件ID');

+ 19 - 20
src/view/newFireCase/newFireDetails/components/siteInspection.vue

@@ -43,13 +43,13 @@
                   <span class="name">{{ img.name }}</span>
                   <div class="header-actions" v-if="editOrShow === 'edit'">
                     <span class="action-icon" @click="renameSelected">
-                      <el-icon><EditPen /></el-icon>
+                      <i class="iconfont icon-rename_s" />
                     </span>
                     <span class="action-icon" @click="editSelected('tabulation')">
-                      <el-icon><Edit /></el-icon>
+                      <i class="iconfont icon-Edit" />
                     </span>
                     <span class="action-icon" @click="deleteSelected">
-                      <el-icon><CircleClose /></el-icon>
+                      <i class="iconfont icon-CloseCircle" />
                     </span>
                   </div>
                 </div>
@@ -84,13 +84,13 @@
                     <span class="name">{{ img.name }}</span>
                     <div class="header-actions" v-if="editOrShow === 'edit'">
                       <span class="action-icon" @click="renameSelected">
-                        <el-icon><EditPen /></el-icon>
+                        <i class="iconfont icon-rename_s" />
                       </span>
                       <span class="action-icon" @click="editSelected('overview')">
-                        <el-icon><Edit /></el-icon>
+                        <i class="iconfont icon-Edit" />
                       </span>
                       <span class="action-icon" @click="deleteSelected">
-                        <el-icon><CircleClose /></el-icon>
+                        <i class="iconfont icon-CloseCircle" />
                       </span>
                     </div>
                   </div>
@@ -124,17 +124,17 @@
                   <div class="header-actions" v-if="editOrShow === 'edit'">
                       <el-tooltip content="下载" placement="top">
                         <span class="action-icon" @click="downloadSelected(rec.id)">
-                          <el-icon><Download /></el-icon>
+                          <i class="iconfont icon-download" />
                         </span>
                       </el-tooltip>
                       <el-tooltip content="编辑" placement="top" v-if="rec.createType === 'online'">
                         <span class="action-icon" @click="onEditInspection">
-                          <el-icon><EditPen /></el-icon>
+                          <i class="iconfont icon-Edit" />
                         </span>
                       </el-tooltip>
                       <el-tooltip content="删除" placement="top">
                         <span class="action-icon" @click="deleteItem">
-                          <el-icon><CircleClose /></el-icon>
+                          <i class="iconfont icon-CloseCircle" />
                         </span>
                       </el-tooltip>
                     </div>
@@ -167,17 +167,17 @@
                   <div class="header-actions" v-if="editOrShow === 'edit'">
                     <el-tooltip content="下载" placement="top">
                       <span class="action-icon" @click="downloadSelected(rec.id)">
-                        <el-icon><Download /></el-icon>
+                        <i class="iconfont icon-download" />
                       </span>
                     </el-tooltip>
                     <el-tooltip content="编辑" placement="top" v-if="rec.createType === 'online'">
                       <span class="action-icon" @click="onEditExtraction">
-                        <el-icon><EditPen /></el-icon>
+                        <i class="iconfont icon-Edit" />
                       </span>
                     </el-tooltip>
                     <el-tooltip content="删除" placement="top">
                       <span class="action-icon" @click="deleteItem">
-                        <el-icon><CircleClose /></el-icon>
+                        <i class="iconfont icon-CloseCircle" />
                       </span>
                     </el-tooltip>
                   </div>
@@ -209,17 +209,17 @@
                   <div class="header-actions" v-if="editOrShow === 'edit'">
                     <el-tooltip content="下载" placement="top">
                       <span class="action-icon" @click="downloadSelected(alb.id)">
-                        <el-icon><Download /></el-icon>
+                        <i class="iconfont icon-download" />
                       </span>
                     </el-tooltip>
                     <el-tooltip content="编辑" placement="top">
                       <span class="action-icon" @click="openPhotoEdit(alb.id)">
-                        <el-icon><EditPen /></el-icon>
+                        <i class="iconfont icon-Edit" />
                       </span>
                     </el-tooltip>
                     <el-tooltip content="删除" placement="top">
                       <span class="action-icon" @click="deleteItem">
-                        <el-icon><CircleClose /></el-icon>
+                        <i class="iconfont icon-CloseCircle" />
                       </span>
                     </el-tooltip>
                   </div>
@@ -563,7 +563,7 @@ const renameSelected = async () => {
     return;
   }
   try {
-    const { value } = await ElMessageBox.prompt('请输入新的名称', '重命名', {
+    const { value } = await ElMessageBox.prompt('', '重命名', {
       confirmButtonText: '确定',
       cancelButtonText: '取消',
       inputValue: file.filesTitle,
@@ -1373,15 +1373,14 @@ watch(caseId, () => { loadListsFromTree(); loadAlbum(); });
         color: rgba(0,0,0,.85);
       }
       .header-actions {
-        // position: absolute;
-        // right: 48px;
-        // bottom: 20px;
+        display: flex;
+        gap: 20px;
         display: none;
         padding: 8px 0 0 320px;
         transition: opacity .2s ease-in-out;
       }
       &.active .header-actions {
-        display: block;
+        display: flex;
       }
       .action-icon {
         display: inline-flex;