From b9681b6157b2c48ff07651c6798860fc55e2c139 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8C=E4=B8=AB=E8=AE=B2=E6=A2=B5?= Date: Thu, 16 Feb 2023 20:29:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AE=98=E6=96=B9?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E4=B8=8Egithub=E7=9A=84=E5=9C=B0=E5=9D=80=20?= =?UTF-8?q?(#33)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/iconfont/font/demo.css | 539 +++++++++++++++++++++++ src/assets/iconfont/font/demo_index.html | 349 +++++++++++++++ src/assets/iconfont/font/iconfont.css | 43 ++ src/assets/iconfont/font/iconfont.js | 1 + src/assets/iconfont/font/iconfont.json | 58 +++ src/assets/iconfont/font/iconfont.ttf | Bin 0 -> 3596 bytes src/assets/iconfont/font/iconfont.woff | Bin 0 -> 2496 bytes src/assets/iconfont/font/iconfont.woff2 | Bin 0 -> 2020 bytes src/layout/components/Navbar.vue | 25 +- 9 files changed, 1011 insertions(+), 4 deletions(-) create mode 100644 src/assets/iconfont/font/demo.css create mode 100644 src/assets/iconfont/font/demo_index.html create mode 100644 src/assets/iconfont/font/iconfont.css create mode 100644 src/assets/iconfont/font/iconfont.js create mode 100644 src/assets/iconfont/font/iconfont.json create mode 100644 src/assets/iconfont/font/iconfont.ttf create mode 100644 src/assets/iconfont/font/iconfont.woff create mode 100644 src/assets/iconfont/font/iconfont.woff2 diff --git a/src/assets/iconfont/font/demo.css b/src/assets/iconfont/font/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/assets/iconfont/font/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; +} diff --git a/src/assets/iconfont/font/demo_index.html b/src/assets/iconfont/font/demo_index.html new file mode 100644 index 0000000..1c34631 --- /dev/null +++ b/src/assets/iconfont/font/demo_index.html @@ -0,0 +1,349 @@ + + + + + iconfont Demo + + + + + + + + + + + + + +
+

+ + +

+ +
+
+
    + +
  • + +
    wechat
    +
    
    +
  • + +
  • + +
    wechat-fill
    +
    
    +
  • + +
  • + +
    钉钉
    +
    
    +
  • + +
  • + +
    github
    +
    
    +
  • + +
  • + +
    email
    +
    
    +
  • + +
  • + +
    钉钉dingd
    +
    
    +
  • + +
  • + +
    gitee
    +
    
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 默认情况下不支持多色,直接添加多色图标会自动去色。
  • +
+
+

注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.woff2?t=1676543753345') format('woff2'),
+       url('iconfont.woff?t=1676543753345') format('woff'),
+       url('iconfont.ttf?t=1676543753345') format('truetype');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + wechat +
    +
    .icon-wechat +
    +
  • + +
  • + +
    + wechat-fill +
    +
    .icon-wechat-fill +
    +
  • + +
  • + +
    + 钉钉 +
    +
    .icon-dingding +
    +
  • + +
  • + +
    + github +
    +
    .icon-github +
    +
  • + +
  • + +
    + email +
    +
    .icon-email +
    +
  • + +
  • + +
    + 钉钉dingd +
    +
    .icon-dingdingdingd +
    +
  • + +
  • + +
    + gitee +
    +
    .icon-gitee +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    wechat
    +
    #icon-wechat
    +
  • + +
  • + +
    wechat-fill
    +
    #icon-wechat-fill
    +
  • + +
  • + +
    钉钉
    +
    #icon-dingding
    +
  • + +
  • + +
    github
    +
    #icon-github
    +
  • + +
  • + +
    email
    +
    #icon-email
    +
  • + +
  • + +
    钉钉dingd
    +
    #icon-dingdingdingd
    +
  • + +
  • + +
    gitee
    +
    #icon-gitee
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/assets/iconfont/font/iconfont.css b/src/assets/iconfont/font/iconfont.css new file mode 100644 index 0000000..121ffa8 --- /dev/null +++ b/src/assets/iconfont/font/iconfont.css @@ -0,0 +1,43 @@ +@font-face { + font-family: "iconfont"; /* Project id 3900236 */ + src: url('iconfont.woff2?t=1676543753345') format('woff2'), + url('iconfont.woff?t=1676543753345') format('woff'), + url('iconfont.ttf?t=1676543753345') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-wechat:before { + content: "\e61d"; +} + +.icon-wechat-fill:before { + content: "\e883"; +} + +.icon-dingding:before { + content: "\e690"; +} + +.icon-github:before { + content: "\e651"; +} + +.icon-email:before { + content: "\e74f"; +} + +.icon-dingdingdingd:before { + content: "\e7c0"; +} + +.icon-gitee:before { + content: "\e60c"; +} + diff --git a/src/assets/iconfont/font/iconfont.js b/src/assets/iconfont/font/iconfont.js new file mode 100644 index 0000000..42adb11 --- /dev/null +++ b/src/assets/iconfont/font/iconfont.js @@ -0,0 +1 @@ +window._iconfont_svg_string_3900236='',function(i){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var a,c,n,o,l,d=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!i.__iconfont__svg__cssinject__){i.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}a=function(){var t,e=document.createElement("div");e.innerHTML=i._iconfont_svg_string_3900236,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?d(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(c=function(){document.removeEventListener("DOMContentLoaded",c,!1),a()},document.addEventListener("DOMContentLoaded",c,!1)):document.attachEvent&&(n=a,o=i.document,l=!1,h(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,s())})}function s(){l||(l=!0,n())}function h(){try{o.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}s()}}(window); \ No newline at end of file diff --git a/src/assets/iconfont/font/iconfont.json b/src/assets/iconfont/font/iconfont.json new file mode 100644 index 0000000..b4464bb --- /dev/null +++ b/src/assets/iconfont/font/iconfont.json @@ -0,0 +1,58 @@ +{ + "id": "3900236", + "name": "icon-eryajf", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "1206114", + "name": "wechat", + "font_class": "wechat", + "unicode": "e61d", + "unicode_decimal": 58909 + }, + { + "icon_id": "4936991", + "name": "wechat-fill", + "font_class": "wechat-fill", + "unicode": "e883", + "unicode_decimal": 59523 + }, + { + "icon_id": "9307592", + "name": "钉钉", + "font_class": "dingding", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "9785618", + "name": "github", + "font_class": "github", + "unicode": "e651", + "unicode_decimal": 58961 + }, + { + "icon_id": "11488038", + "name": "email", + "font_class": "email", + "unicode": "e74f", + "unicode_decimal": 59215 + }, + { + "icon_id": "20186142", + "name": "钉钉dingd", + "font_class": "dingdingdingd", + "unicode": "e7c0", + "unicode_decimal": 59328 + }, + { + "icon_id": "26267572", + "name": "gitee", + "font_class": "gitee", + "unicode": "e60c", + "unicode_decimal": 58892 + } + ] +} diff --git a/src/assets/iconfont/font/iconfont.ttf b/src/assets/iconfont/font/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..15b87288765b5fb826042fd58d8e84e0dfc832e9 GIT binary patch literal 3596 zcmd^CTW=f36`q;Bk-OaGeM#ylBRhz1ltht|Nr|QD zD-1)8A7ZDj>jW)Opny>{Xpy=var#gc4H}~l=|hV)Xwl0rW>{0B+KT+4L}W60G>sspzVMR@*B2| z&W)LkJDby+4<22onx1Ds`f0+(NIKfg5I&%v1zj9i1FVgyP5$2#oH9s@O*23wZU93I zjmnKqvrxZm%$S9`cjJy(s9!dx%|iXU`M@kR+8$juOEcO(!1MU8q)OgldYId$_N{+0 z?=yC!qeEx`mC<>04ZVg?Zx)Xv<2V{8-4THoc&|tGDOlixSWl-QtD`tb5_&p_eX5?t zQLQ%;)j%*6)uM42n#Bnn`V`WMIR*PPs--&;$It=1*TdsvN>@F6L`%1TuLYhk%*nyT z?k`MOU-|Ov%Lk|WW0^GLwy~_kBSga8^7feGJY3CbJ+_@4g2%zK-bQ$vCQ2Snz(g5J zzHnt~ckO`q!leoPwvA&o2g8LTW5uzt;+0Zn;PG95#1FsUnAKT#hZ}xxdD`9Xc2A)@ zpB`J8uuRtWM0>~g9L!bwWIbSYE1b{c<;28H+{#7VoZ_~|ekL+3=L^`~*3gMWrkK%> zrMP{SoOr|9=2nR%F}F0Q>vM_zL-=bBueVE8?Pm4B=5z*}PT8!e zfmxBA{rc3^H?K}jU7d>cv#cPDGCYrE+<0vFdV^l?x6O(Oc)ZjZ?Cl=QO=VUzUSilC zEW`4ok0W**itMe1BXd-5PoP;f&V-KZW5o;xZxu5(%ti>ua)T_f{+jA-{ixmG9kTUH z<~}owJcxe5jCl3w)&<;XK`qVD4 zHO*jKuoe8MB7!ay=68;c?wl`t)B>}Zvvss7d)GTh-2P5Zu-as&%VK3%=g6L2S*LqD zM?|}N_~7X?f@G5kVfdL7qr)+Gr>ro;pV4HfY~17|>>ujK{(I*R@m4}G5v&f2Xc2kA ziZNl*ogBxpg3}%hS#3Shc9z9G+f=9BVv`m6X4v`_^IPT^Itdn_2ay-R=RP$xX704P zR|tV&po0V~V{DTK4z&P;5#*E)4CVs~fu2!A3t$Mfbe4=5@&sM0tYmlNnKw>59KFGS z*I~2ptQ>8#@itYHl=z6BX&>uLwuk+GiO3dFc6-}{7tZh4?h$1o`rE?o$-Xg{gE$BUxopviAF30>cE{{x&T41O%5amYnS#4+L|a zm|;Ylr>m>i!ZDq>pntskNOHjE5}X76Yc_=qzIuP*TDg?T(KjP}=FXDuAsK~H57@@( z;k&~TZN%wwhMgmH+h7kbR&W&FTCn>B7v`9=THE7$ZQ3}QlO(6eTX5rj*MO_>Bez4b zlY@_cjKjp*xYedi1|of?v)DImM55s)m04p2Phv1|X)}2$)R*Ed zqGI=W1MPMPCpfaX@xGO6r#}%D2;r=fn#JUJVb4j?X19wX!8Rd#^gAoT9Y?|`UpxN9 zuHb>W7yBE(`0#bBi!dA~+x>Qz>=I+qUTK6Q@6X3cu0#qX_%CFWF;VAJYe(mlQ>6+|?#h z9g2j{$ERb;`m>`<1!SjP9H*n@u9#i=xGSbeIZ5eAO=yj~k`kMazbVqIEpnkhQ4bo) z4Nnu(o1D9e34EX1o0tJU(!?y_?M=+Vty^zm9{8~)7EwQ%XkrO8Rv}t3YlV3;>2i=p|;q2-0O z)upx7daIr-6wjCQwN|rL&lPItme*E8!||aOHCb3K)LLrJT`21H`ci1AwpI!42YrQd zc`a0}t*sOm>hV&&Ufne~Navw^d||DE_QJ)!fbysg&qWl1&)sEsF2gls4XvUj<5_>M zJqyxBxTch0WbL`$XGhP0bPb&YIjS>+hEW`@^3O_5g4C)Z`Rr=Wp$jmZ4r{E#ib7Co zps50Ae{+2WSV-a2ep>QzW1kh{`(;EJ{m=1v$$|-H zFpD|NV*y*R74a7f3#EKrGOO6qa=C0-TwX2G!WWn8rStP#p^{%N%PrQZIp``B=oJ42 D>0>R~ literal 0 HcmV?d00001 diff --git a/src/assets/iconfont/font/iconfont.woff b/src/assets/iconfont/font/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..6fe85f67c17bbba10206f9674f3b6ba626a89183 GIT binary patch literal 2496 zcmY*ac{J4B|NqR48H2I+BukH_M1(Pf7-Su$MYe3oES6CjV=FvlUn0wdWM8t4t+BN~ znTW`irJ_MZ)_5$1WchwPzu)1t0)eTr7a+VB|yn zA3vD?Z{e(M4FLdx1XUdnHd2YQ!4}pk7*I0?`2h%6>2ua(FCq=p;z14q^217LQ_|x` zkUIcC1pojZ1pu595qAr3QQU~G;5;4lse;frX4=3{0Yy;j0QsLFj&pv2#Z$ce13_&L zMK?^vv%PXE}5h$2ZtwO8(F(ln5OVPez> zaENE^Nfc-P>Pw0{b?Xa@#R`dom|@Vx@+2tW+ksjQ%w3{)@kXHqj0;|eM{AWpw9QoF z5x#i2QD0wkn}#x;`T{d~D||+y_pV<}76urn_By)}g+LtWc;IE#lc-LMO{_4LOGPP{vMoc9x}Biv5NGOsKM+1Cc} z`!`ECon1#v-BR=m%yqLpcf-l#P+nh-=It>3=0{6g1z5QY-_`pz{ET+Y2Vym@ef|OS ztSpmsj4?J>G%PButdu9U;w~{V?4<*u&Q?@^RuZbQXBtFubC6oaxTI~kxGwu-d1xv~ z_EDDebksh*n$1;&akJ9&S76l;NeQS3%Y+8M5%~l-LV4}jgi3U?>9EdUyYH!^P!b}x z{WF~RFKC%%+oSR#@^2;kABZ)R6lYYz)w=Hd$AmTy4+XqIvEf^uhC^#^9ennqm>_%J z5cc%?)zG&-dm^vPaf;TDdXeSh`Zs;4H=hnwkd0=ZR+z6pi>$9IS-@$0zS@i($Mwj+ zb;uhnl*5Rn-PYss9W=L5 z8v2;DSh{*9kIILf>uU7f%<@E7+MwT3l5|@NPb^+yP=@r4;vf|iRS|n>+wqNr&(~~e z*Gz?^jMy+4so%;?ZBJsNi4V=(CcnYIxKyAdBPETM6v=GIK5Tk`ZtWtz57?M&h3gwP zM@qN1b7*n(Mg;(c|DgYT>7hP+pYi(rIvZWFmF&#;t4ZNl>9A3a*n1k6CbLV%swm4n zWN2gw)wo-z!99`~k>`|glyfX4evJ{@*QbJM#EIEL>Q#zI_u^UfYXWIAo4r?(+opC` zx9oJI+T(Ud#GiO~_l`eM;`Ng#6@D;V1l3_@yOk;}PURaMx>#E_0E=<|>v7%8s?f{^ z?ZH&PfPq-|%qDeujfdE>w`DzeCe!&xjv{Zzu%l;3YS*zAx+NdimpHCl?nqIR*xunU ztz;I*ThXh|h3DfSA2P0GoE%UK)OKGLtM2En5n1S-YDKpe&B49QjQW!?=Gr$Av79C; z#4aXD?R+%r!?*P*Vd1IS%rLf3vVqK|?9ks%jO@uWF6Oh-dV;s4>Oq?4JT@p}{;t>3!SWs1F%_dx6GB`n? z#nSnl2mD#{gK4c{eafPv@nsu86!B$Ja+QmgEiIrSW6{IZjB$x?4vRQ+0jb ze@ROkdfUECSPO-Y8!IHH+-yJ>nAeOOHZ6y8XsFaQl}+?Jc|7co@E=WhCzx-Yz?GHh zWntBIT0}0#=!0u-fNY7eaU1jAe3jkCcZ>=A4pkM-w$oRg=Z3P=#F|F+cnVa!hC7^SsC-iS=2XC}ZTsrom;` z$-sa&cPvBSjHTNu@6P#m`g8 zM83FSBYh_F)8B74#-cUv96oL?@(cML8=v$>yFlF1*2s_T!jcfu{zn$80&(Hjc4_%& z5p7o?-KNuAMSL<+cRu>!9{l;s(Khc16I!ZQ;5+qrg)Ih@=U3QDOZyR?bU}99@nP5M zw@z9MN^^GuGKR&s{z%Tw=-+B`sr0Bff=CM5_B4JqSHe>oKjcd|vdx}l$e6?D3Ug=DebCP)D#Nt(ytrqx*v)y>H7$GTh zBS(GbH`+HyuWcnO{8i5>eboBZw4cthvudT6bxo5JPK`A>6vA7P&?=8i>S0dKM9s`z zz2KSK!@nF{e~zX#TFv-8Wv$<<#OLXZpMPJDU%>~xDxvOf+V+`DWowDPx{Q&%5S)9G zVdZ4?J5uzKAI|FB`ZsnlVh=GOdEEBjJOQ%^_`0I2_-ETXJH&0mod`s5wy<@GKlb!Rxrf=KfeyLMWD51MG|R$L^NDRJ{$%VzC}>~T_+L zwdJfpOu_3^j&yl^iMr?Ilk!5HJLzVOONHfyoDDO$$DbTk%!bZfNKO@=M$S|G63l{z zjbJ7(KaY5izsfq=2`n??;?`cwDvz|vHr!Ku%6dr4*iK_w+&)}ebSIydw_QbpsRRmB z>&fkW`C)CXHPNfJF*%f=N!9{m(C;*x zVM`h4C|M3n{z($HSYlxNHC(c60-|~?#pZ3;t9ofdbK~+=372VlQe9laN z<;5p#`kVnp2t_DTjUne65o3=|aZ97Dj7|JKemz)*Ys5Qv?gv=RJ?>yg`o<_j{d=z* zdp^(-q3X9sc{3k*?|4pNfr$6(t|9;beUzhA5C z(QQeJ?sm#3Iv&2(%J;i_;0WE>Q$Y44NgxRr^r<*fK+dJ&R*8_B-KrR|`!0WB&F4`O z=1=| zRD9U||MzosqHPO#=g!-D`C@PHP3}w)@ucY|4vj-;3kgwegi7WR5+Ro5&LO+H^}>+A zmk5m7aA(6_kMoAH+VnP*%ktgSo5F^n)?3B%PO@*)G!?f>wUCoQHhB5-yuw< ze~2nzJqS}XcrW&MnO59!8dwDB4j|j=Jo!$(LXS{50(vRib_^q|c~gVq!SwiQQyP+E z6Ebo|3rUTJ%YC>86_={C=lQIeOLi7dZ7KW{<)tDqg_Q*>nQ5<3{3&i1a z+G&n@fRb@u14*qGlc?1$Dzp&*H`0SP=TR~3G((NXmA~u_2vs+^Aekd(#q&HxAGfs* zNa!a^Al^(@XUPCTbCv?)Ih&`zB=lPtTbWUXr{xANkqae)U`TgeD1W;~r6Nix1SPrO zsgU6)hom4#98<_h1{`q_xEdwA)R5%ndg(GL4T6KdzR(&g;i0_K?ldVw&X{Hi7njeZ z^HOfJrmx#FNCkZg$GIAY-0`R#)36n;&dl8Mn4-%@H0hC&%xB{=1%#WdX;!2!XE2UN z%`+7koH}PSdF~ebn9uE~`~KGX%CXoS9qS>fe4k393GimG1ASp+U#j2+& zK=DNrNzr-hcMW@5_i=D-L~KG+XG)5JVOn|D&cvd!Y*vQ*if>|0d~`>nugh6Z@P9NB z1987O>1RsGFX-@#XK^;kbrJ2qU{22a_dUz@p9 zsRPL=t?}s0YiBcqadRZ`57*fG;26A~-Z5ynAt)LT@$t#wOU-*-d!71R`&6dt=;kZN z&i2kWtoNj`aiASM*e(#P=^O67Qr?hkpX!ibn(dz9x_CJ=Cb}u?6%0YX;GaXq4T91< zdyS}xapC4GuE}{FNzN%QUAX1z?j&&w9mF}d62uFR&8Q!V-UmivqFeRmW2#M*5`r-3)vk$P!~hI^kvS9uOiPx=Wr-#pv2+M&j&abe@Ot(99r zfm;Q83Or^%c=#T0M({D%8rKvZ+mO%##)JiHd&z2tpZ~}5(x30h`t#!Ja?bsRecMIG zps4hu_N|0bx7pid_##r|HZi#5_^=bb?wYyqqR+9He7+)dKX~YPWZ;-vF|rU&-ZuY- zId1&lFI5hE$%0iO7)xl0ZD@*ajRWE9M!mMUEtfTy-rwT5ac^R$^$v5pQJVw{hc$;3 zD~6^2ADXG`_$24wLHJL<$F;%eVB9}fJotG~$dhWPH(oC+>_$yL4b9m-^Zidb{NLa0 z{&-n)=gsZ_RvMqi$RbYQ&tNFv*@>JInU&7Ui=Td`IO?Q-Rsh~9cALs*@_4(a$j*dY zKMQmdjn(W5)~;Qw3U>8V%1NBY8P~67KXna*beG}&B^qDTx)(hU*=c90ozH5RKkR4~C% zGZYJ>d_d~yW2`_YK)_<849h+_2-ChGne-E~X+Oqd{e{Y+Kd4Rnhfx<{ap=*Nm6f+fhmtTdp%Q zGHgWJ-BCcj+aW_!Gn`>W5i!t0+DBwyRE5(Q^Y42=yk4SkNaIV9b-aKYM-xNi5XLK7 zLM>X7*_~J3l%S%6j4&F^(B+*2l5YJKYTbKhi20O>u{@ZmVYehc zw2c%wN>out6K! @@ -25,7 +36,7 @@ - 个人中心 + 个人中心 首页 @@ -47,6 +58,7 @@ import ErrorLog from '@/components/ErrorLog' import Screenfull from '@/components/Screenfull' import SizeSelect from '@/components/SizeSelect' import Search from '@/components/HeaderSearch' +import '@/assets/iconfont/font/iconfont.css' export default { components: { @@ -78,6 +90,11 @@ export default {