This commit is contained in:
zhuoda
2020-01-11 09:10:29 +08:00
parent e55e1b2f33
commit 215556f73a
608 changed files with 7 additions and 3 deletions

View File

@@ -0,0 +1,31 @@
<template>
<div id="app">
<router-view />
</div>
</template>
<script>
export default {
name: 'App',
created() {}
};
</script>
<style lang="less">
@import './main.less';
.size {
width: 100%;
height: 100%;
}
html,
body {
.size;
overflow: hidden;
margin: 0;
padding: 0;
}
#app {
.size;
}
</style>

View File

@@ -0,0 +1,15 @@
import { postAxios, getAxios } from '@/lib/http';
export const dataScopeApi = {
// 批量设置某角色数据范围
updateDataScope: data => {
return postAxios('/dataScope/batchSet', data);
},
// 数据权限列表
getDataScopeList: () => {
return getAxios('/dataScope/list');
},
// 获取某角色所设置的数据范围
getDataScopeByRoleId: roleId => {
return getAxios('/dataScope/listByRole/' + roleId);
}
};

View File

@@ -0,0 +1,47 @@
import { postAxios, getAxios } from '@/lib/http';
export const departmentApi = {
// 加载所有的部门子部门
getLoadDepartment: () => {
return getAxios('/department/list');
},
// 查询部门及员工列表
getDepartmentEmployeeList: () => {
return getAxios('/department/listEmployee');
},
// 添加部门
addDepartment: (data) => {
return postAxios('/department/add', data);
},
// 编辑部门
updateDepartment: (data) => {
return postAxios('/department/update', data);
},
// 删除部门
deleteDepartment: (data) => {
return postAxios('/department/delete/' + data);
},
// 根据id获取部门信息
getDepartmentById: (data) => {
return getAxios('/department/query/' + data);
},
// 查询部门列表
getDepartmentAll: () => {
return getAxios('/department/listAll');
},
// 根据部门名称获取员工列表
getListEmployeeByDepartmentName: (departmentName) => {
return getAxios('/department/listEmployeeByDepartmentName?departmentName=' + departmentName);
},
// 上下移动
upOrDown: (departmentId, swapId) => {
return getAxios('/department/upOrDown/' + departmentId + '/' + swapId);
},
// 升级
upGrade: (departmentId) => {
return getAxios('/department/upgrade/' + departmentId);
},
// 降级
downGrade: (departmentId, preId) => {
return getAxios('/department/downgrade/' + departmentId + '/' + preId);
}
};

View File

@@ -0,0 +1,27 @@
import { postAxios, getAxios } from '@/lib/http';
export const emailApi = {
// 新增邮件
addEmail: (data) => {
return postAxios('/email/add', data);
},
// 分页查询邮件
getEmail: (data) => {
return postAxios('/email/page/query', data);
},
// 删除邮件
deleteEmail: (id) => {
return getAxios('/email/delete/' + id);
},
// 查看邮件详情
getEmailDetails: (id) => {
return getAxios('/email/detail/' + id);
},
// 发送邮件
sendEmail: (id) => {
return getAxios('/email/send/' + id);
},
// 更新编辑邮件
updateEmail: (data) => {
return postAxios('/email/update', data);
}
};

View File

@@ -0,0 +1,43 @@
import { postAxios, getAxios } from '@/lib/http';
export const employeeApi = {
// 员工管理查询
getEmployeeList: (data) => {
return postAxios('/employee/query', data);
},
// 添加员工
addEmployee: (data) => {
return postAxios('/employee/add', data);
},
// 更新员工信息
updateEmployee: (data) => {
return postAxios('/employee/update', data);
},
// 禁用启用单个员工
updateStatus: (employeeId, status) => {
return getAxios('/employee/updateStatus/' + employeeId + '/' + status);
},
// 批量禁用
updateStatusBatch: (data) => {
return postAxios('/employee/batchUpdateStatus', data);
},
// 单个员工角色授权
updateRoles: (data) => {
return postAxios('/employee/updateRoles', data);
},
// 修改密码
updatePwd: (data) => {
return postAxios('/employee/updatePwd', data);
},
// 重置密码
resetPassword: (employeeId) => {
return getAxios('/employee/resetPasswd/' + employeeId);
},
// 通过部门id获取当前部门的人员&没有部门的人
getListEmployeeByDeptId: (departmentId) => {
return getAxios('/employee/listEmployeeByDeptId/' + departmentId);
},
// 删除员工
deleteEmployee: (employeeId) => {
return postAxios('/employee/delete/' + employeeId);
}
};

View File

@@ -0,0 +1,28 @@
import { postAxios, getAxios } from '@/lib/http';
import config from '@/config';
const baseUrl = config.baseUrl.apiUrl;
export const fileApi = {
// 系统文件查询
queryFileList: data => {
return postAxios('/api/file/query', data);
},
// 系统文件下载通过接口
downLoadFile: id => {
return getAxios('/api/file/downLoad?id=' + id);
},
// 文件上传
fileUpload: (type, data) => {
// return postAxios('/api/file/localUpload/' + type, data);
return this.fileUploadUrl;
},
// 文件保存
addFile: data => {
return postAxios('/api/file/save', data);
},
// 上传路径:本地
fileUploadLocalUrl: baseUrl + '/api/file/localUpload/',
// 上传路径阿里OSS
fileUploadAliUrl: baseUrl + '/api/file/aliYunUpload/',
// 上传路径:七牛
fileUploadQiNiuUrl: baseUrl + '/api/file/qiNiuUpload/'
};

View File

@@ -0,0 +1,7 @@
import { postAxios, getAxios } from '@/lib/http';
export const heartBeatApi = {
// 分页查询所有岗位
queryHeartBeatRecord: data => {
return postAxios('/heartBeat/query', data);
}
};

View File

@@ -0,0 +1,19 @@
import { postAxios, getAxios } from '@/lib/http';
export const loginApi = {
// 登录
login: data => {
return postAxios('/session/login', data);
},
// 根据token获取session
getSession: () => {
return getAxios('/session/get');
},
// 登出
logout: (token) => {
return getAxios(`/session/logOut?x-access-token=${token}`);
},
// 获取验证码
getVerificationCode: () => {
return getAxios('/session/verificationCode');
}
};

View File

@@ -0,0 +1,43 @@
// 任务调度API
import {
postAxios,
getAxios
} from '@/lib/http';
export const noticeApi = {
// 查询消息列表
getNoticeList: (data) => {
return postAxios('/notice/page/query', data);
},
// 未读消息列表
getNoticeUnreadList: (data) => {
return postAxios('/notice/unread/page/query', data);
},
// 查询个人消息列表
getPersonNoticeList: (data) => {
return postAxios('/notice/receive/page/query', data);
},
// 添加消息
addNotice: (data) => {
return postAxios('/notice/add', data);
},
// 标记已读
addNoticeRecord: (id) => {
return getAxios(`/notice/read/${id}`);
},
// 修改消息
updateNotice: (data) => {
return postAxios('/notice/update', data);
},
// 删除消息
deleteNotice: (id) => {
return getAxios(`/notice/delete/${id}`);
},
// 获取通知详情
getNoticeDetail: (id) => {
return getAxios(`/notice/detail/${id}`);
},
// 发送消息
sendNotice: (id) => {
return getAxios(`/notice/send/${id}`);
}
};

View File

@@ -0,0 +1,12 @@
// 任务调度API
import {
postAxios,
getAxios
} from '@/lib/http';
export const onlineUserApi = {
// 查询在线员工列表
getOnlineUserList: (data) => {
return postAxios('/userOnLine/query', data);
}
};

View File

@@ -0,0 +1,19 @@
import { postAxios, getAxios } from '@/lib/http';
export const positionApi = {
// 分页查询所有岗位
getPositionListPage: data => {
return postAxios('/position/getListPage', data);
},
// 更新岗位
updatePosition: data => {
return postAxios('/position/update', data);
},
// 添加岗位
addPosition: data => {
return postAxios('/position/add', data);
},
// 根据ID删除岗位
deletePosition: id => {
return getAxios('/position/remove/' + id);
}
};

View File

@@ -0,0 +1,32 @@
import { postAxios, getAxios } from '@/lib/http';
export const privilegeApi = {
// 获取所有请求路径
getAllUrl: data => {
return getAxios('/privilege/getAllUrl');
},
// 获取全部菜单列表
getMenuList: data => {
return postAxios('/privilege/menu/queryAll');
},
// 菜单批量保存
addBatchSaveMenu: data => {
return postAxios('/privilege/menu/batchSaveMenu', data);
},
// 查询菜单功能点
queryPrivilegeFunctionList: menuKey => {
return postAxios('/privilege/function/query/' + menuKey);
},
// 保存更新功能点
addOrUpdate: data => {
return postAxios('/privilege/function/saveOrUpdate', data);
},
// 更新角色权限
getRolePower: data => {
return postAxios('/privilege/updateRolePrivilege', data);
},
// 获取角色可选的功能权限
getListPrivilegeByRoleId: id => {
return getAxios('/privilege/listPrivilegeByRoleId/' + id);
}
};

View File

@@ -0,0 +1,58 @@
import { postAxios, getAxios } from '@/lib/http';
export const roleApi = {
// 添加角色
addRole: (remark, roleName) => {
const data = {
remark: remark,
roleName: roleName
};
return postAxios('/role/add', data);
},
// 删除角色
deleteRole: id => {
return getAxios('/role/delete/' + id);
},
// 修改角色
updateRole: (id, remark, roleName) => {
const data = {
id: id,
remark: remark,
roleName: roleName
};
return postAxios('/role/update', data);
},
// 获取角色数据
getRoleDetail: id => {
return getAxios('/role/get/' + id);
},
// 加载角色列表
getAllRole: () => {
return getAxios('role/getAll');
},
// 根据角色名字获取对应成员列表
getListEmployee: data => {
return postAxios('/role/listEmployee', data);
},
// 根据角色id获取角色成员-员工列表
getAllListEmployee: id => {
return getAxios('/role/listAllEmployee/' + id);
},
// 从角色成员列表中移除员工
deleteEmployeeRole: param => {
return getAxios('/role/removeEmployee?employeeId=' + param.employeeId + '&roleId=' + param.roleId);
},
// 从角色成员列表中批量移除员工
deleteEmployeeList: data => {
return postAxios('/role/removeEmployeeList', data);
},
// 添加角色成员方法
addEmployeeListRole: data => {
return postAxios('/role/addEmployeeList', data);
},
// 通过员工id获取所有角色以及员工具有的角色
getRoles: id => {
return getAxios('/role/getRoles/' + id);
},
};

View File

@@ -0,0 +1,20 @@
// smartReloadAPI
import {
postAxios,
getAxios
} from '@/lib/http';
export const smartReloadApi = {
// 查询所有
getSmartReloadList: () => {
return getAxios('/smartReload/all');
},
// 更新单条数据
updateSmartReloadData: (data) => {
return postAxios('/smartReload/update', data);
},
// 获取执行结果
getSmartReloadResult: (tag) => {
return getAxios(`/smartReload/result/${tag}`);
}
};

View File

@@ -0,0 +1,31 @@
// 系统参数API
import {
postAxios,
getAxios
} from '@/lib/http';
export const systemConfigApi = {
// 查询系统参数列表
getSystemConfigList: (data) => {
return postAxios('/systemConfig/getListPage', data);
},
// 添加系统参数
addSystemConfig: (data) => {
return postAxios('/systemConfig/add', data);
},
// 更新单条系统参数
updateSystemConfig: (data) => {
return postAxios('/systemConfig/update', data);
},
// 通过key获取对应的信息
getConfigListByKey: (key) => {
return getAxios(`/systemConfig/selectByKey?configKey=${key}`);
},
// 根据分组查询所有系统配置
getListByGroup: (group) => {
return getAxios(`/systemConfig/getListByGroup?group=${group}`);
},
// 获取系统版本信息
getCodeVersion: () => {
return getAxios('/codeVersion');
}
};

View File

@@ -0,0 +1,35 @@
// 任务调度API
import {
postAxios,
getAxios
} from '@/lib/http';
export const taskApi = {
// 查询任务列表
getTaskList: (data) => {
return postAxios('/quartz/task/query', data);
},
// 添加或更新任务
addOrUpdateTask: (data) => {
return postAxios('/quartz/task/saveOrUpdate', data);
},
// 查询任务日志
getTaskLog: (data) => {
return postAxios('/quartz/task/queryLog', data);
},
// 暂停任务
updateTaskPause: (taskId) => {
return getAxios(`/quartz/task/pause/${taskId}`);
},
// 运行任务
updateTaskRun: (taskId) => {
return getAxios(`/quartz/task/run/${taskId}`);
},
// 恢复任务
updateTaskResume: (taskId) => {
return getAxios(`/quartz/task/resume/${taskId}`);
},
// 删除任务
deleteTasks: (taskId) => {
return getAxios(`/quartz/task/delete/${taskId}`);
}
};

View File

@@ -0,0 +1,28 @@
// 用户日志API
import {
postAxios,
getAxios
} from '@/lib/http.js';
export const userLogApi = {
// 查询用户操作日志
getUserOperateLogPage: (data) => {
return postAxios('/userOperateLog/page/query', data);
},
// 用户操作日志详情
detailUserOperateLog: (data) => {
return getAxios('/userOperateLog/detail/' + data);
},
// 删除用户操作日志
deleteUserOperateLog: (data) => {
return getAxios('/userOperateLog/delete/' + data);
},
// 查询用户登录日志
getUserLoginLogPage: (data) => {
return postAxios('/userLoginLog/page/query', data);
},
// 删除用户登录日志
deleteUserLoginLog: (data) => {
return getAxios('/userLoginLog/delete/' + data);
}
};

View File

@@ -0,0 +1,20 @@
import { postAxios, getAxios } from '@/lib/http';
export const login = ({ userName, password }) => {
const data = {
userName,
password
};
return postAxios('login', data);
};
export const getUserInfo = (token) => {
let params = {
token
};
return getAxios('get_info', params);
};
export const logout = (token) => {
return postAxios('logout', {});
};

View File

@@ -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;
}

View File

@@ -0,0 +1,722 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont Demo</title>
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
<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>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</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=1299963" 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">&#xe608;</span>
<div class="name">多级菜单</div>
<div class="code-name">&amp;#xe608;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe609;</span>
<div class="name">导航展开</div>
<div class="code-name">&amp;#xe609;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60a;</span>
<div class="name">导航折叠</div>
<div class="code-name">&amp;#xe60a;</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">&#xe60c;</span>
<div class="name">向左箭头</div>
<div class="code-name">&amp;#xe60c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60d;</span>
<div class="name">向右箭头</div>
<div class="code-name">&amp;#xe60d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60e;</span>
<div class="name">关闭按钮</div>
<div class="code-name">&amp;#xe60e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60f;</span>
<div class="name">数据上传</div>
<div class="code-name">&amp;#xe60f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe610;</span>
<div class="name">系统监控</div>
<div class="code-name">&amp;#xe610;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe611;</span>
<div class="name">邮件管理</div>
<div class="code-name">&amp;#xe611;</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">&#xe613;</span>
<div class="name">人员管理</div>
<div class="code-name">&amp;#xe613;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe614;</span>
<div class="name">向下拉</div>
<div class="code-name">&amp;#xe614;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe615;</span>
<div class="name">excel导入导出</div>
<div class="code-name">&amp;#xe615;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe616;</span>
<div class="name">向下箭头</div>
<div class="code-name">&amp;#xe616;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe617;</span>
<div class="name">首页</div>
<div class="code-name">&amp;#xe617;</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">&#xe619;</span>
<div class="name">消息</div>
<div class="code-name">&amp;#xe619;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61a;</span>
<div class="name">全屏</div>
<div class="code-name">&amp;#xe61a;</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">&#xe61e;</span>
<div class="name">news</div>
<div class="code-name">&amp;#xe61e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe622;</span>
<div class="name">定时任务</div>
<div class="code-name">&amp;#xe622;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe623;</span>
<div class="name">动态加载</div>
<div class="code-name">&amp;#xe623;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe624;</span>
<div class="name">接口文档</div>
<div class="code-name">&amp;#xe624;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用如果有需求建议使用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.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff2') format('woff2'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#iconfont') format('svg');
}
</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 iconduojicaidan"></span>
<div class="name">
多级菜单
</div>
<div class="code-name">.iconduojicaidan
</div>
</li>
<li class="dib">
<span class="icon iconfont icondaohangzhankai"></span>
<div class="name">
导航展开
</div>
<div class="code-name">.icondaohangzhankai
</div>
</li>
<li class="dib">
<span class="icon iconfont icondaohangzhedie"></span>
<div class="name">
导航折叠
</div>
<div class="code-name">.icondaohangzhedie
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangshangjiantou"></span>
<div class="name">
向上箭头
</div>
<div class="code-name">.iconxiangshangjiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangzuojiantou"></span>
<div class="name">
向左箭头
</div>
<div class="code-name">.iconxiangzuojiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangyoujiantou"></span>
<div class="name">
向右箭头
</div>
<div class="code-name">.iconxiangyoujiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconguanbianniu"></span>
<div class="name">
关闭按钮
</div>
<div class="code-name">.iconguanbianniu
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshujushangchuan"></span>
<div class="name">
数据上传
</div>
<div class="code-name">.iconshujushangchuan
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxitongjiankong"></span>
<div class="name">
系统监控
</div>
<div class="code-name">.iconxitongjiankong
</div>
</li>
<li class="dib">
<span class="icon iconfont iconyoujianguanli"></span>
<div class="name">
邮件管理
</div>
<div class="code-name">.iconyoujianguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiaoping"></span>
<div class="name">
小屏
</div>
<div class="code-name">.iconxiaoping
</div>
</li>
<li class="dib">
<span class="icon iconfont iconrenyuanguanli"></span>
<div class="name">
人员管理
</div>
<div class="code-name">.iconrenyuanguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangxiala"></span>
<div class="name">
向下拉
</div>
<div class="code-name">.iconxiangxiala
</div>
</li>
<li class="dib">
<span class="icon iconfont iconexceldaorudaochu"></span>
<div class="name">
excel导入导出
</div>
<div class="code-name">.iconexceldaorudaochu
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangxiajiantou"></span>
<div class="name">
向下箭头
</div>
<div class="code-name">.iconxiangxiajiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshouye"></span>
<div class="name">
首页
</div>
<div class="code-name">.iconshouye
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxitongshezhi"></span>
<div class="name">
系统设置
</div>
<div class="code-name">.iconxitongshezhi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiaoxi"></span>
<div class="name">
消息
</div>
<div class="code-name">.iconxiaoxi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconquanping"></span>
<div class="name">
全屏
</div>
<div class="code-name">.iconquanping
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzujian"></span>
<div class="name">
组件
</div>
<div class="code-name">.iconzujian
</div>
</li>
<li class="dib">
<span class="icon iconfont iconnews"></span>
<div class="name">
news
</div>
<div class="code-name">.iconnews
</div>
</li>
<li class="dib">
<span class="icon iconfont icondingshirenwu"></span>
<div class="name">
定时任务
</div>
<div class="code-name">.icondingshirenwu
</div>
</li>
<li class="dib">
<span class="icon iconfont icondongtaijiazai"></span>
<div class="name">
动态加载
</div>
<div class="code-name">.icondongtaijiazai
</div>
</li>
<li class="dib">
<span class="icon iconfont iconjiekouwendang"></span>
<div class="name">
接口文档
</div>
<div class="code-name">.iconjiekouwendang
</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>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</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 iconxxx"&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="#iconduojicaidan"></use>
</svg>
<div class="name">多级菜单</div>
<div class="code-name">#iconduojicaidan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondaohangzhankai"></use>
</svg>
<div class="name">导航展开</div>
<div class="code-name">#icondaohangzhankai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondaohangzhedie"></use>
</svg>
<div class="name">导航折叠</div>
<div class="code-name">#icondaohangzhedie</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangshangjiantou"></use>
</svg>
<div class="name">向上箭头</div>
<div class="code-name">#iconxiangshangjiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangzuojiantou"></use>
</svg>
<div class="name">向左箭头</div>
<div class="code-name">#iconxiangzuojiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangyoujiantou"></use>
</svg>
<div class="name">向右箭头</div>
<div class="code-name">#iconxiangyoujiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconguanbianniu"></use>
</svg>
<div class="name">关闭按钮</div>
<div class="code-name">#iconguanbianniu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshujushangchuan"></use>
</svg>
<div class="name">数据上传</div>
<div class="code-name">#iconshujushangchuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxitongjiankong"></use>
</svg>
<div class="name">系统监控</div>
<div class="code-name">#iconxitongjiankong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconyoujianguanli"></use>
</svg>
<div class="name">邮件管理</div>
<div class="code-name">#iconyoujianguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiaoping"></use>
</svg>
<div class="name">小屏</div>
<div class="code-name">#iconxiaoping</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconrenyuanguanli"></use>
</svg>
<div class="name">人员管理</div>
<div class="code-name">#iconrenyuanguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangxiala"></use>
</svg>
<div class="name">向下拉</div>
<div class="code-name">#iconxiangxiala</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconexceldaorudaochu"></use>
</svg>
<div class="name">excel导入导出</div>
<div class="code-name">#iconexceldaorudaochu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangxiajiantou"></use>
</svg>
<div class="name">向下箭头</div>
<div class="code-name">#iconxiangxiajiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshouye"></use>
</svg>
<div class="name">首页</div>
<div class="code-name">#iconshouye</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxitongshezhi"></use>
</svg>
<div class="name">系统设置</div>
<div class="code-name">#iconxitongshezhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiaoxi"></use>
</svg>
<div class="name">消息</div>
<div class="code-name">#iconxiaoxi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconquanping"></use>
</svg>
<div class="name">全屏</div>
<div class="code-name">#iconquanping</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzujian"></use>
</svg>
<div class="name">组件</div>
<div class="code-name">#iconzujian</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconnews"></use>
</svg>
<div class="name">news</div>
<div class="code-name">#iconnews</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondingshirenwu"></use>
</svg>
<div class="name">定时任务</div>
<div class="code-name">#icondingshirenwu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondongtaijiazai"></use>
</svg>
<div class="name">动态加载</div>
<div class="code-name">#icondongtaijiazai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconjiekouwendang"></use>
</svg>
<div class="name">接口文档</div>
<div class="code-name">#iconjiekouwendang</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>

View File

@@ -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;
}

View File

