yangj 4 years ago
parent 035df59741
commit 9bd39ead0b

@ -0,0 +1,13 @@
# just a flag
ENV = 'development'
// api接口请求地址
#VUE_APP_BASE_API = 'https://mini-admin.mall4j.com/apis'
VUE_APP_BASE_API = 'http://192.168.1.17:8085'
// 客服api接口请求地址
VUE_APP_IM_API = 'https://mini-im.mall4j.com'
// 客服webstock接口请求地址
VUE_APP_WS_IM_API = 'wss://mini-im.mall4j.com'
# 静态资源文件url
VUE_APP_RESOURCES_URL = 'https://img.mall4j.com/'

@ -0,0 +1,14 @@
# just a flag
ENV = 'production'
// api接口请求地址
VUE_APP_BASE_API = 'https://mini-admin.mall4j.com/apis'
// 客服api接口请求地址
VUE_APP_IM_API = 'https://mini-im.mall4j.com'
// 客服webstock接口请求地址
VUE_APP_WS_IM_API = 'wss://mini-im.mall4j.com'
# 静态资源文件url
VUE_APP_RESOURCES_URL = 'https://img.mall4j.com/'

@ -0,0 +1,6 @@
/build/
/config/
/dist/
/*.js
/test/unit/coverage/
/src/icons/iconfont.js

@ -0,0 +1,25 @@
// https://eslint.org/docs/user-guide/configuring
module.exports = {
root: true,
parser: 'babel-eslint',
parserOptions: {
sourceType: 'module'
},
env: {
browser: true,
},
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
extends: 'standard',
// required to lint *.vue files
plugins: [
'html'
],
// add your custom rules here
rules: {
// allow async-await
'generator-star-spacing': 'off',
// allow debugger during development
'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
}
}

@ -0,0 +1,7 @@
// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
'plugins': {
// to edit target browsers: use "browserslist" field in package.json
'autoprefixer': {}
}
}

@ -1,24 +1,11 @@
# mall4
## 协议和授权
## Project setup
```
npm install
```
`mall4v-pro` 并非一个开源软件,作者保留全部的权利。 擅自窃用,即属严重侵权行为,与盗窃无异。产生的一切任何后果责任由侵权者自负。
### Compiles and hot-reloads for development
```
npm run serve
```
## 商业使用
### Compiles and minifies for production
```
npm run build
```
商用请联系 **广州蓝海创新科技有限公司** 获取授权,否则产生的一切任何后果责任由侵权者自负。
### Lints and fixes files
```
npm run lint
```
## 🚫禁止
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
将本项目的部分或全部代码和资源进行任何形式的再发行上传GitHub、Gitee等任何公开发行的地方

@ -1,5 +1,13 @@
module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
]
],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
// https://panjiachen.github.io/vue-element-admin-site/guide/advanced/lazy-loading.html
'plugins': ['dynamic-import-node']
}
}
}

@ -0,0 +1,24 @@
module.exports = {
moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
transform: {
'^.+\\.vue$': 'vue-jest',
'.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
'jest-transform-stub',
'^.+\\.jsx?$': 'babel-jest'
},
moduleNameMapper: {
'^@/(.*)$': '<rootDir>/src/$1'
},
snapshotSerializers: ['jest-serializer-vue'],
testMatch: [
'**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
],
collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
coverageDirectory: '<rootDir>/tests/unit/coverage',
// 'collectCoverage': true,
'coverageReporters': [
'lcov',
'text-summary'
],
testURL: 'http://localhost/'
}

@ -0,0 +1,9 @@
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"@/*": ["src/*"]
}
},
"exclude": ["node_modules", "dist"]
}

27587
package-lock.json generated

File diff suppressed because it is too large Load Diff

@ -1,15 +1,21 @@
{
"name": "mall4",
"name": "mall4v",
"version": "0.1.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",
"dev": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"@smallwei/avue": "^2.0.2",
"core-js": "^3.6.5",
"vue": "^2.6.11"
"element-ui": "^2.15.7",
"svg-sprite-loader": "^3.7.3",
"vue": "^2.6.11",
"vue-cookie": "^1.1.4",
"vue-router": "^3.5.2",
"vuex": "^3.6.2"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.5.15",
@ -18,6 +24,8 @@
"babel-eslint": "^10.1.0",
"eslint": "^6.7.2",
"eslint-plugin-vue": "^6.2.2",
"sass": "^1.33.0",
"sass-loader": "^8.0.2",
"vue-template-compiler": "^2.6.11"
},
"eslintConfig": {

@ -1,28 +1,15 @@
<template>
<div id="app">
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</div>
<transition name="fade">
<router-view></router-view>
</transition>
</template>
<script>
import HelloWorld from './components/HelloWorld.vue'
export default {
name: 'App',
components: {
HelloWorld
computed: {
key () {
return this.$route.path + Math.random()
}
}
}
</script>
<style>
#app {
font-family: Avenir, Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 829 B

@ -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="1541150803210" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="17693" xmlns:xlink="http://www.w3.org/1999/xlink" width="48" height="48"><defs><style type="text/css"></style></defs><path d="M776.704 436.736H291.84c-13.824 0-20.48 6.656-20.48 13.824 0 6.656 6.656 20.48 20.48 20.48h484.864c6.656 0 20.48-6.656 20.48-20.48-7.168-6.656-13.824-13.824-20.48-13.824zM701.44 600.576H359.936c-6.656 0-13.824 6.656-13.824 13.824 0 6.656 6.656 20.48 20.48 20.48h341.504c6.656 0 20.48-6.656 20.48-20.48-6.656-6.656-13.312-13.824-27.136-13.824z" p-id="17694" fill="#8a8a8a"></path><path d="M879.104 252.416H189.44c-47.616 0-81.92 34.304-81.92 75.264v416.256c0 40.96 34.304 81.92 81.92 81.92h225.28l95.744 122.88c6.656 6.656 13.824 13.824 20.48 13.824 6.656 0 20.48-6.656 20.48-13.824l95.744-122.88h225.28c20.48 0 34.304-6.656 54.784-20.48 20.48-13.824 27.136-34.304 27.136-61.44V327.68c-0.512-40.96-34.304-75.264-75.264-75.264z m27.136 498.688c0 6.656-6.656 13.824-6.656 20.48-6.656 0-6.656 6.656-20.48 6.656H640c-6.656 0-20.48 6.656-20.48 13.824l-81.92 116.224-81.92-116.224c-6.656-6.656-13.824-13.824-20.48-13.824H182.784c-13.824 0-27.136-13.824-27.136-27.136v-430.08c0-13.824 13.824-27.136 27.136-27.136H885.76c13.824 0 27.136 13.824 27.136 27.136l-6.656 430.08z" p-id="17695" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

@ -0,0 +1,362 @@
*,
*:before,
*:after {
box-sizing: border-box;
}
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;
font-size: 14px;
line-height: 1.15;
color: #303133;
background-color: #fff;
}
a {
color: mix(#fff, $--color-primary, 20%);
text-decoration: none;
&:focus,
&:hover {
color: $--color-primary;
text-decoration: underline;
}
}
img {
vertical-align: middle;
max-width: 100%;
}
/* Utils
------------------------------ */
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
/* Animation
------------------------------ */
.fade-enter-active,
.fade-leave-active {
transition: opacity .5s;
}
.fade-enter,
.fade-leave-to {
opacity: 0;
}
/* Reset element-ui
------------------------------ */
.site-wrapper {
.el-pagination {
text-align: right;
}
}
/* Layout
------------------------------ */
.site-wrapper {
position: relative;
min-width: 1180px;
}
/* Sidebar fold
------------------------------ */
.site-sidebar--fold {
.site-navbar__header,
.site-navbar__brand,
.site-sidebar,
.site-sidebar__inner,
.el-menu.site-sidebar__menu {
width: 64px;
}
.site-navbar__body,
.site-content__wrapper {
margin-left: 64px;
}
.site-navbar__brand {
&-lg {
display: none;
}
&-mini {
display: inline-block;
}
}
.site-sidebar,
.site-sidebar__inner {
overflow: initial;
}
.site-sidebar__menu-icon {
margin-right: 0;
font-size: 20px;
}
.site-content--tabs > .el-tabs > .el-tabs__header {
left: 64px;
}
}
// animation
.site-navbar__header,
.site-navbar__brand,
.site-navbar__body,
.site-sidebar,
.site-sidebar__inner,
.site-sidebar__menu.el-menu,
.site-sidebar__menu-icon,
.site-content__wrapper,
.site-content--tabs > .el-tabs .el-tabs__header {
transition: inline-block .3s, left .3s, width .3s, margin-left .3s, font-size .3s;
}
/* Navbar
------------------------------ */
.site-navbar {
position: fixed;
top: 0;
right: 0;
left: 0;
z-index: 1030;
height: 50px;
box-shadow: 0 2px 4px rgba(0, 0, 0, .08);
background-color: $navbar--background-color;
&--inverse {
.site-navbar__body {
background-color: transparent;
}
.el-menu {
> .el-menu-item,
> .el-submenu > .el-submenu__title {
color: #fff;
&:focus,
&:hover {
color: #fff;
background-color: mix(#000, $navbar--background-color, 15%);
}
}
> .el-menu-item.is-active,
> .el-submenu.is-active > .el-submenu__title {
border-bottom-color: mix(#fff, $navbar--background-color, 85%);
}
.el-menu-item i,
.el-submenu__title i,
.el-dropdown {
color: #fff;
}
}
.el-menu--popup-bottom-start {
background-color: $navbar--background-color;
}
}
&__header {
position: relative;
float: left;
width: 230px;
height: 50px;
overflow: hidden;
}
&__brand {
display: table-cell;
vertical-align: middle;
width: 230px;
height: 50px;
margin: 0;
line-height: 50px;
font-size: 20px;
text-align: center;
text-transform: uppercase;
white-space: nowrap;
color: #fff;
&-lg,
&-mini {
margin: 0 5px;
color: #fff;
&:focus,
&:hover {
color: #fff;
text-decoration: none;
}
}
&-mini {
display: none;
}
}
&__switch {
font-size: 18px;
border-bottom: none !important;
}
&__avatar {
border-bottom: none !important;
* {
vertical-align: inherit;
}
.el-dropdown-link {
> img {
width: 36px;
height: auto;
margin-right: 5px;
border-radius: 100%;
vertical-align: middle;
}
}
}
&__body {
position: relative;
margin-left: 230px;
padding-right: 15px;
background-color: #fff;
}
&__menu {
float: left;
background-color: transparent;
border-bottom: 0;
&--right {
float: right;
}
a:focus,
a:hover {
text-decoration: none;
}
.el-menu-item,
.el-submenu > .el-submenu__title {
height: 50px;
line-height: 50px;
}
.el-submenu > .el-menu {
top: 55px;
}
.el-badge {
display: inline;
z-index: 2;
&__content {
line-height: 16px;
}
}
}
}
/* Sidebar
------------------------------ */
.site-sidebar {
position: fixed;
top: 50px;
left: 0;
bottom: 0;
z-index: 1020;
width: 230px;
overflow: hidden;
&--dark,
&--dark-popper {
background-color: $sidebar--background-color-dark;
.site-sidebar__menu.el-menu,
> .el-menu--popup {
background-color: $sidebar--background-color-dark;
.el-menu-item,
.el-submenu > .el-submenu__title {
color: $sidebar--color-text-dark;
&:focus,
&:hover {
color: mix(#fff, $sidebar--color-text-dark, 50%);
background-color: mix(#fff, $sidebar--background-color-dark, 2.5%);
}
}
.el-menu,
.el-submenu.is-opened {
background-color: mix(#000, $sidebar--background-color-dark, 15%);
}
.el-menu-item.is-active,
.el-submenu.is-active > .el-submenu__title {
color: mix(#fff, $sidebar--color-text-dark, 80%);
}
}
}
&__inner {
position: relative;
z-index: 1;
width: 250px;
height: 100%;
padding-bottom: 15px;
overflow-y: scroll;
}
&__menu.el-menu {
width: 230px;
border-right: 0;
}
&__menu-icon {
width: 24px;
margin-right: 5px;
text-align: center;
font-size: 16px;
color: inherit !important;
}
}
/* Content
------------------------------ */
.site-content {
position: relative;
padding: 15px;
&__wrapper {
position: relative;
padding-top: 50px;
margin-left: 230px;
min-height: 100%;
background: $content--background-color;
}
&--tabs {
padding: 55px 0 0;
}
> .el-tabs {
> .el-tabs__header {
position: fixed;
top: 50px;
left: 230px;
right: 0;
z-index: 930;
padding: 0 55px 0 15px;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, .12), 0 0 6px 0 rgba(0, 0, 0, .04);
background-color: #fff;
> .el-tabs__nav-wrap {
margin-bottom: 0;
&:after {
display: none;
}
}
}
> .el-tabs__content {
padding: 0 15px 15px;
> .site-tabs__tools {
position: fixed;
top: 50px;
right: 0;
z-index: 931;
height: 40px;
padding: 0 12px;
font-size: 16px;
line-height: 40px;
background-color: $content--background-color;
cursor: pointer;
.el-icon--right {
margin-left: 0;
}
}
}
}
}
.element-error-message-zindex{
z-index:3000 !important;
}

@ -0,0 +1,447 @@
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in
* IE on Windows Phone and in iOS.
*/
html {
line-height: 1.15; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers (opinionated).
*/
body {
margin: 0;
}
/**
* Add the correct display in IE 9-.
*/
article,
aside,
footer,
header,
nav,
section {
display: block;
}
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/* Grouping content
========================================================================== */
/**
* Add the correct display in IE 9-.
* 1. Add the correct display in IE.
*/
figcaption,
figure,
main { /* 1 */
display: block;
}
/**
* Add the correct margin in IE 8.
*/
figure {
margin: 1em 40px;
}
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box; /* 1 */
height: 0; /* 1 */
overflow: visible; /* 2 */
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/* Text-level semantics
========================================================================== */
/**
* 1. Remove the gray background on active links in IE 10.
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
*/
a {
background-color: transparent; /* 1 */
-webkit-text-decoration-skip: objects; /* 2 */
}
/**
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none; /* 1 */
text-decoration: underline; /* 2 */
text-decoration: underline dotted; /* 2 */
}
/**
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
*/
b,
strong {
font-weight: inherit;
}
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder;
}
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace; /* 1 */
font-size: 1em; /* 2 */
}
/**
* Add the correct font style in Android 4.3-.
*/
dfn {
font-style: italic;
}
/**
* Add the correct background and color in IE 9-.
*/
mark {
background-color: #ff0;
color: #000;
}
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sub {
bottom: -0.25em;
}
sup {
top: -0.5em;
}
/* Embedded content
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
audio,
video {
display: inline-block;
}
/**
* Add the correct display in iOS 4-7.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Remove the border on images inside links in IE 10-.
*/
img {
border-style: none;
}
/**
* Hide the overflow in IE.
*/
svg:not(:root) {
overflow: hidden;
}
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers (opinionated).
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: sans-serif; /* 1 */
font-size: 100%; /* 1 */
line-height: 1.15; /* 1 */
margin: 0; /* 2 */
}
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input { /* 1 */
overflow: visible;
}
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select { /* 1 */
text-transform: none;
}
/**
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
* controls in Android 4.
* 2. Correct the inability to style clickable types in iOS and Safari.
*/
button,
html [type="button"], /* 1 */
[type="reset"],
[type="submit"] {
-webkit-appearance: button; /* 2 */
}
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0;
}
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText;
}
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em;
}
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box; /* 1 */
color: inherit; /* 2 */
display: table; /* 1 */
max-width: 100%; /* 1 */
padding: 0; /* 3 */
white-space: normal; /* 1 */
}
/**
* 1. Add the correct display in IE 9-.
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Remove the default vertical scrollbar in IE.
*/
textarea {
overflow: auto;
}
/**
* 1. Add the correct box sizing in IE 10-.
* 2. Remove the padding in IE 10-.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield; /* 1 */
outline-offset: -2px; /* 2 */
}
/**
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button; /* 1 */
font: inherit; /* 2 */
}
/* Interactive
========================================================================== */
/*
* Add the correct display in IE 9-.
* 1. Add the correct display in Edge, IE, and Firefox.
*/
details, /* 1 */
menu {
display: block;
}
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item;
}
/* Scripting
========================================================================== */
/**
* Add the correct display in IE 9-.
*/
canvas {
display: inline-block;
}
/**
* Add the correct display in IE.
*/
template {
display: none;
}
/* Hidden
========================================================================== */
/**
* Add the correct display in IE 10-.
*/
[hidden] {
display: none;
}

