diff --git a/src/assets/icon/demo.css b/src/assets/icon/demo.css
new file mode 100644
index 0000000..a67054a
--- /dev/null
+++ b/src/assets/icon/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/icon/demo_index.html b/src/assets/icon/demo_index.html
new file mode 100644
index 0000000..fc663bd
--- /dev/null
+++ b/src/assets/icon/demo_index.html
@@ -0,0 +1,786 @@
+
+
+
+
+ iconfont Demo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ - Unicode
+ - Font class
+ - Symbol
+
+
+
查看项目
+
+
+
+
+
+
+ -
+
+
rust
+ 
+
+
+ -
+
+
outline-java-script
+ 
+
+
+ -
+
+
图书
+ 
+
+
+ -
+
+
linux
+ 
+
+
+ -
+
+
游戏,游戏机
+ 
+
+
+ -
+
+
集合
+ 
+
+
+ -
+
+
web
+ 
+
+
+ -
+
+
安卓
+ 
+
+
+ -
+
+
符号-测试
+ 
+
+
+ -
+
+
工具
+ 
+
+
+ -
+
+
AI
+ 
+
+
+ -
+
+
bug
+ 
+
+
+ -
+
+
教程
+ 
+
+
+ -
+
+
桌面应用设置
+ 
+
+
+ -
+
+
安全
+ 
+
+
+ -
+
+
java
+ 
+
+
+ -
+
+
代码
+ 
+
+
+ -
+
+
kotlin
+ 
+
+
+ -
+
+
swift
+ 
+
+
+ -
+
+
typescript
+ 
+
+
+ -
+
+
算法
+ 
+
+
+ -
+
+
数据库,数据
+ 
+
+
+ -
+
+
C#语言
+ 
+
+
+ -
+
+
c++语言
+ 
+
+
+ -
+
+
Go语言
+ 
+
+
+ -
+
+
Python
+ 
+
+
+
+
+
Unicode 引用
+
+
+
Unicode 是字体在网页端最原始的应用方式,特点是:
+
+ - 支持按字体的方式去动态调整图标大小,颜色等等。
+ - 默认情况下不支持多色,直接添加多色图标会自动去色。
+
+
+ 注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)
+
+
Unicode 使用步骤如下:
+
第一步:拷贝项目下面生成的 @font-face
+
@font-face {
+ font-family: 'iconfont';
+ src: url('iconfont.woff2?t=1688142699712') format('woff2'),
+ url('iconfont.woff?t=1688142699712') format('woff'),
+ url('iconfont.ttf?t=1688142699712') 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">3</span>
+
+
+ "iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
+
+
+
+
+
+
+ -
+
+
+ rust
+
+ .el-ico-alirust
+
+
+
+ -
+
+
+ outline-java-script
+
+ .el-ico-alioutline-java-script
+
+
+
+ -
+
+
+ 图书
+
+ .el-ico-alitushu
+
+
+
+ -
+
+
+ linux
+
+ .el-ico-alilinux
+
+
+
+ -
+
+
+ 游戏,游戏机
+
+ .el-ico-aliyouxiyouxiji
+
+
+
+ -
+
+
+ 集合
+
+ .el-ico-alijihe
+
+
+
+ -
+
+
+ web
+
+ .el-ico-aliweb
+
+
+
+ -
+
+
+ 安卓
+
+ .el-ico-alianzhuo
+
+
+
+ -
+
+
+ 符号-测试
+
+ .el-ico-aliceshi
+
+
+
+ -
+
+
+ 工具
+
+ .el-ico-aligongju
+
+
+
+ -
+
+
+ AI
+
+ .el-ico-aliwuguan
+
+
+
+ -
+
+
+ bug
+
+ .el-ico-alibug
+
+
+
+ -
+
+
+ 教程
+
+ .el-ico-alicaishichang-
+
+
+
+ -
+
+
+ 桌面应用设置
+
+ .el-ico-alizhuomianyingyongshezhi
+
+
+
+ -
+
+
+ 安全
+
+ .el-ico-alianquan
+
+
+
+ -
+
+
+ java
+
+ .el-ico-alijava
+
+
+
+ -
+
+
+ 代码
+
+ .el-ico-alidaima
+
+
+
+ -
+
+
+ kotlin
+
+ .el-ico-alikotlin
+
+
+
+ -
+
+
+ swift
+
+ .el-ico-aliswift
+
+
+
+ -
+
+
+ typescript
+
+ .el-ico-alitypescript
+
+
+
+ -
+
+
+ 算法
+
+ .el-ico-alisuanfa2
+
+
+
+ -
+
+
+ 数据库,数据
+
+ .el-ico-alidatabase-full
+
+
+
+ -
+
+
+ C#语言
+
+ .el-ico-aliCyuyan
+
+
+
+ -
+
+
+ c++语言
+
+ .el-ico-alicyuyan
+
+
+
+ -
+
+
+ Go语言
+
+ .el-ico-aliGoyuyan
+
+
+
+ -
+
+
+ Python
+
+ .el-ico-aliPython
+
+
+
+
+
+
font-class 引用
+
+
+
font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。
+
与 Unicode 使用方式相比,具有如下特点:
+
+ - 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
+ - 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
+
+
使用步骤如下:
+
第一步:引入项目下面生成的 fontclass 代码:
+
<link rel="stylesheet" href="./iconfont.css">
+
+
第二步:挑选相应图标并获取类名,应用于页面:
+
<span class="iconfont el-ico-alixxx"></span>
+
+
+ "
+ iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。
+
+
+
+
+
+
+
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/icon/iconfont.css b/src/assets/icon/iconfont.css
new file mode 100644
index 0000000..0299fe8
--- /dev/null
+++ b/src/assets/icon/iconfont.css
@@ -0,0 +1,128 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 4146468 */
+ src: url('iconfont.woff2?t=1688142699712') format('woff2'),
+ url('iconfont.woff?t=1688142699712') format('woff'),
+ url('iconfont.ttf?t=1688142699712') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+[class^="el-ico-ali"], [class*=" el-ico-ali"]/*这里有空格*/
+
+{
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.el-ico-alirust:before {
+ content: "\ec1c";
+}
+
+.el-ico-alioutline-java-script:before {
+ content: "\e704";
+}
+
+.el-ico-alitushu:before {
+ content: "\e600";
+}
+
+.el-ico-alilinux:before {
+ content: "\eb39";
+}
+
+.el-ico-aliyouxiyouxiji:before {
+ content: "\e61e";
+}
+
+.el-ico-alijihe:before {
+ content: "\e6a5";
+}
+
+.el-ico-aliweb:before {
+ content: "\e6c8";
+}
+
+.el-ico-alianzhuo:before {
+ content: "\e64d";
+}
+
+.el-ico-aliceshi:before {
+ content: "\e6da";
+}
+
+.el-ico-aligongju:before {
+ content: "\e607";
+}
+
+.el-ico-aliwuguan:before {
+ content: "\ec5f";
+}
+
+.el-ico-alibug:before {
+ content: "\ec63";
+}
+
+.el-ico-alicaishichang-:before {
+ content: "\e62b";
+}
+
+.el-ico-alizhuomianyingyongshezhi:before {
+ content: "\e603";
+}
+
+.el-ico-alianquan:before {
+ content: "\e8ab";
+}
+
+.el-ico-alijava:before {
+ content: "\e639";
+}
+
+.el-ico-alidaima:before {
+ content: "\e657";
+}
+
+.el-ico-alikotlin:before {
+ content: "\ebed";
+}
+
+.el-ico-aliswift:before {
+ content: "\ecd2";
+}
+
+.el-ico-alitypescript:before {
+ content: "\ecef";
+}
+
+.el-ico-alisuanfa2:before {
+ content: "\e76e";
+}
+
+.el-ico-alidatabase-full:before {
+ content: "\e940";
+}
+
+.el-ico-aliCyuyan:before {
+ content: "\e61a";
+}
+
+.el-ico-alicyuyan:before {
+ content: "\e61b";
+}
+
+.el-ico-aliGoyuyan:before {
+ content: "\e61c";
+}
+
+.el-ico-aliPython:before {
+ content: "\e891";
+}
+
diff --git a/src/assets/icon/iconfont.js b/src/assets/icon/iconfont.js
new file mode 100644
index 0000000..5980dc6
--- /dev/null
+++ b/src/assets/icon/iconfont.js
@@ -0,0 +1 @@
+window._iconfont_svg_string_4146468='',function(a){var l=(l=document.getElementsByTagName("script"))[l.length-1],c=l.getAttribute("data-injectcss"),l=l.getAttribute("data-disable-injectsvg");if(!l){var t,h,i,o,e,z=function(l,c){c.parentNode.insertBefore(l,c)};if(c&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(l){console&&console.log(l)}}t=function(){var l,c=document.createElement("div");c.innerHTML=a._iconfont_svg_string_4146468,(c=c.getElementsByTagName("svg")[0])&&(c.setAttribute("aria-hidden","true"),c.style.position="absolute",c.style.width=0,c.style.height=0,c.style.overflow="hidden",c=c,(l=document.body).firstChild?z(c,l.firstChild):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(t,0):(h=function(){document.removeEventListener("DOMContentLoaded",h,!1),t()},document.addEventListener("DOMContentLoaded",h,!1)):document.attachEvent&&(i=t,o=a.document,e=!1,m(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,s())})}function s(){e||(e=!0,i())}function m(){try{o.documentElement.doScroll("left")}catch(l){return void setTimeout(m,50)}s()}}(window);
\ No newline at end of file
diff --git a/src/assets/icon/iconfont.json b/src/assets/icon/iconfont.json
new file mode 100644
index 0000000..43af4b8
--- /dev/null
+++ b/src/assets/icon/iconfont.json
@@ -0,0 +1,191 @@
+{
+ "id": "4146468",
+ "name": "Element_Ico",
+ "font_family": "iconfont",
+ "css_prefix_text": "el-ico-ali",
+ "description": "",
+ "glyphs": [
+ {
+ "icon_id": "27365258",
+ "name": "rust",
+ "font_class": "rust",
+ "unicode": "ec1c",
+ "unicode_decimal": 60444
+ },
+ {
+ "icon_id": "29371899",
+ "name": "outline-java-script",
+ "font_class": "outline-java-script",
+ "unicode": "e704",
+ "unicode_decimal": 59140
+ },
+ {
+ "icon_id": "1090",
+ "name": "图书",
+ "font_class": "tushu",
+ "unicode": "e600",
+ "unicode_decimal": 58880
+ },
+ {
+ "icon_id": "348601",
+ "name": "linux",
+ "font_class": "linux",
+ "unicode": "eb39",
+ "unicode_decimal": 60217
+ },
+ {
+ "icon_id": "397919",
+ "name": "游戏,游戏机",
+ "font_class": "youxiyouxiji",
+ "unicode": "e61e",
+ "unicode_decimal": 58910
+ },
+ {
+ "icon_id": "1788967",
+ "name": "集合",
+ "font_class": "jihe",
+ "unicode": "e6a5",
+ "unicode_decimal": 59045
+ },
+ {
+ "icon_id": "2142892",
+ "name": "web",
+ "font_class": "web",
+ "unicode": "e6c8",
+ "unicode_decimal": 59080
+ },
+ {
+ "icon_id": "2325971",
+ "name": "安卓",
+ "font_class": "anzhuo",
+ "unicode": "e64d",
+ "unicode_decimal": 58957
+ },
+ {
+ "icon_id": "2334449",
+ "name": "符号-测试",
+ "font_class": "ceshi",
+ "unicode": "e6da",
+ "unicode_decimal": 59098
+ },
+ {
+ "icon_id": "2571131",
+ "name": "工具",
+ "font_class": "gongju",
+ "unicode": "e607",
+ "unicode_decimal": 58887
+ },
+ {
+ "icon_id": "5961321",
+ "name": "AI",
+ "font_class": "wuguan",
+ "unicode": "ec5f",
+ "unicode_decimal": 60511
+ },
+ {
+ "icon_id": "5961325",
+ "name": "bug",
+ "font_class": "bug",
+ "unicode": "ec63",
+ "unicode_decimal": 60515
+ },
+ {
+ "icon_id": "8157644",
+ "name": "教程",
+ "font_class": "caishichang-",
+ "unicode": "e62b",
+ "unicode_decimal": 58923
+ },
+ {
+ "icon_id": "10359993",
+ "name": "桌面应用设置",
+ "font_class": "zhuomianyingyongshezhi",
+ "unicode": "e603",
+ "unicode_decimal": 58883
+ },
+ {
+ "icon_id": "11372643",
+ "name": "安全",
+ "font_class": "anquan",
+ "unicode": "e8ab",
+ "unicode_decimal": 59563
+ },
+ {
+ "icon_id": "12600749",
+ "name": "java",
+ "font_class": "java",
+ "unicode": "e639",
+ "unicode_decimal": 58937
+ },
+ {
+ "icon_id": "13638701",
+ "name": "代码",
+ "font_class": "daima",
+ "unicode": "e657",
+ "unicode_decimal": 58967
+ },
+ {
+ "icon_id": "15378527",
+ "name": "kotlin",
+ "font_class": "kotlin",
+ "unicode": "ebed",
+ "unicode_decimal": 60397
+ },
+ {
+ "icon_id": "15378859",
+ "name": "swift",
+ "font_class": "swift",
+ "unicode": "ecd2",
+ "unicode_decimal": 60626
+ },
+ {
+ "icon_id": "15378906",
+ "name": "typescript",
+ "font_class": "typescript",
+ "unicode": "ecef",
+ "unicode_decimal": 60655
+ },
+ {
+ "icon_id": "16931038",
+ "name": "算法",
+ "font_class": "suanfa2",
+ "unicode": "e76e",
+ "unicode_decimal": 59246
+ },
+ {
+ "icon_id": "18169760",
+ "name": "数据库,数据",
+ "font_class": "database-full",
+ "unicode": "e940",
+ "unicode_decimal": 59712
+ },
+ {
+ "icon_id": "20784472",
+ "name": "C#语言",
+ "font_class": "Cyuyan",
+ "unicode": "e61a",
+ "unicode_decimal": 58906
+ },
+ {
+ "icon_id": "20784474",
+ "name": "c++语言",
+ "font_class": "cyuyan",
+ "unicode": "e61b",
+ "unicode_decimal": 58907
+ },
+ {
+ "icon_id": "20784482",
+ "name": "Go语言",
+ "font_class": "Goyuyan",
+ "unicode": "e61c",
+ "unicode_decimal": 58908
+ },
+ {
+ "icon_id": "20834553",
+ "name": "Python",
+ "font_class": "Python",
+ "unicode": "e891",
+ "unicode_decimal": 59537
+ }
+ ]
+}
diff --git a/src/assets/icon/iconfont.ttf b/src/assets/icon/iconfont.ttf
new file mode 100644
index 0000000..3e6fe8c
Binary files /dev/null and b/src/assets/icon/iconfont.ttf differ
diff --git a/src/assets/icon/iconfont.woff b/src/assets/icon/iconfont.woff
new file mode 100644
index 0000000..04e7e3f
Binary files /dev/null and b/src/assets/icon/iconfont.woff differ
diff --git a/src/assets/icon/iconfont.woff2 b/src/assets/icon/iconfont.woff2
new file mode 100644
index 0000000..30c8794
Binary files /dev/null and b/src/assets/icon/iconfont.woff2 differ
diff --git a/src/components/Home/Home.vue b/src/components/Home/Home.vue
index b6f4430..3b3766a 100644
--- a/src/components/Home/Home.vue
+++ b/src/components/Home/Home.vue
@@ -4,14 +4,19 @@
style=" height: calc(80vh - 60px); display: flex;flex-direction: row;justify-content: flex-end;margin-top: 5vh;">
+ style="position: fixed;width: 10vw;box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1)">
热门标签
-
- {{ '标签 ' + o }}
-
+
+
+
+
+
+
+
+
@@ -31,8 +36,9 @@
v-infinite-scroll="load"
infinite-scroll-disabled="disabled">
+ style="display: flex;flex-direction: column;margin-left: -80px;" >
+
加载中...
@@ -47,8 +53,9 @@
v-infinite-scroll="load"
infinite-scroll-disabled="disabled">
+ style="display: flex;flex-direction: column;margin-left: -80px">
+
加载中...
@@ -209,6 +216,7 @@ export default {
data() {
return {
activeName: 'first',
+ activeIndex:'综合',
projectLists:[],
count: 10,
loading: false,
@@ -237,6 +245,28 @@ export default {
password: [{required: true, message: "请输入密码", trigger: "blur"}],
code: [{required: true, message: "请输入验证码", trigger: "blur"}],
},
+ // tags:['
综 合',
+ // '
C++',
+ // '
python',
+ // `
java`,
+ // `
C`,
+ // `
javaScript`,
+ // `
教 程`,
+ // ],
+ tags:[
+ {
+ icon: `
综 合`,
+ name:"综合"
+ },
+ {
+ icon: `
C++`,
+ name:"C++"
+ },
+ {
+ icon: `
python`,
+ name:"python"
+ },
+ ],
};
},
@@ -244,15 +274,33 @@ export default {
this.account(); //获取cookie的方法
this.ProjectLists();
},
+ created() {
+ if (sessionStorage.getItem('current_name') == null){
+ this.activeIndex = '综合'
+ }else{
+ this.activeIndex = sessionStorage.getItem('current_name')
+ }
+ },
+ beforeRouteLeave(to, from, next){
+ // 在离开此路由之后清除保存的状态(我的需求是只需要在当前tab页操作刷新保存状态,路由切换之后不需要保存)
+ // 根据个人需求决定清除的时间
+ sessionStorage.removeItem('currentTab')
+ next()
+ },
computed: {
noMore() {
- return this.count >= 20
+ return this.count >= 10
},
disabled() {
return this.loading || this.noMore
}
},
+
methods: {
+ handleClick(tab, event) {
+ // location.search:获取路由上的参数
+ sessionStorage.setItem('current_name', this.activeIndex)
+ },
openLogin() {
this.loginDialogVisible = true;
},
@@ -470,8 +518,7 @@ export default {
if (tab.name == "second") {
}
- }
-
+ },
}
}
@@ -481,4 +528,26 @@ export default {
.el-scrollbar__wrap {
overflow-x: hidden;
}
+/*去掉切换时el-tab-pane底部的蓝色下划线*/
+.el-tabs__active-bar {
+ background-color: transparent !important;
+}
+
+/*去掉tabs底部的下划线*/
+.el-tabs__nav-wrap::after {
+ position: static !important;
+}
+.el-tabs__item:hover{
+ background-color: #eeeeee;
+}
+.el-tabs__item{
+ text-align: center;
+}
+.el-tabs__nav{
+ /*margin-left: 7px;*/
+}
+.el-tabs__item.is-active {
+ background-color: #eeeeee;
+}
+
\ No newline at end of file
diff --git a/src/components/ProjectList.vue b/src/components/ProjectList.vue
index 8b31ebf..2c0e7e6 100644
--- a/src/components/ProjectList.vue
+++ b/src/components/ProjectList.vue
@@ -18,7 +18,7 @@
-
C++ •
+
{{projectLists.categoryName}} •
{{ formatTime }}
@@ -54,7 +54,7 @@ export default {
},
// 截取文章内容的前 35 个字,并加上省略号
brief: function() {
- return this.projectLists.projectDescription.substr(0, 35) + '...';
+ return this.projectLists.projectDescription.substr(0, 33) + '...';
}
}
}
diff --git a/src/main.js b/src/main.js
index 1b784aa..3f8dba4 100644
--- a/src/main.js
+++ b/src/main.js
@@ -4,6 +4,7 @@ import router from './router'
import Element from 'element-ui'
import './assets/styles/element-variables.scss'
import axios from "axios";
+import './assets/icon/iconfont.css'
axios.defaults.withCredentials=true;
Vue.config.productionTip = false