@@ -0,0 +1,722 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>IconFont Demo</title>
<link rel="shortcut icon" href="https://gtms04.alicdn.com/tps/i4/TB1_oz6GVXXXXaFXpXXJDFnIXXX-64-64.ico" type="image/x-icon"/>
<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>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">&#xe86b;</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=1299963" 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">&#xe608;</span>
<div class="name">多级菜单</div>
<div class="code-name">&amp;#xe608;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe609;</span>
<div class="name">导航展开</div>
<div class="code-name">&amp;#xe609;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60a;</span>
<div class="name">导航折叠</div>
<div class="code-name">&amp;#xe60a;</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">&#xe60c;</span>
<div class="name">向左箭头</div>
<div class="code-name">&amp;#xe60c;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60d;</span>
<div class="name">向右箭头</div>
<div class="code-name">&amp;#xe60d;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60e;</span>
<div class="name">关闭按钮</div>
<div class="code-name">&amp;#xe60e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe60f;</span>
<div class="name">数据上传</div>
<div class="code-name">&amp;#xe60f;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe610;</span>
<div class="name">系统监控</div>
<div class="code-name">&amp;#xe610;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe611;</span>
<div class="name">邮件管理</div>
<div class="code-name">&amp;#xe611;</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">&#xe613;</span>
<div class="name">人员管理</div>
<div class="code-name">&amp;#xe613;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe614;</span>
<div class="name">向下拉</div>
<div class="code-name">&amp;#xe614;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe615;</span>
<div class="name">excel导入导出</div>
<div class="code-name">&amp;#xe615;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe616;</span>
<div class="name">向下箭头</div>
<div class="code-name">&amp;#xe616;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe617;</span>
<div class="name">首页</div>
<div class="code-name">&amp;#xe617;</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">&#xe619;</span>
<div class="name">消息</div>
<div class="code-name">&amp;#xe619;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe61a;</span>
<div class="name">全屏</div>
<div class="code-name">&amp;#xe61a;</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">&#xe61e;</span>
<div class="name">news</div>
<div class="code-name">&amp;#xe61e;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe622;</span>
<div class="name">定时任务</div>
<div class="code-name">&amp;#xe622;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe623;</span>
<div class="name">动态加载</div>
<div class="code-name">&amp;#xe623;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe624;</span>
<div class="name">接口文档</div>
<div class="code-name">&amp;#xe624;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>兼容性最好,支持 IE6+,及所有现代浏览器。</li>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用如果有需求建议使用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.eot');
src: url('iconfont.eot?#iefix') format('embedded-opentype'),
url('iconfont.woff2') format('woff2'),
url('iconfont.woff') format('woff'),
url('iconfont.ttf') format('truetype'),
url('iconfont.svg#iconfont') format('svg');
}
</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 iconduojicaidan"></span>
<div class="name">
多级菜单
</div>
<div class="code-name">.iconduojicaidan
</div>
</li>
<li class="dib">
<span class="icon iconfont icondaohangzhankai"></span>
<div class="name">
导航展开
</div>
<div class="code-name">.icondaohangzhankai
</div>
</li>
<li class="dib">
<span class="icon iconfont icondaohangzhedie"></span>
<div class="name">
导航折叠
</div>
<div class="code-name">.icondaohangzhedie
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangshangjiantou"></span>
<div class="name">
向上箭头
</div>
<div class="code-name">.iconxiangshangjiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangzuojiantou"></span>
<div class="name">
向左箭头
</div>
<div class="code-name">.iconxiangzuojiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangyoujiantou"></span>
<div class="name">
向右箭头
</div>
<div class="code-name">.iconxiangyoujiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconguanbianniu"></span>
<div class="name">
关闭按钮
</div>
<div class="code-name">.iconguanbianniu
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshujushangchuan"></span>
<div class="name">
数据上传
</div>
<div class="code-name">.iconshujushangchuan
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxitongjiankong"></span>
<div class="name">
系统监控
</div>
<div class="code-name">.iconxitongjiankong
</div>
</li>
<li class="dib">
<span class="icon iconfont iconyoujianguanli"></span>
<div class="name">
邮件管理
</div>
<div class="code-name">.iconyoujianguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiaoping"></span>
<div class="name">
小屏
</div>
<div class="code-name">.iconxiaoping
</div>
</li>
<li class="dib">
<span class="icon iconfont iconrenyuanguanli"></span>
<div class="name">
人员管理
</div>
<div class="code-name">.iconrenyuanguanli
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangxiala"></span>
<div class="name">
向下拉
</div>
<div class="code-name">.iconxiangxiala
</div>
</li>
<li class="dib">
<span class="icon iconfont iconexceldaorudaochu"></span>
<div class="name">
excel导入导出
</div>
<div class="code-name">.iconexceldaorudaochu
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiangxiajiantou"></span>
<div class="name">
向下箭头
</div>
<div class="code-name">.iconxiangxiajiantou
</div>
</li>
<li class="dib">
<span class="icon iconfont iconshouye"></span>
<div class="name">
首页
</div>
<div class="code-name">.iconshouye
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxitongshezhi"></span>
<div class="name">
系统设置
</div>
<div class="code-name">.iconxitongshezhi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconxiaoxi"></span>
<div class="name">
消息
</div>
<div class="code-name">.iconxiaoxi
</div>
</li>
<li class="dib">
<span class="icon iconfont iconquanping"></span>
<div class="name">
全屏
</div>
<div class="code-name">.iconquanping
</div>
</li>
<li class="dib">
<span class="icon iconfont iconzujian"></span>
<div class="name">
组件
</div>
<div class="code-name">.iconzujian
</div>
</li>
<li class="dib">
<span class="icon iconfont iconnews"></span>
<div class="name">
news
</div>
<div class="code-name">.iconnews
</div>
</li>
<li class="dib">
<span class="icon iconfont icondingshirenwu"></span>
<div class="name">
定时任务
</div>
<div class="code-name">.icondingshirenwu
</div>
</li>
<li class="dib">
<span class="icon iconfont icondongtaijiazai"></span>
<div class="name">
动态加载
</div>
<div class="code-name">.icondongtaijiazai
</div>
</li>
<li class="dib">
<span class="icon iconfont iconjiekouwendang"></span>
<div class="name">
接口文档
</div>
<div class="code-name">.iconjiekouwendang
</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>兼容性良好,支持 IE8+,及所有现代浏览器。</li>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
<li>不过因为本质上还是使用的字体,所以多色图标还是不支持的。</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 iconxxx"&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="#iconduojicaidan"></use>
</svg>
<div class="name">多级菜单</div>
<div class="code-name">#iconduojicaidan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondaohangzhankai"></use>
</svg>
<div class="name">导航展开</div>
<div class="code-name">#icondaohangzhankai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondaohangzhedie"></use>
</svg>
<div class="name">导航折叠</div>
<div class="code-name">#icondaohangzhedie</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangshangjiantou"></use>
</svg>
<div class="name">向上箭头</div>
<div class="code-name">#iconxiangshangjiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangzuojiantou"></use>
</svg>
<div class="name">向左箭头</div>
<div class="code-name">#iconxiangzuojiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangyoujiantou"></use>
</svg>
<div class="name">向右箭头</div>
<div class="code-name">#iconxiangyoujiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconguanbianniu"></use>
</svg>
<div class="name">关闭按钮</div>
<div class="code-name">#iconguanbianniu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshujushangchuan"></use>
</svg>
<div class="name">数据上传</div>
<div class="code-name">#iconshujushangchuan</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxitongjiankong"></use>
</svg>
<div class="name">系统监控</div>
<div class="code-name">#iconxitongjiankong</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconyoujianguanli"></use>
</svg>
<div class="name">邮件管理</div>
<div class="code-name">#iconyoujianguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiaoping"></use>
</svg>
<div class="name">小屏</div>
<div class="code-name">#iconxiaoping</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconrenyuanguanli"></use>
</svg>
<div class="name">人员管理</div>
<div class="code-name">#iconrenyuanguanli</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangxiala"></use>
</svg>
<div class="name">向下拉</div>
<div class="code-name">#iconxiangxiala</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconexceldaorudaochu"></use>
</svg>
<div class="name">excel导入导出</div>
<div class="code-name">#iconexceldaorudaochu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiangxiajiantou"></use>
</svg>
<div class="name">向下箭头</div>
<div class="code-name">#iconxiangxiajiantou</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconshouye"></use>
</svg>
<div class="name">首页</div>
<div class="code-name">#iconshouye</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxitongshezhi"></use>
</svg>
<div class="name">系统设置</div>
<div class="code-name">#iconxitongshezhi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconxiaoxi"></use>
</svg>
<div class="name">消息</div>
<div class="code-name">#iconxiaoxi</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconquanping"></use>
</svg>
<div class="name">全屏</div>
<div class="code-name">#iconquanping</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconzujian"></use>
</svg>
<div class="name">组件</div>
<div class="code-name">#iconzujian</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconnews"></use>
</svg>
<div class="name">news</div>
<div class="code-name">#iconnews</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondingshirenwu"></use>
</svg>
<div class="name">定时任务</div>
<div class="code-name">#icondingshirenwu</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icondongtaijiazai"></use>
</svg>
<div class="name">动态加载</div>
<div class="code-name">#icondongtaijiazai</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#iconjiekouwendang"></use>
</svg>
<div class="name">接口文档</div>
<div class="code-name">#iconjiekouwendang</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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="duojicaidan" unicode="&#58888;" d="M81.5 651.76c0-13.06 5.39-26.07 14.61-35.3 9.29-9.29 22.3-14.68 35.43-14.68a50.638 50.638 0 0 1 35.3 14.61c9.29 9.29 14.68 22.3 14.68 35.36a50.626 50.626 0 0 1-14.55 35.43 50.6 50.6 0 0 1-35.42 14.61 50.649 50.649 0 0 1-35.43-14.61 51.011 51.011 0 0 1-14.62-35.42m0-266.73c0-13.07 5.33-26.2 14.61-35.43 9.29-9.29 22.23-14.61 35.43-14.61a50.736 50.736 0 0 1 35.36 14.61 50.545 50.545 0 0 1 14.61 35.43 50.736 50.736 0 0 1-14.61 35.36A50.484 50.484 0 0 1 131.54 435c-13.27-0.05-25.98-5.3-35.43-14.61a50.552 50.552 0 0 1-14.61-35.36m0-266.79c0-13.06 5.33-26.13 14.61-35.42 9.29-9.29 22.23-14.61 35.43-14.61a50.736 50.736 0 0 1 35.36 14.61 50.539 50.539 0 0 1 14.61 35.42 50.753 50.753 0 0 1-14.61 35.43 50.527 50.527 0 0 1-35.36 14.61c-13.27-0.05-25.98-5.3-35.43-14.61a50.92 50.92 0 0 1-14.61-35.43m867 533.52c0-27.62-21.55-49.98-48.12-49.98H329.71c-26.63 0-48.12 22.29-48.12 49.98-0.06 27.75 21.49 50.04 48.12 50.04h570.67c26.63 0 48.12-22.36 48.12-50.04m-48.12-316.77H329.71c-26.63 0-48.12 22.35-48.12 50.04 0 27.62 21.49 49.98 48.12 49.98h570.67c26.63 0.12 48.12-22.29 48.12-49.98 0-27.56-21.55-50.04-48.12-50.04z m48.12-216.68c0-27.68-21.55-50.1-48.12-50.1H329.71c-26.63 0-48.12 22.42-48.12 50.1 0 27.56 21.49 49.98 48.12 49.98h570.67c26.63 0.05 48.12-22.43 48.12-49.98" horiz-adv-x="1024" />
<glyph glyph-name="daohangzhankai" unicode="&#58889;" d="M78.04 766.16c0 27.5 22.5 50 50 50H895c27.5 0 50-22.5 50-50v-13.13c0-27.5-22.5-50-50-50H128.04c-27.5 0-50 22.5-50 50v13.13zM945 0.02c0-27.5-22.5-50-50-50H128.04c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50H895c27.5 0 50-22.5 50-50v-13.13zM601.66 542.16c27.5 0 50-22.5 50-50v-13.13c0-27.5-22.5-50-50-50H128c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50h473.66zM651.66 265.02c0-27.5-22.5-50-50-50H128c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50h473.66c27.5 0 50-22.5 50-50v-13.13zM750.06 523.44c0 27.5 16.17 34.35 35.92 15.22l124.1-120.14c19.76-19.13 19.91-50.59 0.34-69.91L785.64 225.39c-19.57-19.32-35.58-12.63-35.58 14.87V523.44z" horiz-adv-x="1024" />
<glyph glyph-name="daohangzhedie" unicode="&#58890;" d="M944.96 767.16c0 27.5-22.5 50-50 50H129c-27.5 0-50-22.5-50-50v-13.13c0-27.5 22.5-50 50-50h765.96c27.5 0 50 22.5 50 50v13.13zM79 1.02c0-27.5 22.5-50 50-50h765.96c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H129c-27.5 0-50-22.5-50-50v-13.13zM422 543.16c-27.5 0-50-22.5-50-50v-13.13c0-27.5 22.5-50 50-50h473c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H422zM372 266.02c0-27.5 22.5-50 50-50h473c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H422c-27.5 0-50-22.5-50-50v-13.13zM273.72 524.44c0 27.5-16.16 34.34-35.9 15.2L113.9 419.54c-19.75-19.14-19.9-50.62-0.35-69.95l124.6-123.18c19.56-19.33 35.56-12.65 35.56 14.85V524.44z" horiz-adv-x="1024" />
<glyph glyph-name="xiangshangjiantou" unicode="&#58891;" d="M480.19 611.59l-67.16-67.16L92.17 223.57c-19.45-19.45-21.04-49.67-3.55-67.16s47.72-15.9 67.16 3.55l320.86 320.86c19.45 19.45 51.27 19.45 70.71 0l320.86-320.86c19.45-19.45 49.67-21.04 67.16-3.55s15.9 47.72-3.55 67.16L610.97 544.43l-67.16 67.16c-17.49 17.49-46.12 17.5-63.62 0z" horiz-adv-x="1024" />
<glyph glyph-name="xiangzuojiantou" unicode="&#58892;" d="M307.83 415.73l67.16 67.16L695.85 803.76c19.45 19.45 49.67 21.04 67.16 3.55s15.9-47.72-3.55-67.16L438.6 419.28c-19.45-19.45-19.45-51.27 0-70.71L759.47 27.7c19.45-19.45 21.04-49.67 3.55-67.16s-47.72-15.9-67.16 3.55L374.99 284.96l-67.16 67.16c-17.49 17.49-17.5 46.12 0 63.61z" horiz-adv-x="1024" />
<glyph glyph-name="xiangyoujiantou" unicode="&#58893;" d="M755.44 415.65l-67.16 67.16L367.41 803.68c-19.45 19.45-49.67 21.04-67.16 3.55s-15.9-47.72 3.55-67.16L624.66 419.2c19.45-19.45 19.45-51.27 0-70.71L303.8 27.63c-19.45-19.45-21.04-49.67-3.55-67.16s47.72-15.9 67.16 3.55l320.86 320.86 67.16 67.16c17.49 17.49 17.5 46.12 0.01 63.61z" horiz-adv-x="1024" />
<glyph glyph-name="guanbianniu" unicode="&#58894;" d="M917.17 725.53c19.45 19.45 21.04 49.67 3.54 67.18s-47.73 15.91-67.18-3.54L547.36 482.99c-19.45-19.45-51.27-19.45-70.71 0L170.47 789.17c-19.45 19.45-49.67 21.04-67.18 3.54s-15.91-47.73 3.54-67.18l306.18-306.18c19.45-19.45 19.45-51.27 0-70.71L106.83 42.47c-19.45-19.45-21.04-49.67-3.54-67.18s47.73-15.91 67.18 3.54l306.18 306.18c19.45 19.45 51.27 19.45 70.71 0l306.18-306.18c19.45-19.45 49.67-21.04 67.18-3.54s15.91 47.73-3.54 67.18L610.99 348.64c-19.45 19.45-19.45 51.27 0 70.71l306.18 306.18z" horiz-adv-x="1024" />
<glyph glyph-name="shujushangchuan" unicode="&#58895;" d="M482.27 224.97c0 11.86 12.09 21.55 26.86 21.55 14.79 0 26.88-9.69 26.88-21.55v-215.42c0-11.86-12.09-21.55-26.88-21.55-14.82 0.04-26.81 9.67-26.86 21.55V224.97zM490.34 238.44c10.48 10.41 27.4 10.41 37.88 0 10.41-10.48 10.41-27.4 0-37.88L425.66 97.99c-10.48-10.42-27.41-10.42-37.9 0-10.42 10.48-10.42 27.41 0 37.9l102.57 102.57v-0.02zM489.91 200.57c-10.42 10.48-10.42 27.41 0 37.89 10.49 10.42 27.42 10.42 37.9 0l102.56-102.59c10.41-10.48 10.41-27.4 0-37.88-10.48-10.41-27.4-10.41-37.88 0l-102.58 102.6v-0.02zM779.32 545.39C756.51 674.25 645.94 772 512.99 772c-132.95 0.02-243.5-97.75-266.31-226.63C151.13 522.43 80 434.94 80 330.51c0-121.91 96.94-220.72 216.48-220.75 14.66 0.4 26.34 12.64 26.34 27.59s-11.68 27.19-26.34 27.59c-43.08-0.12-84.42 17.35-114.8 48.49-30.55 30.98-47.68 73.14-47.56 117.07-0.06 37.62 12.51 74.12 35.6 103.45 22.68 28.82 54.12 49.12 89.37 57.7l34.54 8.29 6.31 35.64c13.7 76.59 65.92 140.19 137.46 167.41a212.032 212.032 0 0 0 75.6 13.82c51.09 0.07 100.53-18.35 139.55-51.97 38.48-33.08 64.47-78.78 73.51-129.27l6.3-35.64 34.56-8.29c53.46-13.02 96.89-52.62 115.53-105.34 6.28-17.91 9.48-36.79 9.46-55.8 0.11-43.94-17.02-86.09-47.58-117.07-30.38-31.15-71.72-48.61-114.81-48.49-14.66-0.4-26.34-12.64-26.34-27.59s11.68-27.19 26.34-27.59c119.57 0 216.49 98.83 216.49 220.76-0.01 104.42-71.14 191.91-166.69 214.87z" horiz-adv-x="1024" />
<glyph glyph-name="xitongjiankong" unicode="&#58896;" d="M512.75 765.5c51.67 0 101.72-10.11 148.75-30.06 45.38-19.25 86.14-46.81 121.14-81.92 34.95-35.06 62.38-75.86 81.54-121.26 19.79-46.9 29.82-96.7 29.82-148.01 0-51.2-10.11-100.96-30.05-147.89-19.28-45.38-46.86-86.2-81.99-121.32-35.13-35.13-75.95-62.71-121.32-81.99C613.71 13.11 563.96 3 512.75 3c-51.31 0-101.11 10.03-148.01 29.82-45.4 19.15-86.2 46.59-121.26 81.54-35.11 35-62.67 75.76-81.92 121.14-19.95 47.03-30.06 97.08-30.06 148.75 0 51.78 10.04 101.86 29.83 148.87 19.12 45.41 46.53 86.15 81.47 121.08s75.67 62.34 121.08 81.47c47.01 19.79 97.1 29.83 148.87 29.83m0 52C272.49 817.5 79.5 624.51 79.5 384.25S274.46-49 512.75-49 946 145.96 946 384.25 753.01 817.5 512.75 817.5zM599.4 122.33h-1.97c-13.78 1.97-23.63 11.82-27.57 23.63l-64.99 342.66-35.45-124.07c-3.94-11.82-15.75-19.69-27.57-19.69H406.4l-35.45-88.62c-3.94-11.81-15.76-19.69-27.57-19.69-11.82 0-23.63 7.88-27.57 19.69l-43.33 129.98-13.78-27.57c-3.94-9.85-15.75-17.72-27.57-17.72h-33.48c-15.76 0-29.54 13.79-29.54 29.54 0 15.76 13.78 33.48 29.54 33.48h15.75l37.42 78.77c5.91 11.81 15.76 17.72 29.54 17.72 11.81 0 21.66-7.88 25.6-19.7l39.39-122.09 11.82 29.54c3.94 11.82 15.75 19.69 27.57 19.69h33.48l64.99 220.57c3.94 13.79 15.76 21.66 29.54 21.66 13.79 0 25.6-9.85 27.57-23.63l68.92-360.39 88.62 250.11c3.94 11.82 15.76 19.69 27.57 19.69 11.82 0 23.63-7.87 27.57-19.69l39.39-112.25h35.45c15.75 0 29.54-11.82 29.54-29.54 0-15.75-11.82-29.54-29.54-29.54h-57.11c-13.79 0-23.63 7.87-27.57 19.69l-19.69 53.17-96.5-275.71c-3.94-11.81-15.75-19.69-27.57-19.69z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="youjianguanli" unicode="&#58897;" d="M810.98 730.32H220c-76.24 0-138.15-56.18-138.15-125.36v-438.75c0-69.18 61.92-125.36 138.15-125.36h590.98c76.24 0 138.15 56.18 138.15 125.36V604.96c-0.51 69.18-61.91 125.36-138.15 125.36zM139.73 218.19v334.8l184.74-167.18-184.74-167.62zM596.1 359.7c-21.34-19.35-50.1-30.16-80.86-30.16-30.76 0-59.03 10.81-80.85 30.16L143.7 623.92c11.41 33.75 44.65 55.82 85.32 55.82h572.94c40.68 0 73.91-21.61 85.32-55.82L596.1 359.7z m-237.7-9.36l43.71-36.07c35-29.81 71.95-38.83 113.63-38.83 41.66 0 77.7 12.23 109.91 38.83l42.27 36.07L888.27 150.4c-10.41-35.56-44.15-58.52-86.31-58.52H229.02c-42.16 0-75.9 22.96-86.31 58.07L358.4 350.34z m532.84 202.65v-334.8L706.52 385.81l184.72 167.18z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="xiaoping" unicode="&#58898;" d="M93.02 729.05c-20.03 20.21-20.03 52.78 0 72.99a51.437 51.437 0 0 0 36.54 15.05c13.21 0 26.42-4.95 36.54-15.05L320.94 647.4l58.22 58.14c25.8 25.98 70.4 7.42 70.4-29.28v-189.08c0-22.68-18.58-41.24-41.29-41.24H218.95c-36.75 0-55.32 44.54-29.31 70.52l58.22 57.94L93.02 729.05z m521.75-283.21c-10.95 0-21.45 4.35-29.2 12.08a41.17 41.17 0 0 0-12.09 29.16V676.16c0 36.7 44.39 55.26 70.4 29.28l58.22-58.15L856.93 801.94c14.76 14.8 37 19.25 56.32 11.25s31.89-26.85 31.84-47.74c0-13.2-4.96-26.39-15.07-36.49L775.18 574.3l58.22-57.94c25.81-25.98 7.43-70.52-29.31-70.52H614.77z m29.17-382.99c-26.01-25.98-70.4-7.63-70.4 29.07V281c0 22.89 18.38 41.24 41.29 41.24h189.31c36.75 0 55.12-44.33 29.31-70.31l-58.22-58.14 154.83-154.64c20.03-20.2 20.03-52.78 0-72.99-10.12-9.9-23.33-15.05-36.54-15.05s-26.42 5.15-36.54 15.05L702.16 120.79l-58.22-57.94zM78.01 2.58c0 13.2 4.96 26.39 15.07 36.5l154.83 154.64-58.22 58.14c-26.02 25.98-7.43 70.31 29.31 70.31h189.31c10.95 0 21.45-4.34 29.2-12.08a41.17 41.17 0 0 0 12.09-29.16v-189.08c0-36.7-44.59-55.05-70.4-29.07L321 120.72 166.16-33.92c-20.23-20-52.85-20-73.08 0a51.322 51.322 0 0 0-15.07 36.5z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="renyuanguanli" unicode="&#58899;" d="M444.19 816.97c-113.92 0-212.42-98.69-212.42-218.99 0-67.86 30.73-129.46 83.13-172.74l15.37-9.16-15.34-6.26C173.12 354.48 78 218.8 78 64.77c-0.26-27.9 10.69-54.73 30.39-74.46 19.7-19.73 46.5-30.69 74.36-30.43h280.16c9.14 0 24.51 9.13 24.51 27.9 0 21.65-15.37 27.88-24.51 27.88H182.27a48.365 48.365 0 0 0-34.87 14.19 48.483 48.483 0 0 0-14.15 34.92c0 163.62 126.42 298.87 286.41 314.26h33.68c36.95 2.9 89.33 12.52 116.76 37.06l12.53 9.16c52.4 43.29 83.11 104.88 83.11 172.74-0.01 120.29-98.59 218.98-221.55 218.98z m5.76-382.6c-89.43 0-163.37 74.09-163.37 163.61 0 89.53 73.96 163.64 163.37 163.64 89.41 0 163.43-74.11 163.43-163.64 0-89.53-74.02-163.61-163.43-163.61zM779.88 339.2l34.43-19.2c-0.25-1.27-0.44-2.55-0.58-3.84-0.09-0.42-0.19-0.89-0.28-1.29-1.14-5.33-2.86-13.39-2.86-21.99 0-48.69 34.79-87.75 81.39-94.16 1.34-9.64 3.55-21.59 6.72-32.57-0.57-8.02-2.02-16.52-3.23-22.47-47.15-5.97-82.49-45.26-82.49-94.33 0-11.06 2.05-21.16 3.59-27.2l-35.69-19.92c-15.59 16.44-43.17 34.81-69.91 34.81-30.5 0-55.29-20.85-71.54-37.03-1.49-0.03-2.99-0.08-4.5-0.18l-29.78 16.66c0.25 1.27 0.44 2.55 0.59 3.83 0.09 0.42 0.19 0.89 0.27 1.29 1.14 5.32 2.86 13.35 2.86 21.93 0 49.33-35.68 88.77-83.16 94.42-0.25 0.62-0.52 1.23-0.79 1.84-0.88 5.33-2.04 16.42-2.04 26.95 0 10.16 2.25 21.73 3.74 28.89 20.67 2.62 39.77 11.96 54.72 26.95 17.81 17.86 27.84 42.55 27.54 67.78-0.04 10.68-2 20.49-3.52 26.51l37.64 19.8c0.8-0.63 1.61-1.23 2.45-1.8 1.03-0.71 2.71-1.94 4.48-3.23 14.4-10.56 36.16-26.52 61.53-26.52 30.09-0.01 57.1 22.95 68.42 34.07M791.69 385.28h-15.42c-9.06 0-21.59-2.87-27.84-12.49-6.25-6.28-24.54-21.67-36.98-21.67-12.52 0-30.81 15.39-39.96 21.67-6.19 6.23-15.37 12.49-27.86 12.49-6.2 0-9.09 0-12.5-2.87l-58.6-30.8c-12.53-9.16-18.32-27.9-12.53-43.29 0 0 2.86-9.18 2.86-18.31a48.38 48.38 0 0 0-14.11-34.93 48.25 48.25 0 0 0-34.17-14.19H510.95c-12.5 0-24.51-12.54-27.87-27.9 0-2.9-6.22-24.54-6.22-46.24 0-18.31 2.87-43.32 6.22-46.11 2.92-15.47 15.34-27.98 27.87-27.98h2.95c27.87 0 48.96-21.67 48.96-49.11 0-6.2-2.86-15.36-2.86-18.2-6.2-15.47 0-33.64 12.53-43.32l55.21-30.88c6.3 2.9 9.2 2.9 15.39 2.9 9.15 0 21.64 2.87 27.95 12.57 6.2 6.23 24.48 24.43 39.88 24.43 12.5 0 33.57-15.36 39.87-24.43 6.22-6.28 15.39-12.57 27.89-12.57 6.19 0 9.12 0 15.33 2.87l55.24 30.83c12.5 9.13 18.32 27.87 12.5 43.37 0 0-2.84 9.08-2.84 18.23 0 27.93 21.64 49.11 49.05 49.11h2.86c12.47 0 24.51 12.54 27.84 27.9 0 0 6.22 24.51 6.22 46.24-5.73 15.39-8.58 39.93-8.58 43.26-2.95 15.44-15.45 27.93-27.89 27.93h-2.92c-27.81 0-48.96 21.67-48.96 49.08 0 6.26 2.87 15.44 2.87 18.29 6.19 15.39 0 33.73-12.53 43.32l-55.22 30.8zM709.3 212.79c2.86 0 5.79-0.32 8.71-0.94 0.41-0.09 0.82-0.17 1.24-0.25 17.34-3.17 30.94-17.61 33.83-35.95 0.12-0.74 0.25-1.47 0.41-2.2 3.54-16.63-3.64-28.63-8.23-34.3-7.95-9.82-19.49-15.45-31.66-15.45-2.9 0-5.86 0.32-8.8 0.95-0.42 0.09-0.84 0.17-1.26 0.25-16.58 3.03-30.88 17.41-34 34.18l-0.12 0.64c-3.83 18.92 3.9 31.89 8.85 37.95 7.84 9.62 19.15 15.12 31.03 15.12m0 42c-51.06 0-92.28-48.01-81.06-103.4 6.28-33.67 33.68-61.58 67.74-67.8a83.707 83.707 0 0 1 17.61-1.89c51.05 0 92.2 47.72 80.97 100.49-5.76 36.57-33.65 64.5-67.77 70.73a83.284 83.284 0 0 1-17.49 1.87z" horiz-adv-x="1024" />
<glyph glyph-name="xiangxiala" unicode="&#58900;" d="M892.62 629.77c55 0 68.7-32.33 30.44-71.85L586.3 210.07c-38.26-39.52-101.17-39.83-139.82-0.69L101.64 558.62c-38.64 39.14-25.26 71.16 29.74 71.16h761.24z" horiz-adv-x="1024" />
<glyph glyph-name="exceldaorudaochu" unicode="&#58901;" d="M79.5 598.5v-425.93c0-14.78 12.58-25.85 26.42-25.85h435.34c15.1 0 26.42 12.31 26.42 25.85V598.5c0 14.77-12.58 25.85-26.42 25.85H105.92c-15.09 0-26.42-11.08-26.42-25.85z m351.04-332.38h-91.85l-27.68 52.93-33.97-52.93h-61.65l67.94 105.87-67.94 132.95h91.85l27.68-52.93 33.97 52.93h61.65L362.6 399.07l67.94-132.95z m503.28 477.64v-750.92c0-14.78-12.58-25.85-26.42-25.85H227.97c-15.1 0-26.42 12.31-26.42 25.85v97.25c0 14.77 12.58 25.85 26.42 25.85h7.55c15.1 0 26.42-12.31 26.42-25.85v-36.93c0-14.77 12.58-25.85 26.42-25.85h557.39c15.1 0 26.42 12.31 26.42 25.85V717.91c0 14.78-12.58 25.85-26.42 25.85H289.62c-15.1 0-26.42-12.31-26.42-25.85v-36.93c0-14.77-12.58-25.85-26.42-25.85h-7.55c-15.1 0-26.42 12.31-26.42 25.85v97.25c0 14.77 12.58 25.85 26.42 25.85h679.43c15.1 0 26.42-12.31 26.42-25.85v-34.47h-1.26zM625.56 445.85h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.39c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85V420c-1.26 13.54 11.32 25.85 26.42 25.85z m0 119.41h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.38c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85v7.38c-1.26 13.54 11.32 25.85 26.42 25.85z m0-238.82h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.39c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85v6.16c-1.26 14.77 11.32 27.08 26.42 27.08z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="xiangxiajiantou" unicode="&#58902;" d="M480.19 156.41l-67.16 67.16L92.17 544.43c-19.45 19.45-21.04 49.67-3.55 67.16s47.72 15.9 67.16-3.55l320.86-320.86c19.45-19.45 51.27-19.45 70.71 0l320.86 320.86c19.45 19.45 49.67 21.04 67.16 3.55s15.9-47.72-3.55-67.16L610.97 223.57l-67.16-67.16c-17.49-17.49-46.12-17.5-63.62 0z" horiz-adv-x="1024" />
<glyph glyph-name="shouye" unicode="&#58903;" d="M508.23 766c13.5 0 23.07-7.41 28.72-13.62 0.65-0.72 1.32-1.41 2.01-2.09l345.26-339.65c6.36-7.31 8.78-12.76 9.52-15.64h-61.9c-28.72 0-52-23.28-52-52v-289.33c0-23.41-21.8-51.68-48.86-51.68h-79.45V136.15c0 47.38-34.1 114.11-109.92 114.11h-57.93c-62.67 0-109.92-49.06-109.92-114.11V2h-81.77c-26.56 0-47.17 27.78-47.17 51.68V343.01c0 28.72-23.28 52-52 52h-61.5c0.79 2.98 3.27 8.45 9.65 15.71l337.01 340.04c0.58 0.58 1.14 1.18 1.69 1.79 7.93 8.8 17.81 13.45 28.56 13.45m0 52c-25.49 0-49.43-10.93-67.19-30.64l-337.97-341c-32.59-36.11-23.33-64.42-21.32-69.56 5.41-13.09 18.84-33.79 46.65-33.79h64.41v-289.33c0-52.34 43.25-103.68 99.17-103.68h133.77V136.15c0 32.63 19.92 62.11 57.92 62.11h57.93c43.87 0 57.92-41.9 57.92-62.11V-50h131.45c55.76 0 100.86 51.34 100.86 103.68V343.01h64.57c27.8 0 41.09 20.7 46.65 33.79 2.32 5.3 11.43 33.45-21.01 69.56-0.15 0-0.15 0.17-0.15 0.17L575.42 787.36C557.5 807.07 533.72 818 508.23 818z" horiz-adv-x="1024" />
<glyph glyph-name="xitongshezhi" unicode="&#58904;" d="M515 502.53c64.12 0 116.29-53.17 116.29-118.53S579.12 265.47 515 265.47 398.71 318.64 398.71 384 450.88 502.53 515 502.53m0 52c-92.85 0-168.29-76.44-168.29-170.53 0-94.08 75.44-170.53 168.29-170.53S683.29 289.92 683.29 384c0 94.09-75.44 170.53-168.29 170.53zM645.8 765.81c2.22 0 4.35-0.35 6.35-1.04 37.78-16.02 73.62-37.54 106.6-63.99 9.52-9.79 12.52-25.6 7.07-38.21-0.45-1.04-0.86-2.1-1.25-3.17-14.24-39.99-11.99-82.12 6.19-115.61 19.37-35.69 56.53-61.17 96.98-66.49 0.86-0.11 1.72-0.2 2.59-0.27 6.02-0.49 10.75-2.5 14.44-6.15 3.97-3.93 6.7-9.65 7.93-16.58 2.77-23.47 5.3-48 5.3-69.09 0-21-2.55-42.86-5.3-65.98-2.26-12.31-11.72-21.85-22.73-22.82-0.5-0.04-0.99-0.09-1.49-0.15-41.79-4.89-77.4-29.15-97.72-66.58-20.29-37.39-22.02-81.89-4.71-119.31 5.39-13.21 1.34-30.62-5.75-36.42-0.46-0.37-0.91-0.76-1.35-1.15-27.19-23.86-64.09-46-106.78-64.08-2.01-0.69-4.16-1.04-6.41-1.04-8.85 0-18.48 5.32-25.34 13.95-24.05 34.43-62.4 54.92-102.96 54.92-43.6 0-82.57-20.57-106.9-56.43a51.636 51.636 0 0 1-4.88-8.98c-2.8-6.64-9.28-7.77-12.21-7.93-1.79 0.4-5.31 1.6-8.22 2.62-37.62 16-73.33 37.46-106.19 63.81-9.52 9.78-12.51 25.6-7.07 38.21 0.45 1.04 0.86 2.1 1.24 3.16 14.24 39.99 11.99 82.13-6.19 115.6-19.37 35.69-56.53 61.17-96.99 66.49-0.86 0.11-1.72 0.2-2.58 0.27-6.02 0.49-10.75 2.5-14.44 6.15-4.12 4.08-6.91 10.09-8.07 17.39-0.5 3.17-1.3 6.29-2.37 9.31-5.62 15.79-8.6 36.18-8.6 58.97 0 21.03 2.55 42.88 5.3 65.99 2.26 12.31 11.71 21.85 22.73 22.82 0.5 0.04 0.99 0.09 1.49 0.15 41.79 4.89 77.41 29.15 97.73 66.58 20.12 37.09 21.99 81.18 5.12 118.42-5.75 15.62-2.54 31.05 8.5 40.58 33.33 26.92 69.62 48.79 107.89 65.03 2 0.69 4.15 1.04 6.4 1.04 8.84 0 18.47-5.32 25.33-13.94 24.05-34.43 62.4-54.93 102.96-54.93 43.61 0 82.57 20.57 106.9 56.43 0.09 0.13 0.18 0.27 0.27 0.4 4.95 7.44 13.06 12.05 21.19 12.05m0 52c-24.76 0-49.41-12.58-64.48-35.25-14.52-21.4-37.74-33.62-63.87-33.62-23.22 0-46.45 12.22-60.97 33.62-17.22 22.67-42.43 35.25-67.33 35.25-8.68 0-17.31-1.53-25.56-4.69-43.54-18.34-84.19-42.79-121.93-73.35-29.03-24.45-37.74-64.19-23.23-100.87 11.61-24.45 8.71-51.96-2.9-73.36-11.61-21.39-31.93-36.68-58.06-39.73-34.83-3.06-63.87-30.57-69.67-67.24-2.9-24.45-5.8-48.9-5.8-73.36 0-24.45 2.9-51.96 11.61-76.41 5.81-36.68 31.93-64.19 69.67-67.24 23.22-3.05 46.45-18.34 58.06-39.74 11.61-21.39 11.61-48.9 2.91-73.35-14.52-33.62-5.81-73.36 20.32-97.81 37.74-30.56 78.38-55.02 121.93-73.35 8.71-3.06 17.42-6.11 26.13-6.11 23.22 0 49.35 12.22 60.96 39.74 14.52 21.39 37.74 33.62 63.87 33.62 23.22 0 46.45-12.23 60.97-33.62 17.22-22.67 42.43-35.25 67.33-35.25 8.68 0 17.31 1.53 25.56 4.68 43.54 18.34 87.09 42.79 121.93 73.36 26.13 21.39 34.84 64.18 20.32 97.81-11.61 24.45-8.71 51.96 2.9 73.36 11.61 21.39 31.93 36.68 58.06 39.73 34.84 3.06 63.87 30.57 69.67 67.24 2.9 24.45 5.81 48.91 5.81 73.36 0 24.45-2.91 51.96-5.81 76.41-5.81 36.68-31.93 64.19-69.67 67.24-23.23 3.06-46.44 18.34-58.06 39.74-11.61 21.39-11.61 48.9-2.9 73.35 14.52 33.62 5.8 73.36-20.32 97.81-37.74 30.56-78.38 55.02-121.93 73.35a71.527 71.527 0 0 1-25.52 4.68z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoxi" unicode="&#58905;" d="M591.93 740.45c0 42.41-35.94 76.95-80.28 76.95-44.25 0-80.28-34.45-80.28-76.95 0-4.33 0.38-8.58 1.09-12.71-110.86-37.04-201.8-150.77-201.8-285.34v-105.94s0-152.58-39.1-153.9c-23.32 0-41.17-17.23-41.17-38.48 0-21.39 17.97-38.47 40.13-38.47h642.26c22.27 0 40.13 17.23 40.13 38.47 0 21.4-17.97 38.48-40.13 38.48-40.15 0-40.15 152.83-40.15 152.83v107c0 134.74-85.03 248.52-201.78 285.44 0.72 4.16 1.08 8.39 1.08 12.62z m40.14-673.26c-0.12-63.81-53.53-115.5-120.42-115.5-66.43 0-120.3 51.47-120.42 115.5h240.84z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="quanping" unicode="&#58906;" d="M279.12 816.64H105.97C91.63 816.64 80 805.01 80 790.67v-172.99c0-14.41 11.63-26.03 25.97-26.03 14.35 0 26.09 11.62 26.09 26.03 0 1.49-0.25 3.03-0.5 4.45V760.5c0 2.41 1.92 4.33 4.27 4.33h140.5c0.93-0.06 1.86-0.25 2.78-0.25 14.35 0 26.03 11.62 26.03 26.03 0.02 14.4-11.67 26.03-26.02 26.03z m0 0M837.1 75.97c0-9.52-7.85-17.25-17.32-17.25H202.26c-9.53 0-17.25 7.73-17.25 17.25V693.29c0 9.59 7.73 17.31 17.25 17.31h617.53c9.46 0 17.32-7.73 17.32-17.31v-617.32z m0 0M746.51 816.64h173.16c14.34 0 25.97-11.62 25.97-25.97v-172.62c0-0.13 0.12-0.25 0.12-0.37 0-14.41-11.69-26.03-26.1-26.03-14.41 0-26.04 11.62-26.04 26.03 0 1.49 0.25 3.03 0.43 4.45V760.5c0 2.41-1.85 4.33-4.33 4.33H749.29c-0.99-0.06-1.79-0.25-2.78-0.25-14.34 0-25.97 11.62-25.97 26.03 0 14.4 11.63 26.03 25.97 26.03zM279.12-48.79H105.97c-14.35 0-25.97 11.56-25.97 25.9V150.16c0 14.41 11.63 26.09 25.97 26.09 14.35 0 26.09-11.63 26.09-26.09 0-1.48-0.25-3.03-0.5-4.45v-138.3c0-2.41 1.92-4.33 4.27-4.33h140.5c0.93 0.06 1.79 0.25 2.72 0.25 14.35 0 26.03-11.62 26.03-26.03 0.02-14.41-11.61-26.09-25.96-26.09z m467.39 0h173.16c14.34 0 25.97 11.63 25.97 25.9V149.79c0 0.12 0.12 0.25 0.12 0.37 0 14.41-11.69 26.09-26.1 26.09-14.41 0-26.04-11.63-26.04-26.09 0-1.48 0.25-3.03 0.43-4.45v-138.3c0-2.41-1.85-4.33-4.33-4.33H749.29c-0.99 0.06-1.79 0.25-2.78 0.25-14.34 0-25.97-11.62-25.97-26.03 0-14.41 11.63-26.09 25.97-26.09z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="zujian" unicode="&#58907;" d="M594.69 766c18.76 0 36.38-7.22 49.6-20.34 12.97-12.86 20.11-29.74 20.11-47.51 0-5.28-1.12-11.69-3.41-19.55-0.47-1.18-0.96-2.51-1.43-3.99-1.54-3.77-3.12-7.53-4.29-9.83-0.54-1.07-1.05-2.15-1.51-3.25L647.62 647a51.992 51.992 0 0 1 4.54-48.99 51.993 51.993 0 0 1 43.35-23.28H898v-216.67l-20.4 8.88c-1.43 0.8-2.9 1.53-4.39 2.19-3.46 1.91-8.68 4.66-15.2 6.79-2.11 0.69-4.26 1.25-6.43 1.66-12.06 3.35-22.64 3.34-29.44 3.34-61.89 0-112.25-49.94-112.25-111.32 0-61.38 50.35-111.32 112.25-111.32 8.93 0 18.33 1.21 28.69 3.69 11.84 2.57 20.52 7.44 25.79 10.4 0.6 0.34 1.41 0.79 1.74 0.96 1.92 0.95 3.77 2.01 5.55 3.18 0.26 0.15 0.53 0.31 0.81 0.48l13.29 6.2V2H315.96V164.28a52 52 0 0 1-52 52c-9.96 0-19.9-2.86-28.53-8.53-1.76-1.16-4.15-2.29-6.82-3.25-2.26-0.42-4.49-0.99-6.69-1.71-2.56-0.84-8.33-2.25-18.21-2.25-18.76 0-36.38 7.22-49.61 20.33-12.96 12.87-20.1 29.74-20.1 47.52 0 17.96 7.22 34.9 20.32 47.71 13.28 12.98 30.82 20.14 49.4 20.14 5.63 0 12.39-1.14 20.63-3.48 1.17-0.46 2.5-0.93 3.98-1.38 3.92-1.55 7.84-3.15 10.24-4.33l2.46-1.21a52.002 52.002 0 0 1 50.42 2.53 52.003 52.003 0 0 1 24.51 44.14v201H495.1c18.08 0 34.86 9.39 44.31 24.79a51.999 51.999 0 0 1 2.06 50.74l-3.69 7.26c-0.76 1.49-1.58 2.94-2.48 4.35-3 4.72-4.96 8.46-6.03 11.54-0.46 2.96-1.17 5.89-2.14 8.74-1.38 4.08-2.18 10.36-2.18 17.22 0 17.96 7.22 34.9 20.32 47.71 13.29 12.99 30.84 20.14 49.42 20.14m0 52c-66.39 0-121.72-53.26-121.72-119.85 0-10.89 1.23-23 4.92-33.9v-1.21c2.46-10.9 7.37-20.58 13.52-30.26l3.69-7.26H294.7c-17.21 0-30.74-13.32-30.74-30.27V372.5l-2.46 1.21c-4.92 2.42-11.06 4.84-17.21 7.26-1.23 0-2.46 1.21-3.69 1.21-12.3 3.63-24.59 6.05-36.88 6.05C137.33 388.24 82 334.97 82 268.39c0-65.37 54.09-119.85 121.72-119.85 11.06 0 23.36 1.21 34.43 4.84h1.23c8.61 2.42 17.21 6.05 24.59 10.89v-184.01c0-16.94 13.52-30.27 30.74-30.27h624.56c17.21 0 30.74 13.32 30.74 30.27V217.55c0 9.68-6.15 20.58-14.75 25.42-4.83 2.72-10.44 4.3-16.17 4.3-4.47 0-9.02-0.96-13.34-3.08l-46.72-21.79c-1.23-1.21-2.46-1.21-3.69-2.42-4.92-2.42-9.83-6.05-15.98-7.26-4.92-1.21-11.06-2.42-17.21-2.42-33.19 0-60.25 26.63-60.25 59.32 0 32.68 27.05 59.32 60.25 59.32 6.15 0 12.29 0 18.44-2.42h1.23c3.69-1.21 7.37-3.63 9.83-4.84 1.23 0 1.23-1.21 2.46-1.21l52.87-23c4.29-1.59 8.82-2.48 13.27-2.48 5.75 0 11.38 1.49 16.23 4.9 8.61 6.05 13.52 15.73 13.52 25.42V596.46c0 16.94-13.52 30.27-30.74 30.27H695.5l6.15 14.53c2.46 4.84 4.92 10.89 7.37 16.95 0 1.21 1.23 2.42 1.23 3.63 3.69 12.11 6.15 24.21 6.15 36.32C716.4 763.52 662.31 818 594.69 818z" horiz-adv-x="1024" />
<glyph glyph-name="news" unicode="&#58910;" d="M804.38 239.45V429.61c0 128.31-81.94 234.98-194.79 273.63 0 3.09 1.55 9.28 1.55 12.37 0 54.11-44.83 97.39-97.39 97.39-54.11 0-97.39-43.29-97.39-97.39 0-3.09 0-9.28 1.55-12.37-112.85-38.65-196.34-145.32-196.34-273.63v-190.15l-68.02-119.04c-6.18-10.82-6.18-26.28 0-37.1 7.73-10.82 18.55-18.55 30.92-18.55h154.59C363.78-3.26 431.8-45 512.19-45c81.94 0 149.96 40.19 173.15 109.76h153.05c12.37 0 24.74 7.73 30.92 18.55 7.73 10.82 7.73 26.28 0 37.1l-64.93 119.04z m-344.75 477.7c0 30.92 23.19 49.47 54.11 49.47s52.56-18.55 52.56-49.47v-1.55c-18.55 3.09-34.01 4.64-52.56 4.64-20.1 1.55-38.65-1.55-57.2-3.09h3.09z m54.11-704.95c-40.19 0-83.48 21.64-109.76 55.65h216.43c-23.19-32.46-66.48-55.65-106.67-55.65zM216.92 118.87l57.2 97.39c1.55 4.64 1.55 13.91 1.55 20.1V435.79c0 120.58 114.4 230.35 233.44 230.35 120.58 0 244.26-117.49 244.26-238.08v-199.43c0-7.73 1.55-17.01 3.09-20.1l43.29-89.66H216.92z" horiz-adv-x="1024" />
<glyph glyph-name="dingshirenwu" unicode="&#58914;" d="M360.16 634.2c-16.28 0-29.6 13.32-29.6 29.6V782.23c0 16.28 13.32 29.6 29.6 29.6s29.6-13.32 29.6-29.6v-118.42c0-16.28-13.32-29.61-29.6-29.61zM663.84 634.2c-16.28 0-29.6 13.32-29.6 29.6V782.23c0 16.28 13.32 29.6 29.6 29.6s29.6-13.32 29.6-29.6v-118.42c0.01-16.28-13.32-29.61-29.6-29.61zM837.65-43.83h-651.3c-42.65 0-77.35 34.7-77.35 77.35V668.46c0 42.65 34.7 77.35 77.35 77.35h651.29c42.65 0 77.35-34.7 77.35-77.35v-634.94c0.01-42.65-34.69-77.35-77.34-77.35z m-651.3 730.44c-9.84 0-18.14-8.31-18.14-18.14v-634.94c0-9.84 8.31-18.14 18.14-18.14h651.29c9.84 0 18.14 8.31 18.14 18.14V668.46c0 9.84-8.31 18.14-18.14 18.14H186.35zM879.5 526.61H147.37c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25H879.5c13.75 0 25-11.25 25-25v-9.21c0-13.75-11.25-25-25-25zM511.5 62.37c-55.69 0-108.05 21.69-147.43 61.07C324.69 162.82 303 215.18 303 270.87c0 55.69 21.69 108.05 61.07 147.43s91.74 61.07 147.43 61.07 108.05-21.69 147.43-61.07S720 326.56 720 270.87c0-55.69-21.69-108.05-61.07-147.43-39.38-39.38-91.74-61.07-147.43-61.07z m0 371.97c-90.14 0-163.47-73.33-163.47-163.47S421.36 107.4 511.5 107.4s163.47 73.33 163.47 163.47-73.33 163.47-163.47 163.47zM507.45 246.1c-12.38 0-22.52 10.13-22.52 22.52v93.67c0 12.38 10.13 22.52 22.52 22.52 12.38 0 22.52-10.13 22.52-22.52v-93.67c-0.01-12.39-10.14-22.52-22.52-22.52zM565.99 246.1h-58.54c-12.38 0-22.52 10.13-22.52 22.52 0 12.38 10.13 22.52 22.52 22.52h58.54c12.38 0 22.52-10.13 22.52-22.52 0-12.39-10.14-22.52-22.52-22.52z" horiz-adv-x="1024" />
<glyph glyph-name="dongtaijiazai" unicode="&#58915;" d="M846.54-16.13H177.46c-43.82 0-79.46 35.17-79.46 78.39V705.74c0 43.23 35.65 78.39 79.46 78.39h669.07c43.82 0 79.46-35.17 79.46-78.39v-643.47c0.01-43.23-35.64-78.4-79.45-78.4zM177.46 724.12c-10.1 0-18.64-8.42-18.64-18.39v-643.47c0-9.97 8.54-18.39 18.64-18.39h669.07c10.1 0 18.64 8.42 18.64 18.39V705.74c0 9.97-8.54 18.39-18.64 18.39H177.46zM854.82 582.9H169.18c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25h685.63c13.75 0 25-11.25 25-25v-9.21c0.01-13.75-11.24-25-24.99-25zM854.82 125.9H169.18c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25h685.63c13.75 0 25-11.25 25-25v-9.21c0.01-13.75-11.24-25-24.99-25zM674 266.5h-85c-41.36 0-75 33.64-75 75v85c0 41.36 33.64 75 75 75h85c41.36 0 75-33.64 75-75v-85c0-41.36-33.64-75-75-75z m-85 185c-13.79 0-25-11.21-25-25v-85c0-13.79 11.21-25 25-25h85c13.79 0 25 11.21 25 25v85c0 13.79-11.21 25-25 25h-85zM314.5 334.5c-14.03 0-25.5 11.47-25.5 25.5V486c0 14.02 11.47 25.5 25.5 25.5 14.02 0 25.5-11.47 25.5-25.5v-126c0-14.03-11.48-25.5-25.5-25.5zM314.5 282m-25.5 0a25.5 25.5 0 1 1 51 0 25.5 25.5 0 1 1-51 0Z" horiz-adv-x="1024" />
<glyph glyph-name="jiekouwendang" unicode="&#58916;" d="M804.79-25.58H219.21c-40.87 0-74.12 33.25-74.12 74.12v670.6c0 40.87 33.25 74.12 74.12 74.12h392.33v-55.59H219.21c-10.04 0-18.53-8.49-18.53-18.53v-670.59c0-10.04 8.49-18.53 18.53-18.53h585.58c10.04 0 18.53 8.49 18.53 18.53V538.36h55.59v-489.82c0-40.87-33.25-74.12-74.12-74.12zM850.71 510.89H657.47c-40.87 0-74.12 33.25-74.12 74.12V765.78c0 11.11 6.61 21.15 16.82 25.54a27.791 27.791 0 0 0 30.1-5.36l239.57-227.1a27.805 27.805 0 0 0 6.7-30.47 27.81 27.81 0 0 0-25.83-17.5zM638.94 701.14v-116.12c0-10.04 8.49-18.53 18.53-18.53h123.52L638.94 701.14zM457.69 408L332.54 282.85c-9.2-9.2-24.26-9.2-33.46 0s-9.2 24.26 0 33.46l125.15 125.15c9.2 9.2 24.26 9.2 33.46 0s9.2-24.26 0-33.46zM332.54 316.31l125.15-125.15c9.2-9.2 9.2-24.26 0-33.46s-24.26-9.2-33.46 0L299.08 282.85c-9.2 9.2-9.2 24.26 0 33.46s24.26 9.2 33.46 0zM565.44 408l125.15-125.15c9.2-9.2 24.26-9.2 33.46 0s9.2 24.26 0 33.46L598.9 441.46c-9.2 9.2-24.26 9.2-33.46 0s-9.2-24.26 0-33.46zM690.59 316.31L565.44 191.16c-9.2-9.2-9.2-24.26 0-33.46s24.26-9.2 33.46 0l125.15 125.15c9.2 9.2 9.2 24.26 0 33.46s-24.26 9.2-33.46 0z" horiz-adv-x="1024" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 28 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,98 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="iconfont" horiz-adv-x="1024" >
<font-face
font-family="iconfont"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="duojicaidan" unicode="&#58888;" d="M81.5 651.76c0-13.06 5.39-26.07 14.61-35.3 9.29-9.29 22.3-14.68 35.43-14.68a50.638 50.638 0 0 1 35.3 14.61c9.29 9.29 14.68 22.3 14.68 35.36a50.626 50.626 0 0 1-14.55 35.43 50.6 50.6 0 0 1-35.42 14.61 50.649 50.649 0 0 1-35.43-14.61 51.011 51.011 0 0 1-14.62-35.42m0-266.73c0-13.07 5.33-26.2 14.61-35.43 9.29-9.29 22.23-14.61 35.43-14.61a50.736 50.736 0 0 1 35.36 14.61 50.545 50.545 0 0 1 14.61 35.43 50.736 50.736 0 0 1-14.61 35.36A50.484 50.484 0 0 1 131.54 435c-13.27-0.05-25.98-5.3-35.43-14.61a50.552 50.552 0 0 1-14.61-35.36m0-266.79c0-13.06 5.33-26.13 14.61-35.42 9.29-9.29 22.23-14.61 35.43-14.61a50.736 50.736 0 0 1 35.36 14.61 50.539 50.539 0 0 1 14.61 35.42 50.753 50.753 0 0 1-14.61 35.43 50.527 50.527 0 0 1-35.36 14.61c-13.27-0.05-25.98-5.3-35.43-14.61a50.92 50.92 0 0 1-14.61-35.43m867 533.52c0-27.62-21.55-49.98-48.12-49.98H329.71c-26.63 0-48.12 22.29-48.12 49.98-0.06 27.75 21.49 50.04 48.12 50.04h570.67c26.63 0 48.12-22.36 48.12-50.04m-48.12-316.77H329.71c-26.63 0-48.12 22.35-48.12 50.04 0 27.62 21.49 49.98 48.12 49.98h570.67c26.63 0.12 48.12-22.29 48.12-49.98 0-27.56-21.55-50.04-48.12-50.04z m48.12-216.68c0-27.68-21.55-50.1-48.12-50.1H329.71c-26.63 0-48.12 22.42-48.12 50.1 0 27.56 21.49 49.98 48.12 49.98h570.67c26.63 0.05 48.12-22.43 48.12-49.98" horiz-adv-x="1024" />
<glyph glyph-name="daohangzhankai" unicode="&#58889;" d="M78.04 766.16c0 27.5 22.5 50 50 50H895c27.5 0 50-22.5 50-50v-13.13c0-27.5-22.5-50-50-50H128.04c-27.5 0-50 22.5-50 50v13.13zM945 0.02c0-27.5-22.5-50-50-50H128.04c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50H895c27.5 0 50-22.5 50-50v-13.13zM601.66 542.16c27.5 0 50-22.5 50-50v-13.13c0-27.5-22.5-50-50-50H128c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50h473.66zM651.66 265.02c0-27.5-22.5-50-50-50H128c-27.5 0-50 22.5-50 50v13.13c0 27.5 22.5 50 50 50h473.66c27.5 0 50-22.5 50-50v-13.13zM750.06 523.44c0 27.5 16.17 34.35 35.92 15.22l124.1-120.14c19.76-19.13 19.91-50.59 0.34-69.91L785.64 225.39c-19.57-19.32-35.58-12.63-35.58 14.87V523.44z" horiz-adv-x="1024" />
<glyph glyph-name="daohangzhedie" unicode="&#58890;" d="M944.96 767.16c0 27.5-22.5 50-50 50H129c-27.5 0-50-22.5-50-50v-13.13c0-27.5 22.5-50 50-50h765.96c27.5 0 50 22.5 50 50v13.13zM79 1.02c0-27.5 22.5-50 50-50h765.96c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H129c-27.5 0-50-22.5-50-50v-13.13zM422 543.16c-27.5 0-50-22.5-50-50v-13.13c0-27.5 22.5-50 50-50h473c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H422zM372 266.02c0-27.5 22.5-50 50-50h473c27.5 0 50 22.5 50 50v13.13c0 27.5-22.5 50-50 50H422c-27.5 0-50-22.5-50-50v-13.13zM273.72 524.44c0 27.5-16.16 34.34-35.9 15.2L113.9 419.54c-19.75-19.14-19.9-50.62-0.35-69.95l124.6-123.18c19.56-19.33 35.56-12.65 35.56 14.85V524.44z" horiz-adv-x="1024" />
<glyph glyph-name="xiangshangjiantou" unicode="&#58891;" d="M480.19 611.59l-67.16-67.16L92.17 223.57c-19.45-19.45-21.04-49.67-3.55-67.16s47.72-15.9 67.16 3.55l320.86 320.86c19.45 19.45 51.27 19.45 70.71 0l320.86-320.86c19.45-19.45 49.67-21.04 67.16-3.55s15.9 47.72-3.55 67.16L610.97 544.43l-67.16 67.16c-17.49 17.49-46.12 17.5-63.62 0z" horiz-adv-x="1024" />
<glyph glyph-name="xiangzuojiantou" unicode="&#58892;" d="M307.83 415.73l67.16 67.16L695.85 803.76c19.45 19.45 49.67 21.04 67.16 3.55s15.9-47.72-3.55-67.16L438.6 419.28c-19.45-19.45-19.45-51.27 0-70.71L759.47 27.7c19.45-19.45 21.04-49.67 3.55-67.16s-47.72-15.9-67.16 3.55L374.99 284.96l-67.16 67.16c-17.49 17.49-17.5 46.12 0 63.61z" horiz-adv-x="1024" />
<glyph glyph-name="xiangyoujiantou" unicode="&#58893;" d="M755.44 415.65l-67.16 67.16L367.41 803.68c-19.45 19.45-49.67 21.04-67.16 3.55s-15.9-47.72 3.55-67.16L624.66 419.2c19.45-19.45 19.45-51.27 0-70.71L303.8 27.63c-19.45-19.45-21.04-49.67-3.55-67.16s47.72-15.9 67.16 3.55l320.86 320.86 67.16 67.16c17.49 17.49 17.5 46.12 0.01 63.61z" horiz-adv-x="1024" />
<glyph glyph-name="guanbianniu" unicode="&#58894;" d="M917.17 725.53c19.45 19.45 21.04 49.67 3.54 67.18s-47.73 15.91-67.18-3.54L547.36 482.99c-19.45-19.45-51.27-19.45-70.71 0L170.47 789.17c-19.45 19.45-49.67 21.04-67.18 3.54s-15.91-47.73 3.54-67.18l306.18-306.18c19.45-19.45 19.45-51.27 0-70.71L106.83 42.47c-19.45-19.45-21.04-49.67-3.54-67.18s47.73-15.91 67.18 3.54l306.18 306.18c19.45 19.45 51.27 19.45 70.71 0l306.18-306.18c19.45-19.45 49.67-21.04 67.18-3.54s15.91 47.73-3.54 67.18L610.99 348.64c-19.45 19.45-19.45 51.27 0 70.71l306.18 306.18z" horiz-adv-x="1024" />
<glyph glyph-name="shujushangchuan" unicode="&#58895;" d="M482.27 224.97c0 11.86 12.09 21.55 26.86 21.55 14.79 0 26.88-9.69 26.88-21.55v-215.42c0-11.86-12.09-21.55-26.88-21.55-14.82 0.04-26.81 9.67-26.86 21.55V224.97zM490.34 238.44c10.48 10.41 27.4 10.41 37.88 0 10.41-10.48 10.41-27.4 0-37.88L425.66 97.99c-10.48-10.42-27.41-10.42-37.9 0-10.42 10.48-10.42 27.41 0 37.9l102.57 102.57v-0.02zM489.91 200.57c-10.42 10.48-10.42 27.41 0 37.89 10.49 10.42 27.42 10.42 37.9 0l102.56-102.59c10.41-10.48 10.41-27.4 0-37.88-10.48-10.41-27.4-10.41-37.88 0l-102.58 102.6v-0.02zM779.32 545.39C756.51 674.25 645.94 772 512.99 772c-132.95 0.02-243.5-97.75-266.31-226.63C151.13 522.43 80 434.94 80 330.51c0-121.91 96.94-220.72 216.48-220.75 14.66 0.4 26.34 12.64 26.34 27.59s-11.68 27.19-26.34 27.59c-43.08-0.12-84.42 17.35-114.8 48.49-30.55 30.98-47.68 73.14-47.56 117.07-0.06 37.62 12.51 74.12 35.6 103.45 22.68 28.82 54.12 49.12 89.37 57.7l34.54 8.29 6.31 35.64c13.7 76.59 65.92 140.19 137.46 167.41a212.032 212.032 0 0 0 75.6 13.82c51.09 0.07 100.53-18.35 139.55-51.97 38.48-33.08 64.47-78.78 73.51-129.27l6.3-35.64 34.56-8.29c53.46-13.02 96.89-52.62 115.53-105.34 6.28-17.91 9.48-36.79 9.46-55.8 0.11-43.94-17.02-86.09-47.58-117.07-30.38-31.15-71.72-48.61-114.81-48.49-14.66-0.4-26.34-12.64-26.34-27.59s11.68-27.19 26.34-27.59c119.57 0 216.49 98.83 216.49 220.76-0.01 104.42-71.14 191.91-166.69 214.87z" horiz-adv-x="1024" />
<glyph glyph-name="xitongjiankong" unicode="&#58896;" d="M512.75 765.5c51.67 0 101.72-10.11 148.75-30.06 45.38-19.25 86.14-46.81 121.14-81.92 34.95-35.06 62.38-75.86 81.54-121.26 19.79-46.9 29.82-96.7 29.82-148.01 0-51.2-10.11-100.96-30.05-147.89-19.28-45.38-46.86-86.2-81.99-121.32-35.13-35.13-75.95-62.71-121.32-81.99C613.71 13.11 563.96 3 512.75 3c-51.31 0-101.11 10.03-148.01 29.82-45.4 19.15-86.2 46.59-121.26 81.54-35.11 35-62.67 75.76-81.92 121.14-19.95 47.03-30.06 97.08-30.06 148.75 0 51.78 10.04 101.86 29.83 148.87 19.12 45.41 46.53 86.15 81.47 121.08s75.67 62.34 121.08 81.47c47.01 19.79 97.1 29.83 148.87 29.83m0 52C272.49 817.5 79.5 624.51 79.5 384.25S274.46-49 512.75-49 946 145.96 946 384.25 753.01 817.5 512.75 817.5zM599.4 122.33h-1.97c-13.78 1.97-23.63 11.82-27.57 23.63l-64.99 342.66-35.45-124.07c-3.94-11.82-15.75-19.69-27.57-19.69H406.4l-35.45-88.62c-3.94-11.81-15.76-19.69-27.57-19.69-11.82 0-23.63 7.88-27.57 19.69l-43.33 129.98-13.78-27.57c-3.94-9.85-15.75-17.72-27.57-17.72h-33.48c-15.76 0-29.54 13.79-29.54 29.54 0 15.76 13.78 33.48 29.54 33.48h15.75l37.42 78.77c5.91 11.81 15.76 17.72 29.54 17.72 11.81 0 21.66-7.88 25.6-19.7l39.39-122.09 11.82 29.54c3.94 11.82 15.75 19.69 27.57 19.69h33.48l64.99 220.57c3.94 13.79 15.76 21.66 29.54 21.66 13.79 0 25.6-9.85 27.57-23.63l68.92-360.39 88.62 250.11c3.94 11.82 15.76 19.69 27.57 19.69 11.82 0 23.63-7.87 27.57-19.69l39.39-112.25h35.45c15.75 0 29.54-11.82 29.54-29.54 0-15.75-11.82-29.54-29.54-29.54h-57.11c-13.79 0-23.63 7.87-27.57 19.69l-19.69 53.17-96.5-275.71c-3.94-11.81-15.75-19.69-27.57-19.69z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="youjianguanli" unicode="&#58897;" d="M810.98 730.32H220c-76.24 0-138.15-56.18-138.15-125.36v-438.75c0-69.18 61.92-125.36 138.15-125.36h590.98c76.24 0 138.15 56.18 138.15 125.36V604.96c-0.51 69.18-61.91 125.36-138.15 125.36zM139.73 218.19v334.8l184.74-167.18-184.74-167.62zM596.1 359.7c-21.34-19.35-50.1-30.16-80.86-30.16-30.76 0-59.03 10.81-80.85 30.16L143.7 623.92c11.41 33.75 44.65 55.82 85.32 55.82h572.94c40.68 0 73.91-21.61 85.32-55.82L596.1 359.7z m-237.7-9.36l43.71-36.07c35-29.81 71.95-38.83 113.63-38.83 41.66 0 77.7 12.23 109.91 38.83l42.27 36.07L888.27 150.4c-10.41-35.56-44.15-58.52-86.31-58.52H229.02c-42.16 0-75.9 22.96-86.31 58.07L358.4 350.34z m532.84 202.65v-334.8L706.52 385.81l184.72 167.18z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="xiaoping" unicode="&#58898;" d="M93.02 729.05c-20.03 20.21-20.03 52.78 0 72.99a51.437 51.437 0 0 0 36.54 15.05c13.21 0 26.42-4.95 36.54-15.05L320.94 647.4l58.22 58.14c25.8 25.98 70.4 7.42 70.4-29.28v-189.08c0-22.68-18.58-41.24-41.29-41.24H218.95c-36.75 0-55.32 44.54-29.31 70.52l58.22 57.94L93.02 729.05z m521.75-283.21c-10.95 0-21.45 4.35-29.2 12.08a41.17 41.17 0 0 0-12.09 29.16V676.16c0 36.7 44.39 55.26 70.4 29.28l58.22-58.15L856.93 801.94c14.76 14.8 37 19.25 56.32 11.25s31.89-26.85 31.84-47.74c0-13.2-4.96-26.39-15.07-36.49L775.18 574.3l58.22-57.94c25.81-25.98 7.43-70.52-29.31-70.52H614.77z m29.17-382.99c-26.01-25.98-70.4-7.63-70.4 29.07V281c0 22.89 18.38 41.24 41.29 41.24h189.31c36.75 0 55.12-44.33 29.31-70.31l-58.22-58.14 154.83-154.64c20.03-20.2 20.03-52.78 0-72.99-10.12-9.9-23.33-15.05-36.54-15.05s-26.42 5.15-36.54 15.05L702.16 120.79l-58.22-57.94zM78.01 2.58c0 13.2 4.96 26.39 15.07 36.5l154.83 154.64-58.22 58.14c-26.02 25.98-7.43 70.31 29.31 70.31h189.31c10.95 0 21.45-4.34 29.2-12.08a41.17 41.17 0 0 0 12.09-29.16v-189.08c0-36.7-44.59-55.05-70.4-29.07L321 120.72 166.16-33.92c-20.23-20-52.85-20-73.08 0a51.322 51.322 0 0 0-15.07 36.5z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="renyuanguanli" unicode="&#58899;" d="M444.19 816.97c-113.92 0-212.42-98.69-212.42-218.99 0-67.86 30.73-129.46 83.13-172.74l15.37-9.16-15.34-6.26C173.12 354.48 78 218.8 78 64.77c-0.26-27.9 10.69-54.73 30.39-74.46 19.7-19.73 46.5-30.69 74.36-30.43h280.16c9.14 0 24.51 9.13 24.51 27.9 0 21.65-15.37 27.88-24.51 27.88H182.27a48.365 48.365 0 0 0-34.87 14.19 48.483 48.483 0 0 0-14.15 34.92c0 163.62 126.42 298.87 286.41 314.26h33.68c36.95 2.9 89.33 12.52 116.76 37.06l12.53 9.16c52.4 43.29 83.11 104.88 83.11 172.74-0.01 120.29-98.59 218.98-221.55 218.98z m5.76-382.6c-89.43 0-163.37 74.09-163.37 163.61 0 89.53 73.96 163.64 163.37 163.64 89.41 0 163.43-74.11 163.43-163.64 0-89.53-74.02-163.61-163.43-163.61zM779.88 339.2l34.43-19.2c-0.25-1.27-0.44-2.55-0.58-3.84-0.09-0.42-0.19-0.89-0.28-1.29-1.14-5.33-2.86-13.39-2.86-21.99 0-48.69 34.79-87.75 81.39-94.16 1.34-9.64 3.55-21.59 6.72-32.57-0.57-8.02-2.02-16.52-3.23-22.47-47.15-5.97-82.49-45.26-82.49-94.33 0-11.06 2.05-21.16 3.59-27.2l-35.69-19.92c-15.59 16.44-43.17 34.81-69.91 34.81-30.5 0-55.29-20.85-71.54-37.03-1.49-0.03-2.99-0.08-4.5-0.18l-29.78 16.66c0.25 1.27 0.44 2.55 0.59 3.83 0.09 0.42 0.19 0.89 0.27 1.29 1.14 5.32 2.86 13.35 2.86 21.93 0 49.33-35.68 88.77-83.16 94.42-0.25 0.62-0.52 1.23-0.79 1.84-0.88 5.33-2.04 16.42-2.04 26.95 0 10.16 2.25 21.73 3.74 28.89 20.67 2.62 39.77 11.96 54.72 26.95 17.81 17.86 27.84 42.55 27.54 67.78-0.04 10.68-2 20.49-3.52 26.51l37.64 19.8c0.8-0.63 1.61-1.23 2.45-1.8 1.03-0.71 2.71-1.94 4.48-3.23 14.4-10.56 36.16-26.52 61.53-26.52 30.09-0.01 57.1 22.95 68.42 34.07M791.69 385.28h-15.42c-9.06 0-21.59-2.87-27.84-12.49-6.25-6.28-24.54-21.67-36.98-21.67-12.52 0-30.81 15.39-39.96 21.67-6.19 6.23-15.37 12.49-27.86 12.49-6.2 0-9.09 0-12.5-2.87l-58.6-30.8c-12.53-9.16-18.32-27.9-12.53-43.29 0 0 2.86-9.18 2.86-18.31a48.38 48.38 0 0 0-14.11-34.93 48.25 48.25 0 0 0-34.17-14.19H510.95c-12.5 0-24.51-12.54-27.87-27.9 0-2.9-6.22-24.54-6.22-46.24 0-18.31 2.87-43.32 6.22-46.11 2.92-15.47 15.34-27.98 27.87-27.98h2.95c27.87 0 48.96-21.67 48.96-49.11 0-6.2-2.86-15.36-2.86-18.2-6.2-15.47 0-33.64 12.53-43.32l55.21-30.88c6.3 2.9 9.2 2.9 15.39 2.9 9.15 0 21.64 2.87 27.95 12.57 6.2 6.23 24.48 24.43 39.88 24.43 12.5 0 33.57-15.36 39.87-24.43 6.22-6.28 15.39-12.57 27.89-12.57 6.19 0 9.12 0 15.33 2.87l55.24 30.83c12.5 9.13 18.32 27.87 12.5 43.37 0 0-2.84 9.08-2.84 18.23 0 27.93 21.64 49.11 49.05 49.11h2.86c12.47 0 24.51 12.54 27.84 27.9 0 0 6.22 24.51 6.22 46.24-5.73 15.39-8.58 39.93-8.58 43.26-2.95 15.44-15.45 27.93-27.89 27.93h-2.92c-27.81 0-48.96 21.67-48.96 49.08 0 6.26 2.87 15.44 2.87 18.29 6.19 15.39 0 33.73-12.53 43.32l-55.22 30.8zM709.3 212.79c2.86 0 5.79-0.32 8.71-0.94 0.41-0.09 0.82-0.17 1.24-0.25 17.34-3.17 30.94-17.61 33.83-35.95 0.12-0.74 0.25-1.47 0.41-2.2 3.54-16.63-3.64-28.63-8.23-34.3-7.95-9.82-19.49-15.45-31.66-15.45-2.9 0-5.86 0.32-8.8 0.95-0.42 0.09-0.84 0.17-1.26 0.25-16.58 3.03-30.88 17.41-34 34.18l-0.12 0.64c-3.83 18.92 3.9 31.89 8.85 37.95 7.84 9.62 19.15 15.12 31.03 15.12m0 42c-51.06 0-92.28-48.01-81.06-103.4 6.28-33.67 33.68-61.58 67.74-67.8a83.707 83.707 0 0 1 17.61-1.89c51.05 0 92.2 47.72 80.97 100.49-5.76 36.57-33.65 64.5-67.77 70.73a83.284 83.284 0 0 1-17.49 1.87z" horiz-adv-x="1024" />
<glyph glyph-name="xiangxiala" unicode="&#58900;" d="M892.62 629.77c55 0 68.7-32.33 30.44-71.85L586.3 210.07c-38.26-39.52-101.17-39.83-139.82-0.69L101.64 558.62c-38.64 39.14-25.26 71.16 29.74 71.16h761.24z" horiz-adv-x="1024" />
<glyph glyph-name="exceldaorudaochu" unicode="&#58901;" d="M79.5 598.5v-425.93c0-14.78 12.58-25.85 26.42-25.85h435.34c15.1 0 26.42 12.31 26.42 25.85V598.5c0 14.77-12.58 25.85-26.42 25.85H105.92c-15.09 0-26.42-11.08-26.42-25.85z m351.04-332.38h-91.85l-27.68 52.93-33.97-52.93h-61.65l67.94 105.87-67.94 132.95h91.85l27.68-52.93 33.97 52.93h61.65L362.6 399.07l67.94-132.95z m503.28 477.64v-750.92c0-14.78-12.58-25.85-26.42-25.85H227.97c-15.1 0-26.42 12.31-26.42 25.85v97.25c0 14.77 12.58 25.85 26.42 25.85h7.55c15.1 0 26.42-12.31 26.42-25.85v-36.93c0-14.77 12.58-25.85 26.42-25.85h557.39c15.1 0 26.42 12.31 26.42 25.85V717.91c0 14.78-12.58 25.85-26.42 25.85H289.62c-15.1 0-26.42-12.31-26.42-25.85v-36.93c0-14.77-12.58-25.85-26.42-25.85h-7.55c-15.1 0-26.42 12.31-26.42 25.85v97.25c0 14.77 12.58 25.85 26.42 25.85h679.43c15.1 0 26.42-12.31 26.42-25.85v-34.47h-1.26zM625.56 445.85h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.39c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85V420c-1.26 13.54 11.32 25.85 26.42 25.85z m0 119.41h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.38c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85v7.38c-1.26 13.54 11.32 25.85 26.42 25.85z m0-238.82h159.79c15.1 0 26.42-12.31 26.42-25.85v-7.39c0-14.77-12.58-25.85-26.42-25.85H625.56c-15.1 0-26.42 12.31-26.42 25.85v6.16c-1.26 14.77 11.32 27.08 26.42 27.08z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="xiangxiajiantou" unicode="&#58902;" d="M480.19 156.41l-67.16 67.16L92.17 544.43c-19.45 19.45-21.04 49.67-3.55 67.16s47.72 15.9 67.16-3.55l320.86-320.86c19.45-19.45 51.27-19.45 70.71 0l320.86 320.86c19.45 19.45 49.67 21.04 67.16 3.55s15.9-47.72-3.55-67.16L610.97 223.57l-67.16-67.16c-17.49-17.49-46.12-17.5-63.62 0z" horiz-adv-x="1024" />
<glyph glyph-name="shouye" unicode="&#58903;" d="M508.23 766c13.5 0 23.07-7.41 28.72-13.62 0.65-0.72 1.32-1.41 2.01-2.09l345.26-339.65c6.36-7.31 8.78-12.76 9.52-15.64h-61.9c-28.72 0-52-23.28-52-52v-289.33c0-23.41-21.8-51.68-48.86-51.68h-79.45V136.15c0 47.38-34.1 114.11-109.92 114.11h-57.93c-62.67 0-109.92-49.06-109.92-114.11V2h-81.77c-26.56 0-47.17 27.78-47.17 51.68V343.01c0 28.72-23.28 52-52 52h-61.5c0.79 2.98 3.27 8.45 9.65 15.71l337.01 340.04c0.58 0.58 1.14 1.18 1.69 1.79 7.93 8.8 17.81 13.45 28.56 13.45m0 52c-25.49 0-49.43-10.93-67.19-30.64l-337.97-341c-32.59-36.11-23.33-64.42-21.32-69.56 5.41-13.09 18.84-33.79 46.65-33.79h64.41v-289.33c0-52.34 43.25-103.68 99.17-103.68h133.77V136.15c0 32.63 19.92 62.11 57.92 62.11h57.93c43.87 0 57.92-41.9 57.92-62.11V-50h131.45c55.76 0 100.86 51.34 100.86 103.68V343.01h64.57c27.8 0 41.09 20.7 46.65 33.79 2.32 5.3 11.43 33.45-21.01 69.56-0.15 0-0.15 0.17-0.15 0.17L575.42 787.36C557.5 807.07 533.72 818 508.23 818z" horiz-adv-x="1024" />
<glyph glyph-name="xitongshezhi" unicode="&#58904;" d="M515 502.53c64.12 0 116.29-53.17 116.29-118.53S579.12 265.47 515 265.47 398.71 318.64 398.71 384 450.88 502.53 515 502.53m0 52c-92.85 0-168.29-76.44-168.29-170.53 0-94.08 75.44-170.53 168.29-170.53S683.29 289.92 683.29 384c0 94.09-75.44 170.53-168.29 170.53zM645.8 765.81c2.22 0 4.35-0.35 6.35-1.04 37.78-16.02 73.62-37.54 106.6-63.99 9.52-9.79 12.52-25.6 7.07-38.21-0.45-1.04-0.86-2.1-1.25-3.17-14.24-39.99-11.99-82.12 6.19-115.61 19.37-35.69 56.53-61.17 96.98-66.49 0.86-0.11 1.72-0.2 2.59-0.27 6.02-0.49 10.75-2.5 14.44-6.15 3.97-3.93 6.7-9.65 7.93-16.58 2.77-23.47 5.3-48 5.3-69.09 0-21-2.55-42.86-5.3-65.98-2.26-12.31-11.72-21.85-22.73-22.82-0.5-0.04-0.99-0.09-1.49-0.15-41.79-4.89-77.4-29.15-97.72-66.58-20.29-37.39-22.02-81.89-4.71-119.31 5.39-13.21 1.34-30.62-5.75-36.42-0.46-0.37-0.91-0.76-1.35-1.15-27.19-23.86-64.09-46-106.78-64.08-2.01-0.69-4.16-1.04-6.41-1.04-8.85 0-18.48 5.32-25.34 13.95-24.05 34.43-62.4 54.92-102.96 54.92-43.6 0-82.57-20.57-106.9-56.43a51.636 51.636 0 0 1-4.88-8.98c-2.8-6.64-9.28-7.77-12.21-7.93-1.79 0.4-5.31 1.6-8.22 2.62-37.62 16-73.33 37.46-106.19 63.81-9.52 9.78-12.51 25.6-7.07 38.21 0.45 1.04 0.86 2.1 1.24 3.16 14.24 39.99 11.99 82.13-6.19 115.6-19.37 35.69-56.53 61.17-96.99 66.49-0.86 0.11-1.72 0.2-2.58 0.27-6.02 0.49-10.75 2.5-14.44 6.15-4.12 4.08-6.91 10.09-8.07 17.39-0.5 3.17-1.3 6.29-2.37 9.31-5.62 15.79-8.6 36.18-8.6 58.97 0 21.03 2.55 42.88 5.3 65.99 2.26 12.31 11.71 21.85 22.73 22.82 0.5 0.04 0.99 0.09 1.49 0.15 41.79 4.89 77.41 29.15 97.73 66.58 20.12 37.09 21.99 81.18 5.12 118.42-5.75 15.62-2.54 31.05 8.5 40.58 33.33 26.92 69.62 48.79 107.89 65.03 2 0.69 4.15 1.04 6.4 1.04 8.84 0 18.47-5.32 25.33-13.94 24.05-34.43 62.4-54.93 102.96-54.93 43.61 0 82.57 20.57 106.9 56.43 0.09 0.13 0.18 0.27 0.27 0.4 4.95 7.44 13.06 12.05 21.19 12.05m0 52c-24.76 0-49.41-12.58-64.48-35.25-14.52-21.4-37.74-33.62-63.87-33.62-23.22 0-46.45 12.22-60.97 33.62-17.22 22.67-42.43 35.25-67.33 35.25-8.68 0-17.31-1.53-25.56-4.69-43.54-18.34-84.19-42.79-121.93-73.35-29.03-24.45-37.74-64.19-23.23-100.87 11.61-24.45 8.71-51.96-2.9-73.36-11.61-21.39-31.93-36.68-58.06-39.73-34.83-3.06-63.87-30.57-69.67-67.24-2.9-24.45-5.8-48.9-5.8-73.36 0-24.45 2.9-51.96 11.61-76.41 5.81-36.68 31.93-64.19 69.67-67.24 23.22-3.05 46.45-18.34 58.06-39.74 11.61-21.39 11.61-48.9 2.91-73.35-14.52-33.62-5.81-73.36 20.32-97.81 37.74-30.56 78.38-55.02 121.93-73.35 8.71-3.06 17.42-6.11 26.13-6.11 23.22 0 49.35 12.22 60.96 39.74 14.52 21.39 37.74 33.62 63.87 33.62 23.22 0 46.45-12.23 60.97-33.62 17.22-22.67 42.43-35.25 67.33-35.25 8.68 0 17.31 1.53 25.56 4.68 43.54 18.34 87.09 42.79 121.93 73.36 26.13 21.39 34.84 64.18 20.32 97.81-11.61 24.45-8.71 51.96 2.9 73.36 11.61 21.39 31.93 36.68 58.06 39.73 34.84 3.06 63.87 30.57 69.67 67.24 2.9 24.45 5.81 48.91 5.81 73.36 0 24.45-2.91 51.96-5.81 76.41-5.81 36.68-31.93 64.19-69.67 67.24-23.23 3.06-46.44 18.34-58.06 39.74-11.61 21.39-11.61 48.9-2.9 73.35 14.52 33.62 5.8 73.36-20.32 97.81-37.74 30.56-78.38 55.02-121.93 73.35a71.527 71.527 0 0 1-25.52 4.68z" horiz-adv-x="1024" />
<glyph glyph-name="xiaoxi" unicode="&#58905;" d="M591.93 740.45c0 42.41-35.94 76.95-80.28 76.95-44.25 0-80.28-34.45-80.28-76.95 0-4.33 0.38-8.58 1.09-12.71-110.86-37.04-201.8-150.77-201.8-285.34v-105.94s0-152.58-39.1-153.9c-23.32 0-41.17-17.23-41.17-38.48 0-21.39 17.97-38.47 40.13-38.47h642.26c22.27 0 40.13 17.23 40.13 38.47 0 21.4-17.97 38.48-40.13 38.48-40.15 0-40.15 152.83-40.15 152.83v107c0 134.74-85.03 248.52-201.78 285.44 0.72 4.16 1.08 8.39 1.08 12.62z m40.14-673.26c-0.12-63.81-53.53-115.5-120.42-115.5-66.43 0-120.3 51.47-120.42 115.5h240.84z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="quanping" unicode="&#58906;" d="M279.12 816.64H105.97C91.63 816.64 80 805.01 80 790.67v-172.99c0-14.41 11.63-26.03 25.97-26.03 14.35 0 26.09 11.62 26.09 26.03 0 1.49-0.25 3.03-0.5 4.45V760.5c0 2.41 1.92 4.33 4.27 4.33h140.5c0.93-0.06 1.86-0.25 2.78-0.25 14.35 0 26.03 11.62 26.03 26.03 0.02 14.4-11.67 26.03-26.02 26.03z m0 0M837.1 75.97c0-9.52-7.85-17.25-17.32-17.25H202.26c-9.53 0-17.25 7.73-17.25 17.25V693.29c0 9.59 7.73 17.31 17.25 17.31h617.53c9.46 0 17.32-7.73 17.32-17.31v-617.32z m0 0M746.51 816.64h173.16c14.34 0 25.97-11.62 25.97-25.97v-172.62c0-0.13 0.12-0.25 0.12-0.37 0-14.41-11.69-26.03-26.1-26.03-14.41 0-26.04 11.62-26.04 26.03 0 1.49 0.25 3.03 0.43 4.45V760.5c0 2.41-1.85 4.33-4.33 4.33H749.29c-0.99-0.06-1.79-0.25-2.78-0.25-14.34 0-25.97 11.62-25.97 26.03 0 14.4 11.63 26.03 25.97 26.03zM279.12-48.79H105.97c-14.35 0-25.97 11.56-25.97 25.9V150.16c0 14.41 11.63 26.09 25.97 26.09 14.35 0 26.09-11.63 26.09-26.09 0-1.48-0.25-3.03-0.5-4.45v-138.3c0-2.41 1.92-4.33 4.27-4.33h140.5c0.93 0.06 1.79 0.25 2.72 0.25 14.35 0 26.03-11.62 26.03-26.03 0.02-14.41-11.61-26.09-25.96-26.09z m467.39 0h173.16c14.34 0 25.97 11.63 25.97 25.9V149.79c0 0.12 0.12 0.25 0.12 0.37 0 14.41-11.69 26.09-26.1 26.09-14.41 0-26.04-11.63-26.04-26.09 0-1.48 0.25-3.03 0.43-4.45v-138.3c0-2.41-1.85-4.33-4.33-4.33H749.29c-0.99 0.06-1.79 0.25-2.78 0.25-14.34 0-25.97-11.62-25.97-26.03 0-14.41 11.63-26.09 25.97-26.09z m0 0" horiz-adv-x="1024" />
<glyph glyph-name="zujian" unicode="&#58907;" d="M594.69 766c18.76 0 36.38-7.22 49.6-20.34 12.97-12.86 20.11-29.74 20.11-47.51 0-5.28-1.12-11.69-3.41-19.55-0.47-1.18-0.96-2.51-1.43-3.99-1.54-3.77-3.12-7.53-4.29-9.83-0.54-1.07-1.05-2.15-1.51-3.25L647.62 647a51.992 51.992 0 0 1 4.54-48.99 51.993 51.993 0 0 1 43.35-23.28H898v-216.67l-20.4 8.88c-1.43 0.8-2.9 1.53-4.39 2.19-3.46 1.91-8.68 4.66-15.2 6.79-2.11 0.69-4.26 1.25-6.43 1.66-12.06 3.35-22.64 3.34-29.44 3.34-61.89 0-112.25-49.94-112.25-111.32 0-61.38 50.35-111.32 112.25-111.32 8.93 0 18.33 1.21 28.69 3.69 11.84 2.57 20.52 7.44 25.79 10.4 0.6 0.34 1.41 0.79 1.74 0.96 1.92 0.95 3.77 2.01 5.55 3.18 0.26 0.15 0.53 0.31 0.81 0.48l13.29 6.2V2H315.96V164.28a52 52 0 0 1-52 52c-9.96 0-19.9-2.86-28.53-8.53-1.76-1.16-4.15-2.29-6.82-3.25-2.26-0.42-4.49-0.99-6.69-1.71-2.56-0.84-8.33-2.25-18.21-2.25-18.76 0-36.38 7.22-49.61 20.33-12.96 12.87-20.1 29.74-20.1 47.52 0 17.96 7.22 34.9 20.32 47.71 13.28 12.98 30.82 20.14 49.4 20.14 5.63 0 12.39-1.14 20.63-3.48 1.17-0.46 2.5-0.93 3.98-1.38 3.92-1.55 7.84-3.15 10.24-4.33l2.46-1.21a52.002 52.002 0 0 1 50.42 2.53 52.003 52.003 0 0 1 24.51 44.14v201H495.1c18.08 0 34.86 9.39 44.31 24.79a51.999 51.999 0 0 1 2.06 50.74l-3.69 7.26c-0.76 1.49-1.58 2.94-2.48 4.35-3 4.72-4.96 8.46-6.03 11.54-0.46 2.96-1.17 5.89-2.14 8.74-1.38 4.08-2.18 10.36-2.18 17.22 0 17.96 7.22 34.9 20.32 47.71 13.29 12.99 30.84 20.14 49.42 20.14m0 52c-66.39 0-121.72-53.26-121.72-119.85 0-10.89 1.23-23 4.92-33.9v-1.21c2.46-10.9 7.37-20.58 13.52-30.26l3.69-7.26H294.7c-17.21 0-30.74-13.32-30.74-30.27V372.5l-2.46 1.21c-4.92 2.42-11.06 4.84-17.21 7.26-1.23 0-2.46 1.21-3.69 1.21-12.3 3.63-24.59 6.05-36.88 6.05C137.33 388.24 82 334.97 82 268.39c0-65.37 54.09-119.85 121.72-119.85 11.06 0 23.36 1.21 34.43 4.84h1.23c8.61 2.42 17.21 6.05 24.59 10.89v-184.01c0-16.94 13.52-30.27 30.74-30.27h624.56c17.21 0 30.74 13.32 30.74 30.27V217.55c0 9.68-6.15 20.58-14.75 25.42-4.83 2.72-10.44 4.3-16.17 4.3-4.47 0-9.02-0.96-13.34-3.08l-46.72-21.79c-1.23-1.21-2.46-1.21-3.69-2.42-4.92-2.42-9.83-6.05-15.98-7.26-4.92-1.21-11.06-2.42-17.21-2.42-33.19 0-60.25 26.63-60.25 59.32 0 32.68 27.05 59.32 60.25 59.32 6.15 0 12.29 0 18.44-2.42h1.23c3.69-1.21 7.37-3.63 9.83-4.84 1.23 0 1.23-1.21 2.46-1.21l52.87-23c4.29-1.59 8.82-2.48 13.27-2.48 5.75 0 11.38 1.49 16.23 4.9 8.61 6.05 13.52 15.73 13.52 25.42V596.46c0 16.94-13.52 30.27-30.74 30.27H695.5l6.15 14.53c2.46 4.84 4.92 10.89 7.37 16.95 0 1.21 1.23 2.42 1.23 3.63 3.69 12.11 6.15 24.21 6.15 36.32C716.4 763.52 662.31 818 594.69 818z" horiz-adv-x="1024" />
<glyph glyph-name="news" unicode="&#58910;" d="M804.38 239.45V429.61c0 128.31-81.94 234.98-194.79 273.63 0 3.09 1.55 9.28 1.55 12.37 0 54.11-44.83 97.39-97.39 97.39-54.11 0-97.39-43.29-97.39-97.39 0-3.09 0-9.28 1.55-12.37-112.85-38.65-196.34-145.32-196.34-273.63v-190.15l-68.02-119.04c-6.18-10.82-6.18-26.28 0-37.1 7.73-10.82 18.55-18.55 30.92-18.55h154.59C363.78-3.26 431.8-45 512.19-45c81.94 0 149.96 40.19 173.15 109.76h153.05c12.37 0 24.74 7.73 30.92 18.55 7.73 10.82 7.73 26.28 0 37.1l-64.93 119.04z m-344.75 477.7c0 30.92 23.19 49.47 54.11 49.47s52.56-18.55 52.56-49.47v-1.55c-18.55 3.09-34.01 4.64-52.56 4.64-20.1 1.55-38.65-1.55-57.2-3.09h3.09z m54.11-704.95c-40.19 0-83.48 21.64-109.76 55.65h216.43c-23.19-32.46-66.48-55.65-106.67-55.65zM216.92 118.87l57.2 97.39c1.55 4.64 1.55 13.91 1.55 20.1V435.79c0 120.58 114.4 230.35 233.44 230.35 120.58 0 244.26-117.49 244.26-238.08v-199.43c0-7.73 1.55-17.01 3.09-20.1l43.29-89.66H216.92z" horiz-adv-x="1024" />
<glyph glyph-name="dingshirenwu" unicode="&#58914;" d="M360.16 634.2c-16.28 0-29.6 13.32-29.6 29.6V782.23c0 16.28 13.32 29.6 29.6 29.6s29.6-13.32 29.6-29.6v-118.42c0-16.28-13.32-29.61-29.6-29.61zM663.84 634.2c-16.28 0-29.6 13.32-29.6 29.6V782.23c0 16.28 13.32 29.6 29.6 29.6s29.6-13.32 29.6-29.6v-118.42c0.01-16.28-13.32-29.61-29.6-29.61zM837.65-43.83h-651.3c-42.65 0-77.35 34.7-77.35 77.35V668.46c0 42.65 34.7 77.35 77.35 77.35h651.29c42.65 0 77.35-34.7 77.35-77.35v-634.94c0.01-42.65-34.69-77.35-77.34-77.35z m-651.3 730.44c-9.84 0-18.14-8.31-18.14-18.14v-634.94c0-9.84 8.31-18.14 18.14-18.14h651.29c9.84 0 18.14 8.31 18.14 18.14V668.46c0 9.84-8.31 18.14-18.14 18.14H186.35zM879.5 526.61H147.37c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25H879.5c13.75 0 25-11.25 25-25v-9.21c0-13.75-11.25-25-25-25zM511.5 62.37c-55.69 0-108.05 21.69-147.43 61.07C324.69 162.82 303 215.18 303 270.87c0 55.69 21.69 108.05 61.07 147.43s91.74 61.07 147.43 61.07 108.05-21.69 147.43-61.07S720 326.56 720 270.87c0-55.69-21.69-108.05-61.07-147.43-39.38-39.38-91.74-61.07-147.43-61.07z m0 371.97c-90.14 0-163.47-73.33-163.47-163.47S421.36 107.4 511.5 107.4s163.47 73.33 163.47 163.47-73.33 163.47-163.47 163.47zM507.45 246.1c-12.38 0-22.52 10.13-22.52 22.52v93.67c0 12.38 10.13 22.52 22.52 22.52 12.38 0 22.52-10.13 22.52-22.52v-93.67c-0.01-12.39-10.14-22.52-22.52-22.52zM565.99 246.1h-58.54c-12.38 0-22.52 10.13-22.52 22.52 0 12.38 10.13 22.52 22.52 22.52h58.54c12.38 0 22.52-10.13 22.52-22.52 0-12.39-10.14-22.52-22.52-22.52z" horiz-adv-x="1024" />
<glyph glyph-name="dongtaijiazai" unicode="&#58915;" d="M846.54-16.13H177.46c-43.82 0-79.46 35.17-79.46 78.39V705.74c0 43.23 35.65 78.39 79.46 78.39h669.07c43.82 0 79.46-35.17 79.46-78.39v-643.47c0.01-43.23-35.64-78.4-79.45-78.4zM177.46 724.12c-10.1 0-18.64-8.42-18.64-18.39v-643.47c0-9.97 8.54-18.39 18.64-18.39h669.07c10.1 0 18.64 8.42 18.64 18.39V705.74c0 9.97-8.54 18.39-18.64 18.39H177.46zM854.82 582.9H169.18c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25h685.63c13.75 0 25-11.25 25-25v-9.21c0.01-13.75-11.24-25-24.99-25zM854.82 125.9H169.18c-13.75 0-25 11.25-25 25v9.21c0 13.75 11.25 25 25 25h685.63c13.75 0 25-11.25 25-25v-9.21c0.01-13.75-11.24-25-24.99-25zM674 266.5h-85c-41.36 0-75 33.64-75 75v85c0 41.36 33.64 75 75 75h85c41.36 0 75-33.64 75-75v-85c0-41.36-33.64-75-75-75z m-85 185c-13.79 0-25-11.21-25-25v-85c0-13.79 11.21-25 25-25h85c13.79 0 25 11.21 25 25v85c0 13.79-11.21 25-25 25h-85zM314.5 334.5c-14.03 0-25.5 11.47-25.5 25.5V486c0 14.02 11.47 25.5 25.5 25.5 14.02 0 25.5-11.47 25.5-25.5v-126c0-14.03-11.48-25.5-25.5-25.5zM314.5 282m-25.5 0a25.5 25.5 0 1 1 51 0 25.5 25.5 0 1 1-51 0Z" horiz-adv-x="1024" />
<glyph glyph-name="jiekouwendang" unicode="&#58916;" d="M804.79-25.58H219.21c-40.87 0-74.12 33.25-74.12 74.12v670.6c0 40.87 33.25 74.12 74.12 74.12h392.33v-55.59H219.21c-10.04 0-18.53-8.49-18.53-18.53v-670.59c0-10.04 8.49-18.53 18.53-18.53h585.58c10.04 0 18.53 8.49 18.53 18.53V538.36h55.59v-489.82c0-40.87-33.25-74.12-74.12-74.12zM850.71 510.89H657.47c-40.87 0-74.12 33.25-74.12 74.12V765.78c0 11.11 6.61 21.15 16.82 25.54a27.791 27.791 0 0 0 30.1-5.36l239.57-227.1a27.805 27.805 0 0 0 6.7-30.47 27.81 27.81 0 0 0-25.83-17.5zM638.94 701.14v-116.12c0-10.04 8.49-18.53 18.53-18.53h123.52L638.94 701.14zM457.69 408L332.54 282.85c-9.2-9.2-24.26-9.2-33.46 0s-9.2 24.26 0 33.46l125.15 125.15c9.2 9.2 24.26 9.2 33.46 0s9.2-24.26 0-33.46zM332.54 316.31l125.15-125.15c9.2-9.2 9.2-24.26 0-33.46s-24.26-9.2-33.46 0L299.08 282.85c-9.2 9.2-9.2 24.26 0 33.46s24.26 9.2 33.46 0zM565.44 408l125.15-125.15c9.2-9.2 24.26-9.2 33.46 0s9.2 24.26 0 33.46L598.9 441.46c-9.2 9.2-24.26 9.2-33.46 0s-9.2-24.26 0-33.46zM690.59 316.31L565.44 191.16c-9.2-9.2-9.2-24.26 0-33.46s24.26-9.2 33.46 0l125.15 125.15c9.2 9.2 9.2 24.26 0 33.46s-24.26 9.2-33.46 0z" horiz-adv-x="1024" />
</font>
</defs></svg>

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 31 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 26 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1547543883733" class="icon" style="" viewBox="0 0 1272 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16831" xmlns:xlink="http://www.w3.org/1999/xlink" width="496.875" height="400"><defs><style type="text/css"></style></defs><path d="M729.64116345 165.27693991L634.32650881 90.125l-99.5625 78.52693991-5.17887981 4.16056009 104.74137981 83.50215546 105.09051682-83.50215546-9.77586218-7.53556009z m361.21228445 291.47198236l-456.78879245 360.19396555-456.49784537-359.99030128L110.125 511.12715547l523.93965546 413.11745671 524.23060335-413.35021555-67.44181091-54.14547436z m-456.78879245 29.21120673L385.4784479 290.00646554 318.06573237 344.12284454l315.96982771 249.16810336 316.28987101-249.40086136-67.41271555-54.14547436-248.84806008 196.21551682z" fill="#006cff" p-id="16832"></path></svg>