@ -0,0 +1,13 @@
//
// tips: , [$--color-primary][/src/element-ui-theme/index.js][import './element-[#17B3A3]/index.css']
$--color-primary: #02A1E9;
// Navbar
$navbar--background-color: $--color-primary;
// Sidebar
$sidebar--background-color-dark: #263238;
$sidebar--color-text-dark: #8a979e;
// Content
$content--background-color: #f1f4f5;

@ -0,0 +1,3 @@
@import "normalize"; // api: https://github.com/necolas/normalize.css/
@import "variables"; //
@import "base";

@ -1,58 +0,0 @@
<template>
<div class="hello">
<h1>{{ msg }}</h1>
<p>
For a guide and recipes on how to configure / customize this project,<br>
check out the
<a href="https://cli.vuejs.org" target="_blank" rel="noopener">vue-cli documentation</a>.
</p>
<h3>Installed CLI Plugins</h3>
<ul>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel" target="_blank" rel="noopener">babel</a></li>
<li><a href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint" target="_blank" rel="noopener">eslint</a></li>
</ul>
<h3>Essential Links</h3>
<ul>
<li><a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a></li>
<li><a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a></li>
<li><a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a></li>
<li><a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a></li>
</ul>
<h3>Ecosystem</h3>
<ul>
<li><a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a></li>
<li><a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a></li>
<li><a href="https://github.com/vuejs/vue-devtools#vue-devtools" target="_blank" rel="noopener">vue-devtools</a></li>
<li><a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a></li>
<li><a href="https://github.com/vuejs/awesome-vue" target="_blank" rel="noopener">awesome-vue</a></li>
</ul>
</div>
</template>
<script>
export default {
name: 'HelloWorld',
props: {
msg: String
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
h3 {
margin: 40px 0 0;
}
ul {
list-style-type: none;
padding: 0;
}
li {
display: inline-block;
margin: 0 10px;
}
a {
color: #42b983;
}
</style>

@ -0,0 +1,72 @@
<template>
<div>
<el-upload
:action="$http.adornUrl('/admin/file/upload/element')"
:headers="{Authorization: $cookie.get('Authorization')}"
:on-remove="handleRemove"
:on-success="handleUploadSuccess"
:before-remove="beforeRemove"
:file-list="fileList"
multiple>
<el-button size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
</template>
<script>
export default {
data () {
return {
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
}
},
props: {
value: {
default: '',
type: String
}
},
computed: {
fileList () {
let res = []
if (this.value) {
let fileArray = this.value.split(',')
for (let i = 0; i < fileArray.length; i++) {
res.push({name: fileArray[i], url: this.resourcesUrl + fileArray[i], response: fileArray[i]})
}
}
this.$emit('input', this.value)
return res
}
},
methods: {
//
handleUploadSuccess (response, file, fileList) {
let files = fileList.map(file => {
return file.response
}).join(',')
this.$emit('change', files)
},
//
beforeAvatarUpload (file) {
const isLt2M = file.size / 1024 / 1024 < 2
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return isLt2M
},
handleRemove (file, fileList) {
let files = fileList.map(file => {
return file.response
}).join(',')
this.$emit('change', files)
},
beforeRemove (file, fileList) {
return this.$confirm(`确定移除 ${file.name}`)
}
}
}
</script>
<style lang="scss">
</style>

@ -0,0 +1,51 @@
<template>
<svg
:class="getClassName"
:width="width"
:height="height"
aria-hidden="true">
<use :xlink:href="getName"></use>
</svg>
</template>
<script>
export default {
name: 'icon-svg',
props: {
name: {
type: String,
required: true
},
className: {
type: String
},
width: {
type: String
},
height: {
type: String
}
},
computed: {
getName () {
return `#icon-${this.name}`
},
getClassName () {
return [
'icon-svg',
`icon-svg__${this.name}`,
this.className && /\S/.test(this.className) ? `${this.className}` : ''
]
}
}
}
</script>
<style>
.icon-svg {
width: 1em;
height: 1em;
fill: currentColor;
overflow: hidden;
}
</style>

@ -0,0 +1,83 @@
<template>
<div>
<el-upload
:action="$http.adornUrl('/admin/file/upload/element')"
:headers="{Authorization: $cookie.get('Authorization')}"
list-type="picture-card"
:on-preview="handlePictureCardPreview"
:on-remove="handleRemove"
:on-success="handleUploadSuccess"
:file-list="imageList"
:before-upload="beforeAvatarUpload">
<i class="el-icon-plus"></i>
</el-upload>
<el-dialog :visible.sync="dialogVisible">
<img width="100%" :src="dialogImageUrl" alt="">
</el-dialog>
</div>
</template>
<script>
export default {
data () {
return {
dialogImageUrl: '',
dialogVisible: false,
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
}
},
props: {
value: {
default: '',
type: String
}
},
computed: {
imageList () {
let res = []
if (this.value) {
let imageArray = this.value.split(',')
for (let i = 0; i < imageArray.length; i++) {
res.push({url: this.resourcesUrl + imageArray[i], response: imageArray[i]})
}
}
this.$emit('input', this.value)
return res
}
},
methods: {
//
handleUploadSuccess (response, file, fileList) {
let pics = fileList.map(file => {
return file.response
}).join(',')
this.$emit('input', pics)
},
//
beforeAvatarUpload (file) {
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/gif' || file.type === 'image/jpg'
if (!isJPG) {
this.$message.error('上传图片只能是jpeg/jpg/png/gif 格式!')
}
const isLt2M = file.size / 1024 / 1024 < 2
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return isLt2M && isJPG
},
handleRemove (file, fileList) {
let pics = fileList.map(file => {
return file.response
}).join(',')
this.$emit('input', pics)
},
handlePictureCardPreview (file) {
this.dialogImageUrl = file.url
this.dialogVisible = true
}
}
}
</script>
<style lang="scss">
</style>

@ -0,0 +1,75 @@
<template>
<div>
<el-upload
class="pic-uploader-component"
:action="$http.adornUrl('/admin/file/upload/element')"
:headers="{Authorization: $cookie.get('Authorization')}"
:show-file-list="false"
:on-success="handleUploadSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="value" :src="resourcesUrl + value" class="pic">
<i v-else class="el-icon-plus pic-uploader-icon"></i>
</el-upload>
</div>
</template>
<script>
export default {
data () {
return {
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
}
},
props: {
value: {
default: '',
type: String
}
},
methods: {
//
handleUploadSuccess (response, file, fileList) {
this.$emit('input', file.response)
},
//
beforeAvatarUpload (file) {
const isLt2M = file.size / 1024 / 1024 < 2
const isJPG = file.type === 'image/jpeg' || file.type === 'image/png' || file.type === 'image/gif' || file.type === 'image/jpg'
if (!isJPG) {
this.$message.error('上传图片只能是jpeg/jpg/png/gif 格式!')
}
if (!isLt2M) {
this.$message.error('上传图片大小不能超过 2MB!')
}
return isLt2M && isJPG
}
}
}
</script>
<style lang="scss">
.pic-uploader-component .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
.pic-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.pic {
width: 178px;
height: 178px;
display: block;
}
}
.pic-uploader-component .el-upload:hover {
border-color: #409EFF;
}
</style>

@ -0,0 +1,71 @@
<template>
<div>
<el-upload
class="pic-uploader-component"
:action="$http.adornUrl('/admin/file/upload/element')"
:headers="{Authorization: $cookie.get('Authorization')}"
:show-file-list="false"
:on-success="handleUploadSuccess"
:before-upload="beforeAvatarUpload">
<img v-if="value" :src="resourcesUrl + value" class="pic">
<i v-else class="el-icon-plus pic-uploader-icon"></i>
</el-upload>
</div>
</template>
<script>
export default {
data () {
return {
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
}
},
props: {
value: {
default: '',
type: String
}
},
methods: {
//
handleUploadSuccess (response, file, fileList) {
this.$emit('input', file.response)
},
//
beforeAvatarUpload (file) {
const isLt2M = file.size / 1024 / 1024 < 2
if (!isLt2M) {
this.$message.error('上传头像图片大小不能超过 2MB!')
}
return isLt2M
}
}
}
</script>
<style lang="scss">
.pic-uploader-component .el-upload {
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
position: relative;
overflow: hidden;
.pic-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
.pic {
width: 178px;
height: 178px;
display: block;
}
}
.pic-uploader-component .el-upload:hover {
border-color: #409EFF;
}
</style>

@ -0,0 +1,188 @@
<template>
<el-dialog title="选择商品"
:modal="false"
:close-on-click-modal="false"
:visible.sync="visible">
<el-table ref="prodTable"
:data="dataList"
border
v-loading="dataListLoading"
@selection-change="selectChangeHandle"
style="width: 100%;"
>
<el-table-column v-if="isSingle" width="50"
header-align="center"
align="center">
<template slot-scope="scope">
<div>
<el-radio :label="scope.row.prodId"
v-model="singleSelectProdId"
@change.native="getSelectProdRow(scope.row)">&nbsp;</el-radio>
</div>
</template>
</el-table-column>
<el-table-column v-if="!isSingle"
type="selection"
header-align="center"
align="center"
width="50">
</el-table-column>
<el-table-column prop="prodName"
header-align="center"
align="center"
label="产品名称">
</el-table-column>
<el-table-column align="center"
width="140"
label="产品图片">
<template slot-scope="scope">
<img :src="scope.row.pic"
width="100"
height="100" />
</template>
</el-table-column>
</el-table>
<el-pagination @size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper">
</el-pagination>
<span slot="footer">
<el-button @click="visible = false">取消</el-button>
<el-button type="primary"
@click="submitProds()">确定</el-button>
</span>
</el-dialog>
</template>
<script>
export default {
data () {
return {
visible: false,
dataForm: {
product: ''
},
singleSelectProdId: 0,
allData: [],
selectProds: [],
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
addOrUpdateVisible: false
}
},
props: {
isSingle: {
default: false,
type: Boolean
}
},
activated () {
this.getDataList()
},
methods: {
//
init (selectProds) {
this.selectProds = selectProds
this.visible = true
this.dataListLoading = true
if (this.selectProds) {
this.selectProds.forEach(row => {
this.dataListSelections.push(row)
})
}
this.getDataList()
},
getDataList () {
this.$http({
url: this.$http.adornUrl('/prod/prod/page'),
method: 'get',
params: this.$http.adornParams(
Object.assign(
{
current: this.pageIndex,
size: this.pageSize
},
{
prodName: this.dataForm.prodName
}
)
)
}).then(({ data }) => {
this.dataList = data.records
this.totalPage = data.total
this.dataListLoading = false
if (this.selectProds) {
this.$nextTick(() => {
this.selectProds.forEach(row => {
let index = this.dataList.findIndex((prodItem) => prodItem.prodId === row.prodId)
this.$refs.prodTable.toggleRowSelection(this.dataList[index])
})
})
}
})
},
//
sizeChangeHandle (val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
//
currentChangeHandle (val) {
this.pageIndex = val
this.getDataList()
},
//
getSelectProdRow (row) {
this.dataListSelections = [row]
},
//
selectChangeHandle (selection) {
this.dataList.forEach((tableItem) => {
let selectedProdIndex = selection.findIndex((selectedProd) => {
if (!selectedProd) {
return false
}
return selectedProd.prodId === tableItem.prodId
})
let dataSelectedProdIndex = this.dataListSelections.findIndex((dataSelectedProd) => dataSelectedProd.prodId === tableItem.prodId)
if (selectedProdIndex > -1 && dataSelectedProdIndex === -1) {
this.dataListSelections.push(tableItem)
} else if (selectedProdIndex === -1 && dataSelectedProdIndex > -1) {
this.dataListSelections.splice(dataSelectedProdIndex, 1)
}
})
},
//
submitProds () {
if (!this.dataListSelections.length) {
this.$message({
message: '请选择商品',
type: 'error',
duration: 1000,
onClose: () => {}
})
return
}
let prods = []
this.dataListSelections.forEach(item => {
let prodIndex = prods.findIndex((prod) => prod.prodId === item.prodId)
if (prodIndex === -1) {
prods.push({ prodId: item.prodId, prodName: item.prodName, pic: item.pic })
}
})
this.$emit('refreshSelectProds', prods)
this.dataListSelections = []
this.visible = false
}
}
}
</script>

@ -0,0 +1,88 @@
<template>
<div class="upload-container">
<el-tooltip v-if="tinymceUploadType === 'prod'" :content="this.$i18n.t('product.uploadDetailPicTips')" placement="top">
<el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click="clickUpload()">
{{ $t('components.uploadImage') }}
</el-button>
</el-tooltip>
<el-button v-else :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click="clickUpload()">
{{ $t('components.uploadImage') }}
</el-button>
<!-- 弹窗, 新增图片 -->
<elx-imgbox v-if="elxImgboxVisible" ref="elxImgbox" @refreshPic="refreshPic"></elx-imgbox>
</div>
</template>
<script>
import ImgsUpload from '@/components/imgs-upload'
import ElxImgbox from '@/components/elx-imgbox'
export default {
name: 'EditorSlideUpload',
props: {
color: {
type: String,
default: '#1890ff'
},
tinymceUploadType: {
default: '',
type: String
}
},
data () {
return {
elxImgboxVisible: false,
maxNum: 15, //
imgUrls: [],
resourcesUrl: process.env.VUE_APP_RESOURCES_URL
}
},
components: {
ImgsUpload,
ElxImgbox
},
methods: {
/**
* 打开图片选择窗
*/
clickUpload () {
this.imgUrls = ''
this.elxImgboxVisible = true
this.$nextTick(() => {
this.$refs.elxImgbox.init(0, this.maxNum)
})
},
/**
* 接收回调的图片数据
*/
refreshPic (imagePath) {
let imageArray = imagePath.split(',')
var data = []
imageArray.forEach(img => {
data.push(this.resourcesUrl + img)
})
this.imgUrls = ''
this.dialogVisible = false
this.$emit('successCBK', data)
}
// handleSubmit() {
// let imageArray = this.imgUrls.split(',')
// var data = []
// imageArray.forEach(img => {
// data.push(this.resourcesUrl + img)
// })
// this.imgUrls = ''
// this.dialogVisible = false
// this.$emit('successCBK', data)
// }
}
}
</script>
<style lang="scss" scoped>
.editor-slide-upload {
margin-bottom: 20px;
::v-deep .el-upload--picture-card {
width: 100%;
}
}
</style>

@ -0,0 +1,60 @@
let callbacks = []
function loadedTinymce () {
// to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2144
// check is successfully downloaded script
return window.tinymce
}
const dynamicLoadScript = (src, callback) => {
const existingScript = document.getElementById(src)
const cb = callback || function () {}
if (!existingScript) {
const script = document.createElement('script')
script.src = src // src url for the third-party library being loaded.
script.id = src
document.body.appendChild(script)
callbacks.push(cb)
const onEnd = 'onload' in script ? stdOnEnd : ieOnEnd
onEnd(script)
}
if (existingScript && cb) {
if (loadedTinymce()) {
cb(null, existingScript)
} else {
callbacks.push(cb)
}
}
function stdOnEnd (script) {
script.onload = function () {
// this.onload = null here is necessary
// because even IE9 works not like others
this.onerror = this.onload = null
for (const cb of callbacks) {
cb(null, script)
}
callbacks = null
}
script.onerror = function () {
document.body.removeChild(script)
this.onerror = this.onload = null
cb(new Error('Failed to load ' + src), script)
}
}
function ieOnEnd (script) {
script.onreadystatechange = function () {
if (this.readyState !== 'complete' && this.readyState !== 'loaded') return
this.onreadystatechange = null
for (const cb of callbacks) {
cb(null, script) // there is no way to catch loading errors in IE8
}
callbacks = null
}
}
}
export default dynamicLoadScript

@ -0,0 +1,261 @@
<template>
<div :class="{fullscreen:fullscreen}" class="tinymce-container" :style="{width:containerWidth}">
<textarea :id="tinymceId" class="tinymce-textarea" />
</div>
</template>
<script>
/**
* docs:
* https://panjiachen.github.io/vue-element-admin-site/feature/component/rich-editor.html#tinymce
*/
import plugins from './plugins'
import toolbar from './toolbar'
import load from './dynamicLoadScript'
// why use this cdn, detail see https://github.com/PanJiaChen/tinymce-all-in-one
const resourceCdn1 = 'https://cdn.jsdelivr.net/npm/tinymce-all-in-one@4.9.3/tinymce.min.js'
const resourceCdn2 = 'https://unpkg.zhimg.com/tinymce-all-in-one@4.9.3/tinymce.min.js'
const resourceCdn3 = 'https://unpkg.com/tinymce-all-in-one@4.9.3/tinymce.min.js'
export default {
name: 'Tinymce',
components: { },
props: {
id: {
type: String,
default: function () {
return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '')
}
},
value: {
type: String,
default: ''
},
toolbar: {
type: Array,
required: false,
default () {
return []
}
},
menubar: {
type: String,
default: 'file edit insert view format table'
},
height: {
type: [Number, String],
required: false,
default: 360
},
width: {
type: [Number, String],
required: false,
default: 'auto'
}
},
data () {
return {
hasChange: false,
hasInit: false,
tinymceId: this.id,
fullscreen: false
}
},
computed: {
language () {
return localStorage.getItem('lang') || 'zh_CN'
},
containerWidth () {
const width = this.width
if (/^[\d]+(\.[\d]+)?$/.test(width)) { // matches `100`, `'100'`
return `${width}px`
}
return width
}
},
watch: {
value (val) {
if (!this.hasChange && this.hasInit) {
this.$nextTick(() =>
window.tinymce.get(this.tinymceId).setContent(val || ''))
}
},
language () {
this.destroyTinymce()
this.$nextTick(() => this.initTinymce())
}
},
mounted () {
this.init()
},
activated () {
if (window.tinymce) {
this.initTinymce()
}
},
deactivated () {
this.destroyTinymce()
},
destroyed () {
this.destroyTinymce()
},
methods: {
init () {
// dynamic load tinymce from cdn
load(resourceCdn1, (err) => {
if (!err) {
this.initTinymce()
return
}
load(resourceCdn2, (err2) => {
if (!err2) {
this.initTinymce()
return
}
load(resourceCdn3, (err3) => {
if (!err3) {
this.initTinymce()
return
}
this.$message.error(err.message)
})
})
})
},
initTinymce () {
const _this = this
window.tinymce.init({
language: this.language,
selector: `#${this.tinymceId}`,
height: this.height,
body_class: 'panel-body ',
object_resizing: false,
toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,
menubar: this.menubar,
plugins: plugins,
end_container_on_empty_block: true,
powerpaste_word_import: 'clean',
code_dialog_height: 450,
code_dialog_width: 1000,
advlist_bullet_styles: 'square',
advlist_number_styles: 'default',
imagetools_cors_hosts: ['www.tinymce.com', 'codepen.io'],
default_link_target: '_blank',
link_title: false,
nonbreaking_force_tab: true, // inserting nonbreaking space &nbsp; need Nonbreaking Space Plugin
init_instance_callback: editor => {
if (_this.value) {
editor.setContent(_this.value)
}
_this.hasInit = true
editor.on('NodeChange Change KeyUp SetContent', () => {
this.hasChange = true
this.$emit('input', editor.getContent())
})
},
setup (editor) {
editor.on('FullscreenStateChanged', (e) => {
_this.fullscreen = e.state
})
},
// it will try to keep these URLs intact
// https://www.tiny.cloud/docs-3x/reference/configuration/Configuration3x@convert_urls/
// https://stackoverflow.com/questions/5196205/disable-tinymce-absolute-to-relative-url-conversions
convert_urls: false
//
// images_dataimg_filter(img) {
// setTimeout(() => {
// const $image = $(img);
// $image.removeAttr('width');
// $image.removeAttr('height');
// if ($image[0].height && $image[0].width) {
// $image.attr('data-wscntype', 'image');
// $image.attr('data-wscnh', $image[0].height);
// $image.attr('data-wscnw', $image[0].width);
// $image.addClass('wscnph');
// }
// }, 0);
// return img
// },
// images_upload_handler(blobInfo, success, failure, progress) {
// progress(0);
// const token = _this.$store.getters.token;
// getToken(token).then(response => {
// const url = response.data.qiniu_url;
// const formData = new FormData();
// formData.append('token', response.data.qiniu_token);
// formData.append('key', response.data.qiniu_key);
// formData.append('file', blobInfo.blob(), url);
// upload(formData).then(() => {
// success(url);
// progress(100);
// })
// }).catch(err => {
// failure('')
// console.log(err);
// });
// },
})
},
destroyTinymce () {
const tinymce = window.tinymce.get(this.tinymceId)
if (this.fullscreen) {
tinymce.execCommand('mceFullScreen')
}
if (tinymce) {
tinymce.destroy()
}
},
setContent (value) {
window.tinymce.get(this.tinymceId).setContent(value)
},
getContent () {
window.tinymce.get(this.tinymceId).getContent()
},
imageSuccessCBK (arr) {
const _this = this
arr.forEach(v => {
window.tinymce.get(_this.tinymceId).insertContent(`<img class="wscnph" src="${v}" >`)
})
}
}
}
</script>
<style lang="scss" scoped>
.tinymce-container {
position: relative;
line-height: normal;
}
.tinymce-container {
::v-deep {
.mce-fullscreen {
z-index: 10000;
}
}
}
.tinymce-textarea {
visibility: hidden;
z-index: -1;
}
.editor-custom-btn-container {
position: absolute;
right: 4px;
top: 4px;
/*z-index: 2005;*/
}
.fullscreen .editor-custom-btn-container {
z-index: 10000;
position: fixed;
}
.editor-upload-btn {
display: inline-block;
}
</style>

@ -0,0 +1,7 @@
// Any plugins you want to use has to be imported
// Detail plugins list see https://www.tinymce.com/docs/plugins/
// Custom builds see https://www.tinymce.com/download/custom-builds/
const plugins = ['advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount']
export default plugins

@ -0,0 +1,6 @@
// Here is a list of the toolbar
// Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols
const toolbar = ['searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample', 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen']
export default toolbar

@ -0,0 +1,68 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '表单名称',
prop: 'formName',
search: true
}, {
label: '按钮文本',
prop: 'buttonName',
search: true
}, {
label: '提交次数',
prop: 'submitNum',
type: 'select',
dicData: [
{
label: '不做限制',
value: 0
}, {
label: '每个IP限填一次',
value: 1
}
]
}, {
label: '开启验证',
prop: 'needValidation',
type: 'select',
dicData: [
{
label: '不需要',
value: 0
}, {
label: '需要',
value: 1
}
]
}, {
label: '提交权限',
prop: 'submitPerm',
type: 'select',
dicData: [
{
label: '所有人',
value: 0
}, {
label: '仅会员可提交',
value: 1
}
]
}]
}