After

Width:  |  Height:  |  Size: 955 B

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1547543874130" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16498" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400"><defs><style type="text/css"></style></defs><path d="M511.8 0.6C229.2 0.6 0.1 229.7 0.1 512.3S229.2 1024 511.8 1024s511.7-229.1 511.7-511.7S794.4 0.6 511.8 0.6z m264.9 375.3c-0.1 0.1-0.1 0.2-0.2 0.3h0.2c-9 14.3-21.2 28.8-34.2 39.2-5.2 4.2-10.5 8.3-15.7 12.5v0.5c0.3 22.9-0.3 44.9-4.7 64.2-25.2 113.1-91.9 189.9-197.4 222.8-37.9 11.8-99.1 16.7-142.6 5.9-21.5-5.4-41-11.4-59.3-19.3-10.2-4.5-19.6-9.3-28.5-14.7l-8.8-5.3h0.5l-0.5-0.3c9.8 0.2 21.3 2.9 32.2 1.2 9.8-1.6 19.6-1.2 28.7-3.2 22.7-5 43-11.6 60.4-21.8 8.3-4.8 20.9-10.6 27-17.6-11.2 0.2-21.4-2.4-29.7-5.4-32.6-11.5-51.6-32.7-63.9-64.4h0.1c0-0.1-0.1-0.2-0.1-0.3 9.7 1.1 37.3 3.5 44.6-1.7-12.3-0.8-24.1-7.9-32.5-13.2-26.2-16.4-47.6-43.9-47.4-86.2v-0.3c3.5 1.7 6.9 3.3 10.4 4.9 6.6 2.8 13.3 4.3 21.1 5.9 3.1 0.7 9.3 2.4 13.2 1.4-5.1-5.8-13.2-9.7-18.4-16-14.7-18.3-28.7-45.3-25.2-77.4 0.5-4.7 1.3-9.4 2.6-14.3 2.5-9.7 6.5-18.3 10.8-26.2 0.2 0.1 0.4 0.2 0.5 0.3 2 4.2 6.4 7.2 9.1 10.6 8.6 10.7 19.2 20.3 30 28.7 36.7 28.7 69.9 46.4 123.1 59.5 13.5 3.3 29 5.9 45.1 5.9-1.9-5.8-2.7-13-2.7-20.5 0-9.7 1.3-19.6 3.3-26.8 9-32.1 28.5-55.2 57-67.6 6.9-3 14.4-5.2 22.4-6.9 4.1-0.6 8.2-1.1 12.3-1.6 39-0.7 59.8 13.5 79.6 31.6 16.8-1.4 38.7-10.8 51.6-17.4l12.6-6.9c0 0.1-0.1 0.3-0.1 0.4l0.1-0.1c-7.3 19.9-17.4 35.5-32.7 47.3-3.1 2.4-6.3 5.6-10 7.4 21.5-0.4 39.3-10 56.1-15.4v0.3z" fill="#2EB1EB" p-id="16499"></path><path d="M719.7 391.1s0.1 0 0.1-0.1c0 0-0.1 0-0.1 0.1zM726.8 428.4v-0.5 0.5zM336.4 479.9c3.3 0.7 9.9 2.7 13.8 1.2h-0.5l-0.1-0.1c-3.9 1-10.1-0.7-13.2-1.4-7.8-1.6-14.5-3.1-21.1-5.9-3.5-1.6-6.9-3.2-10.4-4.9v0.3c3.4 1.6 6.9 3.2 10.4 4.9 6.6 2.8 13.3 4.3 21.1 5.9zM719.6 391.4v0.2c21.9-0.2 39.8-10.1 56.9-15.4 0.1-0.1 0.1-0.2 0.2-0.3v-0.3c-16.9 5.3-34.6 14.9-56.1 15.4-0.4 0.1-0.7 0.3-1 0.4zM584.8 337.5c6.9-3 14.4-5.1 22.4-6.9 4.1-0.6 8.2-1 12.3-1.6 39-0.7 59.8 13.5 79.6 31.6 16.8-1.4 38.7-10.8 51.6-17.4 4.2-2.3 8.3-4.5 12.5-6.8 0-0.1 0.1-0.3 0.1-0.4l-12.6 6.9c-12.9 6.6-34.8 16-51.6 17.4-19.8-18.1-40.6-32.3-79.6-31.6-4.1 0.5-8.2 1-12.3 1.6-8 1.7-15.5 3.9-22.4 6.9-28.5 12.4-48 35.5-57 67.6-2 7.2-3.4 17.2-3.3 26.8 0-9.6 1.3-19.4 3.3-26.5 9-32.1 28.5-55.2 57-67.6zM385.2 568.5h-0.4c-7.3 5.2-34.9 2.8-44.6 1.7 0 0.1 0.1 0.2 0.1 0.3 10 1.1 38.2 3.6 44.9-2zM319.4 347.4c0.1 0.1 0.3 0.1 0.5 0.3 2 4.1 6.3 7.1 9.1 10.6 8.6 10.6 19.2 20.2 30 28.7 36.8 28.7 69.9 46.4 123.1 59.5 13.5 3.3 29.1 5.9 45.2 5.9 0-0.1-0.1-0.2-0.1-0.3-16.1 0-31.6-2.6-45.1-5.9-53.2-13.1-86.4-30.8-123.1-59.5-10.8-8.4-21.4-18-30-28.7-2.7-3.4-7.1-6.4-9.1-10.6-0.1-0.1-0.3-0.2-0.5-0.3-4.3 7.9-8.3 16.5-10.8 26.2-1.3 4.9-2.1 9.6-2.6 14.3 0.5-4.6 1.3-9.2 2.6-14 2.5-9.7 6.5-18.3 10.8-26.2zM317.7 683.2c9.9-1.6 19.6-1.2 28.7-3.2 22.8-5 43-11.6 60.4-21.8 8.4-4.9 21.3-10.8 27.3-17.9h-0.3c-6.1 7-18.7 12.8-27 17.6-17.4 10.2-37.7 16.8-60.4 21.8-9.1 2-18.9 1.6-28.7 3.2-10.9 1.7-22.4-1-32.2-1.2l0.5 0.3c9.7 0.4 21 2.9 31.7 1.2z" fill="#FFFFFF" p-id="16500"></path></svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1547543863835" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="16165" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400"><defs><style type="text/css"></style></defs><path d="M512 1024C229.236364 1024 0 794.763636 0 512S229.236364 0 512 0s512 229.236364 512 512-229.236364 512-512 512z m-129.861818-756.48s-36.212364 2.094545-48.989091 24.482909c-12.8 22.365091-54.318545 137.378909-54.318546 137.378909s13.847273 6.376727 37.28291-10.658909c23.435636-17.035636 30.882909-46.848 30.882909-46.848l42.589091-2.117818 1.070545 121.390545s-73.495273-1.070545-88.413091 0c-14.894545 1.047273-23.412364 40.448-23.412364 40.448h111.825455s-9.588364 67.095273-38.353455 116.084364c-28.741818 48.989091-83.060364 87.319273-83.060363 87.319273s39.424 15.965091 77.730909-6.4c38.353455-22.341818 66.629818-120.692364 66.629818-120.692364l89.925818 110.056727s8.192-52.386909-1.466182-67.188363c-9.658182-14.778182-62.208-74.286545-62.208-74.286546l-22.946909 20.247273 16.337455-65.117091h97.954909s0-38.353455-19.153455-40.494545c-19.176727-2.094545-78.801455 0-78.801454 0V371.898182h88.389818s-1.070545-39.400727-18.106182-39.400727h-143.755636l22.341818-64.954182z m169.984 61.184v358.562909h36.002909l13.102545 45.009455 63.348364-45.009455h89.064727V328.704h-201.518545z" fill="#0f84fd" p-id="16166"></path><path d="M594.781091 368.64h117.899636v277.876364h-41.890909l-53.364363 40.261818-11.636364-40.261818h-11.008V368.64z" fill="#0f84fd" p-id="16167"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 535 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,67 @@
<template>
<div class="active-plate-main">
<ul class="active-list">
<li class="item" v-for="item in infoList" :key="item.title">
<p class="num" :style="{color:item.color}"><CountTo :end="item.count">{{item.count}}</CountTo></p>
<p class="desc">{{item.title}}</p>
</li>
</ul>
</div>
</template>
<script>
import CountTo from '_c/count-to';
export default {
name: 'activePlate',
components: {
CountTo
},
props: {
// 需要展示的数据集合
infoList: {
type: Array,
require: true
}
}
};
</script>
<style lang="less">
.active-plate-main {
width: 100%;
height: 130px;
.active-list {
display: flex;
list-style: none;
padding-top:15px;
.item {
position: relative;
flex: 1;
text-align: center;
.num {
font-size: 42px;
font-weight: bold;
font-family: sans-serif;
}
.desc {
font-size: 16px;
}
&::after {
position: absolute;
top:18px;
right: 0;
content: "";
display: block;
width: 1px;
height: 56px;
background: #e7eef0;
}
&:nth-last-of-type(1) {
&::after {
background: none;
}
}
}
}
}
</style>