@ -0,0 +1,45 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '轮播图片',
prop: 'imgUrl',
type: 'upload',
slot: true,
listType: 'picture-img'
}, {
label: '顺序',
prop: 'seq'
}, {
width: 150,
label: '状态',
prop: 'status',
search: true,
type: 'select',
dicData: [
{
label: '禁用',
value: 0
}, {
label: '正常',
value: 1
}
]
}]
}

@ -0,0 +1,50 @@
export const tableOption = {
border: true,
index: false,
indexLabel: '序号',
selection: true,
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '创建时间',
prop: 'createTime'
},
{
label: '姓名',
prop: 'userName',
search: true
}, {
label: '邮箱',
prop: 'email'
}, {
label: '联系方式',
prop: 'contact'
}, {
label: '审核',
prop: 'status',
search: true,
slot: true,
type: 'select',
dicData: [
{
label: '未审核',
value: 0
}, {
label: '审核通过',
value: 1
}
]
}]
}

@ -0,0 +1,74 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
delBtn: false,
column: [
{
label: '商品名',
prop: 'prodName',
search: true
},
{
label: '用户昵称',
prop: 'nickName',
slot: true
},
{
label: '记录时间',
prop: 'recTime',
width: '200'
},
{
label: '回复时间',
prop: 'replyTime',
width: '200',
dicData: [
{
label: '无',
value: ''
}
]
},
{
label: '评价得分',
prop: 'score'
},
{
label: '是否匿名',
prop: 'isAnonymous',
dicData: [
{
label: '否',
value: 0
}, {
label: '是',
value: 1
}
]
},
{
prop: 'status',
label: '审核状态',
search: true,
type: 'select',
dicData: [
{
label: '待审核',
value: 0
}, {
label: '审核通过',
value: 1
}, {
label: '审核未通过',
value: -1
}
]
}
]
}

@ -0,0 +1,57 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '产品名字',
prop: 'prodName',
search: true
}, {
label: '商品原价',
prop: 'oriPrice'
}, {
label: '商品现价',
prop: 'price'
}, {
label: '商品库存',
prop: 'totalStocks'
}, {
label: '产品图片',
prop: 'pic',
type: 'upload',
width: 150,
listType: 'picture-img'
}, {
width: 150,
label: '状态',
prop: 'status',
search: true,
slot: true,
type: 'select',
dicData: [
{
label: '未上架',
value: 0
}, {
label: '上架',
value: 1
}
]
}]
}

@ -0,0 +1,43 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
delBtn: false,
column: [
{
label: '标签名称',
prop: 'title',
search: true
},
{
label: '状态',
prop: 'status',
type: 'select',
slot: true,
search: true,
dicData: [
{
label: '禁用',
value: 0
}, {
label: '正常',
value: 1
}
]
},
{
label: '默认类型',
prop: 'isDfault',
slot: true
},
{
label: '排序',
prop: 'seq'
}
]
}

@ -0,0 +1,28 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '属性名称',
prop: 'propName',
search: true
}, {
label: '属性值',
prop: 'prodPropValues',
slot: true
}]
}

@ -0,0 +1,50 @@
export const tableOption = {
border: true,
index: false,
selection: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
delBtn: false,
column: [
{
label: '热搜标题',
prop: 'title',
search: true
},
{
label: '热搜内容',
prop: 'content',
search: true
},
{
label: '录入时间',
prop: 'recDate',
sortable: true
},
{
label: '顺序',
prop: 'seq',
sortable: true
},
{
label: '启用状态',
prop: 'status',
type: 'select',
slot: true,
search: true,
dicData: [
{
label: '未启用',
value: 0
}, {
label: '启用',
value: 1
}
]
}
]
}

@ -0,0 +1,50 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
delBtn: false,
column: [
{
label: '公告内容',
prop: 'title',
search: true
},
{
label: '状态',
prop: 'status',
search: true,
slot: true,
type: 'select',
dicData: [
{
label: '撤销',
value: 0
}, {
label: '公布',
value: 1
}
]
},
{
label: '是否置顶',
prop: 'isTop',
search: true,
slot: true,
type: 'select',
dicData: [
{
label: '否',
value: 0
}, {
label: '是',
value: 1
}
]
}
]
}

@ -0,0 +1,41 @@
export const tableOption = {
border: true,
index: false,
selection: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
viewBtn: false,
delBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [
{
label: '自提点名称',
prop: 'addrName',
search: true
}, {
label: '手机号',
prop: 'mobile'
}, {
label: '省份',
prop: 'province'
}, {
label: '城市',
prop: 'city'
}, {
label: '区/县',
prop: 'area'
}, {
label: '地址',
prop: 'addr'
}]
}

@ -0,0 +1,25 @@
export const tableOption = {
border: true,
index: false,
selection: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '模板名称',
prop: 'transName',
search: true
}]
}

@ -0,0 +1,28 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
column: [
{
label: '',
prop: 'areaId'
},
{
label: '',
prop: 'areaName'
},
{
label: '',
prop: 'parentId'
},
{
label: '',
prop: 'level'
}
]
}

@ -0,0 +1,31 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '参数名',
prop: 'paramKey',
search: true
}, {
label: '参数值',
prop: 'paramValue'
}, {
label: '备注',
prop: 'remark'
}]
}

@ -0,0 +1,45 @@
export const tableOption = {
border: true,
menu: false, // 移除操作栏
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '用户名',
prop: 'username',
search: true
}, {
label: '用户操作',
prop: 'operation',
search: true
}, {
label: '请求方法',
prop: 'method'
}, {
label: '请求参数',
prop: 'params'
}, {
label: '执行时长(毫秒)',
prop: 'time'
}, {
label: 'IP地址',
prop: 'ip'
}, {
label: '创建时间',
prop: 'createDate'
}]
}

@ -0,0 +1,31 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '角色名称',
prop: 'roleName',
search: true
}, {
label: '备注',
prop: 'remark'
}, {
label: '创建时间',
prop: 'createTime'
}]
}

@ -0,0 +1,48 @@
export const tableOption = {
border: true,
selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '用户名',
prop: 'username',
search: true
}, {
label: '邮箱',
prop: 'email'
}, {
label: '手机号',
prop: 'mobile'
}, {
label: '创建时间',
prop: 'createTime'
}, {
label: '状态',
prop: 'status',
type: 'select',
dicData: [
{
label: '禁用',
value: 0
}, {
label: '正常',
value: 1
}
]
}]
}

@ -0,0 +1,78 @@
export const tableOption = {
border: true,
index: true,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
align: 'center',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
column: [
{
label: '收货人名称',
prop: 'receiver'
},
{
label: '省',
prop: 'province'
},
{
label: '城市',
prop: 'city'
},
{
label: '区',
prop: 'area'
},
{
label: '地址',
prop: 'addr'
},
{
label: '邮编',
prop: 'postCode'
},
{
label: '手机',
prop: 'mobile'
},
{
label: '状态',
prop: 'status',
search: true,
type: 'select',
dicData: [
{
label: '无效',
value: 0
}, {
label: '正常',
value: 1
}
]
},
{
label: '默认地址',
prop: 'commonAddr',
dicData: [
{
label: '否',
value: 0
}, {
label: '是',
value: 1
}
]
},
{
label: '建立时间',
prop: 'createTime'
},
{
label: '更新时间',
prop: 'updateTime'
}
]
}

@ -0,0 +1,50 @@
export const tableOption = {
border: true,
// selection: true,
index: false,
indexLabel: '序号',
stripe: true,
menuAlign: 'center',
menuWidth: 350,
align: 'center',
refreshBtn: true,
searchSize: 'mini',
addBtn: false,
editBtn: false,
delBtn: false,
viewBtn: false,
props: {
label: 'label',
value: 'value'
},
column: [{
label: '用户昵称',
prop: 'nickName',
search: true
}, {
label: '用户头像',
prop: 'pic',
type: 'upload',
imgWidth: 150,
listType: 'picture-img'
}, {
label: '状态',
prop: 'status',
search: true,
type: 'select',
slot: true,
dicData: [
{
label: '禁用',
value: 0
}, {
label: '正常',
value: 1
}
]
}, {
label: '注册时间',
prop: 'userRegtime',
imgWidth: 150
}]
}

File diff suppressed because one or more lines are too long

@ -0,0 +1,156 @@
/**
* UI组件, 统一使用饿了么桌面端组件库(https://github.com/ElemeFE/element
*
* 使用:
* 1. 项目中需要的组件进行释放(解开注释)
*
* 注意:
* 1. 打包只会包含释放(解开注释)的组件, 减少打包文件大小
*/
import Vue from 'vue'
import {
Scrollbar,
Pagination,
Dialog,
Autocomplete,
Dropdown,
DropdownMenu,
DropdownItem,
Menu,
Submenu,
MenuItem,
MenuItemGroup,
Input,
InputNumber,
Radio,
RadioGroup,
RadioButton,
Checkbox,
CheckboxButton,
CheckboxGroup,
Switch,
Select,
Option,
OptionGroup,
Button,
ButtonGroup,
Table,
TableColumn,
DatePicker,
TimeSelect,
TimePicker,
Popover,
Tooltip,
Breadcrumb,
BreadcrumbItem,
Form,
FormItem,
Tabs,
TabPane,
Tag,
Tree,
Alert,
Slider,
Icon,
Row,
Col,
Upload,
Progress,
Badge,
Card,
Rate,
Steps,
Step,
Carousel,
CarouselItem,
Collapse,
CollapseItem,
Cascader,
ColorPicker,
Transfer,
Container,
Header,
Aside,
Main,
Footer,
Loading,
MessageBox,
Message,
Notification
} from 'element-ui'
Vue.use(Pagination)
Vue.use(Dialog)
Vue.use(Autocomplete)
Vue.use(Dropdown)
Vue.use(DropdownMenu)
Vue.use(DropdownItem)
Vue.use(Menu)
Vue.use(Submenu)
Vue.use(MenuItem)
Vue.use(MenuItemGroup)
Vue.use(Input)
Vue.use(InputNumber)
Vue.use(Radio)
Vue.use(RadioGroup)
Vue.use(RadioButton)
Vue.use(Checkbox)
Vue.use(CheckboxButton)
Vue.use(CheckboxGroup)
Vue.use(Switch)
Vue.use(Select)
Vue.use(Option)
Vue.use(OptionGroup)
Vue.use(Button)
Vue.use(ButtonGroup)
Vue.use(Table)
Vue.use(TableColumn)
Vue.use(DatePicker)
Vue.use(TimeSelect)
Vue.use(TimePicker)
Vue.use(Popover)
Vue.use(Tooltip)
Vue.use(Breadcrumb)
Vue.use(BreadcrumbItem)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Tabs)
Vue.use(TabPane)
Vue.use(Tag)
Vue.use(Tree)
Vue.use(Alert)
Vue.use(Slider)
Vue.use(Icon)
Vue.use(Row)
Vue.use(Col)
Vue.use(Upload)
Vue.use(Progress)
Vue.use(Badge)
Vue.use(Card)
Vue.use(Rate)
Vue.use(Steps)
Vue.use(Step)
Vue.use(Carousel)
Vue.use(CarouselItem)
Vue.use(Collapse)
Vue.use(CollapseItem)
Vue.use(Cascader)
Vue.use(ColorPicker)
Vue.use(Transfer)
Vue.use(Container)
Vue.use(Header)
Vue.use(Aside)
Vue.use(Main)
Vue.use(Footer)
Vue.use(Scrollbar)
Vue.use(Loading.directive)
Vue.prototype.$loading = Loading.service
Vue.prototype.$msgbox = MessageBox
Vue.prototype.$alert = MessageBox.alert
Vue.prototype.$confirm = MessageBox.confirm
Vue.prototype.$prompt = MessageBox.prompt
Vue.prototype.$notify = Notification
Vue.prototype.$message = Message
Vue.prototype.$ELEMENT = { size: 'medium' }

@ -0,0 +1,27 @@
/**
* 字体图标, 统一使用SVG Sprite矢量图标(http://www.iconfont.cn/
* 8a8a8a 32
* 使用:
* 1. 在阿里矢量图标站创建一个项目, 并添加图标(这一步非必须, 创建方便项目图标管理)
* 2-1. 添加icon, 选中新增的icon图标, 复制代码 -> 下载 -> SVG下载 -> 粘贴代码(重命名)
* 2-2. 添加icons, 下载图标库对应[iconfont.js]文件, 替换项目[./iconfont.js]文件
* 3. 组件模版中使用 [<icon-svg name="canyin"></icon-svg>]
*
* 注意:
* 1. 通过2-2 添加icons, getNameList方法无法返回对应数据
*/
import Vue from 'vue'
import IconSvg from '@/components/icon-svg'
import './iconfont.js'
Vue.component('IconSvg', IconSvg)
const svgFiles = require.context('./svg', true, /\.svg$/)
const iconList = svgFiles.keys().map(item => svgFiles(item))
export default {
// 获取图标icon-(*).svg名称列表, 例如[shouye, xitong, zhedie, ...]
getNameList () {
return iconList.map(item => item.default.id.split('-')[1])
}
}