View File

@@ -0,0 +1,73 @@
<template>
<div ref="dom" class="charts chart-bar"></div>
</template>
<script>
import echarts from 'echarts';
import tdTheme from './theme.json';
import { on, off } from '@/lib/util';
echarts.registerTheme('tdTheme', tdTheme);
export default {
// 柱状图
name: 'chartBar',
props: {
// map类型 keys 为图表x轴 values 为图表y轴数据
value: {
type: Object,
require: true
},
// 标题
text: {
type: String,
require: false,
default: ''
},
// 子标题
subtext: {
type: String,
require: false,
default: ''
}
},
data () {
return {
dom: null
};
},
methods: {
resize () {
this.dom.resize();
}
},
mounted () {
this.$nextTick(() => {
let xAxisData = Object.keys(this.value);
let seriesData = Object.values(this.value);
let option = {
title: {
text: this.text,
subtext: this.subtext,
x: 'center'
},
xAxis: {
type: 'category',
data: xAxisData
},
yAxis: {
type: 'value'
},
series: [{
data: seriesData,
type: 'bar'
}]
};
this.dom = echarts.init(this.$refs.dom, 'tdTheme');
this.dom.setOption(option);
on(window, 'resize', this.resize);
});
},
beforeDestroy () {
off(window, 'resize', this.resize);
}
};
</script>

View File

@@ -0,0 +1,3 @@
import ChartPie from './pie.vue';
import ChartBar from './bar.vue';
export { ChartPie, ChartBar };

View File

@@ -0,0 +1,85 @@
<template>
<div ref="dom" class="charts chart-pie"></div>
</template>
<script>
import echarts from 'echarts';
import tdTheme from './theme.json';
import { on, off } from '@/lib/util';
echarts.registerTheme('tdTheme', tdTheme);
export default {
// 饼图
name: 'chartPie',
props: {
// 数据集合
value: {
type: Array,
require: true
},
// 标题
text: {
type: String,
require: true,
default: ''
},
// 子标题
subtext: {
type: String,
require: true,
default: ''
}
},
data () {
return {
dom: null
};
},
methods: {
resize () {
this.dom.resize();
}
},
mounted () {
this.$nextTick(() => {
let legend = this.value.map(_ => _.name);
let option = {
title: {
text: this.text,
subtext: this.subtext,
x: 'center'
},
tooltip: {
trigger: 'item',
formatter: '{a} <br/>{b} : {c} ({d}%)'
},
legend: {
orient: 'vertical',
left: 'left',
data: legend
},
series: [
{
type: 'pie',
radius: '55%',
center: ['50%', '60%'],
data: this.value,
itemStyle: {
emphasis: {
shadowBlur: 10,
shadowOffsetX: 0,
shadowColor: 'rgba(0, 0, 0, 0.5)'
}
}
}
]
};
this.dom = echarts.init(this.$refs.dom, 'tdTheme');
this.dom.setOption(option);
on(window, 'resize', this.resize);
});
},
beforeDestroy () {
off(window, 'resize', this.resize);
}
};
</script>