@ -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="1525499040598" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1423" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M491.392 286.464m-286.464 0a4.476 4.476 0 1 0 572.928 0 4.476 4.476 0 1 0-572.928 0Z" p-id="1424"></path><path d="M869.312 523.264c-35.392-43.2-101.888-51.2-140.16-10.496-59.648 63.36-143.744 103.232-237.824 103.232-83.264 0-158.976-31.04-216.832-82.048C230.656 495.296 161.856 510.592 129.024 558.976c-49.28 72.768-78.4 160.064-78.4 254.72 0 19.072 1.28 37.76 3.648 56.064C66.176 960.32 150.272 1024 241.536 1024l539.392 0c100.544 0 183.744-77.824 191.232-178.048 0.768-10.624 1.216-21.376 1.216-32.192C973.376 703.296 934.208 602.432 869.312 523.264z" p-id="1425"></path></svg>

After

Width:  |  Height:  |  Size: 965 B

@ -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="1523793686319" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2491" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M908.785955 492.415966c-11.04966 0-20.008706 8.958022-20.008706 20.008706l0 338.328565c0 38.614459-31.416524 70.030983-70.030983 70.030983L202.707748 920.78422c-38.614459 0-70.030983-31.416524-70.030983-70.030983l0-676.303067c0-38.614459 31.416524-70.030983 70.030983-70.030983l362.378308 0c11.04966 0 20.008706-8.958022 20.008706-20.008706 0-11.050684-8.959046-20.008706-20.008706-20.008706L202.707748 64.401776c-60.681034 0-110.049418 49.367361-110.049418 110.049418l0 676.303067c0 60.681034 49.367361 110.049418 110.049418 110.049418l616.038518 0c60.681034 0 110.049418-49.367361 110.049418-110.049418L928.795685 512.425695C928.795685 501.373988 919.836639 492.415966 908.785955 492.415966z" p-id="2492"></path><path d="M942.576549 117.985158 907.20597 82.614579c-23.405059-23.405059-61.486376-23.400966-84.891436 0l-422.369633 422.36861c-1.295506 1.296529-2.407839 2.76395-3.304256 4.363378L269.318842 736.416166c-4.457522 7.951089-2.977821 17.909905 3.598968 24.221658 3.830235 3.675716 8.823969 5.572926 13.859659 5.572926 3.613294 0 7.247054-0.977257 10.488889-2.973728l219.285309-135.104047c1.327228-0.816598 2.552126-1.784646 3.654226-2.885723l422.369633-422.36861C965.979562 179.471534 965.979562 141.390217 942.576549 117.985158zM418.556794 552.080857l55.42124 55.279001-132.025942 81.343633L418.556794 552.080857zM914.279063 174.579107 505.926678 582.930469l-63.748906-63.586201L850.612021 110.912066c7.798617-7.800663 20.493753-7.804756 28.29544 0l35.371602 35.371602C922.081773 154.084331 922.081773 166.777421 914.279063 174.579107z" p-id="2493"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -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="1525499385323" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4161" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M993.889598 704.576038l-41.044193 12.788439c1.179981 8.865801 2.455635 17.508362 2.455636 26.661186 0 9.057149-1.435112 17.859167-2.806441 26.533619l41.394998 12.884114c9.694976 2.806441 17.859167 9.376063 22.57909 18.241864 4.688031 8.865801 5.644772 19.262387 2.423745 28.829798-6.665296 19.708867-28.574668 30.360584-49.080819 24.046093l-41.873369-12.979788a207.389579 207.389579 0 0 1-32.178392 43.27659l25.544987 33.741069a36.388053 36.388053 0 0 1-8.61067 52.174281 39.896104 39.896104 0 0 1-54.438568-8.227973l-25.672553-33.900526a218.009405 218.009405 0 0 1-52.748326 17.093774v41.139867c0 20.601825-17.476471 37.408577-38.939363 37.408577-21.558566 0-39.003146-16.711078-39.003145-37.408577v-41.139867a217.818057 217.818057 0 0 1-52.780218-17.093774l-25.60877 33.900526a40.183126 40.183126 0 0 1-54.47046 8.227973 36.164814 36.164814 0 0 1-8.578778-52.174281l25.800118-34.059983a201.138871 201.138871 0 0 1-33.29459-42.702545l-40.916628 12.78844c-20.601825 6.442057-42.511196-4.337226-49.11271-24.046093a36.930206 36.930206 0 0 1 24.970943-47.071662l41.076084-12.724657c-1.148089-8.833909-2.519418-17.604036-2.519418-26.693077 0-9.184715 1.498894-17.859167 2.838332-26.661185l-41.42689-12.820331c-20.569934-6.442057-31.66813-27.490361-24.970942-47.135445 6.601514-19.613193 28.510885-30.296802 49.112709-24.014201l41.841478 13.04357a211.057087 211.057087 0 0 1 32.178392-43.372263l-25.513096-33.645396a36.451836 36.451836 0 0 1 8.578779-52.206172 39.959887 39.959887 0 0 1 54.47046 8.291756l25.640661 33.900526a214.469463 214.469463 0 0 1 52.748326-17.125665v-41.139868c0-20.633716 17.412688-37.408577 39.003146-37.408577 21.494783 0 38.971254 16.647295 38.971254 37.408577v41.076085a216.733751 216.733751 0 0 1 52.716435 17.157557l25.672553-33.932418a40.119343 40.119343 0 0 1 54.438568-8.291756c17.348905 12.182503 21.271544 35.495095 8.642561 52.238064l-25.832009 34.028092c12.724657 12.916005 24.365007 26.980099 33.358373 42.60687l40.884736-12.660874c20.538042-6.314491 42.415522 4.401009 49.080819 24.077985 6.76097 19.613193-4.528575 40.661497-25.002835 47.071662z m-252.898564-91.273101c-75.327416 0-136.463172 58.616338-136.463172 130.8184 0 72.265844 61.135756 130.754617 136.463172 130.754617 75.231742 0 136.39939-58.488773 136.39939-130.754617 0-72.202062-61.071974-130.8184-136.39939-130.8184z" p-id="4162"></path><path d="M441.690527 895.669127H99.528018a49.750537 49.750537 0 0 1-49.782429-49.782429V99.596749c0-27.45847 22.292068-49.782429 49.782429-49.782429h447.818617v223.909309a99.532966 99.532966 0 0 0 99.532966 99.532966h199.002149v36.451836a322.102837 322.102837 0 0 1 49.782429 32.018935V348.381326l-8.802018-8.770127 1.530785-8.802018-307.05011-330.713507H99.559909A99.532966 99.532966 0 0 0 0.026943 99.62864v746.321841a99.532966 99.532966 0 0 0 99.532966 99.532966h390.446043a322.963904 322.963904 0 0 1-48.315425-49.81432z" p-id="4163"></path><path d="M597.129064 91.145536l217.818057 232.32863h-168.06752a49.750537 49.750537 0 0 1-49.782428-49.750537V91.145536h0.031891zM174.185715 423.007132h248.784577v-49.750537H174.185715v49.750537zM422.970292 223.9412H174.185715v49.782429h248.784577V223.9412zM174.185715 744.057554h248.784577v-49.750537H174.185715v49.750537zM514.115828 545.023514H174.185715v49.750537h339.930113v-49.750537z" p-id="4164"></path></svg>

After

Width:  |  Height:  |  Size: 3.6 KiB

@ -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="1523793636434" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1860" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M814.898635 729.554898c-52.181453-15.880689-113.718995-27.296693-179.771363-33.619702 83.378989-122.791627 144.990209-275.473005 144.990209-379.626133 0-144.027278-119.42802-260.733303-266.739087-260.733303-147.317207 0-266.739087 116.706025-266.739087 260.733303 0 102.385878 61.574381 255.895111 145.227616 379.482871-66.636676 6.290263-128.727827 17.752316-181.310416 33.752732-60.22771 18.326391-132.022872 49.885154-132.022872 96.160083 0 89.684602 218.426755 136.608308 434.19496 136.608308 112.413256 0 218.348983-12.394285 298.29478-34.899858 88.904843-25.027 135.898133-60.19701 135.898133-101.707426C946.922531 779.442098 875.128391 747.883335 814.898635 729.554898zM514.324952 181.990914c60.772109 0 110.043279 49.269124 110.043279 110.063745 0 60.753689-49.27117 110.034069-110.043279 110.034069-60.784388 0-110.054535-49.28038-110.054535-110.034069C404.269393 231.260038 453.540563 181.990914 514.324952 181.990914zM883.279025 854.435093c-18.848277 12.544711-47.583738 24.460088-83.099626 34.458813-76.514651 21.538549-178.599677 33.401738-287.450804 33.401738s-210.9382-11.863189-287.451828-33.401738c-35.515888-9.998725-64.250326-21.914102-83.099626-34.458813-15.234983-10.140964-23.626094-20.343327-23.626094-28.729322 0-5.562692 17.591657-31.6877 103.654778-57.875129 56.150858-17.086144 123.93773-28.755927 196.708104-34.169217 24.391527 32.31601 50.161447 61.676711 76.472696 86.332251 4.39203 4.923126 10.781554 8.099469 17.99177 8.099469 7.100722 0 13.407358-3.080152 17.799388-7.869225 26.40744-24.667819 52.311413-54.06229 76.838016-86.449931 72.206532 5.462408 139.457192 17.093307 195.23352 34.06791 86.064145 26.191522 103.655801 52.306296 103.655801 57.865919C906.904095 834.091766 898.514008 844.294129 883.279025 854.435093z" p-id="1861"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -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="1523793771421" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3764" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M605.848435 958.708971c-0.36225 0-0.724501-0.008186-1.088798-0.026606-9.098215-0.468674-16.872273-6.712889-19.288299-15.495926L476.898551 548.458353 80.07064 437.83486c-8.760524-2.442632-14.976086-10.218736-15.427364-19.304671-0.451278-9.083889 4.965082-17.437138 13.44215-20.73423L929.251056 66.728774c7.80885-3.038196 16.669658-1.174756 22.597671 4.750187 5.922896 5.92392 7.788383 14.789844 4.751211 22.597671L625.531729 945.241238C622.361527 953.390849 614.518908 958.708971 605.848435 958.708971zM152.537092 414.172951l347.232352 96.79658c7.148817 1.9934 12.726859 7.591909 14.696724 14.746866l94.821599 344.730369 290.525839-746.93166L152.537092 414.172951z" p-id="3765"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -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="1523793786368" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4016" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M958.359001 286.941198c0-64.308655-52.132334-116.440989-116.440989-116.440989L181.453678 170.500209c-64.308655 0-116.440989 52.132334-116.440989 116.440989l0 448.63995c0 64.308655 52.132334 116.440989 116.440989 116.440989l660.464333 0c64.308655 0 116.440989-52.132334 116.440989-116.440989L958.359001 286.941198zM843.814198 212.455763c12.059664 0 23.444968 3.465938 33.519418 8.598842L530.749016 549.347606c-1.227967 1.161453-1.156336 0.916882-1.752924 1.868557-1.426489 1.067308-6.055926 3.922333-15.449877 3.922333-9.397021 0-14.025435-2.75474-15.4509-3.818979-0.676405-1.077541-0.662079-0.716314-1.995447-1.940189l-353.122503-324.412624c11.609409-7.557116 25.445532-12.509918 40.300868-12.509918L843.814198 212.456786zM916.403446 736.484727c0 40.857547-31.730679 73.582879-72.589248 73.582879L183.27721 810.067606c-40.85857 0-75.28566-32.725332-75.28566-73.582879L107.99155 287.657512c0-10.630105 2.860141-20.735253 6.909363-29.882588l351.486236 322.096882c4.91187 5.302773 19.479657 17.676591 47.009663 17.676591 27.799136 0 42.303478-12.618389 47.076178-17.830087l346.800517-328.899822c6.251378 10.860349 9.129938 23.433712 9.129938 36.838L916.403446 736.484727z" p-id="4017"></path></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

@ -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="1527128057551" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1399" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M218.316 307.727h87.886v205.06h-29.297v29.295h117.179v-29.294H364.79V307.727h87.882v29.293h29.294v-87.882H189.022v87.882h29.294v-29.293z m322.242 58.59h292.945v58.588H540.558v-58.588z m0 117.177h292.945v58.588H540.558v-58.588z m-351.536 117.18h644.481v58.588h-644.48v-58.587z m0 117.176h644.481v58.588h-644.48V717.85z m351.536-468.713h292.945v58.589H540.558v-58.589z m420.923 713.13H61.045V63.309h900.436v898.958z m-864.62-35.816h828.804V99.125H96.861V926.45z" p-id="1400"></path></svg>

After

Width:  |  Height:  |  Size: 872 B

@ -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="1540532996442" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6189" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M228.413712 351.302041l565.792137 0 0-51.436486L228.413712 299.865555 228.413712 351.302041zM228.413712 531.351744l565.792137 0 0-51.461045L228.413712 479.890698 228.413712 531.351744zM897.077797 119.841436 125.543809 119.841436c-28.404933 0-51.435463 23.056112-51.435463 51.435463l0 668.664086c0 28.431539 23.030529 51.435463 51.435463 51.435463l771.535011 0c28.405957 0 51.435463-23.0029 51.435463-51.435463L948.514283 171.276898C948.51326 142.897547 925.483754 119.841436 897.077797 119.841436zM897.077797 814.222229c0 14.216793-11.528568 25.718755-25.717731 25.718755L151.261541 839.940984c-14.216793 0-25.717731-11.501962-25.717731-25.718755L125.543809 196.995653c0-14.189164 11.501962-25.717731 25.717731-25.717731l720.099549 0c14.189164 0 25.717731 11.528568 25.717731 25.717731L897.078821 814.222229zM228.413712 711.351304l565.792137 0 0-51.435463L228.413712 659.915841 228.413712 711.351304z" p-id="6190"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -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="1523793764144" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3637" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M586.945923 513.581008c55.067176-27.962865 92.91211-85.125773 92.91211-150.998039 0-93.338828-75.937506-169.276335-169.277358-169.276335s-169.275311 75.937506-169.275311 169.276335c0 65.872267 37.844933 123.034151 92.911086 150.998039-95.652524 32.016181-164.778904 122.45496-164.778904 228.743728 0 11.31572 9.17394 20.491707 20.491707 20.491707s20.491707-9.174963 20.491707-20.491707c0-110.36869 89.791026-200.160739 200.160739-200.160739S710.741413 631.956046 710.741413 742.324736c0 11.31572 9.17394 20.491707 20.491707 20.491707s20.491707-9.174963 20.491707-20.491707C751.723803 636.035968 682.598446 545.598212 586.945923 513.581008zM382.287753 362.582969c0-70.742181 57.552787-128.293945 128.292921-128.293945 70.742181 0 128.293945 57.552787 128.293945 128.293945 0 70.741157-57.552787 128.292921-128.293945 128.292921C439.84054 490.876913 382.287753 433.324126 382.287753 362.582969z" p-id="3638"></path><path d="M827.871087 196.127889C743.498468 111.757317 631.320573 65.290005 512 65.290005S280.500509 111.756293 196.128913 196.127889C111.756293 280.501532 65.291029 392.678404 65.291029 511.998977s46.465265 231.499491 130.837884 315.872111 196.550515 130.837884 315.871087 130.837884 231.498468-46.465265 315.871087-130.837884S958.708971 631.319549 958.708971 511.998977 912.243707 280.500509 827.871087 196.127889zM512 917.726581c-223.718271 0-405.726581-182.007287-405.726581-405.727605 0-223.718271 182.00831-405.726581 405.726581-405.726581s405.726581 182.007287 405.726581 405.726581C917.726581 735.719294 735.718271 917.726581 512 917.726581z" p-id="3639"></path></svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -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="1523793740417" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3258" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M753.845117 371.674021l-17.46272 0 0-83.669608c0-59.275012-22.62837-115.203812-63.715137-157.482731-42.170448-43.394323-99.369172-67.291592-161.058163-67.291592-126.040624 0-224.772276 98.731652-224.772276 224.7733l0 83.669608-16.680914 0c-62.788022 0-113.688295 50.900274-113.688295 113.688295L156.467611 842.961784c0 62.788022 50.900274 113.688295 113.688295 113.688295l483.690234 0c62.788022 0 113.688295-50.900274 113.688295-113.688295L867.534436 485.362316C867.532389 422.574295 816.633139 371.674021 753.845117 371.674021zM328.176344 288.005436c0-102.858646 80.573083-183.432753 183.431729-183.432753 50.423413 0 97.093339 19.447934 131.410935 54.762231 33.547047 34.519188 52.021817 80.214926 52.021817 128.670521l0 83.669608L328.176344 371.675044 328.176344 288.005436zM826.191842 842.961784c0 39.956014-32.390711 72.346725-72.346725 72.346725L270.154883 915.308509c-39.956014 0-72.346725-32.390711-72.346725-72.346725L197.808158 485.362316c0-39.956014 32.390711-72.346725 72.346725-72.346725l483.690234 0c39.956014 0 72.346725 32.390711 72.346725 72.346725L826.191842 842.961784z" p-id="3259"></path><path d="M509.932921 580.446905c-11.416004 0-20.670785 9.254781-20.670785 20.670785l0 109.554138c0 11.414981 9.254781 20.670785 20.670785 20.670785 11.416004 0 20.670785-9.254781 20.670785-20.670785L530.603707 601.116667C530.602683 589.701686 521.348925 580.446905 509.932921 580.446905z" p-id="3260"></path></svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

@ -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="1525499354423" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4001" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M512 0C230.4 0 0 230.4 0 512s230.4 512 512 512 512-230.4 512-512-230.4-512-512-512z m0 960c-249.6 0-448-198.4-448-448s198.4-448 448-448 448 198.4 448 448-198.4 448-448 448z" fill="" p-id="4002"></path><path d="M556.8 518.4V339.2c0-19.2-12.8-32-32-32s-32 12.8-32 32v192c0 6.4 0 19.2 6.4 19.2l198.4 204.8c6.4 6.4 12.8 12.8 25.6 12.8 6.4 0 12.8 0 19.2-6.4 12.8-12.8 12.8-32 0-44.8L556.8 518.4z" fill="" p-id="4003"></path></svg>

After

Width:  |  Height:  |  Size: 811 B

@ -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="1525499440059" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4865" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M904 238.5L746.2 84.2c-13.1-13.1-31-20-48.9-20H195.8c-53.7 0-97.1 44.1-97.1 97.8v700c0 53.7 43.4 97.8 97.1 97.8h631.7c53.7 0 97.8-44.1 97.8-97.8V288.8c0-18.6-8.2-37.2-21.3-50.3zM856.4 862c0 15.8-13.1 28.9-28.9 28.9H195.8c-15.8 0-28.2-13.1-28.2-28.9V162c0-15.8 12.4-28.9 28.2-28.9l454 0.7v121.9c0 57.2 46.2 103.3 103.3 103.3h103.3v503z m0-571.8H753.1c-19.3 0-34.4-15.2-34.4-34.4v-102l137.8 135v1.4z" p-id="4866"></path><path d="M684 475.2H339.5c-19 0-34.4 15.4-34.4 34.4s15.4 34.4 34.4 34.4H684c19 0 34.4-15.4 34.4-34.4S703 475.2 684 475.2zM684 681.9H339.5c-19 0-34.4 15.4-34.4 34.4s15.4 34.4 34.4 34.4H684c19 0 34.4-15.4 34.4-34.4S703 681.9 684 681.9z" p-id="4867"></path></svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

@ -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="1525499228106" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2822" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M63.97608 127.975696v127.909182h895.454322V127.975696H63.97608z m255.843946 447.727161h639.610376V447.787536H319.820026v127.915321z m0 319.780118h639.610376V767.541047H319.820026v127.941928zM63.97608 575.702857h127.922485V447.787536H63.97608v127.915321z m0 319.780118h127.922485V767.541047H63.97608v127.941928z" p-id="2823"></path></svg>

After

Width:  |  Height:  |  Size: 723 B

@ -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="1523793755611" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3511" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M954.382433 263.833921l-82.627882-98.120738c-3.925403-4.66116-9.707083-7.351432-15.801894-7.351432L577.082274 158.361751 577.082274 87.082334c0-11.408841-9.248641-20.657482-20.657482-20.657482l-86.759993 0c-11.408841 0-20.657482 9.248641-20.657482 20.657482L449.007317 271.967158 171.158195 271.967158c-6.327102 0-12.305257 2.90005-16.223496 7.868201L70.252017 387.261021c-5.91164 7.500834-5.91164 18.076704 0 25.577538l84.682681 107.423615c3.917216 4.970198 9.895371 7.869225 16.223496 7.869225l277.850146 0 0 299.32218-135.281079 0c-11.408841 0-20.657482 9.248641-20.657482 20.657482l0 86.759993c0 11.408841 9.248641 20.657482 20.657482 20.657482l396.616086 0c11.408841 0 20.657482-9.248641 20.657482-20.657482l0-86.759993c0-11.408841-9.248641-20.657482-20.657482-20.657482L577.082274 827.453578 577.082274 669.675112l159.40757 0c5.16872 0 10.149151-1.936095 13.959943-5.430686l76.081793-69.744457c4.266164-3.911076 6.697539-9.43693 6.697539-15.226796s-2.430352-11.314697-6.699586-15.226796l-76.081793-69.742411c-3.808746-3.493567-8.789177-5.430686-13.957897-5.430686L577.082274 488.87328l0-92.957135 278.869359 0c6.093788 0 11.875468-2.690272 15.801894-7.351432l82.627882-98.120738C960.855868 282.757922 960.855868 271.523043 954.382433 263.833921zM181.178409 486.817458l-68.399833-86.768179 68.399833-86.769202 267.829931 0 0 173.536358L181.178409 486.816434zM689.686888 914.214595l-355.302145 0 0-45.446052 355.302145 0L689.686888 914.214595zM490.322281 827.454602 490.322281 107.738793l45.446052 0 0 719.715809L490.322281 827.454602zM728.454844 530.189268l53.547567 49.084928-53.547567 49.086975L577.082274 628.361171l0-98.171903L728.454844 530.189268zM846.341764 354.60425 577.082274 354.60425l0-154.928558 269.25949 0 65.233724 77.464279L846.341764 354.60425z" p-id="3512"></path></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

@ -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="1540516824936" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8177" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M459.954135 607.201246l233.733369 0c14.352893 0 25.941835-11.088546 25.941835-24.798802 0-13.623275-11.587919-24.710798-25.941835-24.710798l-233.733369 0c-14.352893 0-25.986861 11.087523-25.986861 24.710798C433.967274 596.1127 445.601242 607.201246 459.954135 607.201246zM382.017088 824.38673l287.564391-0.272199 0-0.633427c9.370415-1.494027 16.660448-9.233292 16.660448-19.053961 0-9.773598-7.290033-17.693987-16.660448-19.23304l0-0.633427L369.500007 784.560676c-27.275203 0-51.949162-38.46915-51.949162-65.214281l0-415.585113c0.181125-1.041726 0.633427-1.992377 0.633427-3.123131 0-10.997472-8.985652-20.00359-20.032242-20.00359-11.023054 0-20.010753 9.007141-20.010753 20.00359l0 418.708244C278.1423 773.383102 327.080895 824.38673 382.017088 824.38673zM693.687504 89.925079c-3.235694 0-311.669392-0.814552-311.669392-0.814552-51.2922 0-96.314603 39.10053-102.108562 88.294952-0.181125 1.085728-0.656963 2.036379-0.656963 3.168156 0 0.091074 0.023536 0.135076 0.023536 0.181125 0 0.046049-0.023536 0.090051-0.023536 0.181125l0.067538 0c0.181125 10.860349 9.031701 19.685341 19.942191 19.685341 10.933003 0 19.762089-8.824993 19.964704-19.685341l0.226151 0c6.043646-24.664749 27.027563-52.04433 50.04786-52.04433l284.755416 0c-0.406253 60.461023 0 118.435413 0 118.435413 0 54.531987 35.991726 91.642187 91.358731 91.642187 0 0 40.133046 0 90.428545 0l0 380.37724c0.338714 44.261063-33.70259 65.757656-62.180178 65.214281l0 0.272199c-10.229992 0.723477-18.425651 9.188266-18.425651 19.594267 0 10.454096 8.195659 18.736736 18.425651 19.417235l0 0.271176c0.248663 0 0.49835-0.091074 0.74599-0.091074 0.184195 0 0.340761 0.091074 0.522909 0.091074 0.971118 0 1.811252-0.407276 2.739391-0.544399 52.287877-3.755534 97.580432-52.314483 97.580432-104.22476L875.452267 299.777551 693.687504 89.925079zM745.615177 299.777551c-27.684526 0-51.927673-51.411927-51.927673-78.69941 0 0 0-27.606755 0-78.656431l0-0.045025 129.839137 157.400866L745.615177 299.777551zM459.954135 483.471246l233.733369 0c14.352893 0 25.941835-11.041474 25.941835-24.708751 0-13.667278-11.587919-24.7548-25.941835-24.7548l-233.733369 0c-14.352893 0-25.986861 11.087523-25.986861 24.7548C433.967274 472.430796 445.601242 483.471246 459.954135 483.471246zM716.709847 841.356216c-8.53335 0-15.32708 6.246261-17.113773 14.256702l-0.475837-0.045025c-21.73093 44.171012-40.426735 34.032094-62.294788 34.032094L252.179998 889.599987c-27.27725 0-64.466244-38.512129-64.466244-65.213257L187.713754 322.314847c0-24.800849 29.857005-58.606793 55.954383-63.403029l0-0.543376c10.571776-0.543376 19.082614-9.142218 19.082614-19.86749 0-10.68127-8.510838-19.279089-19.082614-19.777439l0-0.226151c-0.181125 0.044002-0.339738 0.091074-0.51984 0.091074-0.158612 0-0.272199-0.091074-0.429789-0.091074-1.245364 0-2.353604 0.497327-3.553942 0.724501-50.703799 5.203512-90.860381 52.134381-90.860381 103.092983l0 502.07086c0 54.034661 48.938596 105.038288 103.875812 105.038288l389.558343 0c47.104831 0 78.254272-17.198707 90.542132-61.683874 1.358951-2.533706 2.330068-5.250584 2.330068-8.326643C734.611565 849.546759 726.601124 841.356216 716.709847 841.356216z" p-id="8178"></path></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -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="1525499891937" class="icon" style="" viewBox="0 0 1291 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1508" xmlns:xlink="http://www.w3.org/1999/xlink" width="252.1484375" height="200"><defs><style type="text/css"></style></defs><path d="M779.656047 669.379378a31.50762 31.50762 0 0 1-22.37041-9.294747L645.906202 548.705195l-111.379436 111.379436a31.50762 31.50762 0 0 1-44.583281-44.583282l133.749845-133.592307a31.50762 31.50762 0 0 1 44.425744 0l133.749845 133.592307a31.50762 31.50762 0 0 1-22.212872 53.878029z" fill="" p-id="1509"></path><path d="M960.982398 1023.997637H787.69049a31.50762 31.50762 0 0 1 0-63.015239h166.360231a29.302086 29.302086 0 0 1 5.356296 0 283.568576 283.568576 0 0 0 54.980796-557.527329 31.50762 31.50762 0 0 1-23.630715-27.411629 346.583816 346.583816 0 0 0-689.701793 0 31.50762 31.50762 0 0 1-23.788253 27.411629A283.568576 283.568576 0 0 0 332.405387 960.982398a31.50762 31.50762 0 0 1 5.513833 0H645.906202a31.50762 31.50762 0 0 1 0 63.015239H330.830006a33.398077 33.398077 0 0 1-8.979672-1.260305 346.583816 346.583816 0 0 1-80.817044-675.05075 409.599055 409.599055 0 0 1 809.745824 0 346.583816 346.583816 0 0 1-81.132121 675.208288A31.50762 31.50762 0 0 1 960.982398 1023.997637z" fill="" p-id="1510"></path><path d="M645.906202 1008.243827a31.50762 31.50762 0 0 1-31.50762-31.507619V551.383343a31.50762 31.50762 0 0 1 63.015239 0v425.352865a31.50762 31.50762 0 0 1-31.507619 31.507619z" fill="" p-id="1511"></path></svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