View File

@@ -0,0 +1,490 @@
{
"color": [
"#2d8cf0",
"#19be6b",
"#ff9900",
"#E46CBB",
"#9A66E4",
"#ed3f14"
],
"backgroundColor": "rgba(0,0,0,0)",
"textStyle": {},
"title": {
"textStyle": {
"color": "#516b91"
},
"subtextStyle": {
"color": "#93b7e3"
}
},
"line": {
"itemStyle": {
"normal": {
"borderWidth": "2"
}
},
"lineStyle": {
"normal": {
"width": "2"
}
},
"symbolSize": "6",
"symbol": "emptyCircle",
"smooth": true
},
"radar": {
"itemStyle": {
"normal": {
"borderWidth": "2"
}
},
"lineStyle": {
"normal": {
"width": "2"
}
},
"symbolSize": "6",
"symbol": "emptyCircle",
"smooth": true
},
"bar": {
"itemStyle": {
"normal": {
"barBorderWidth": 0,
"barBorderColor": "#ccc"
},
"emphasis": {
"barBorderWidth": 0,
"barBorderColor": "#ccc"
}
}
},
"pie": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"scatter": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"boxplot": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"parallel": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"sankey": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"funnel": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"gauge": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
},
"emphasis": {
"borderWidth": 0,
"borderColor": "#ccc"
}
}
},
"candlestick": {
"itemStyle": {
"normal": {
"color": "#edafda",
"color0": "transparent",
"borderColor": "#d680bc",
"borderColor0": "#8fd3e8",
"borderWidth": "2"
}
}
},
"graph": {
"itemStyle": {
"normal": {
"borderWidth": 0,
"borderColor": "#ccc"
}
},
"lineStyle": {
"normal": {
"width": 1,
"color": "#aaa"
}
},
"symbolSize": "6",
"symbol": "emptyCircle",
"smooth": true,
"color": [
"#2d8cf0",
"#19be6b",
"#f5ae4a",
"#9189d5",
"#56cae2",
"#cbb0e3"
],
"label": {
"normal": {
"textStyle": {
"color": "#eee"
}
}
}
},
"map": {
"itemStyle": {
"normal": {
"areaColor": "#f3f3f3",
"borderColor": "#516b91",
"borderWidth": 0.5
},
"emphasis": {
"areaColor": "rgba(165,231,240,1)",
"borderColor": "#516b91",
"borderWidth": 1
}
},
"label": {
"normal": {
"textStyle": {
"color": "#000"
}
},
"emphasis": {
"textStyle": {
"color": "rgb(81,107,145)"
}
}
}
},
"geo": {
"itemStyle": {
"normal": {
"areaColor": "#f3f3f3",
"borderColor": "#516b91",
"borderWidth": 0.5
},
"emphasis": {
"areaColor": "rgba(165,231,240,1)",
"borderColor": "#516b91",
"borderWidth": 1
}
},
"label": {
"normal": {
"textStyle": {
"color": "#000"
}
},
"emphasis": {
"textStyle": {
"color": "rgb(81,107,145)"
}
}
}
},
"categoryAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#cccccc"
}
},
"axisTick": {
"show": false,
"lineStyle": {
"color": "#333"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#eeeeee"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.05)",
"rgba(200,200,200,0.02)"
]
}
}
},
"valueAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#cccccc"
}
},
"axisTick": {
"show": false,
"lineStyle": {
"color": "#333"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#eeeeee"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.05)",
"rgba(200,200,200,0.02)"
]
}
}
},
"logAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#cccccc"
}
},
"axisTick": {
"show": false,
"lineStyle": {
"color": "#333"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#eeeeee"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.05)",
"rgba(200,200,200,0.02)"
]
}
}
},
"timeAxis": {
"axisLine": {
"show": true,
"lineStyle": {
"color": "#cccccc"
}
},
"axisTick": {
"show": false,
"lineStyle": {
"color": "#333"
}
},
"axisLabel": {
"show": true,
"textStyle": {
"color": "#999999"
}
},
"splitLine": {
"show": true,
"lineStyle": {
"color": [
"#eeeeee"
]
}
},
"splitArea": {
"show": false,
"areaStyle": {
"color": [
"rgba(250,250,250,0.05)",
"rgba(200,200,200,0.02)"
]
}
}
},
"toolbox": {
"iconStyle": {
"normal": {
"borderColor": "#999"
},
"emphasis": {
"borderColor": "#666"
}
}
},
"legend": {
"textStyle": {
"color": "#999999"
}
},
"tooltip": {
"axisPointer": {
"lineStyle": {
"color": "#ccc",
"width": 1
},
"crossStyle": {
"color": "#ccc",
"width": 1
}
}
},
"timeline": {
"lineStyle": {
"color": "#8fd3e8",
"width": 1
},
"itemStyle": {
"normal": {
"color": "#8fd3e8",
"borderWidth": 1
},
"emphasis": {
"color": "#8fd3e8"
}
},
"controlStyle": {
"normal": {
"color": "#8fd3e8",
"borderColor": "#8fd3e8",
"borderWidth": 0.5
},
"emphasis": {
"color": "#8fd3e8",
"borderColor": "#8fd3e8",
"borderWidth": 0.5
}
},
"checkpointStyle": {
"color": "#8fd3e8",
"borderColor": "rgba(138,124,168,0.37)"
},
"label": {
"normal": {
"textStyle": {
"color": "#8fd3e8"
}
},
"emphasis": {
"textStyle": {
"color": "#8fd3e8"
}
}
}
},
"visualMap": {
"color": [
"#516b91",
"#59c4e6",
"#a5e7f0"
]
},
"dataZoom": {
"backgroundColor": "rgba(0,0,0,0)",
"dataBackgroundColor": "rgba(255,255,255,0.3)",
"fillerColor": "rgba(167,183,204,0.4)",
"handleColor": "#a7b7cc",
"handleSize": "100%",
"textStyle": {
"color": "#333"
}
},
"markPoint": {
"label": {
"normal": {
"textStyle": {
"color": "#eee"
}
},
"emphasis": {
"textStyle": {
"color": "#eee"
}
}
}
}
}

View File

@@ -0,0 +1,52 @@
<template>
<Icons :is="iconType" :type="iconName" :color="iconColor" :size="iconSize"/>
</template>
<script>
import Icons from '_c/icons';
export default {
name: 'CommonIcon',
components: { Icons },
props: {
// 图标名 eg: icon-name
type: {
type: String,
required: true
},
// 图标颜色
color: {
type: String,
required: false
},
// 图标尺寸
size: {
type: Number,
required: false
}
},
computed: {
iconType () {
return this.type.indexOf('_') === 0 ? 'Icons' : 'Icon';
},
iconName () {
return this.iconType === 'Icons' ? this.getCustomIconName(this.type) : this.type;
},
iconSize () {
return this.size || (this.iconType === 'Icons' ? 12 : undefined);
},
iconColor () {
return this.color || '';
}
},
methods: {
// 返回图标名
getCustomIconName (iconName) {
return iconName.slice(1);
}
}
};
</script>
<style>
</style>

View File

@@ -0,0 +1,2 @@
import CommonIcon from './common-icon.vue';
export default CommonIcon;

View File

@@ -0,0 +1,198 @@
<template>
<div class="count-to-wrapper">
<slot name="left"/>
<p class="content-outer">
<span :class="['count-to-count-text', countClass]" :id="counterId">{{ init }}</span>
<i :class="['count-to-unit-text', unitClass]">{{ unitText }}</i>
</p>
<slot name="right"/>
</div>
</template>
<script>
import CountUp from 'countup';
import './index.less';
export default {
name: 'countTo',
props: {
/**
* @description 默认值
*/
init: {
type: Number,
required: false,
default: 0
},
/**
* @description 起始值,即动画开始前显示的数值
*/
startVal: {
type: Number,
required: false,
default: 0
},
/**
* @description 结束值,即动画结束后显示的数值
*/
end: {
type: Number,
required: true
},
/**
* @description 保留几位小数
*/
decimals: {
type: Number,
required: false,
default: 0
},
/**
* @description 分隔整数和小数的符号,默认是小数点
*/
decimal: {
type: String,
required: false,
default: '.'
},
/**
* @description 动画持续的时间,单位是秒
*/
duration: {
type: Number,
required: false,
default: 2
},
/**
* @description 动画延迟开始的时间,单位是秒
*/
delay: {
type: Number,
required: false,
default: 0
},
/**
* @description 是否禁用easing动画效果
*/
uneasing: {
type: Boolean,
required: false,
default: false
},
/**
* @description 是否使用分组,分组后每三位会用一个符号分隔
*/
usegroup: {
type: Boolean,
required: false,
default: false
},
/**
* @description 用于分组(usegroup)的符号
*/
separator: {
type: String,
required: false,
default: ','
},
/**
* @description 是否简化显示设为true后会使用unit单位来做相关省略
*/
simplify: {
type: Boolean,
required: false,
default: false
},
/**
* @description 自定义单位,如[3, 'K+'], [6, 'M+']即大于3位数小于6位数的用k+来做省略
* 1000即显示为1K+
*/
unit: {
type: Array,
required: false,
default () {
return [[3, 'K+'], [6, 'M+'], [9, 'B+']];
}
},
// 数值样式
countClass: {
type: String,
required: false,
default: ''
},
// 单位样式
unitClass: {
type: String,
required: false,
default: ''
}
},
data () {
return {
// CountUp 实例
counter: null,
// 单位描述
unitText: ''
};
},
computed: {
// 唯一标识
counterId () {
return `count_to_${this._uid}`;
}
},
watch: {
end (newVal) {
let endVal = this.getValue(newVal);
this.counter.update(endVal);
}
},
mounted () {
this.$nextTick(() => {
let endVal = this.getValue(this.end);
this.counter = new CountUp(this.counterId, this.startVal, endVal, this.decimals, this.duration, {
useEasing: !this.uneasing,
useGrouping: this.useGroup,
separator: this.separator,
decimal: this.decimal
});
setTimeout(() => {
if (!this.counter.error) this.counter.start();
}, this.delay);
});
},
methods: {
getHandleVal (val, len) {
return {
endVal: parseInt(val / Math.pow(10, this.unit[len - 1][0])),
unitText: this.unit[len - 1][1]
};
},
transformValue (val) {
let len = this.unit.length;
let res = {
endVal: 0,
unitText: ''
};
if (val < Math.pow(10, this.unit[0][0])) res.endVal = val;
else {
for (let i = 1; i < len; i++) {
if (val >= Math.pow(10, this.unit[i - 1][0]) && val < Math.pow(10, this.unit[i][0])) res = this.getHandleVal(val, i);
}
}
if (val > Math.pow(10, this.unit[len - 1][0])) res = this.getHandleVal(val, len);
return res;
},
getValue (val) {
let res = 0;
if (this.simplify) {
let { endVal, unitText } = this.transformValue(val);
this.unitText = unitText;
res = endVal;
} else {
res = val;
}
return res;
}
}
};
</script>

View File

@@ -0,0 +1,2 @@
import countTo from './count-to.vue';
export default countTo;

View File

@@ -0,0 +1,10 @@
@prefix: ~"count-to";
.@{prefix}-wrapper{
.content-outer{
display: inline-block;
.@{prefix}-unit-text{
font-style: normal;
}
}
}

View File

@@ -0,0 +1,77 @@
<template>
<div class="editor-wrapper">
<div :id="editorId"></div>
</div>
</template>
<script>
import Editor from 'wangeditor';
import 'wangeditor/release/wangEditor.min.css';
import { oneOf } from '@/lib/util';
export default {
name: 'Editor',
props: {
// 缓存Html内容
value: {
type: String,
default: ''
},
/**
* 绑定的值的类型, enum: ['html', 'text']
*/
valueType: {
type: String,
default: 'html',
validator: (val) => {
return oneOf(val, ['html', 'text']);
}
},
/**
* @description 设置change事件触发时间间隔
*/
changeInterval: {
type: Number,
default: 200
},
/**
* @description 是否开启本地存储
*/
cache: {
type: Boolean,
default: true
}
},
computed: {
// 唯一id
editorId () {
return `editor${this._uid}`;
}
},
mounted () {
this.editor = new Editor(`#${this.editorId}`);
this.editor.customConfig.onchange = (html) => {
let text = this.editor.txt.text();
if (this.cache) localStorage.editorCache = html;
this.$emit('input', this.valueType === 'html' ? html : text);
this.$emit('on-change', html, text);
};
this.editor.customConfig.onchangeTimeout = this.changeInterval;
// create这个方法一定要在所有配置项之后调用
this.editor.create();
// 如果本地有存储加载本地存储内容
let html = this.value || localStorage.editorCache;
if (html) this.editor.txt.html(html);
},
methods: {
setHtml (val) {
this.editor.txt.html(val);
}
}
};
</script>
<style lang="less">
.editor-wrapper * {
z-index: 100 !important;
}
</style>

View File

@@ -0,0 +1,2 @@
import Editor from './editor.vue';
export default Editor;

View File

@@ -0,0 +1,38 @@
<template>
<i :class="`iconfont icon-${type}`" :style="styles"></i>
</template>
<script>
export default {
name: 'Icons',
props: {
// 图标名
type: {
type: String,
required: true
},
// 图标颜色
color: {
type: String,
default: '#5c6b77'
},
// 图标尺寸
size: {
type: Number,
default: 16
}
},
computed: {
styles () {
return {
fontSize: `${this.size}px`,
color: this.color
};
}
}
};
</script>
<style>
</style>

View File

@@ -0,0 +1,2 @@
import Icons from './icons.vue';
export default Icons;

View File

@@ -0,0 +1,2 @@
import ABackTop from './index.vue';
export default ABackTop;

View File

@@ -0,0 +1,130 @@
<template>
<div :class="classes" :style="styles" @click="back">
<slot>
<div :class="innerClasses">
<i class="ivu-icon ivu-icon-ios-arrow-up"></i>
</div>
</slot>
</div>
</template>
<script>
import { on, off } from '@/lib/util';
const prefixCls = 'ivu-back-top';
export default {
name: 'ABackTop',
props: {
// 允许出现返回头部高度
height: {
type: Number,
default: 400
},
// 返回头部按钮 距离底部距离
bottom: {
type: Number,
default: 30
},
// 返回头部按钮 距离窗口右侧距离
right: {
type: Number,
default: 30
},
// 滚动速度
duration: {
type: Number,
default: 1000
},
// 可视区
container: {
type: null,
default: window
}
},
data () {
return {
// 是否显示返回顶部按钮
backTop: false
};
},
mounted () {
// window.addEventListener('scroll', this.handleScroll, false)
// window.addEventListener('resize', this.handleScroll, false)
on(this.containerEle, 'scroll', this.handleScroll);
on(this.containerEle, 'resize', this.handleScroll);
},
beforeDestroy () {
// window.removeEventListener('scroll', this.handleScroll, false)
// window.removeEventListener('resize', this.handleScroll, false)
off(this.containerEle, 'scroll', this.handleScroll);
off(this.containerEle, 'resize', this.handleScroll);
},
computed: {
classes () {
return [
`${prefixCls}`,
{
[`${prefixCls}-show`]: this.backTop
}
];
},
styles () {
return {
bottom: `${this.bottom}px`,
right: `${this.right}px`
};
},
innerClasses () {
return `${prefixCls}-inner`;
},
containerEle () {
return this.container === window ? window : document.querySelector(this.container);
}
},
methods: {
handleScroll () {
this.backTop = this.containerEle.scrollTop >= this.height;
},
back () {
let target = typeof this.container === 'string' ? this.containerEle : (document.documentElement || document.body);
const sTop = target.scrollTop;
this.scrollTop(this.containerEle, sTop, 0, this.duration);
this.$emit('on-click');
},
// scrollTop animation
scrollTop (el, from = 0, to, duration = 500, endCallback) {
if (!window.requestAnimationFrame) {
window.requestAnimationFrame = (
window.webkitRequestAnimationFrame ||
window.mozRequestAnimationFrame ||
window.msRequestAnimationFrame ||
function (callback) {
return window.setTimeout(callback, 1000 / 60);
}
);
}
const difference = Math.abs(from - to);
const step = Math.ceil(difference / duration * 50);
const scroll = (start, end, step) => {
if (start === end) {
endCallback && endCallback();
return;
}
let d = (start + step > end) ? end : start + step;
if (start > end) {
d = (start - step < end) ? end : start - step;
}
if (el === window) {
window.scrollTo(d, d);
} else {
el.scrollTop = d;
}
window.requestAnimationFrame(() => scroll(d, end, step));
};
scroll(from, to, step);
}
}
};
</script>

View File

@@ -0,0 +1,92 @@
<template>
<div v-if="showFullScreenBtn" class="full-screen-btn-con">
<Tooltip :content="value ? '退出全屏' : '全屏'" placement="bottom">
<Icon @click.native="handleChange" :type="value ? 'md-contract' : 'md-expand'" :size="16"></Icon>
</Tooltip>
</div>
</template>
<script>
export default {
name: 'Fullscreen',
props: {
// 当前全屏状态
value: {
type: Boolean,
default: false
}
},
computed: {
showFullScreenBtn () {
return window.navigator.userAgent.indexOf('MSIE') < 0;
}
},
mounted () {
let isFullscreen = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.fullScreen || document.mozFullScreen || document.webkitIsFullScreen;
isFullscreen = !!isFullscreen;
document.addEventListener('fullscreenchange', () => {
this.$emit('input', !this.value);
this.$emit('on-change', !this.value);
});
document.addEventListener('mozfullscreenchange', () => {
this.$emit('input', !this.value);
this.$emit('on-change', !this.value);
});
document.addEventListener('webkitfullscreenchange', () => {
this.$emit('input', !this.value);
this.$emit('on-change', !this.value);
});
document.addEventListener('msfullscreenchange', () => {
this.$emit('input', !this.value);
this.$emit('on-change', !this.value);
});
this.$emit('input', isFullscreen);
},
methods: {
handleFullscreen () {
let main = document.body;
if (this.value) {
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
}
} else {
if (main.requestFullscreen) {
main.requestFullscreen();
} else if (main.mozRequestFullScreen) {
main.mozRequestFullScreen();
} else if (main.webkitRequestFullScreen) {
main.webkitRequestFullScreen();
} else if (main.msRequestFullscreen) {
main.msRequestFullscreen();
}
}
},
handleChange () {
this.handleFullscreen();
}
}
};
</script>
<style lang="less">
.full-screen-btn-con .ivu-tooltip-rel {
height: 52px;
line-height: 52px;
padding:0 12px;
&:hover {
background: #f7f7f8;
cursor: pointer;
}
cursor: pointer;
i {
cursor: pointer;
color:#909ca4;
}
}
</style>

View File

@@ -0,0 +1,2 @@
import Fullscreen from './fullscreen.vue';
export default Fullscreen;

View File

@@ -0,0 +1,4 @@
.custom-bread-crumb{
display: inline-block;
vertical-align: top;
}

View File

@@ -0,0 +1,44 @@
<template>
<div class="custom-bread-crumb">
<Breadcrumb :style="{fontSize: `${fontSize}px`}">
<BreadcrumbItem v-for="item in list" :to="item.to" :key="`bread-crumb-${item.name}`">
{{ showTitle(item) }}
</BreadcrumbItem>
</Breadcrumb>
</div>
</template>
<script>
import { showTitle } from '@/lib/menu-func';
import './custom-bread-crumb.less';
export default {
name: 'CustomBreadCrumb',
props: {
// 面包屑集合
list: {
type: Array,
default: () => []
},
// 面包屑显示字体大小
fontSize: {
type: Number,
default: 14
},
// 是否显示图标
showIcon: {
type: Boolean,
default: false
}
},
methods: {
showTitle (item) {
return showTitle(item, this);
},
isCustomIcon (iconName) {
return iconName.indexOf('_') === 0;
},
getCustomIconName (iconName) {
return iconName.slice(1);
}
}
};
</script>

View File

@@ -0,0 +1,2 @@
import customBreadCrumb from './custom-bread-crumb.vue';
export default customBreadCrumb;

View File

@@ -0,0 +1,14 @@
.header-bar{
width: 100%;
height: 100%;
position: relative;
.custom-content-con{
float: right;
height: auto;
padding-right: 20px;
// line-height: 64px;
& > *{
float: right;
}
}
}

View File

@@ -0,0 +1,39 @@
<template>
<div class="header-bar">
<SiderTrigger :collapsed="collapsed" icon="icon iconfont icondaohangzhedie" @on-change="handleCollpasedChange"/>
<CustomBreadCrumb show-icon style="margin-left: 30px;" :list="breadCrumbList"/>
<div class="custom-content-con">
<slot></slot>
</div>
</div>
</template>
<script>
import SiderTrigger from './sider-trigger';
import CustomBreadCrumb from './custom-bread-crumb';
import './header-bar.less';
export default {
name: 'HeaderBar',
components: {
SiderTrigger,
CustomBreadCrumb
},
props: {
// 折叠状态
collapsed: {
type: Boolean,
require: false
}
},
computed: {
// 面包屑集合
breadCrumbList () {
return this.$store.state.app.breadCrumbList;
}
},
methods: {
handleCollpasedChange (state) {
this.$emit('on-coll-change', state);
}
}
};
</script>

View File

@@ -0,0 +1,2 @@
import HeaderBar from './header-bar';
export default HeaderBar;

View File

@@ -0,0 +1,2 @@
import siderTrigger from './sider-trigger.vue';
export default siderTrigger;

View File

@@ -0,0 +1,21 @@
.trans{
transition: transform .2s ease;
}
@size: 40px;
.sider-trigger-a{
padding: 6px;
width: @size;
height: @size;
display: inline-block;
text-align: center;
color: #5c6b77;
margin-top: 10px;
i{
.trans;
vertical-align: top;
}
&.collapsed i{
transform: rotateZ(180deg);
.trans;
}
}

View File

@@ -0,0 +1,35 @@
<template>
<a @click="handleChange" type="text" :class="['sider-trigger-a', collapsed ? 'collapsed' : '']">
<Icon :type="icon" :size="size"/>
</a>
</template>
<script>
export default {
name: 'SiderTrigger',
props: {
// 折叠状态
collapsed: {
type: Boolean,
require: false
},
// 图标名称
icon: {
type: String,
default: 'navicon-round'
},
// 图标尺寸
size: {
type: Number,
default: 20
}
},
methods: {
handleChange () {
this.$emit('on-change', !this.collapsed);
}
}
};
</script>
<style lang="less">
@import "./sider-trigger.less";
</style>

View File

@@ -0,0 +1,2 @@
import Language from './language.vue';
export default Language;

View File

@@ -0,0 +1,54 @@
<template>
<div>
<Dropdown trigger="click" @on-click="selectLang">
<a href="javascript:void(0)">
{{ title }}
<Icon :size="18" type="md-arrow-dropdown"/>
</a>
<DropdownMenu slot="list">
<DropdownItem v-for="(value, key) in localList" :name="key" :key="`lang-${key}`">{{ value }}</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
</template>
<script>
export default {
name: 'Language',
props: {
lang: {
type: String,
require: false
}
},
data () {
return {
langList: {
'zh-CN': '语言',
'zh-TW': '語言',
'en-US': 'Lang'
},
localList: {
'zh-CN': '中文简体',
'zh-TW': '中文繁体',
'en-US': 'English'
}
};
},
watch: {
lang (lang) {
this.$i18n.locale = lang;
}
},
computed: {
title () {
return this.langList[this.lang];
}
},
methods: {
selectLang (name) {
this.$emit('on-lang-change', name);
}
}
};
</script>

View File

@@ -0,0 +1,371 @@
<template>
<div class="notice">
<Tooltip content="消息" placement="bottom">
<Badge :count="noticeNumber" class-name="demo-badge-alone">
<Icon @click="openNotice" class="demo-badge" size="18" type="icon iconfont iconnews"></Icon>
</Badge>
</Tooltip>
<div :class="modalOpen?'show':''" class="notice-main">
<div :class="modalOpen?'show':''" @click="modalOpen=false" class="notice-bg"></div>
<div :class="modalOpen?'show':''" class="notice-box">
<div class="header">
<div class="item">消息通知({{noticeNumber}})</div>
<Icon @click="modalClose" class="close" size="24" type="ios-close" />
</div>
<div class="notice-list" ref="noticeList">
<div :key="item.id" @click.stop="getDetail(item)" class="item" v-for="item in noticeList">
<img alt src="@/assets/images/message.png" />
<div class="info">
<p class="title">{{item.title}}</p>
<p class="time">{{item.updateTime}}</p>
</div>
</div>
<InfiniteLoading @infinite="scroll" ref="infiniteLoading">
<span slot="no-more">暂时没有新消息啦</span>
</InfiniteLoading>
</div>
</div>
<div :class="detailModalOpen?'show':''" class="notice-detail">
<div class="title">
<div class="item">{{noticeDetail.title}}</div>
<Icon @click="detailModalOpen=false" class="close" type="md-close" />
</div>
<div class="detail">{{noticeDetail.content}}</div>
<p class="time">{{noticeDetail.updateTime}}</p>
</div>
</div>
</div>
</template>
<script>
import { noticeApi } from '@/api/notice';
import { socketBaseUrl } from '@/lib/http';
import InfiniteLoading from 'vue-infinite-loading';
export default {
name: 'Notice',
components: {
InfiniteLoading
},
data() {
return {
loading: false,
// Websocket心跳间隔
heartTimer: null,
// 是否展示消息列表
modalOpen: false,
socketBaseUrl,
// websocket 实例
socket: null,
// 是否展示消息详情
detailModalOpen: false,
searchData: {
pageSize: 10,
pageNum: 1
},
noticeDetail: {
title: '',
content: '',
updateTime: ''
}
};
},
mounted() {
this.initWebSocket();
},
computed: {
// 消息集合
noticeList() {
return this.$store.state.notice.noticeList;
},
// 消息数量
noticeNumber() {
return this.$store.state.notice.noticeNumber;
},
userInfo() {
return this.$store.state.user.userLoginInfo;
}
},
methods: {
initWebSocket() {
this.socket = new WebSocket(
`${this.socketBaseUrl}webSocket/${this.userInfo.id}`
);
this.socket.onopen = this.websocketOnopen;
this.socket.onerror = this.websocketOnerror;
this.socket.onmessage = this.websocketOnmessage;
this.socket.onclose = this.websocketClose;
},
// socket连接成功
websocketOnopen() {
this.heartTimer = setInterval(() => {
this.heartbeat();
}, 5000);
this.$once('hook:beforeDestroy', () => {
clearInterval(this.heartTimer);
this.$store.commit('restNotice');
});
},
// socket连接出错
websocketOnerror() {
console.log('socket出错啦');
},
// socket收到消息
websocketOnmessage(e) {
this.$store.commit('updateNoticeNum', Number(e.data));
},
// socket关闭
websocketClose() {
console.log('socket掉线啦');
},
// 心跳包
heartbeat() {
let data = {
jsonStr: '',
messageType: 3
};
let subStr = {
employeeId: this.userInfo.id
};
data.jsonStr = JSON.stringify(subStr);
this.socket.send(JSON.stringify(data));
},
async getDetail(item) {
try {
let result = await noticeApi.getNoticeDetail(item.id);
this.noticeDetail = result.data;
} catch (error) {
//TODO zhuoda sentry
console.error(e);
}
if (this.detailModalOpen) {
this.detailModalOpen = false;
setTimeout(() => {
this.detailModalOpen = true;
}, 100);
} else {
this.detailModalOpen = true;
}
try {
let result = await noticeApi.addNoticeRecord(item.id);
} catch (error) {
//TODO zhuoda sentry
console.error(e);
}
},
scroll($state) {
this.getNoticeList($state);
},
async getNoticeList($state) {
const result = await noticeApi.getNoticeUnreadList({
...this.searchData
});
// 请求通知成功,全局更改消息数量
this.$store.commit('updateNoticeNum', result.data.total);
$state && $state.loaded();
if (!result.data.list.length) {
$state && $state.complete();
} else {
this.searchData.pageNum++;
}
this.$store.commit('updateNotice', result.data.list);
},
openNotice() {
this.searchData.pageNum = 1;
this.$store.commit('restNotice');
this.getNoticeList();
this.modalOpen = true;
},
modalClose() {
this.getNoticeList();
this.detailModalOpen = false;
this.modalOpen = false;
}
}
};
</script>
<style lang='less'>
.notice {
&:hover {
background: #f7f7f8;
cursor: pointer;
}
}
.demo-badge {
margin: 0 10px;
border-radius: 6px;
display: inline-block;
color: #909ca4;
font-size: 18px;
cursor: pointer;
}
.demo-badge-alone {
background: #f47f92 !important;
top: 5px !important;
right: 15px !important;
}
.notice-main {
position: fixed;
z-index: -100;
opacity: 0;
width: 100vw;
height: 100vh;
transition: all 0.5s;
top: 0;
left: 0;
&.show {
z-index: 993;
opacity: 1;
}
}
.notice-bg {
position: fixed;
z-index: -100;
opacity: 0;
width: 100vw;
height: 100vh;
transition: all 0.5s;
top: 0;
left: 0;
background: rgba(0, 0, 0, 0.2);
&.show {
z-index: 994;
opacity: 1;
}
}
.notice-box {
position: fixed;
right: 0;
bottom: -650px;
background: #fff;
z-index: 997;
width: 336px;
height: 650px;
transition: all 0.5s;
box-shadow: 1px 1px 10px rgba(0, 0, 0, 0.1) !important;
border: none !important;
overflow: auto;
&.show {
bottom: 0;
}
.header {
position: relative;
height: 50px;
border-bottom: 1px solid #eee;
.close {
cursor: pointer;
position: absolute;
right: 25px;
top: 15px;
}
.item {
margin: 0 20px;
line-height: 50px;
text-align: center;
font-size: 14px;
color: #333;
// border-bottom: 1px #e8e8e8 solid;
}
}
.notice-list {
height: calc(~'100% - 50px') !important;
padding-top: 10px;
overflow: auto;
.no-data {
text-align: center;
}
.item {
position: relative;
height: 70px;
display: flex;
padding: 0 20px;
align-content: center;
align-items: center;
cursor: pointer;
border-bottom: 1px #e8e8e8 solid;
&:hover {
background: #f4f4f4;
&::before {
position: absolute;
left: 0;
content: '';
width: 2px;
height: 100%;
background: #5cb85c;
}
}
img {
width: 40px;
height: 40px;
}
.info {
height: 100%;
display: flex;
flex-direction: column;
flex: 1;
padding: 0 10px;
align-content: flex-start;
justify-content: center;
.title {
line-height: 1.8;
font-size: 14px;
font-weight: bold;
}
.time {
line-height: 1.5;
color: #999;
}
}
}
}
}
.notice-detail {
position: fixed;
z-index: 995;
border-right: 1px #e8e8e8 solid;
bottom: 0;
right: -336px;
width: 400px;
height: 650px;
background: #fff;
opacity: 0;
transition: all 0.5s;
&.show {
right: 336px;
opacity: 1;
}
.title {
height: 50px;
line-height: 50px;
text-align: center;
font-size: 14px;
border-bottom: 1px solid #eee;
.close {
cursor: pointer;
position: absolute;
right: 25px;
top: 12px;
}
.item {
margin: 0 20px;
line-height: 50px;
text-align: center;
font-size: 14px;
color: #009688;
// border-bottom: 1px #e8e8e8 solid;
}
}
.detail {
font-size: 14px;
padding: 20px;
line-height: 20px;
}
.time {
padding: 0 20px;
color: #999;
text-align: right;
}
}
</style>