@ -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="1523793693782" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2618" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M850.879104 96.41591l-676.303067 0c-60.681034 0-110.049418 49.367361-110.049418 110.049418l0 446.200388c0 60.681034 49.367361 110.049418 110.049418 110.049418l90.307795 0L396.936381 931.129846c3.793396 4.838192 9.598612 7.66354 15.746636 7.66354s11.952216-2.825348 15.746636-7.66354l132.052548-168.414711 290.396903 0c60.681034 0 110.049418-49.367361 110.049418-110.049418L960.928522 206.465329C960.928522 145.784294 911.561162 96.41591 850.879104 96.41591zM920.91111 652.665717c0 38.614459-31.416524 70.030983-70.030983 70.030983L550.744419 722.6967c-6.147 0-11.952216 2.825348-15.745612 7.66354L412.683017 886.356107l-122.31579-155.995867c-3.792373-4.838192-9.597589-7.66354-15.745612-7.66354l-100.045577 0c-38.614459 0-70.030983-31.416524-70.030983-70.030983L104.545054 206.465329c0-38.614459 31.416524-70.030983 70.030983-70.030983l676.303067 0c38.614459 0 70.030983 31.416524 70.030983 70.030983L920.910087 652.665717z" p-id="2619"></path><path d="M272.621051 344.526731c-44.132126 0-80.035848 35.903721-80.035848 80.035848 0 44.132126 35.903721 80.036871 80.035848 80.036871s80.035848-35.904745 80.035848-80.036871C352.655875 380.430452 316.752154 344.526731 272.621051 344.526731zM272.621051 464.582037c-22.065552 0-40.017412-17.951861-40.017412-40.018436 0-22.065552 17.952884-40.017412 40.017412-40.017412 22.065552 0 40.017412 17.951861 40.017412 40.017412C312.638463 446.629153 294.686602 464.582037 272.621051 464.582037z" p-id="2620"></path><path d="M512.727571 344.526731c-44.132126 0-80.035848 35.903721-80.035848 80.035848 0 44.132126 35.903721 80.036871 80.035848 80.036871 44.132126 0 80.035848-35.904745 80.035848-80.036871C592.763418 380.430452 556.859697 344.526731 512.727571 344.526731zM512.727571 464.582037c-22.065552 0-40.017412-17.951861-40.017412-40.018436 0-22.065552 17.951861-40.017412 40.017412-40.017412 22.065552 0 40.017412 17.951861 40.017412 40.017412C552.746006 446.629153 534.793122 464.582037 512.727571 464.582037z" p-id="2621"></path><path d="M752.836137 344.526731c-44.131103 0-80.035848 35.903721-80.035848 80.035848 0 44.132126 35.904745 80.036871 80.035848 80.036871s80.035848-35.904745 80.035848-80.036871C832.871985 380.430452 796.96724 344.526731 752.836137 344.526731zM752.836137 464.582037c-22.066575 0-40.017412-17.951861-40.017412-40.018436 0-22.065552 17.951861-40.017412 40.017412-40.017412s40.017412 17.951861 40.017412 40.017412C792.853549 446.629153 774.902712 464.582037 752.836137 464.582037z" p-id="2622"></path></svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

@ -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="1540516442246" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6174" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M891.895263 374.61705 535.727401 374.61705 535.727401 142.422733c0-14.506389-11.806907-26.313296-26.313296-26.313296L132.093481 116.109438c-14.506389 0-26.313296 11.806907-26.313296 26.313296l0 573.73811c0 14.506389 11.806907 26.313296 26.313296 26.313296l102.881159 0 0 35.71748c0 14.506389 11.806907 26.313296 26.313296 26.313296l275.566126 2.491751 36.192294 48.266283L437.087846 855.262948c-14.506389 0-26.28362 11.806907-26.28362 26.313296 0 14.506389 11.777231 26.313296 26.28362 26.313296l273.9053 0c14.506389 0 26.313296-11.806907 26.313296-26.313296 0-14.506389-11.806907-26.313296-26.253944-26.313296l-73.987085-2.462075-36.251645-48.295959 291.081495 0c14.536065 0 26.342971-11.806907 26.342971-26.313296L918.238234 400.870993C918.239258 386.394281 906.432351 374.61705 891.895263 374.61705zM234.974639 400.870993 234.974639 689.905876l-76.538187 0 0-521.169847 324.69301 0 0 205.881021L261.287935 374.61705C246.781546 374.61705 234.974639 386.394281 234.974639 400.870993zM287.63193 751.848647l0-324.633658 335.906399 0-308.999586 324.633658L287.63193 751.848647zM490.843144 751.848647l-101.279684 0 303.659975-321.518714 2.373047-3.114944 89.649809 0L490.843144 751.848647zM865.581967 751.848647 564.413743 751.848647l290.013163-322.854129 4.064572-1.779529 7.090489 0L865.581967 751.848647z" p-id="6175" fill="#8a8a8a"></path><path d="M416.346453 252.363681 240.635569 252.363681c-14.506389 0-26.313296 11.806907-26.313296 26.342971 0 14.506389 11.806907 26.313296 26.313296 26.313296L416.346453 305.019948c14.536065 0 26.342971-11.806907 26.342971-26.313296C442.690448 264.170588 430.882518 252.363681 416.346453 252.363681z" p-id="6176" fill="#8a8a8a"></path></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -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="1525499185011" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2162" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M902.068357 744.573319c0-60.965821-71.69129-136.044101-128.705623-144.511577l77.336273-127.576626L671.753032 472.485116c32.176406-46.288864 53.627343-107.254686 53.627343-174.994487 0-5.080485 0-10.725469 0-15.805954 69.433297-12.418964 114.593164-32.176406 114.593164-51.933848 0-21.450937-50.240353-41.208379-127.012128-53.627343-3.38699-18.063947-55.320838-164.269019-116.286659-164.269019-27.095921 0-48.546858 14.112459-62.659316 35.563396l0 0c0 10.725469-10.725469 21.450937-24.837927 21.450937-12.418964 0-23.144432-9.031974-24.837927-19.757442l0 0C471.920617 27.660419 448.776185 11.289967 421.680265 11.289967 362.407938 11.289967 307.0871 145.640573 294.668137 179.510474 228.62183 191.929438 185.719956 209.993385 185.719956 231.444322s44.595369 39.514884 114.593164 51.933848c0 5.080485 0 10.725469 0 15.805954 0 67.739802 19.757442 128.705623 53.627343 174.994487L174.994487 474.178611l76.771775 125.318633c-57.014333 0-132.092613 78.46527-132.092613 146.76957l1.693495 205.477398c0 33.869901 26.531422 60.965821 60.965821 60.965821l661.027563 0c33.869901 0 60.965821-27.095921 60.965821-60.965821L902.068357 744.573319zM711.267916 176.123484 711.267916 176.123484 711.267916 176.123484 711.267916 176.123484zM464.582139 962.46968l-28.789416 0-53.627343-395.148842 112.335171 98.222712L464.582139 962.46968zM587.642778 962.46968 558.853363 962.46968l-30.482911-296.92613 112.899669-99.916207L587.642778 962.46968zM655.38258 338.699008l0 12.418964-14.112459 0c0 0-9.031974 76.771775-57.014333 76.771775-48.546858 0-57.578831-76.771775-57.578831-76.771775l-32.176406 0c-7.338479 62.659316-39.514884 76.771775-57.014333 76.771775-42.901874 0-55.320838-57.014333-57.014333-76.771775l-14.676957 0L365.794928 338.699008l0-12.418964 107.254686 0L473.049614 338.699008l71.69129 0 0-12.418964 107.254686 0L651.99559 338.699008 655.38258 338.699008z" p-id="2163"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -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="1523793725342" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3129" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M909.050991 169.476903l-217.554898 0 0-31.346939c0-39.5866-32.205493-71.792093-71.793116-71.792093L408.15591 66.337871c-39.5866 0-71.792093 32.205493-71.792093 71.792093l0 31.346939L113.349581 169.476903c-11.013845 0-19.942191 8.940626-19.942191 19.954471s8.928347 19.954471 19.942191 19.954471l84.264149 0 0 640.687918c0 60.479443 49.203632 109.683075 109.683075 109.683075l416.474366 0c60.479443 0 109.683075-49.203632 109.683075-109.683075L833.454246 209.385844l75.595722 0c11.012821 0 19.942191-8.940626 19.942191-19.954471S920.063813 169.476903 909.050991 169.476903zM376.2482 138.130987c0-17.593703 14.314007-31.907711 31.907711-31.907711l211.547067 0c17.593703 0 31.907711 14.314007 31.907711 31.907711l0 31.346939L376.2482 169.477926 376.2482 138.130987zM793.569864 850.074785c0 38.486546-31.312146 69.798692-69.798692 69.798692L307.297828 919.873478c-38.486546 0-69.798692-31.312146-69.798692-69.798692L237.499136 211.042577l556.070728 0L793.569864 850.074785z" p-id="3130"></path><path d="M510.662539 861.276918c11.012821 0 19.954471-8.92937 19.954471-19.942191L530.61701 294.912753c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471 8.928347-19.954471 19.942191L490.708068 841.334727C490.708068 852.347548 499.649717 861.276918 510.662539 861.276918z" p-id="3131"></path><path d="M374.562814 801.449321c11.012821 0 19.954471-8.92937 19.954471-19.942191L394.517285 354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471 8.928347-19.954471 19.942191l0 426.76678C354.608344 792.519951 363.549993 801.449321 374.562814 801.449321z" p-id="3132"></path><path d="M649.832182 801.449321c11.012821 0 19.954471-8.92937 19.954471-19.942191L669.786653 354.74035c0-11.013845-8.94165-19.942191-19.954471-19.942191s-19.954471 8.928347-19.954471 19.942191l0 426.76678C629.877711 792.519951 638.81936 801.449321 649.832182 801.449321z" p-id="3133"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -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="1523793748368" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3385" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M248.482281 938.000324c-4.306072 0-8.592702-1.336438-12.211113-3.967358-6.395664-4.646833-9.600659-12.521175-8.264221-20.314675l48.430012-282.363949L71.288626 431.382914c-5.66093-5.519714-7.698333-13.772678-5.255701-21.291932 2.444679-7.519254 8.943696-13.000082 16.768919-14.137998l283.508006-41.195238L493.099535 97.853655c3.498684-7.089465 10.720156-11.577686 18.627243-11.577686 7.907087 0 15.127536 4.489244 18.627243 11.577686l126.788661 256.904091 283.510052 41.195238c7.823176 1.137916 14.322194 6.618744 16.766872 14.137998 2.442632 7.519254 0.405229 15.773242-5.255701 21.291932L747.012502 631.354342l48.430012 282.363949c1.336438 7.7935-1.868557 15.667841-8.264221 20.314675-6.399757 4.646833-14.878872 5.257747-21.874193 1.582031L511.726777 802.298666 258.146385 935.614997C255.107165 937.211355 251.789607 938.000324 248.482281 938.000324zM130.422422 431.011454 313.25654 609.228415c4.894474 4.7727 7.128351 11.647271 5.974062 18.385742l-43.163055 251.64532 225.994104-118.811989c6.048763-3.180436 13.282514-3.180436 19.331277 0l225.992057 118.811989-43.163055-251.64532c-1.154289-6.738471 1.079588-13.613042 5.974062-18.385742l182.833095-178.216961-252.665557-36.71418c-6.767124-0.983397-12.614296-5.233188-15.641235-11.362792L511.726777 153.97893 398.729214 382.934482c-3.025916 6.129604-8.874111 10.379395-15.639189 11.362792L130.422422 431.011454z" p-id="3386"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