View File

@@ -0,0 +1,84 @@
<template>
<Dropdown ref="dropdown"
@on-click="handleClick"
:class="hideTitle ? '' : 'collased-menu-dropdown'"
:transfer="hideTitle"
:placement="placement"
transfer-class-name="menu-dropdown">
<a class="drop-menu-a"
type="text"
@mouseover="handleMousemove($event, children)"
:style="{textAlign: !hideTitle ? 'left' : ''}">
<CommonIcon :size="rootIconSize"
:color="textColor"
:type="parentItem.icon" />
<span class="menu-title"
v-if="!hideTitle">{{ showTitle(parentItem) }}</span>
<Icon style="float: right;"
v-if="!hideTitle"
type="ios-arrow-forward"
:size="16" />
</a>
<DropdownMenu ref="dropdown"
slot="list">
<template v-for="child in children">
<CollapsedMenu v-if="showChildren(child)"
:icon-size="iconSize"
:parent-item="child"
:key="`drop-${child.name}`"/>
<DropdownItem v-else
:key="`drop-${child.name}`"
:name="child.name">
<CommonIcon :size="iconSize"
:type="child.icon" />
<span class="menu-title">{{ showTitle(child) }}</span>
</DropdownItem>
</template>
</DropdownMenu>
</Dropdown>
</template>
<script>
import mixin from './mixin';
import itemMixin from './item-mixin';
import { findNodeUpperByClasses } from '@/lib/menu-func';
export default {
name: 'CollapsedMenu',
mixins: [ mixin, itemMixin ],
props: {
// 是否隐藏标题
hideTitle: {
type: Boolean,
default: false
},
// 图标尺寸
rootIconSize: {
type: Number,
default: 16
}
},
data () {
return {
// 下拉菜单出现的位置,
// 可选值为top,top-start,top-end,bottom,bottom-start,bottom-end,left,left-start,left-end,
// right,right-start,right-end, 2.12.0 版本开始支持自动识别
placement: 'right-end'
};
},
mounted () {
let dropdown = findNodeUpperByClasses(this.$refs.dropdown.$el, ['ivu-select-dropdown', 'ivu-dropdown-transfer']);
if (dropdown) dropdown.style.overflow = 'visible';
},
methods: {
handleClick (name) {
this.$emit('on-click', name);
},
handleMousemove (event, children) {
const { pageY } = event;
const height = children.length * 38;
const isOverflow = pageY + height < window.innerHeight;
this.placement = isOverflow ? 'right-start' : 'right-end';
}
}
};
</script>

View File

@@ -0,0 +1,2 @@
import SideMenu from './side-menu.vue';
export default SideMenu;

View File

@@ -0,0 +1,30 @@
export default {
props: {
// 父文件
parentItem: {
type: Object,
default: () => { }
},
// 主题
theme: {
type: String,
require: false
},
// 图标尺寸
iconSize: {
type: Number,
require: false
}
},
computed: {
parentName () {
return this.parentItem.name;
},
children () {
return this.parentItem.children;
},
textColor () {
return this.theme === 'dark' ? '#fff' : '#495060';
}
}
};

View File

@@ -0,0 +1,18 @@
import CommonIcon from '_c/common-icon';
import { showTitle } from '@/lib/menu-func';
export default {
components: {
CommonIcon
},
methods: {
showTitle (item) {
return showTitle(item, this);
},
showChildren (item) {
return item.children && (item.children.length > 1 || (item.meta && item.meta.showAlways));
},
getNameOrHref (item, children0) {
return item.href ? `isTurnByHref_${item.href}` : (children0 ? item.children[0].name : item.name);
}
}
};

View File

@@ -0,0 +1,35 @@
<template>
<Submenu :name="`${parentName}`">
<template slot="title">
<CommonIcon :type="parentItem.icon || ''" />
<span>{{ showTitle(parentItem) }}</span>
</template>
<template v-for="item in children">
<template v-if="item.children && item.children.length > 0">
<side-menu-item :key="`menu-${item.name}`" :parent-item="item" v-if="showChildren(item)"></side-menu-item>
<MenuItem :key="`menu-${item.children[0].name}`" :name="getNameOrHref(item, true)" v-else>
<CommonIcon
:key="`menu-${item.children[0].name}-common-icon`"
:type="item.children[0].icon || ''"
/>
<span :key="`menu-${item.children[0].name}-span`">{{ showTitle(item.children[0]) }}</span>
</MenuItem>
</template>
<template v-else>
<side-menu-item :key="`menu-${item.name}`" :parent-item="item" v-if="showChildren(item)"></side-menu-item>
<MenuItem :key="`menu-${item.name}`" :name="getNameOrHref(item)" v-else>
<CommonIcon :key="`menu-${item.name}-common-icon`" :type="item.icon || ''" />
<span :key="`menu-${item.name}-span`">{{ showTitle(item) }}</span>
</MenuItem>
</template>
</template>
</Submenu>
</template>
<script>
import mixin from './mixin';
import itemMixin from './item-mixin';
export default {
name: 'SideMenuItem',
mixins: [mixin, itemMixin]
};
</script>

View File

@@ -0,0 +1,39 @@
.side-menu-wrapper{
user-select: none;
.menu-collapsed{
padding-top: 10px;
.ivu-dropdown{
.ivu-dropdown-rel a{
width: 100%;
}
}
.ivu-tooltip{
width: 100%;
.ivu-tooltip-rel{
width: 100%;
}
.ivu-tooltip-popper .ivu-tooltip-content{
.ivu-tooltip-arrow{
border-right-color: #fff;
}
.ivu-tooltip-inner{
background: #fff;
color: #495060;
}
}
}
}
a.drop-menu-a{
display: inline-block;
padding: 6px 15px;
width: 100%;
text-align: center;
color: #495060;
}
}
.menu-title{
padding-left: 6px;
}

View File

@@ -0,0 +1,187 @@
<template>
<div class="side-menu-wrapper">
<slot></slot>
<Menu
:accordion="accordion"
:active-name="activeName"
:open-names="openedNames"
:theme="theme"
@on-select="handleSelect"
ref="menu"
v-show="!collapsed"
width="auto"
>
<template v-for="item in menuList">
<template v-if="item.children && item.children.length === 1">
<side-menu-item :key="`menu-${item.name}`" :parent-item="item" v-if="showChildren(item)"></side-menu-item>
<menu-item
:key="`menu-${item.children[0].name}`"
:name="getNameOrHref(item, true)"
v-else
>
<common-icon :type="item.children[0].icon || ''" />
<span>{{ showTitle(item.children[0]) }}</span>
</menu-item>
</template>
<template v-else>
<side-menu-item :key="`menu-${item.name}`" :parent-item="item" v-if="showChildren(item)"></side-menu-item>
<menu-item :key="`menu-${item.name}`" :name="getNameOrHref(item)" v-else>
<common-icon :type="item.icon || ''" />
<span>{{ showTitle(item) }}</span>
</menu-item>
</template>
</template>
</Menu>
<div :list="menuList" class="menu-collapsed" v-show="collapsed">
<template v-for="item in menuList">
<CollapsedMenu
:icon-size="iconSize"
:key="`drop-menu-${item.name}`"
:parent-item="item"
:root-icon-size="rootIconSize"
:theme="theme"
@on-click="handleSelect"
hide-title
v-if="item.children && item.children.length > 1"
></CollapsedMenu>
<Tooltip
:content="showTitle(item.children && item.children[0] ? item.children[0] : item)"
:key="`drop-menu-${item.name}`"
placement="right"
transfer
v-else
>
<a
:style="{textAlign: 'center'}"
@click="handleSelect(getNameOrHref(item, true))"
class="drop-menu-a"
>
<CommonIcon
:color="textColor"
:size="rootIconSize"
:type="item.icon || (item.children && item.children[0].icon)"
/>
</a>
</Tooltip>
</template>
</div>
</div>
</template>
<script>
import SideMenuItem from './side-menu-item.vue';
import CollapsedMenu from './collapsed-menu.vue';
import { getUnion } from '@/lib/util';
import mixin from './mixin';
export default {
name: 'SideMenu',
mixins: [mixin],
components: {
SideMenuItem,
CollapsedMenu
},
props: {
// 菜单集合
menuList: {
type: Array,
default() {
return [];
}
},
// 显示状态 如果是折叠状态就不显示
collapsed: {
type: Boolean
},
// 主题
theme: {
type: String,
default: 'dark'
},
// 父图标尺寸
rootIconSize: {
type: Number,
default: 16
},
// 图标尺寸
iconSize: {
type: Number,
default: 16
},
// 是否开启手风琴模式,开启后每次至多展开一个子菜单
accordion: {
type: Boolean,
require: false
},
// 激活菜单的 name 值
activeName: {
type: String,
default: ''
},
// 展开的 Submenu 的 name 集合
openNames: {
type: Array,
default: () => []
}
},
data() {
return {
openedNames: []
};
},
computed: {
textColor() {
return this.theme === 'dark' ? '#fff' : '#495060';
}
},
watch: {
activeName(name) {
if (this.accordion) {
this.openedNames = this.getOpenedNamesByActiveName(name);
} else {
this.openedNames = getUnion(
this.openedNames,
this.getOpenedNamesByActiveName(name)
);
}
},
openNames(newNames) {
this.openedNames = newNames;
},
openedNames() {
this.$nextTick(() => {
this.$refs.menu.updateOpened();
});
}
},
mounted() {
this.openedNames = getUnion(
this.openedNames,
this.getOpenedNamesByActiveName(name)
);
},
methods: {
updateActiveName(name){
this.$nextTick(() => {
this.$refs.menu.updateOpened();
this.$refs.menu.updateActiveName(name);
});
},
handleSelect(name) {
this.$emit('on-select', name);
},
// 从激活菜单的名称中获取打开的菜单
getOpenedNamesByActiveName(name) {
return this.$route.matched
.map(item => item.name)
.filter(item => item !== name);
},
updateOpenName(name) {
if (name === this.$config.homeName) this.openedNames = [];
else this.openedNames = this.getOpenedNamesByActiveName(name);
}
}
};
</script>
<style lang="less">
@import './side-menu.less';
</style>

View File

@@ -0,0 +1,2 @@
import TagsNav from './tags-nav.vue';
export default TagsNav;

View File

@@ -0,0 +1,136 @@
.no-select{
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.size{
height: 100%;
}
.tags-nav{
position: relative;
margin:0 auto;
// border-top: 1px solid #F0F0F0;
// border-bottom: 1px solid #F0F0F0;
background: #f4f6f8;
padding:0 20px;
.no-select;
.size;
.close-con{
position: absolute;
right: 0;
top: 5px;
height: 30px;
width: 42px;
background: #f3f5f7;
text-align: center;
z-index: 10;
margin-top:5px;
border-top: 1px solid #F5F7FC;
border-bottom: 1px solid #F5F7FC;
i{
color:#666666;
}
button{
margin-top:3px;
}
}
.btn-con{
margin-top:10px;
position: absolute;
top: 0px;
height: 30px;
line-height: 30px;
// padding:0 10px;
background: #f3f5f7;
z-index: 10;
button{
position: relative;
top:-1px;
line-height: 14px;
text-align: center;
color:#666666;
}
&.left-btn{
left: 0px;
border: 1px solid #F5F7FC;
}
&.right-btn{
right: 42px;
border: 1px solid #F5F7FC;
}
}
.scroll-outer{
position: absolute;
left: 52px;
right: 61px;
top: 0;
bottom: 0;
padding:10px 0;
.scroll-body{
display: inline-block;
position: absolute;
box-shadow: border-box;
overflow: visible;
white-space: nowrap;
transition: left .3s ease;
.ivu-tag{
height:34px;
margin:0;
}
.ivu-tag{
// min-width:10px;
height:30px;
line-height: 30px;
border-radius: 3px;
padding:0 10px;
background: #fff!important;
border:none;
text-align: center;
color:#1C2B36;
font-size: 14px;
margin:0 5px;
span{
color:#1C2B36!important;
padding:0 5px;
}
i{
color:#1C2B36!important;
font-size: 4px;
}
}
.ivu-tag-primary{
transition: background .2s ease;
background: #2D8CF0!important;
span,i{
color:#fff!important;
}
}
}
}
.contextmenu {
position: absolute;
margin: 0;
padding: 5px 0;
background: #fff;
z-index: 1000;
list-style-type: none;
border-radius: 3px;
box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .1);
li {
margin: 0;
padding: 5px 15px;
cursor: pointer;
&:hover {
background: #eee;
}
}
}
}

View File

@@ -0,0 +1,256 @@
<template>
<div class="tags-nav">
<div class="close-con">
<Dropdown transfer @on-click="handleTagsOption">
<Button size="small" type="text">
<Icon :size="14" type="icon iconfont iconguanbianniu" />
</Button>
<DropdownMenu slot="list">
<DropdownItem name="close-all">关闭所有</DropdownItem>
<DropdownItem name="close-others">关闭其他</DropdownItem>
</DropdownMenu>
</Dropdown>
</div>
<ul
v-show="visible"
:style="{left: contextMenuLeft + 'px', top: contextMenuTop + 'px'}"
class="contextmenu"
>
<li v-for="(item, key) of menuList" @click="handleTagsOption(key)" :key="key">{{item}}</li>
</ul>
<div class="btn-con left-btn">
<Button type="text" @click="handleScroll(240)">
<Icon :size="14" type="icon iconfont iconxiangzuojiantou" />
</Button>
</div>
<div class="btn-con right-btn">
<Button type="text" @click="handleScroll(-240)">
<Icon :size="14" type="icon iconfont iconxiangyoujiantou" />
</Button>
</div>
<div
class="scroll-outer"
ref="scrollOuter"
@DOMMouseScroll="handlescroll"
@mousewheel="handlescroll"
>
<div ref="scrollBody" class="scroll-body" :style="{left: tagBodyLeft + 'px'}">
<transition-group name="taglist-moving-animation">
<Tag
v-for="(item, index) in list"
ref="tagsPageOpened"
:key="`tag-nav-${index}`"
:name="item.name"
:data-route-item="item"
@on-close="handleClose(item)"
@click.native="handleClick(item)"
:closable="item.name !== $config.homeName"
:color="isCurrentTag(item) ? 'primary' : 'default'"
@contextmenu.prevent.native="contextMenu(item, $event)"
>{{ showTitleInside(item) }}</Tag>
</transition-group>
</div>
</div>
</div>
</template>
<script>
import { showTitle, routeEqual } from '@/lib/menu-func';
import beforeClose from '@/router/before-close';
export default {
name: 'TagsNav',
props: {
// 当前激活路由
value: {
type: Object,
require: false
},
// 数据集合
list: {
type: Array,
default () {
return [];
}
}
},
data () {
return {
tagBodyLeft: 0,
rightOffset: 40,
outerPadding: 4,
contextMenuLeft: 0,
contextMenuTop: 0,
visible: false,
menuList: {
others: '关闭其他',
all: '关闭所有'
}
};
},
computed: {
// 当前激活路由
currentRouteObj () {
const { name, params, query } = this.value;
return { name, params, query };
}
},
watch: {
$route (to) {
this.getTagElementByRoute(to);
},
visible (value) {
if (value) {
document.body.addEventListener('click', this.closeMenu);
} else {
document.body.removeEventListener('click', this.closeMenu);
}
}
},
mounted () {
setTimeout(() => {
this.getTagElementByRoute(this.$route);
}, 200);
},
methods: {
handlescroll (e) {
let type = e.type;
let delta = 0;
if (type === 'DOMMouseScroll' || type === 'mousewheel') {
delta = e.wheelDelta ? e.wheelDelta : -(e.detail || 0) * 40;
}
this.handleScroll(delta);
},
// 左右切换
handleScroll (offset) {
const outerWidth = this.$refs.scrollOuter.offsetWidth;
const bodyWidth = this.$refs.scrollBody.offsetWidth;
if (offset > 0) {
this.tagBodyLeft = Math.min(0, this.tagBodyLeft + offset);
} else {
if (outerWidth < bodyWidth) {
if (this.tagBodyLeft < -(bodyWidth - outerWidth)) {
this.tagBodyLeft = this.tagBodyLeft;
} else {
this.tagBodyLeft = Math.max(
this.tagBodyLeft + offset,
outerWidth - bodyWidth - 35
);
}
} else {
this.tagBodyLeft = 0;
}
}
},
handleTagsOption (type) {
if (type.includes('all')) {
// 关闭所有除了home
let res = this.list.filter(item => item.name === this.$config.homeName);
this.$emit('on-close', res, 'all');
} else if (type.includes('others')) {
// 关闭除当前页和home页的其他页
let res = this.list.filter(
item =>
routeEqual(this.currentRouteObj, item) ||
item.name === this.$config.homeName
);
this.$emit('on-close', res, 'others', this.currentRouteObj);
setTimeout(() => {
this.getTagElementByRoute(this.currentRouteObj);
}, 100);
}
},
handleClose (current) {
if (
current.meta &&
current.meta.beforeCloseName &&
current.meta.beforeCloseName in beforeClose
) {
new Promise(beforeClose[current.meta.beforeCloseName]).then(close => {
if (close) {
this.close(current);
}
});
} else {
this.close(current);
}
},
close (route) {
let res = this.list.filter(item => !routeEqual(route, item));
this.$emit('on-close', res, undefined, route);
},
// 点击标签页
handleClick (item) {
// 标记从tag跳转 不清除缓存和刷新页面
if (item.params) {
item.params.isRefresh = false;
} else {
item.params = { isRefresh: false };
}
this.$emit('input', item);
},
showTitleInside (item) {
return showTitle(item, this);
},
isCurrentTag (item) {
return routeEqual(this.currentRouteObj, item);
},
moveToView(tag) {
const outerWidth = this.$refs.scrollOuter.offsetWidth - 50;
const bodyWidth = this.$refs.scrollBody.offsetWidth;
let padding = 35;
if (bodyWidth < outerWidth) {
this.tagBodyLeft = 0;
} else if (tag.offsetLeft < -this.tagBodyLeft) {
// 标签在可视区域左侧
this.tagBodyLeft = -tag.offsetLeft + this.outerPadding + padding;
} else if (
tag.offsetLeft > -this.tagBodyLeft &&
tag.offsetLeft + tag.offsetWidth < -this.tagBodyLeft + outerWidth
) {
// 标签在可视区域
this.tagBodyLeft = Math.min(
0,
outerWidth -
tag.offsetWidth -
tag.offsetLeft -
this.outerPadding -
padding
);
} else {
// 标签在可视区域右侧
this.tagBodyLeft = -(
tag.offsetLeft -
(outerWidth - this.outerPadding - tag.offsetWidth - padding)
);
}
},
getTagElementByRoute (route) {
this.$nextTick(() => {
this.refsTag = this.$refs.tagsPageOpened;
this.refsTag.forEach((item, index) => {
if (routeEqual(route, item.$attrs['data-route-item'])) {
let tag = this.refsTag[index].$el;
this.moveToView(tag);
}
});
});
},
contextMenu (item, e) {
if (item.name === this.$config.homeName) {
return;
}
this.visible = true;
const offsetLeft = this.$el.getBoundingClientRect().left;
this.contextMenuLeft = e.clientX - offsetLeft + 10;
this.contextMenuTop = e.clientY - 64;
},
closeMenu () {
this.visible = false;
}
}
};
</script>
<style lang="less">
@import "./tags-nav.less";
</style>

View File

@@ -0,0 +1,2 @@
import User from './user.vue';
export default User;

Some files were not shown because too many files have changed in this diff Show More