@ -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="1523793677777" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2365" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M777.312598 940.007027c-3.184529 0-6.380314-0.759293-9.307993-2.297322L512.694825 803.484677 257.385045 937.708682c-6.741541 3.543709-14.909571 2.952238-21.070898-1.52268-6.161327-4.475941-9.246595-12.062733-7.959276-19.568684l48.759517-284.289812L70.566172 430.990988c-5.453199-5.316076-7.4159-13.268188-5.062296-20.511149 2.353604-7.242961 8.614192-12.521175 16.150842-13.616112l285.444101-41.47767L494.753197 96.730065c3.370771-6.828522 10.326183-11.153014 17.941628-11.153014 7.615445 0 14.570857 4.323469 17.941628 11.153014l127.654378 258.655991 285.444101 41.47767c7.53665 1.094938 13.797237 6.373151 16.150842 13.616112 2.353604 7.242961 0.390903 15.19405-5.062296 20.511149l-206.54924 201.335495 48.759517 284.289812c1.287319 7.505951-1.798972 15.092743-7.959276 19.568684C785.589099 938.717661 781.461081 940.007027 777.312598 940.007027z" p-id="2366"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

@ -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="1523793666871" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2239" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M958.400956 451.54921c-0.058328-5.760191-2.597151-11.215436-6.965645-14.97097L524.345166 69.511143c-7.498788-6.445806-18.581194-6.445806-26.079982 0L309.582871 231.6755l0-102.017488c0-11.04966-8.901741-19.532869-19.951401-19.532869l-88.034009 0c-11.048637 0-19.928888 8.482185-19.928888 19.532869l0 211.954343L71.176063 436.57824c-4.423753 3.800559-6.967692 9.341762-6.967692 15.173584l0 105.500822c0 7.819083 4.554736 14.921851 11.660574 18.183128 2.670829 1.226944 5.51562 1.824555 8.343015 1.824555 4.699022 0 9.346879-1.654686 13.048177-4.836145l53.29788-45.825698 0 324.100516c0 60.677964 49.364291 110.042255 110.042255 110.042255L764.792447 960.741257c60.677964 0 110.042255-49.364291 110.042255-110.042255L874.834702 527.026228l51.585889 44.335764c5.955642 5.119601 14.356986 6.282077 21.481244 2.965541 7.122211-3.313465 11.645225-10.488889 11.565407-18.342764L958.400956 451.54921zM221.578538 150.034085l48.095391 0 0 115.941616-48.095391 41.336454L221.578538 150.034085zM570.718333 920.725892 436.666244 920.725892 436.666244 700.642404c0-11.031241 8.976442-20.007683 20.007683-20.007683l94.0357 0c11.031241 0 20.007683 8.976442 20.007683 20.007683L570.71731 920.725892zM834.818313 495.895207l0 354.803795c0 38.612413-31.414477 70.02689-70.02689 70.02689l-154.058748 0L610.732675 700.642404c0-33.096792-26.926256-60.023048-60.023048-60.023048l-94.0357 0c-33.096792 0-60.023048 26.926256-60.023048 60.023048l0 220.084511L260.59925 920.726915c-38.612413 0-70.02689-31.414477-70.02689-70.02689L190.57236 495.895207c0-1.172709-0.121773-2.314719-0.315178-3.432169l322.113255-276.958846 322.70268 277.348726C834.921667 493.848595 834.818313 494.858598 834.818313 495.895207zM525.411451 173.947727c-7.502881-6.445806-18.587334-6.446829-26.086122 0.00307L104.223736 513.663896l0-52.726875 407.081439-349.870436 407.176606 349.9523 0.521886 51.205219L525.411451 173.947727z" p-id="2240"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -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="1523793709531" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2876" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M955.069071 864.311021 740.015134 649.258107c-3.752464-3.751441-8.841366-5.860475-14.149255-5.860475-5.306866 0-10.395768 2.108011-14.149255 5.860475l-16.692171 16.692171-38.34226-38.34226c53.03796-59.810201 85.298711-138.442072 85.298711-224.478588 0-186.774871-151.952784-338.727655-338.727655-338.727655S64.527642 216.35456 64.527642 403.12943c0 186.775894 151.952784 338.728678 338.727655 338.728678 86.36909 0 165.276231-32.510438 225.170343-85.913718l38.303374 38.303374-17.34504 17.34504c-7.812943 7.813966-7.812943 20.48352 0 28.297486l215.051891 215.052914c3.753487 3.751441 8.841366 5.860475 14.149255 5.860475 5.306866 0 10.395768-2.108011 14.149255-5.860475l62.334697-62.334697C962.883037 884.794541 962.883037 872.124987 955.069071 864.311021zM104.546078 403.12943c0-164.709319 133.9999-298.709219 298.709219-298.709219s298.709219 133.9999 298.709219 298.709219S567.964616 701.839673 403.255297 701.839673 104.546078 567.838749 104.546078 403.12943zM878.585119 912.496463 691.829691 725.741036l34.036187-34.036187 186.755428 186.755428L878.585119 912.496463z" p-id="2877"></path></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

@ -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="1540533078620" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6320" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><defs><style type="text/css"></style></defs><path d="M829.220317 124.424824l-7.074116-10.656711L211.680609 113.768113l-7.141654 9.141194C48.983109 321.498248 70.507332 442.416202 97.154225 496.860185c26.740014 54.537104 80.878029 89.831958 137.977491 89.831958l5.146207 0c72.043826-2.867304 119.953999-38.642089 145.190777-64.548108 22.793122 25.90602 65.699328 60.541865 132.855844 60.541865 70.02382 0 113.703645-37.70167 135.579885-63.877843 30.546713 24.907273 90.183975 65.721841 152.687518 65.721841 40.980343 0 76.085886-16.799618 104.681154-49.907667C1017.364371 411.082566 836.949348 136.066979 829.220317 124.424824zM874.641809 503.603773c-19.22383 22.49841-41.49916 33.236985-68.14503 33.236985-60.246129 0-122.821303-54.56064-136.7792-67.51979L669.717579 305.754682c0.023536-0.458441 0.258896-0.799202 0.258896-1.245364 0-13.252839-10.714016-23.967878-23.920806-23.967878-13.227256 0-23.919782 10.715039-23.919782 23.967878l-0.258896 0 0 177.851641c-13.063527 17.811668-46.172599 52.634778-103.552447 52.634778-64.784492 0-98.525967-44.292785-107.666138-58.367339l0-172.120103c0-13.252839-10.715039-23.967878-23.898293-23.967878-13.228279 0-23.943318 10.715039-23.943318 23.967878l0 171.250292c-11.725042 15.249309-52.070936 60.389392-124.465756 63.37233l-3.219321 0 0-0.047072c-31.933293 0-73.688279-19.585057-95.000678-63.232137-21.358447-43.540655-36.843116-141.948943 94.953605-314.397526l561.097208 0C845.996398 240.173035 940.480306 427.225221 874.641809 503.603773zM831.288418 613.83227c-13.277398 0-24.086581 10.761088-24.13263 24.037463l0 0.045025c0 0.048095 0 0.048095 0 0.095167 0 0 0 0.023536 0 0.059352l0 173.505659c0 26.693965-21.641903 48.312332-48.263214 48.312332L552.089555 859.887268c-0.022513 0-0.022513 0-0.046049 0L264.081049 859.887268c-26.623357 0-48.26526-21.618367-48.26526-48.312332l0-173.634596c-0.023536-13.323447-10.80816-24.108071-24.109094-24.108071-13.299911 0-24.084535 10.784624-24.131607 24.108071l0 178.452321c0 50.730405 41.026392 91.804892 91.664699 91.804892l504.492002 0c50.637284 0 91.662653-41.074487 91.662653-91.804892L855.394443 637.869732C855.325881 624.592334 844.562746 613.83227 831.288418 613.83227z" p-id="6321"></path></svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -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="1523793623946" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1733" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M757.810429 373.751333 325.645708 373.751333l0-83.895759c0-103.694687 81.507362-184.922686 185.559183-184.922686 78.121242 0 146.053424 46.74565 173.062568 119.090329 3.865028 10.352789 15.384385 15.609513 25.742291 11.746532 10.351766-3.866051 15.609513-15.390525 11.744485-25.742291C688.844707 121.877815 606.198405 64.918545 511.204891 64.918545c-61.918211 0-119.246895 23.662933-161.423483 66.63156-41.3692 42.142819-64.151066 98.363262-64.151066 158.305469l0 83.895759-20.007683 0c-60.774155 0-110.042255 49.267077-110.042255 110.042255l0 366.139981c0 60.774155 49.267077 110.042255 110.042255 110.042255l492.187769 0c60.775178 0 110.042255-49.267077 110.042255-110.042255L867.852684 483.793588C867.852684 423.01841 818.585607 373.751333 757.810429 373.751333zM827.837318 849.933569c0 38.674834-31.352055 70.02689-70.02689 70.02689L265.62266 919.960459c-38.674834 0-70.02689-31.352055-70.02689-70.02689L195.59577 483.793588c0-38.674834 31.352055-70.02689 70.02689-70.02689l492.187769 0c38.674834 0 70.02689 31.352055 70.02689 70.02689L827.837318 849.933569z" p-id="1734"></path><path d="M509.715981 583.832002c-11.048637 0-20.007683 8.959046-20.007683 20.007683l0 110.042255c0 11.048637 8.958022 20.007683 20.007683 20.007683s20.007683-8.958022 20.007683-20.007683L529.723663 603.839685C529.723663 592.790024 520.765641 583.832002 509.715981 583.832002z" p-id="1735"></path></svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -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="1523793655710" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2112" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M925.007405 706.493669c-9.007141-8.121981-23.219841-18.370393-42.243103-30.456662-5.865591-3.725858-9.318226-10.111289-9.238408-17.07898l0.031722-2.539846c0.60989-51.78134 1.529843-130.034589-12.19167-209.543434-16.686031-96.679923-51.42216-172.286901-103.242386-224.720088-40.829917-41.314964-92.434226-68.674079-154.064888-81.818447-3.056616-19.094894-12.19781-36.341696-26.516934-49.569976-17.135262-15.8285-40.165792-24.546046-64.846914-24.546046-24.679076 0-47.709605 8.718569-64.844867 24.546046-14.31503 13.222139-23.455201 30.463826-26.514887 49.552579-61.343113 13.07069-112.581078 40.223097-152.97302 81.204463-117.15014 118.866225-114.199948 322.050834-112.614847 431.207929l0.085958 5.973038c0.099261 6.963599-3.508917 13.56597-9.417487 17.231453-19.403932 12.038174-33.983999 22.151509-43.334971 30.05655-24.833595 20.99415-39.076994 51.64831-39.076994 84.102467 0 28.354791 23.067368 51.42216 51.42216 51.42216l277.239232 0c0.540306 65.73412 54.174853 119.045303 120.032794 119.045303s119.492488-53.312206 120.032794-119.045303l275.389094 0c29.375028 0 53.272297-23.898293 53.272297-53.272297C961.390034 757.14221 948.130032 727.34558 925.007405 706.493669zM512.693802 106.235556c14.58723 0 27.973098 4.945639 37.694507 13.925151 4.253884 3.929496 7.624654 8.439206 10.070356 13.418614-15.392572-1.550309-31.31317-2.334161-47.76384-2.334161-16.395412 0-32.256658 0.775666-47.586808 2.308579C473.319026 117.106138 491.085668 106.235556 512.693802 106.235556zM512.695848 920.54579c-43.792389 0-79.464843-35.363416-80.005149-79.029938l160.010297 0C592.160691 885.183398 556.488237 920.54579 512.695848 920.54579zM908.117736 801.500487 115.422799 801.500487c-6.28924 0-11.406794-5.117554-11.406794-11.406794 0-20.652366 9.073656-40.169885 24.896017-53.543474 7.752568-6.553253 21.099551-15.755846 38.59911-26.614148 17.772782-11.026124 28.628014-30.875195 28.331255-51.798736l-0.085958-5.986341c-1.500167-103.306854-4.29277-295.599392 101.104699-402.537959 51.240011-51.990095 123.857912-78.352509 215.832673-78.352509 92.148723 0 165.147294 26.586518 216.96752 79.022775 45.958728 46.502104 77.003791 114.936729 92.27152 203.39848 13.098319 75.896574 12.20395 151.944598 11.611455 202.266703l-0.029676 2.541893c-0.246617 20.922519 10.143011 40.107463 27.78788 51.321876 16.656355 10.584056 29.764907 19.958564 36.906561 26.39823 14.722306 13.276375 23.165606 32.242332 23.165606 52.033074C921.375691 795.553031 915.427212 801.500487 908.117736 801.500487z" p-id="2113"></path><path d="M450.672236 213.276455c-24.200168 0-58.362222 22.532179-82.263585 43.620473-19.808138 17.477047-54.381561 53.168943-63.362096 95.835695-2.275833 10.812253 4.644787 21.423939 15.45704 23.698748 1.38965 0.292666 2.774183 0.433882 4.140297 0.433882 9.260921 0 17.575284-6.467295 19.558451-15.890922 4.823865-22.910802 23.295566-49.909713 50.681286-74.070996 26.590612-23.462365 49.811476-33.610492 55.788607-33.610492 11.048637 0 20.007683-8.958022 20.007683-20.007683C470.679919 222.234477 461.720873 213.276455 450.672236 213.276455z" p-id="2114"></path></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

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

Loading…
Cancel
Save