feat: 0.3.1版本开源
@ -0,0 +1,24 @@
|
||||
/* eslint-env node */
|
||||
require('@rushstack/eslint-patch/modern-module-resolution');
|
||||
|
||||
module.exports = {
|
||||
root: true,
|
||||
extends: [
|
||||
'plugin:vue/vue3-essential',
|
||||
'eslint:recommended',
|
||||
'@vue/eslint-config-typescript',
|
||||
'@vue/eslint-config-prettier'
|
||||
// '@vue/eslint-config-prettier/skip-formatting'
|
||||
],
|
||||
parserOptions: {
|
||||
ecmaVersion: 'latest'
|
||||
},
|
||||
rules: {
|
||||
'vue/multi-word-component-names': [
|
||||
'error',
|
||||
{
|
||||
ignores: ['index', 'main']
|
||||
}
|
||||
]
|
||||
}
|
||||
};
|
@ -0,0 +1,26 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
.DS_Store
|
||||
dist
|
||||
dist-ssr
|
||||
coverage
|
||||
*.local
|
||||
|
||||
/cypress/videos/
|
||||
/cypress/screenshots/
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"$schema": "https://json.schemastore.org/prettierrc",
|
||||
"semi": true,
|
||||
"tabWidth": 2,
|
||||
"singleQuote": true,
|
||||
"printWidth": 100,
|
||||
"trailingComma": "none"
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"Vue.volar",
|
||||
"Vue.vscode-typescript-vue-plugin",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"esbenp.prettier-vscode"
|
||||
]
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
{
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": "explicit",
|
||||
"eslint.autoFixOnSave": "explicit"
|
||||
},
|
||||
"files.eol": "\n"
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,165 @@
|
||||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
@ -0,0 +1,9 @@
|
||||
declare global {
|
||||
interface Window {
|
||||
$svgEventCallBack: (type: string, svg_item_id: string, ...args: any[]) => void;
|
||||
$setItemAttrByID: (id: string, key: string, val: any) => Promise<unknown>;
|
||||
$getItemAttrByID: (id: string, key: string, val: any) => any;
|
||||
$previewCompareVal: (val1: any, operator: '>' | '<' | '=' | '!=', val2: any) => boolean;
|
||||
}
|
||||
}
|
||||
export {};
|
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>MaoTu</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,68 @@
|
||||
{
|
||||
"name": "maotu",
|
||||
"version": "0.3.1",
|
||||
"private": false,
|
||||
"scripts": {
|
||||
"dev": "pnpm run format && vite",
|
||||
"build": "run-p type-check \"build-only {@}\" --",
|
||||
"preview": "vite preview",
|
||||
"test:unit": "vitest",
|
||||
"build-only": "vite build",
|
||||
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
||||
"format": "prettier --write src/",
|
||||
"lib": "vite build --mode lib",
|
||||
"npm": "vite build --mode npm"
|
||||
},
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"main": "./dist/maotu.umd.js",
|
||||
"module": "./dist/maotu.es.js",
|
||||
"exports": {
|
||||
".": {
|
||||
"import": "./dist/maotu.es.js",
|
||||
"require": "./dist/maotu.umd.js",
|
||||
"types": "./dist/src/export.d.ts"
|
||||
},
|
||||
"./*": "./*"
|
||||
},
|
||||
"typings": "dist/export.d.ts",
|
||||
"dependencies": {
|
||||
"@vueuse/core": "^10.6.1",
|
||||
"ace-builds": "^1.32.0",
|
||||
"animate.css": "^4.1.1",
|
||||
"canvg": "^4.0.1",
|
||||
"echarts": "^5.4.3",
|
||||
"element-plus": "^2.4.2",
|
||||
"html2canvas": "^1.4.1",
|
||||
"less": "^4.2.0",
|
||||
"vue": "^3.3.4",
|
||||
"vue-echarts": "^6.6.5",
|
||||
"vue-router": "^4.2.5",
|
||||
"vue3-ace-editor": "^2.2.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rushstack/eslint-patch": "^1.3.3",
|
||||
"@tsconfig/node18": "^18.2.2",
|
||||
"@types/jsdom": "^21.1.3",
|
||||
"@types/node": "^18.18.5",
|
||||
"@vitejs/plugin-vue": "^4.4.0",
|
||||
"@vue/eslint-config-prettier": "^8.0.0",
|
||||
"@vue/eslint-config-typescript": "^12.0.0",
|
||||
"@vue/test-utils": "^2.4.1",
|
||||
"@vue/tsconfig": "^0.4.0",
|
||||
"eslint": "^8.49.0",
|
||||
"eslint-plugin-vue": "^9.17.0",
|
||||
"jsdom": "^22.1.0",
|
||||
"npm-run-all2": "^6.1.1",
|
||||
"prettier": "^3.0.3",
|
||||
"typescript": "~5.2.0",
|
||||
"unocss": "^0.57.4",
|
||||
"vite": "^4.4.11",
|
||||
"vite-plugin-dts": "^3.6.0",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vitest": "^0.34.6",
|
||||
"vue-tsc": "^1.8.19"
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
<svg id="组_2" data-name="组 2" xmlns="http://www.w3.org/2000/svg" width="700" height="700" viewBox="0 0 700 700">
|
||||
<defs>
|
||||
<style>
|
||||
.cls-1 {
|
||||
fill: none;
|
||||
stroke: #00ccbd;
|
||||
stroke-width: 20px;
|
||||
fill-rule: evenodd;
|
||||
}
|
||||
|
||||
.cls-2 {
|
||||
font-size: 100px;
|
||||
}
|
||||
|
||||
.cls-2, .cls-3 {
|
||||
fill: #deea2e;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.cls-3 {
|
||||
font-size: 120px;
|
||||
}
|
||||
</style>
|
||||
</defs>
|
||||
<g id="组_1" data-name="组 1">
|
||||
<path id="形状_1" data-name="形状 1" class="cls-1" d="M34.518,406.156S47.789,166,187.922,211.451c0,0,55.156,15.864,91.453,45.448,0,0,67.7-42.655,141.6,0"/>
|
||||
<path id="形状_1_拷贝" data-name="形状 1 拷贝" class="cls-1" d="M665.493,406.156s-13.271-240.373-153.4-194.884c0,0-55.156,15.879-91.452,45.489,0,0-67.7-42.694-141.6,0"/>
|
||||
<path id="形状_2" data-name="形状 2" class="cls-1" d="M117.921,306.109s9.026-64.564,74.891-32.1"/>
|
||||
<path id="形状_2_拷贝" data-name="形状 2 拷贝" class="cls-1" d="M581.357,306.589s-9-65.089-74.668-32.357"/>
|
||||
<text id="ao" class="cls-2" transform="translate(124.132 368.651) scale(0.823)">ao</text>
|
||||
<text id="tu" class="cls-2" transform="translate(482.948 368.651) scale(0.823)">tu</text>
|
||||
</g>
|
||||
<text id="M_A_O_T_U" data-name="M A O T U" class="cls-3" x="45.25" y="537.03">M A O T U</text>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 194 KiB |
After Width: | Height: | Size: 164 KiB |
After Width: | Height: | Size: 532 KiB |
After Width: | Height: | Size: 8.3 KiB |
After Width: | Height: | Size: 43 KiB |
@ -0,0 +1,21 @@
|
||||
<svg width="557" height="554" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1">
|
||||
<g>
|
||||
<path
|
||||
d="m279,38.19467a238.80533,238.80533 0 1 1 -238.80533,238.80533a238.80533,238.80533 0 0 1 238.80533,-238.80533m0,-38.528a277.33333,277.33333 0 1 0 277.33333,277.33333a277.33333,277.33333 0 0 0 -277.33333,-277.33333z"
|
||||
id="circle1"
|
||||
/>
|
||||
<path
|
||||
id="line1"
|
||||
d="m436.15733,143.928a14.67733,14.67733 0 0 0 -12.8,7.44533a96,96 0 0 1 -137.10933,24.66134a125.09867,125.09867 0 0 0 -188.032,24.14933a14.208,14.208 0 0 0 -1.28,2.13333a5.80267,5.80267 0 0 0 -0.66133,1.408a14.656,14.656 0 0 0 24.14933,15.68a6.272,6.272 0 0 0 1.28,-1.49333a96.832,96.832 0 0 1 13.248,-16.49067a95.76533,95.76533 0 0 1 124.62933,-9.30133a125.07733,125.07733 0 0 0 189.26934,-26.176a5.824,5.824 0 0 0 0.68266,-1.49333a14.63467,14.63467 0 0 0 -13.44,-20.43734l0.064,-0.08533z"
|
||||
/>
|
||||
<path
|
||||
id="line2"
|
||||
d="m440.15733,239.928a14.67733,14.67733 0 0 0 -12.8,7.44533a96,96 0 0 1 -137.10933,24.66134a125.09867,125.09867 0 0 0 -188.032,24.14933a14.208,14.208 0 0 0 -1.28,2.13333a5.80267,5.80267 0 0 0 -0.66133,1.408a14.656,14.656 0 0 0 24.14933,15.68a6.272,6.272 0 0 0 1.28,-1.49333a96.832,96.832 0 0 1 13.248,-16.49067a95.76533,95.76533 0 0 1 124.62933,-9.30133a125.07733,125.07733 0 0 0 189.26934,-26.176a5.824,5.824 0 0 0 0.68266,-1.49333a14.63467,14.63467 0 0 0 -13.44,-20.43734l0.064,-0.08533z"
|
||||
/>
|
||||
<path
|
||||
id="line3"
|
||||
d="m444.15733,336.928a14.67733,14.67733 0 0 0 -12.8,7.44533a96,96 0 0 1 -137.10933,24.66134a125.09867,125.09867 0 0 0 -188.032,24.14933a14.208,14.208 0 0 0 -1.28,2.13333a5.80267,5.80267 0 0 0 -0.66133,1.408a14.656,14.656 0 0 0 24.14933,15.68a6.272,6.272 0 0 0 1.28,-1.49333a96.832,96.832 0 0 1 13.248,-16.49067a95.76533,95.76533 0 0 1 124.62933,-9.30133a125.07733,125.07733 0 0 0 189.26934,-26.176a5.824,5.824 0 0 0 0.68266,-1.49333a14.63467,14.63467 0 0 0 -13.44,-20.43734l0.064,-0.08533z"
|
||||
/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20"><path fill="currentColor" d="M2 8a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v3a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V8Zm7 1.5a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 0-1H9.5a.5.5 0 0 0-.5.5Zm-1 0a1.5 1.5 0 1 0-3 0a1.5 1.5 0 0 0 3 0Z"/></svg>
|
After Width: | Height: | Size: 294 B |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 15 15">
|
||||
<path fill="currentColor" fill-rule="evenodd"
|
||||
d="M6.5 1a.5.5 0 0 0 0 1c.627 0 .957.2 1.156.478C7.878 2.79 8 3.288 8 4v7c0 .712-.122 1.21-.344 1.522c-.199.278-.53.478-1.156.478a.5.5 0 0 0 0 1c.873 0 1.543-.3 1.97-.897l.03-.044l.03.044c.427.597 1.097.897 1.97.897a.5.5 0 0 0 0-1c-.627 0-.957-.2-1.156-.478C9.122 12.21 9 11.712 9 11V4c0-.712.122-1.21.344-1.522C9.543 2.2 9.874 2 10.5 2a.5.5 0 0 0 0-1c-.873 0-1.543.3-1.97.897l-.03.044l-.03-.044C8.042 1.3 7.372 1 6.5 1M14 5h-3V4h3a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-3v-1h3zM6 4v1H1v5h5v1H1a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1z"
|
||||
clip-rule="evenodd" />
|
||||
</svg>
|
After Width: | Height: | Size: 700 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 16 16"><path fill="currentColor" fill-rule="evenodd" d="M13.45 8.75a5.501 5.501 0 1 1-6.2-6.2V8c0 .414.336.75.75.75zm0-1.5h-4.7v-4.7a5.503 5.503 0 0 1 4.7 4.7M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0" clip-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 299 B |
@ -0,0 +1,196 @@
|
||||
<script setup lang="ts">
|
||||
import { leftAsideStore } from '@/export';
|
||||
import demo from '/svgs/demo.svg?raw';
|
||||
const electrical_modules_files = import.meta.glob('./assets/svgs/electrical/**.svg', {
|
||||
eager: true,
|
||||
as: 'raw'
|
||||
});
|
||||
const electrical_stroke_modules_files = import.meta.glob('./assets/svgs/electrical/stroke/**.svg', {
|
||||
eager: true,
|
||||
as: 'raw'
|
||||
});
|
||||
const electrical_register_config: any = [];
|
||||
for (const key in electrical_modules_files) {
|
||||
//根据路径获取svg文件名
|
||||
const name = key.split('/').pop()!.split('.')[0];
|
||||
electrical_register_config.push({
|
||||
id: name,
|
||||
title: name,
|
||||
type: 'svg',
|
||||
thumbnail: 'data:image/svg+xml;utf8,' + encodeURIComponent(electrical_modules_files[key]),
|
||||
svg: electrical_modules_files[key],
|
||||
props: {
|
||||
fill: {
|
||||
type: 'color',
|
||||
val: '#FF0000',
|
||||
title: '填充色'
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
for (const key in electrical_stroke_modules_files) {
|
||||
//根据路径获取svg文件名
|
||||
const name = key.split('/').pop()!.split('.')[0];
|
||||
electrical_register_config.push({
|
||||
id: name,
|
||||
title: name,
|
||||
type: 'svg',
|
||||
thumbnail:
|
||||
'data:image/svg+xml;utf8,' + encodeURIComponent(electrical_stroke_modules_files[key]),
|
||||
svg: electrical_stroke_modules_files[key],
|
||||
props: {
|
||||
stroke: {
|
||||
type: 'color',
|
||||
val: '#00ff00',
|
||||
title: '边框色'
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
leftAsideStore.registerConfig('电气符号', electrical_register_config);
|
||||
leftAsideStore.registerConfig('开发测试用', [
|
||||
{
|
||||
id: 'demo',
|
||||
title: '演示svg文件',
|
||||
type: 'svg',
|
||||
thumbnail: '/svgs/demo.svg',
|
||||
svg: demo,
|
||||
props: {
|
||||
fill: {
|
||||
type: 'color',
|
||||
val: '#FF0000',
|
||||
title: '填充色'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'my-button',
|
||||
title: '我的按钮',
|
||||
type: 'vue',
|
||||
thumbnail: '/svgs/my-button.svg',
|
||||
props: {
|
||||
text: {
|
||||
type: 'input',
|
||||
val: '按钮',
|
||||
title: '文本'
|
||||
},
|
||||
bgColor: {
|
||||
type: 'color',
|
||||
val: '#44B6E7',
|
||||
title: '背景色'
|
||||
},
|
||||
fontFamily: {
|
||||
title: '字体',
|
||||
type: 'select',
|
||||
val: '黑体',
|
||||
options: [
|
||||
{
|
||||
value: '黑体',
|
||||
label: '黑体'
|
||||
},
|
||||
{
|
||||
value: '宋体',
|
||||
label: '宋体'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'my-input',
|
||||
title: '我的输入框',
|
||||
type: 'vue',
|
||||
thumbnail: '/svgs/my-input.svg',
|
||||
props: {
|
||||
modelValue: {
|
||||
type: 'input',
|
||||
val: '输入框',
|
||||
title: '文本'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'custom-demo',
|
||||
title: '自定义svg',
|
||||
type: 'custom-svg',
|
||||
thumbnail: '/svgs/demo.svg',
|
||||
props: {
|
||||
circleFill: {
|
||||
type: 'color',
|
||||
val: '#FF0000',
|
||||
title: '圆颜色'
|
||||
},
|
||||
pathFill1: {
|
||||
type: 'color',
|
||||
val: '#00FF00',
|
||||
title: '线1颜色'
|
||||
},
|
||||
pathFill2: {
|
||||
type: 'color',
|
||||
val: '#0000FF',
|
||||
title: '线2颜色'
|
||||
},
|
||||
pathFill3: {
|
||||
type: 'color',
|
||||
val: '#FFFF00',
|
||||
title: '线3颜色'
|
||||
},
|
||||
showLine2: {
|
||||
type: 'switch',
|
||||
val: true,
|
||||
title: '显示线2'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
id: 'pie-charts',
|
||||
title: 'echarts饼图',
|
||||
type: 'vue',
|
||||
thumbnail: '/svgs/pie-charts.svg',
|
||||
props: {
|
||||
title: {
|
||||
title: '标题',
|
||||
type: 'input',
|
||||
val: '默认标题'
|
||||
},
|
||||
seriesName: {
|
||||
title: '详情',
|
||||
type: 'input',
|
||||
val: '详情标题'
|
||||
},
|
||||
seriesData: {
|
||||
title: '数据',
|
||||
type: 'jsonEdit',
|
||||
val: [
|
||||
{
|
||||
value: 1048,
|
||||
name: '办公楼A'
|
||||
},
|
||||
{
|
||||
value: 735,
|
||||
name: '办公楼B'
|
||||
},
|
||||
{
|
||||
value: 580,
|
||||
name: '保安室'
|
||||
},
|
||||
{
|
||||
value: 484,
|
||||
name: '地下车库'
|
||||
},
|
||||
{
|
||||
value: 300,
|
||||
name: '食堂'
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
]);
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<router-view></router-view>
|
||||
</template>
|
||||
|
||||
<style scoped></style>
|
@ -0,0 +1,92 @@
|
||||
#mt-edit.dark {
|
||||
color-scheme: dark;
|
||||
--el-color-primary: #409eff;
|
||||
--el-color-primary-light-3: #3375b9;
|
||||
--el-color-primary-light-5: #2a598a;
|
||||
--el-color-primary-light-7: #213d5b;
|
||||
--el-color-primary-light-8: #1d3043;
|
||||
--el-color-primary-light-9: #18222c;
|
||||
--el-color-primary-dark-2: #66b1ff;
|
||||
--el-color-success: #67c23a;
|
||||
--el-color-success-light-3: #4e8e2f;
|
||||
--el-color-success-light-5: #3e6b27;
|
||||
--el-color-success-light-7: #2d481f;
|
||||
--el-color-success-light-8: #25371c;
|
||||
--el-color-success-light-9: #1c2518;
|
||||
--el-color-success-dark-2: #85ce61;
|
||||
--el-color-warning: #e6a23c;
|
||||
--el-color-warning-light-3: #a77730;
|
||||
--el-color-warning-light-5: #7d5b28;
|
||||
--el-color-warning-light-7: #533f20;
|
||||
--el-color-warning-light-8: #3e301c;
|
||||
--el-color-warning-light-9: #292218;
|
||||
--el-color-warning-dark-2: #ebb563;
|
||||
--el-color-danger: #f56c6c;
|
||||
--el-color-danger-light-3: #b25252;
|
||||
--el-color-danger-light-5: #854040;
|
||||
--el-color-danger-light-7: #582e2e;
|
||||
--el-color-danger-light-8: #412626;
|
||||
--el-color-danger-light-9: #2b1d1d;
|
||||
--el-color-danger-dark-2: #f78989;
|
||||
--el-color-error: #f56c6c;
|
||||
--el-color-error-light-3: #b25252;
|
||||
--el-color-error-light-5: #854040;
|
||||
--el-color-error-light-7: #582e2e;
|
||||
--el-color-error-light-8: #412626;
|
||||
--el-color-error-light-9: #2b1d1d;
|
||||
--el-color-error-dark-2: #f78989;
|
||||
--el-color-info: #909399;
|
||||
--el-color-info-light-3: #6b6d71;
|
||||
--el-color-info-light-5: #525457;
|
||||
--el-color-info-light-7: #393a3c;
|
||||
--el-color-info-light-8: #2d2d2f;
|
||||
--el-color-info-light-9: #202121;
|
||||
--el-color-info-dark-2: #a6a9ad;
|
||||
--el-box-shadow: 0px 12px 32px 4px rgba(0, 0, 0, 0.36), 0px 8px 20px rgba(0, 0, 0, 0.72);
|
||||
--el-box-shadow-light: 0px 0px 12px rgba(0, 0, 0, 0.72);
|
||||
--el-box-shadow-lighter: 0px 0px 6px rgba(0, 0, 0, 0.72);
|
||||
--el-box-shadow-dark: 0px 16px 48px 16px rgba(0, 0, 0, 0.72), 0px 12px 32px #000000,
|
||||
0px 8px 16px -8px #000000;
|
||||
--el-bg-color-page: #0a0a0a;
|
||||
--el-bg-color: #141414;
|
||||
--el-bg-color-overlay: #1d1e1f;
|
||||
--el-text-color-primary: #e5eaf3;
|
||||
--el-text-color-regular: #cfd3dc;
|
||||
--el-text-color-secondary: #a3a6ad;
|
||||
--el-text-color-placeholder: #8d9095;
|
||||
--el-text-color-disabled: #6c6e72;
|
||||
--el-border-color-darker: #636466;
|
||||
--el-border-color-dark: #58585b;
|
||||
--el-border-color: #4c4d4f;
|
||||
--el-border-color-light: #414243;
|
||||
--el-border-color-lighter: #363637;
|
||||
--el-border-color-extra-light: #2b2b2c;
|
||||
--el-fill-color-darker: #424243;
|
||||
--el-fill-color-dark: #39393a;
|
||||
--el-fill-color: #303030;
|
||||
--el-fill-color-light: #262727;
|
||||
--el-fill-color-lighter: #1d1d1d;
|
||||
--el-fill-color-extra-light: #191919;
|
||||
--el-fill-color-blank: transparent;
|
||||
--el-mask-color: rgba(0, 0, 0, 0.8);
|
||||
--el-mask-color-extra-light: rgba(0, 0, 0, 0.3);
|
||||
transition: all 5s;
|
||||
}
|
||||
#mt-edit.dark .el-button {
|
||||
--el-button-disabled-text-color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
#mt-edit.dark .el-card {
|
||||
--el-card-bg-color: var(--el-bg-color-overlay);
|
||||
}
|
||||
#mt-edit.dark .el-empty {
|
||||
--el-empty-fill-color-0: var(--el-color-black);
|
||||
--el-empty-fill-color-1: #4b4b52;
|
||||
--el-empty-fill-color-2: #36383d;
|
||||
--el-empty-fill-color-3: #1e1e20;
|
||||
--el-empty-fill-color-4: #262629;
|
||||
--el-empty-fill-color-5: #202124;
|
||||
--el-empty-fill-color-6: #212224;
|
||||
--el-empty-fill-color-7: #1b1c1f;
|
||||
--el-empty-fill-color-8: #1c1d1f;
|
||||
--el-empty-fill-color-9: #18181a;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
<svg class="icon" viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" width="200" height="200">
|
||||
<path
|
||||
d="M801.171 483.589H544V226.418c0-17.673-14.327-32-32-32s-32 14.327-32 32v257.171H222.83c-17.673 0-32 14.327-32 32s14.327 32 32 32H480v257.17c0 17.673 14.327 32 32 32s32-14.327 32-32v-257.17h257.171c17.673 0 32-14.327 32-32s-14.327-32-32-32z"
|
||||
fill=""></path>
|
||||
</svg>
|
After Width: | Height: | Size: 412 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M228 216a12 12 0 0 1-12 12H40a12 12 0 0 1 0-24h176a12 12 0 0 1 12 12m-92-48V80a20 20 0 0 1 20-20h36a20 20 0 0 1 20 20v88a20 20 0 0 1-20 20h-36a20 20 0 0 1-20-20m24-4h28V84h-28Zm-116 4V40a20 20 0 0 1 20-20h36a20 20 0 0 1 20 20v128a20 20 0 0 1-20 20H64a20 20 0 0 1-20-20m24-4h28V44H68Z"/></svg>
|
After Width: | Height: | Size: 408 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M208 136h-68v-16h44a20 20 0 0 0 20-20V60a20 20 0 0 0-20-20h-44v-8a12 12 0 0 0-24 0v8H72a20 20 0 0 0-20 20v40a20 20 0 0 0 20 20h44v16H48a20 20 0 0 0-20 20v40a20 20 0 0 0 20 20h68v8a12 12 0 0 0 24 0v-8h68a20 20 0 0 0 20-20v-40a20 20 0 0 0-20-20M76 64h104v32H76Zm128 128H52v-32h152Z"/></svg>
|
After Width: | Height: | Size: 404 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M52 40v176a12 12 0 0 1-24 0V40a12 12 0 0 1 24 0m16 60V64a20 20 0 0 1 20-20h88a20 20 0 0 1 20 20v36a20 20 0 0 1-20 20H88a20 20 0 0 1-20-20m24-4h80V68H92Zm144 60v36a20 20 0 0 1-20 20H88a20 20 0 0 1-20-20v-36a20 20 0 0 1 20-20h128a20 20 0 0 1 20 20m-24 4H92v28h120Z"/></svg>
|
After Width: | Height: | Size: 387 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M228 40v176a12 12 0 0 1-24 0V40a12 12 0 0 1 24 0m-40 24v36a20 20 0 0 1-20 20H80a20 20 0 0 1-20-20V64a20 20 0 0 1 20-20h88a20 20 0 0 1 20 20m-24 4H84v28h80Zm24 88v36a20 20 0 0 1-20 20H40a20 20 0 0 1-20-20v-36a20 20 0 0 1 20-20h128a20 20 0 0 1 20 20m-24 4H44v28h120Z"/></svg>
|
After Width: | Height: | Size: 389 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M228 40a12 12 0 0 1-12 12H40a12 12 0 0 1 0-24h176a12 12 0 0 1 12 12m-16 48v88a20 20 0 0 1-20 20h-36a20 20 0 0 1-20-20V88a20 20 0 0 1 20-20h36a20 20 0 0 1 20 20m-24 4h-28v80h28Zm-68-4v128a20 20 0 0 1-20 20H64a20 20 0 0 1-20-20V88a20 20 0 0 1 20-20h36a20 20 0 0 1 20 20m-24 4H68v120h28Z"/></svg>
|
After Width: | Height: | Size: 409 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 256 256"><path fill="currentColor" d="M224 116h-8V72a20 20 0 0 0-20-20h-40a20 20 0 0 0-20 20v44h-16V48a20 20 0 0 0-20-20H60a20 20 0 0 0-20 20v68h-8a12 12 0 0 0 0 24h8v68a20 20 0 0 0 20 20h40a20 20 0 0 0 20-20v-68h16v44a20 20 0 0 0 20 20h40a20 20 0 0 0 20-20v-44h8a12 12 0 0 0 0-24M96 204H64V52h32Zm96-24h-32V76h32Z"/></svg>
|
After Width: | Height: | Size: 401 B |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 15 15">
|
||||
<path fill="currentColor" fill-rule="evenodd"
|
||||
d="M3.5 14.9a.4.4 0 0 0 .4-.4v-4.034l1.317 1.317a.4.4 0 0 0 .565-.566l-2-2a.4.4 0 0 0-.565 0l-2 2a.4.4 0 0 0 .565.566L3.1 10.466V14.5c0 .22.18.4.4.4ZM8 10.5a.5.5 0 0 0 .5.5h6a.5.5 0 1 0 0-1h-6a.5.5 0 0 0-.5.5Zm0-3a.5.5 0 0 0 .5.5h6a.5.5 0 0 0 0-1h-6a.5.5 0 0 0-.5.5ZM8.5 5a.5.5 0 1 1 0-1h6a.5.5 0 0 1 0 1h-6ZM3.9.5a.4.4 0 0 0-.8 0v4.034L1.781 3.217a.4.4 0 0 0-.565.566l2 2a.4.4 0 0 0 .565 0l2-2a.4.4 0 0 0-.565-.566L3.899 4.534V.5Z"
|
||||
clip-rule="evenodd" />
|
||||
</svg>
|
After Width: | Height: | Size: 614 B |
@ -0,0 +1,6 @@
|
||||
<svg viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="200" height="200">
|
||||
<path
|
||||
d="M513.173333 128A255.061333 255.061333 0 0 0 448 298.666667c0 141.376 114.624 256 256 256a255.36 255.36 0 0 0 189.802667-84.202667c1.450667 13.653333 2.197333 27.498667 2.197333 41.536 0 212.074667-171.925333 384-384 384S128 724.074667 128 512c0-209.706667 168.106667-380.16 376.96-383.936L513.152 128z m-117.824 85.930667l-3.52 1.408C274.645333 262.826667 192 377.770667 192 512c0 176.725333 143.274667 320 320 320 145.408 0 268.16-96.981333 307.114667-229.802667l1.536-5.504-1.6 0.64a319.509333 319.509333 0 0 1-106.496 21.226667L704 618.666667c-176.725333 0-320-143.274667-320-320 0-28.48 3.754667-56.405333 10.944-83.2l0.405333-1.536z"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 829 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M7.5 1h9v3H22v2h-2.029l-.5 17H4.529l-.5-17H2V4h5.5V1Zm2 3h5V3h-5v1ZM6.03 6l.441 15h11.058l.441-15H6.03ZM13 8v11h-2V8h2Z"/></svg>
|
After Width: | Height: | Size: 242 B |
@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 15 15">
|
||||
<path fill="currentColor" fill-rule="evenodd"
|
||||
d="M5.5 2a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1 0-1H5V2.5a.5.5 0 0 1 .5-.5Zm4 0a.5.5 0 0 1 .5.5V5h2.5a.5.5 0 0 1 0 1h-3a.5.5 0 0 1-.5-.5v-3a.5.5 0 0 1 .5-.5ZM2 9.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5v3a.5.5 0 0 1-1 0V10H2.5a.5.5 0 0 1-.5-.5Zm7 0a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 0 1H10v2.5a.5.5 0 0 1-1 0v-3Z"
|
||||
clip-rule="evenodd" />
|
||||
</svg>
|
After Width: | Height: | Size: 497 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M3 1h12.414L21 6.586V12h-2V9h-6V3H5v18h6v2H3V1Zm12 2.414V7h3.586L15 3.414Zm4.05 10.674l4.858 4.914l-4.858 4.914l-1.422-1.406l2.48-2.508h-7.11v-2h7.11l-2.48-2.508l1.422-1.406Z"/></svg>
|
After Width: | Height: | Size: 297 B |
@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 2048 2048">
|
||||
<path fill="currentColor"
|
||||
d="M1664 1664v-384h128v512h-512v-128h384zM1280 256h512v512h-128V384h-384V256zM256 768V256h512v128H384v384H256zm128 512v384h384v128H256v-512h128z" />
|
||||
</svg>
|
After Width: | Height: | Size: 283 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 1024 1024"><path fill="currentColor" d="M912 820.1V203.9c28-9.9 48-36.6 48-67.9c0-39.8-32.2-72-72-72c-31.3 0-58 20-67.9 48H203.9C194 84 167.3 64 136 64c-39.8 0-72 32.2-72 72c0 31.3 20 58 48 67.9v616.2C84 830 64 856.7 64 888c0 39.8 32.2 72 72 72c31.3 0 58-20 67.9-48h616.2c9.9 28 36.6 48 67.9 48c39.8 0 72-32.2 72-72c0-31.3-20-58-48-67.9zM888 112c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zM136 912c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0-752c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm704 680H184V184h656v656zm48 72c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/><path fill="currentColor" d="M288 474h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64zm-56 420h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16zm56-136h336v64H344v-64z"/></svg>
|
After Width: | Height: | Size: 1023 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12 21a9 9 0 1 0 0-18a9 9 0 0 0 0 18m11-9c0 6.075-4.925 11-11 11S1 18.075 1 12S5.925 1 12 1s11 4.925 11 11m-9.996 6.254H11V16.25h2.004zM11 15.25V14c0-.867.39-1.573.826-2.11c.432-.53.974-.974 1.41-1.318a2 2 0 1 0-3.123-2.24l-.333.944l-1.885-.666l.333-.943a4.001 4.001 0 1 1 6.246 4.476c-.431.34-.817.666-1.096 1.009c-.274.338-.378.61-.378.848v1.25z"/></svg>
|
After Width: | Height: | Size: 470 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20"><path fill="currentColor" d="M3.5 18a.5.5 0 0 1-.5-.5v-15a.5.5 0 0 1 1 0v15a.5.5 0 0 1-.5.5m12.5-.5a.5.5 0 0 0 1 0v-15a.5.5 0 0 0-1 0zM9 4a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"/></svg>
|
After Width: | Height: | Size: 295 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M3 1h12.414L21 6.586V23h-9v-2h7V9h-6V3H5v10H3V1Zm12 2.414V7h3.586L15 3.414ZM7.05 14.088l4.858 4.914l-4.858 4.914l-1.422-1.406l2.48-2.508H.997v-2h7.11l-2.48-2.508l1.422-1.406Z"/></svg>
|
After Width: | Height: | Size: 297 B |
@ -0,0 +1,7 @@
|
||||
<svg viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
width="200" height="200">
|
||||
<path
|
||||
d="M522.88 874.666667a21.333333 21.333333 0 0 1 21.333333 21.333333v85.333333a21.333333 21.333333 0 0 1-21.333333 21.333334h-21.333333a21.333333 21.333333 0 0 1-21.333334-21.333334v-85.333333a21.333333 21.333333 0 0 1 21.333334-21.333333h21.333333z m268.416-107.52l60.352 60.352a21.333333 21.333333 0 0 1 0 30.165333l-15.082667 15.082667a21.333333 21.333333 0 0 1-30.186666 0l-60.330667-60.352a21.333333 21.333333 0 0 1 0-30.165334l15.082667-15.082666a21.333333 21.333333 0 0 1 30.165333 0z m-527.957333 0l15.082666 15.082666a21.333333 21.333333 0 0 1 0 30.165334l-60.352 60.352a21.333333 21.333333 0 0 1-30.165333 0l-15.082667-15.082667a21.333333 21.333333 0 0 1 0-30.165333l60.330667-60.352a21.333333 21.333333 0 0 1 30.186667 0zM512 277.333333c141.376 0 256 114.624 256 256s-114.624 256-256 256-256-114.624-256-256 114.624-256 256-256z m0 64a192 192 0 1 0 0 384 192 192 0 0 0 0-384z m448.213333 160a21.333333 21.333333 0 0 1 21.333334 21.333334v21.333333a21.333333 21.333333 0 0 1-21.333334 21.333333h-85.333333a21.333333 21.333333 0 0 1-21.333333-21.333333v-21.333333a21.333333 21.333333 0 0 1 21.333333-21.333334h85.333333z m-810.666666 0a21.333333 21.333333 0 0 1 21.333333 21.333334v21.333333a21.333333 21.333333 0 0 1-21.333333 21.333333h-85.333334a21.333333 21.333333 0 0 1-21.333333-21.333333v-21.333333a21.333333 21.333333 0 0 1 21.333333-21.333334h85.333334zM836.586667 193.92l15.082666 15.082667a21.333333 21.333333 0 0 1 0 30.165333l-60.352 60.352a21.333333 21.333333 0 0 1-30.165333 0l-15.082667-15.082667a21.333333 21.333333 0 0 1 0-30.165333l60.330667-60.352a21.333333 21.333333 0 0 1 30.186667 0z m-618.496 0l60.352 60.352a21.333333 21.333333 0 0 1 0 30.165333l-15.082667 15.082667a21.333333 21.333333 0 0 1-30.186667 0L172.821333 239.146667a21.333333 21.333333 0 0 1 0-30.165334l15.082667-15.082666a21.333333 21.333333 0 0 1 30.165333 0zM522.901333 64a21.333333 21.333333 0 0 1 21.333334 21.333333v85.333334a21.333333 21.333333 0 0 1-21.333334 21.333333h-21.333333a21.333333 21.333333 0 0 1-21.333333-21.333333V85.333333a21.333333 21.333333 0 0 1 21.333333-21.333333h21.333333z"
|
||||
></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="1676518938084" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2193" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M893.60324 384c-54.7 1-101.1 36.4-118.4 85.4-2.2 6.4-8.3 10.6-15 10.6H263.80324c-6.7 0-12.8-4.2-15-10.6-17.3-49.1-63.6-84.4-118.4-85.4C59.90324 382.7 0.50324 440.6 0.00324 511.1-0.49676 582.2 57.00324 640 128.00324 640c55.7 0 103.1-35.6 120.7-85.3 2.3-6.4 8.3-10.7 15.1-10.7h496.4c6.8 0 12.8 4.3 15.1 10.7 17.6 49.7 65 85.3 120.7 85.3 71 0 128.5-57.8 128-128.9-0.5-70.5-59.9-128.4-130.4-127.1zM128.00324 576c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z m768 0c-35.3 0-64-28.7-64-64s28.7-64 64-64 64 28.7 64 64-28.7 64-64 64z" p-id="2194"></path></svg>
|
After Width: | Height: | Size: 904 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 36 36"><path fill="currentColor" d="M18.09 20.59A2.41 2.41 0 0 0 17 25.14V28h2v-2.77a2.41 2.41 0 0 0-.91-4.64" class="clr-i-outline clr-i-outline-path-1"/><path fill="currentColor" d="M26 15v-4.28a8.2 8.2 0 0 0-8-8.36a8.2 8.2 0 0 0-8 8.36V15H7v17a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V15Zm-14-4.28a6.2 6.2 0 0 1 6-6.36a6.2 6.2 0 0 1 6 6.36V15H12ZM9 32V17h18v15Z" class="clr-i-outline clr-i-outline-path-2"/><path fill="none" d="M0 0h36v36H0z"/></svg>
|
After Width: | Height: | Size: 521 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M2 4h20v2H2V4Zm20 5.57v4.86L18.113 12L22 9.57ZM2 13v-2h15v2H2Zm0 7v-2h20v2H2Z"/></svg>
|
After Width: | Height: | Size: 200 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M2 4h20v2H2V4Zm0 5.57L5.887 12L2 14.43V9.57ZM7 11h15v2H7v-2Zm-5 7h20v2H2v-2Z"/></svg>
|
After Width: | Height: | Size: 199 B |
@ -0,0 +1,6 @@
|
||||
<svg width="256" height="256" xmlns="http://www.w3.org/2000/svg">
|
||||
<g>
|
||||
<path d="m227.32,73.37l-44.69,-44.68a16,16 0 0 0 -22.63,0l-123.31,123.31a15.86,15.86 0 0 0 -4.69,11.31l0,44.69a16,16 0 0 0 16,16l44.69,0a15.86,15.86 0 0 0 11.31,-4.69l83.67,-83.66l3.48,13.9l-36.8,36.79a8,8 0 0 0 11.31,11.32l40,-40a8,8 0 0 0 2.11,-7.6l-6.9,-27.61l26.45,-26.45a16,16 0 0 0 0,-22.63m-179.32,105.94l28.69,28.69l-28.69,0l0,-28.69zm48,25.38l-44.69,-44.69l84.69,-84.69l44.69,44.69l-84.69,84.69zm96,-96l-44.68,-44.69l24,-24l44.68,44.69l-24,24z" fill="currentColor"/>
|
||||
<line stroke-width="10" y2="234" x2="245" y1="234" x1="47" stroke="#000" fill="none"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 650 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M12 3a9 9 0 1 0 0 18a9 9 0 0 0 0-18ZM1 12C1 5.925 5.925 1 12 1s11 4.925 11 11s-4.925 11-11 11S1 18.075 1 12Zm7.5-5.63L18.25 12L8.5 17.63V6.37Zm2 3.465v4.33L14.25 12L10.5 9.835Z"/></svg>
|
After Width: | Height: | Size: 299 B |
@ -0,0 +1,10 @@
|
||||
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="200"
|
||||
height="200">
|
||||
<path
|
||||
d="M512 65.984C266.08 65.984 65.984 266.08 65.984 512c0 245.952 200.064 446.016 446.016 446.016 245.952 0 446.016-200.064 446.016-446.016C958.016 266.08 757.952 65.984 512 65.984zM512 894.016C301.344 894.016 129.984 722.624 129.984 512 129.984 301.344 301.344 129.984 512 129.984c210.624 0 382.016 171.36 382.016 382.016C894.016 722.624 722.624 894.016 512 894.016z"
|
||||
fill="#5C636E"></path>
|
||||
<path
|
||||
d="M512 255.2c-77.216 0-140.032 62.272-140.032 138.816 0 17.664 14.336 32 32 32s32-14.336 32-32c0-41.952 33.376-74.816 76.032-74.816 41.952 0 76.032 34.368 76.032 76.64 0 15.968-22.848 38.784-43.008 58.944C514.56 485.216 480 519.744 480 566.016l0 45.696c0 17.696 14.336 32 32 32s32-14.304 32-32l0-45.696c0-19.744 23.52-43.264 46.272-65.984 28.928-28.928 61.76-61.728 61.76-104.192C652.032 318.272 589.216 255.2 512 255.2z"
|
||||
fill="#5C636E"></path>
|
||||
<path d="M512 753.92m-48 0a1.5 1.5 0 1 0 96 0 1.5 1.5 0 1 0-96 0Z" fill="#5C636E"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="-1 -2 24 24"><path fill="currentColor" d="m19.347 7.24l.847-1.266a.984.984 0 0 1 1.375-.259c.456.31.58.93.277 1.383L19.65 10.38a.984.984 0 0 1-1.375.259L14.97 8.393a1.002 1.002 0 0 1-.277-1.382a.984.984 0 0 1 1.375-.26l1.344.915C16.428 4.386 13.42 2 9.863 2c-4.357 0-7.89 3.582-7.89 8s3.533 8 7.89 8c.545 0 .987.448.987 1s-.442 1-.987 1C4.416 20 0 15.523 0 10S4.416 0 9.863 0c4.504 0 8.302 3.06 9.484 7.24z"/></svg>
|
After Width: | Height: | Size: 489 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 2048 2048"><path fill="currentColor" d="M1792 1152H475l466 467l-90 90l-621-621l621-621l90 90l-466 467h1189V384h128v768z"/></svg>
|
After Width: | Height: | Size: 206 B |
@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><svg width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M44 24C44 12.9543 35.0457 4 24 4C12.9543 4 4 12.9543 4 24C4 35.0457 12.9543 44 24 44C30.9566 44 37.0836 40.4483 40.6667 35.0593" stroke="#333" stroke-width="4" stroke-linecap="round"/><path d="M44 24H30" stroke="#333" stroke-width="4" stroke-linecap="round"/><circle cx="24" cy="24" r="6" fill="#333" stroke="#333" stroke-width="4"/></svg>
|
After Width: | Height: | Size: 481 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 2048 2048"><path fill="currentColor" d="M1792 128q27 0 50 10t40 27t28 41t10 50v1664H357l-229-230V256q0-27 10-50t27-40t41-28t50-10h1536zM512 896h1024V256H512v640zm768 512H640v384h128v-256h128v256h384v-384zm512-1152h-128v768H384V256H256v1381l154 155h102v-512h896v512h384V256z"/></svg>
|
After Width: | Height: | Size: 360 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 1024 1024"><path fill="currentColor" d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1c-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"/></svg>
|
After Width: | Height: | Size: 644 B |
@ -0,0 +1,6 @@
|
||||
<svg viewBox="0 0 1024 1024" version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg" width="200" height="200">
|
||||
<path
|
||||
d="M919.6 405.6l-57.2-8c-12.7-1.8-23-10.4-28-22.1-11.3-26.7-25.7-51.7-42.9-74.5-7.7-10.2-10-23.5-5.2-35.3l21.7-53.5c6.7-16.4 0.2-35.3-15.2-44.1L669.1 96.6c-15.4-8.9-34.9-5.1-45.8 8.9l-35.4 45.3c-7.9 10.2-20.7 14.9-33.5 13.3-14-1.8-28.3-2.8-42.8-2.8-14.5 0-28.8 1-42.8 2.8-12.8 1.6-25.6-3.1-33.5-13.3l-35.4-45.3c-10.9-14-30.4-17.8-45.8-8.9L230.4 168c-15.4 8.9-21.8 27.7-15.2 44.1l21.7 53.5c4.8 11.9 2.5 25.1-5.2 35.3-17.2 22.8-31.7 47.8-42.9 74.5-5 11.8-15.3 20.4-28 22.1l-57.2 8C86 408 72.9 423 72.9 440.8v142.9c0 17.7 13.1 32.7 30.6 35.2l57.2 8c12.7 1.8 23 10.4 28 22.1 11.3 26.7 25.7 51.7 42.9 74.5 7.7 10.2 10 23.5 5.2 35.3l-21.7 53.5c-6.7 16.4-0.2 35.3 15.2 44.1L354 927.8c15.4 8.9 34.9 5.1 45.8-8.9l35.4-45.3c7.9-10.2 20.7-14.9 33.5-13.3 14 1.8 28.3 2.8 42.8 2.8 14.5 0 28.8-1 42.8-2.8 12.8-1.6 25.6 3.1 33.5 13.3l35.4 45.3c10.9 14 30.4 17.8 45.8 8.9l123.7-71.4c15.4-8.9 21.8-27.7 15.2-44.1l-21.7-53.5c-4.8-11.8-2.5-25.1 5.2-35.3 17.2-22.8 31.7-47.8 42.9-74.5 5-11.8 15.3-20.4 28-22.1l57.2-8c17.6-2.5 30.6-17.5 30.6-35.2V440.8c0.2-17.8-12.9-32.8-30.5-35.2z m-408 245.5c-76.7 0-138.9-62.2-138.9-138.9s62.2-138.9 138.9-138.9 138.9 62.2 138.9 138.9-62.2 138.9-138.9 138.9z"
|
||||
></path>
|
||||
</svg>
|
After Width: | Height: | Size: 1.3 KiB |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20"><path fill="currentColor" d="M3 2a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2zm0 15a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1z"/><path fill="currentColor" d="M17 4H3v10h14zM5 12l2.5-3l2 2L12 8l3 4zm-1 3h12v1H4z"/></svg>
|
After Width: | Height: | Size: 346 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="currentColor" d="M6 22a4 4 0 0 1-1-7.874V9.874A4.002 4.002 0 0 1 6 2a4 4 0 0 1 1 7.874v4.252A4.002 4.002 0 0 1 6 22Zm-2-4a2 2 0 1 0 4 0a2 2 0 0 0-4 0ZM4 6a2 2 0 1 0 4 0a2 2 0 0 0-4 0Zm8 12h7v2h-7v-2Zm0-7h10v2H12v-2Zm0-7h7v2h-7V4Z"/></svg>
|
After Width: | Height: | Size: 335 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="-0.5 -2 24 24"><path fill="currentColor" d="m5.308 7.612l1.352-.923a.981.981 0 0 1 1.372.27a1.008 1.008 0 0 1-.266 1.388l-3.277 2.237a.981.981 0 0 1-1.372-.27L.907 6.998a1.007 1.007 0 0 1 .266-1.389a.981.981 0 0 1 1.372.27l.839 1.259C4.6 3.01 8.38 0 12.855 0c5.458 0 9.882 4.477 9.882 10s-4.424 10-9.882 10a.994.994 0 0 1-.988-1c0-.552.443-1 .988-1c4.366 0 7.906-3.582 7.906-8s-3.54-8-7.906-8C9.311 2 6.312 4.36 5.308 7.612z"/></svg>
|
After Width: | Height: | Size: 507 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 1024 1024"><path fill="currentColor" d="M736 550H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V566c0-8.8-7.2-16-16-16zm-56 136H344v-64h336v64zm208 130c-39.8 0-72 32.2-72 72s32.2 72 72 72s72-32.2 72-72s-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zM736 266H288c-8.8 0-16 7.2-16 16v176c0 8.8 7.2 16 16 16h448c8.8 0 16-7.2 16-16V282c0-8.8-7.2-16-16-16zm-56 136H344v-64h336v64zm208-194c39.8 0 72-32.2 72-72s-32.2-72-72-72s-72 32.2-72 72s32.2 72 72 72zm0-96c13.3 0 24 10.7 24 24s-10.7 24-24 24s-24-10.7-24-24s10.7-24 24-24zM136 64c-39.8 0-72 32.2-72 72s32.2 72 72 72s72-32.2 72-72s-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24zm0 656c-39.8 0-72 32.2-72 72s32.2 72 72 72s72-32.2 72-72s-32.2-72-72-72zm0 96c-13.3 0-24-10.7-24-24s10.7-24 24-24s24 10.7 24 24s-10.7 24-24 24z"/></svg>
|
After Width: | Height: | Size: 956 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 36 36"><path fill="currentColor" d="M12 25.14V28h2v-2.77a2.42 2.42 0 1 0-2-.09" class="clr-i-outline clr-i-outline-path-1"/><path fill="currentColor" d="M26 2a8.2 8.2 0 0 0-8 8.36V15H2v17a2 2 0 0 0 2 2h18a2 2 0 0 0 2-2V15h-4v-4.64A6.2 6.2 0 0 1 26 4a6.2 6.2 0 0 1 6 6.36v6.83a1 1 0 0 0 2 0v-6.83A8.2 8.2 0 0 0 26 2m-4 15v15H4V17Z" class="clr-i-outline clr-i-outline-path-2"/><path fill="none" d="M0 0h36v36H0z"/></svg>
|
After Width: | Height: | Size: 496 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 24 24"><path fill="none" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2M7 9l5-5l5 5m-5-5v12"/></svg>
|
After Width: | Height: | Size: 262 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20"><path fill="currentColor" d="M2.5 3a.5.5 0 0 0 0 1h15a.5.5 0 0 0 0-1zM2 16.5a.5.5 0 0 1 .5-.5h15a.5.5 0 0 1 0 1h-15a.5.5 0 0 1-.5-.5M6 7a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z"/></svg>
|
After Width: | Height: | Size: 293 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20"><path fill="currentColor" d="m12.81 4.36l-1.77 1.78a4 4 0 0 0-4.9 4.9l-2.76 2.75C2.06 12.79.96 11.49.2 10a11 11 0 0 1 12.6-5.64zm3.8 1.85c1.33 1 2.43 2.3 3.2 3.79a11 11 0 0 1-12.62 5.64l1.77-1.78a4 4 0 0 0 4.9-4.9l2.76-2.75zm-.25-3.99l1.42 1.42L3.64 17.78l-1.42-1.42z"/></svg>
|
After Width: | Height: | Size: 361 B |
@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" viewBox="0 0 20 20"><path fill="currentColor" d="M.2 10a11 11 0 0 1 19.6 0A11 11 0 0 1 .2 10m9.8 4a4 4 0 1 0 0-8a4 4 0 0 0 0 8m0-2a2 2 0 1 1 0-4a2 2 0 0 1 0 4"/></svg>
|
After Width: | Height: | Size: 232 B |
After Width: | Height: | Size: 29 KiB |
After Width: | Height: | Size: 41 KiB |
@ -0,0 +1,4 @@
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 218 364">
|
||||
<line x1="210.89" y1="6.61" x2="63.11" y2="154.39"
|
||||
style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;" />
|
||||
<line x1="56" y1="157" x2="201" y2="157"
|
||||
style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;" />
|
||||
<line x1="208.45" y1="154.2" x2="60.66" y2="301.98"
|
||||
style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;" />
|
||||
<polygon points="2.42 360.3 94.44 307.69 55.03 268.28 2.42 360.3" />
|
||||
</svg>
|
After Width: | Height: | Size: 641 B |
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 56 492">
|
||||
<polygon points="28.14 226 56 123.72 .27 123.72 28.14 226" stroke="none"/>
|
||||
<line x1="28.14" y1=".6" x2="28.14" y2="126.7" style="stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<polygon points="28.38 266.54 .51 368.81 56.24 368.81 28.38 266.54" stroke="none"/>
|
||||
<line x1="28.38" y1="491.94" x2="28.38" y2="365.83" style="stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 559 B |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 259 158">
|
||||
<rect x="10" y="50" width="239" height="99" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<text transform="translate(114.5 40.88)" style="font-size: 60px;">R</text>
|
||||
</svg>
|
After Width: | Height: | Size: 354 B |
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 134 337" style="enable-background:new 0 0 134 337;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<polygon points="67,227 92.72,124 41.28,124 " fill="none"/>
|
||||
<line class="st3" x1="67" y1="0" x2="67" y2="127"/>
|
||||
<line class="st3" x1="67" y1="243" x2="67" y2="337.05"/>
|
||||
<rect x="8" y="83" class="st3" width="118" height="163"/>
|
||||
</svg>
|
After Width: | Height: | Size: 935 B |
@ -0,0 +1,5 @@
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 258 499">
|
||||
<circle cx="129.5" cy="370" r="119" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<circle cx="129.5" cy="179" r="119" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<path d="m248.5,180c0-93.19-52.48-168.86-117.53-169.99-.69.68-2.08,1.07-2.77,1.75" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 527 B |
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 158 286">
|
||||
<polyline points="6.88 87 79 14.88 151.12 87" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<polyline points="6.6 155.52 78.73 83.39 150.85 155.52" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="79" y1="94" x2="79" y2="286" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 552 B |
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 210 392">
|
||||
<line y1="284" x2="210" y2="284" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="25" y1="333" x2="185" y2="333" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="45" y1="382" x2="165" y2="382" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="105" x2="105" y2="275" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 648 B |
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 125.5 318" style="enable-background:new 0 0 125.5 318;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<line class="st0" x1="111" y1="0" x2="111" y2="76"/>
|
||||
<line class="st0" x1="111" y1="242" x2="111" y2="318"/>
|
||||
<line class="st1" x1="96" y1="74" x2="124" y2="102"/>
|
||||
<line class="st1" x1="96" y1="102" x2="124" y2="74"/>
|
||||
<line class="st0" x1="110.5" y1="251.47" x2="9.5" y2="76.53"/>
|
||||
</svg>
|
After Width: | Height: | Size: 992 B |
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 146 648">
|
||||
<path d="m66,78c37,0,67,30,67,67s-30,67-67,67" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<path d="m65.91,211.53c37,0,67,30,67,67s-30,67-67,67" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<path d="m65.91,345.53c37,0,67,30,67,67s-30,67-67,67" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<line x1="62" y1=".5" x2="62" y2="86.5" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<line x1="74" y1="474" x2="74" y2="560" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 16px;"/>
|
||||
<line x1=".14" y1="570" x2="145.86" y2="570" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="17.49" y1="604" x2="128.51" y2="604" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="33" y1="638" x2="113" y2="638" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 190 469">
|
||||
<rect x="10" y="98.5" width="170" height="272" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="95" y1="1" x2="95" y2="469" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 407 B |
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 465.5 465">
|
||||
<circle cx="233" cy="233" r="222" stroke="currentColor" style="fill: none; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 269 B |
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 345 151">
|
||||
<line y1="74" x2="129" y2="74" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="135" x2="135" y2="151" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="345" y1="77" x2="216" y2="77" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
<line x1="210" y1="151" x2="210" y2="0" style="fill: none; stroke: currentColor; stroke-miterlimit: 10; stroke-width: 20px;"/>
|
||||
</svg>
|
After Width: | Height: | Size: 644 B |
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 120 282" style="enable-background:new 0 0 120 282;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<path class="st0" d="M60,215c-28.17,0-51-22.83-51-51s22.83-51,51-51s51,22.83,51,51"/>
|
||||
<line class="st0" x1="60" y1="0" x2="60" y2="159"/>
|
||||
<line class="st0" x1="60" y1="205" x2="60" y2="283"/>
|
||||
<line class="st0" x1="120" y1="163" x2="50" y2="163"/>
|
||||
</svg>
|
After Width: | Height: | Size: 915 B |
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 222 336" style="enable-background:new 0 0 222 336;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<line class="st0" x1="111" y1="0" x2="111" y2="336"/>
|
||||
<polygon class="st0" points="111,269 204.92,106.33 17.08,106.33 "/>
|
||||
</svg>
|
After Width: | Height: | Size: 830 B |
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 160 318" style="enable-background:new 0 0 160 318;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<line class="st0" x1="149.81" y1="-0.48" x2="149.81" y2="75.52"/>
|
||||
<line class="st0" x1="149.81" y1="241.52" x2="149.81" y2="317.52"/>
|
||||
<line class="st0" x1="149.31" y1="250.99" x2="48.31" y2="76.05"/>
|
||||
<line class="st2" x1="50" y1="185" x2="108" y2="185"/>
|
||||
</svg>
|
After Width: | Height: | Size: 963 B |
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 179 319" style="enable-background:new 0 0 179 319;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<line class="st0" x1="168.6" y1="0.58" x2="168.6" y2="76.58"/>
|
||||
<line class="st0" x1="168.6" y1="242.58" x2="168.6" y2="318.58"/>
|
||||
<line class="st0" x1="168.1" y1="252.05" x2="67.1" y2="77.11"/>
|
||||
<rect x="82" y="107" transform="matrix(0.866 -0.5 0.5 0.866 -64.4769 78.3689)" class="st3" width="64" height="105"/>
|
||||
<line class="st2" x1="45.05" y1="190.18" x2="87" y2="169"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: $$$/GeneralStr/196=Adobe Illustrator 27.6.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 133 318" style="enable-background:new 0 0 133 318;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:none;stroke:currentColor;stroke-width:20;stroke-miterlimit:10;}
|
||||
.st1{fill:none;stroke:currentColor;stroke-width:4;stroke-miterlimit:10;}
|
||||
.st2{fill:none;stroke:currentColor;stroke-width:10;stroke-miterlimit:10;}
|
||||
.st3{fill:none;stroke:currentColor;stroke-width:16;stroke-miterlimit:10;}
|
||||
</style>
|
||||
<line class="st0" x1="109.27" y1="0.58" x2="109.27" y2="76.58"/>
|
||||
<line class="st0" x1="109.27" y1="242.58" x2="109.27" y2="318.58"/>
|
||||
<line class="st0" x1="108.77" y1="252.05" x2="7.77" y2="77.11"/>
|
||||
<line class="st0" x1="82" y1="79" x2="133" y2="79"/>
|
||||
</svg>
|
After Width: | Height: | Size: 959 B |
@ -0,0 +1,5 @@
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 454 488.5">
|
||||
<path d="m134.5,20c30.58,0,59.34,11.91,80.96,33.54,21.63,21.63,33.54,50.38,33.54,80.96s-11.91,59.34-33.54,80.96c-21.63,21.63-50.38,33.54-80.96,33.54s-59.34-11.91-80.96-33.54c-21.63-21.63-33.54-50.38-33.54-80.96s11.91-59.34,33.54-80.96c21.63-21.63,50.38-33.54,80.96-33.54m0-20C60.22,0,0,60.22,0,134.5s60.22,134.5,134.5,134.5,134.5-60.22,134.5-134.5S208.78,0,134.5,0h0Z"/>
|
||||
<path d="m134.5,240c30.58,0,59.34,11.91,80.96,33.54,21.63,21.63,33.54,50.38,33.54,80.96s-11.91,59.34-33.54,80.96c-21.63,21.63-50.38,33.54-80.96,33.54s-59.34-11.91-80.96-33.54c-21.63-21.63-33.54-50.38-33.54-80.96s11.91-59.34,33.54-80.96c21.63-21.63,50.38-33.54,80.96-33.54m0-20C60.22,220,0,280.22,0,354.5s60.22,134.5,134.5,134.5,134.5-60.22,134.5-134.5-60.22-134.5-134.5-134.5h0Z"/>
|
||||
<path d="m319.5,129.75c30.58,0,59.34,11.91,80.96,33.54,21.63,21.63,33.54,50.38,33.54,80.96s-11.91,59.34-33.54,80.96c-21.63,21.63-50.38,33.54-80.96,33.54s-59.34-11.91-80.96-33.54c-21.63-21.63-33.54-50.38-33.54-80.96s11.91-59.34,33.54-80.96c21.63-21.63,50.38-33.54,80.96-33.54m0-20c-74.28,0-134.5,60.22-134.5,134.5s60.22,134.5,134.5,134.5,134.5-60.22,134.5-134.5-60.22-134.5-134.5-134.5h0Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 1.2 KiB |
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 500 500">
|
||||
<path d="m250,20c31.06,0,61.18,6.08,89.52,18.07,27.39,11.58,51.99,28.17,73.11,49.3,21.13,21.13,37.72,45.73,49.3,73.11,11.99,28.34,18.07,58.46,18.07,89.52s-6.08,61.18-18.07,89.52c-11.58,27.39-28.17,51.99-49.3,73.11s-45.73,37.72-73.11,49.3c-28.34,11.99-58.46,18.07-89.52,18.07s-61.18-6.08-89.52-18.07c-27.39-11.58-51.99-28.17-73.11-49.3-21.13-21.13-37.72-45.73-49.3-73.11-11.99-28.34-18.07-58.46-18.07-89.52s6.08-61.18,18.07-89.52c11.58-27.39,28.17-51.99,49.3-73.11,21.13-21.13,45.73-37.72,73.11-49.3,28.34-11.99,58.46-18.07,89.52-18.07m0-20C111.93,0,0,111.93,0,250s111.93,250,250,250,250-111.93,250-250S388.07,0,250,0h0Z"/>
|
||||
<text transform="translate(193.93 213.75) scale(1.35 1)" style="font-family: SimHei, SimHei; font-size: 161.58px;"><tspan x="0" y="0">G</tspan></text>
|
||||
<text transform="translate(145.34 570.94) scale(1.24 1)" style="font-family: SimHei, SimHei; font-size: 327.63px;"><tspan x="0" y="0">~</tspan></text>
|
||||
</svg>
|
After Width: | Height: | Size: 1.0 KiB |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 278 500">
|
||||
<path d="m139,21c31.79,0,61.67,12.38,84.15,34.85,22.48,22.48,34.85,52.36,34.85,84.15s-12.38,61.67-34.85,84.15c-22.48,22.48-52.36,34.85-84.15,34.85s-61.67-12.38-84.15-34.85c-22.48-22.48-34.85-52.36-34.85-84.15s12.38-61.67,34.85-84.15c22.48-22.48,52.36-34.85,84.15-34.85m0-20C62.23,1,0,63.23,0,140s62.23,139,139,139,139-62.23,139-139S215.77,1,139,1h0Z"/>
|
||||
<path d="m139,242c31.79,0,61.67,12.38,84.15,34.85,22.48,22.48,34.85,52.36,34.85,84.15s-12.38,61.67-34.85,84.15c-22.48,22.48-52.36,34.85-84.15,34.85s-61.67-12.38-84.15-34.85c-22.48-22.48-34.85-52.36-34.85-84.15s12.38-61.67,34.85-84.15c22.48-22.48,52.36-34.85,84.15-34.85m0-20C62.23,222,0,284.23,0,361s62.23,139,139,139,139-62.23,139-139-62.23-139-139-139h0Z"/>
|
||||
</svg>
|
After Width: | Height: | Size: 861 B |
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg id="_图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180">
|
||||
<rect y="0" width="180" height="180" rx="18.7" ry="18.7"/>
|
||||
</svg>
|
After Width: | Height: | Size: 205 B |
@ -0,0 +1,39 @@
|
||||
<!-- eslint-disable vue/html-indent -->
|
||||
<template>
|
||||
<div class="w-1/1 h-1/1 flex justify-center items-center custom-card">
|
||||
<el-card
|
||||
class="w-95/100 h-95/100"
|
||||
:shadow="props.shadow as any"
|
||||
:style="{
|
||||
'background-color': props.backGroundColor
|
||||
}"
|
||||
></el-card>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ElCard } from 'element-plus';
|
||||
const props = defineProps({
|
||||
shadow: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
backGroundColor: {
|
||||
type: String,
|
||||
default: '#ffffff'
|
||||
},
|
||||
boxShadow: {
|
||||
type: String,
|
||||
default: '#ffffff'
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style lang="less">
|
||||
.custom-card {
|
||||
.el-card.is-always-shadow {
|
||||
box-shadow: v-bind('`0px 0px 12px ${$props.boxShadow}`') !important;
|
||||
}
|
||||
.el-card.is-hover-shadow:hover {
|
||||
box-shadow: v-bind('`0px 0px 12px ${$props.boxShadow}`') !important;
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,71 @@
|
||||
<template>
|
||||
<table class="w-1/1 h-1/1 kvTable">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="kvKey kvKeyValue" colspan="1">{{ props.label }}</td>
|
||||
<td class="kvValue kvKeyValue" colspan="1">{{ props.value }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ElDescriptions, ElDescriptionsItem } from 'element-plus';
|
||||
import type { PropType } from 'vue';
|
||||
const props = defineProps({
|
||||
fontFamily: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
fontSize: {
|
||||
type: Number,
|
||||
default: 15
|
||||
},
|
||||
label: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
labelWidth: {
|
||||
type: Number,
|
||||
default: 50
|
||||
},
|
||||
value: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
valueWidth: {
|
||||
type: Number,
|
||||
default: 50
|
||||
},
|
||||
color: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
border: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
borderColor: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style scroped>
|
||||
.kvTable {
|
||||
border: v-bind('`${props.border?1:0}px solid ${props.borderColor}`');
|
||||
}
|
||||
.kvKeyValue {
|
||||
font-size: v-bind('`${props.fontSize}px`');
|
||||
font-family: v-bind('`${props.fontFamily}`');
|
||||
color: v-bind('`${props.color}`');
|
||||
}
|
||||
.kvKey {
|
||||
width: v-bind('`${props.labelWidth}px`');
|
||||
border-right-width: v-bind('`${props.border?1:0}px`');
|
||||
border-right-style: solid;
|
||||
border-right-color: v-bind('`${props.borderColor}`') !important;
|
||||
}
|
||||
.kvValue {
|
||||
width: v-bind('`${props.valueWidth}px`');
|
||||
}
|
||||
</style>
|
@ -0,0 +1,78 @@
|
||||
<!-- eslint-disable vue/html-indent -->
|
||||
<template>
|
||||
<div>
|
||||
<div class="flex">
|
||||
<div class="font-bold" :style="{ color: props.fontColor, fontSize: `${props.dateSize}px` }">
|
||||
{{ date }}
|
||||
</div>
|
||||
<div
|
||||
class="font-bold ml-5px"
|
||||
:style="{ color: props.fontColor, fontSize: `${props.weekSize}px ` }"
|
||||
>
|
||||
{{ week }}
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="font-bold mt-5px ml-5px"
|
||||
:style="{ color: props.fontColor, fontSize: `${props.timeSize}px ` }"
|
||||
>
|
||||
{{ time }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { computed, onMounted, ref, onUnmounted } from 'vue';
|
||||
const props = defineProps({
|
||||
fontColor: {
|
||||
type: String,
|
||||
default: '#000000'
|
||||
},
|
||||
dateSize: {
|
||||
type: Number,
|
||||
default: 12
|
||||
},
|
||||
weekSize: {
|
||||
type: Number,
|
||||
default: 12
|
||||
},
|
||||
timeSize: {
|
||||
type: Number,
|
||||
default: 24
|
||||
}
|
||||
});
|
||||
const now_date = ref(new Date());
|
||||
const timer = ref();
|
||||
const date = computed(() => {
|
||||
const year = now_date.value.getFullYear();
|
||||
const month = now_date.value.getMonth() + 1;
|
||||
const day = now_date.value.getDate();
|
||||
const time = year.toString() + '年' + month.toString() + '月' + day.toString() + '日';
|
||||
return time;
|
||||
});
|
||||
const week = computed(() => {
|
||||
const d = now_date.value.getDay();
|
||||
const weekday = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
|
||||
const time = weekday[d];
|
||||
return time;
|
||||
});
|
||||
const time = computed(() => {
|
||||
const hour = now_date.value.getHours();
|
||||
const minute = now_date.value.getMinutes();
|
||||
const second = now_date.value.getSeconds();
|
||||
const time =
|
||||
(hour < 10 ? '0' + hour.toString() : hour.toString()) +
|
||||
':' +
|
||||
(minute < 10 ? '0' + minute.toString() : minute.toString()) +
|
||||
':' +
|
||||
(second < 10 ? '0' + second.toString() : second.toString());
|
||||
return time;
|
||||
});
|
||||
onMounted(() => {
|
||||
timer.value = setInterval(() => {
|
||||
now_date.value = new Date(); // 修改数据date
|
||||
}, 500);
|
||||
});
|
||||
onUnmounted(() => {
|
||||
clearInterval(timer.value);
|
||||
});
|
||||
</script>
|
@ -0,0 +1,48 @@
|
||||
<template>
|
||||
<div style="width: 100%; height: 100%">
|
||||
<button class="w-1/1 h-1/1" :style="getStyle(props.type, props.round)">
|
||||
<el-text>{{ props.text }}</el-text>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ElText } from 'element-plus';
|
||||
import type { PropType } from 'vue';
|
||||
type ButtonType = '' | 'default' | 'success' | 'warning' | 'info' | 'primary' | 'danger';
|
||||
const props = defineProps({
|
||||
text: {
|
||||
type: String,
|
||||
default: '按钮文本'
|
||||
},
|
||||
type: {
|
||||
type: String as PropType<ButtonType>,
|
||||
default: ''
|
||||
},
|
||||
round: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
});
|
||||
const getStyle = (type: ButtonType, round: boolean) => {
|
||||
let bg_color = '';
|
||||
let border_radius = '4px';
|
||||
if (type == 'primary') {
|
||||
bg_color = '#409eff';
|
||||
} else if (type == 'success') {
|
||||
bg_color = '#67c23a';
|
||||
} else if (type == 'warning') {
|
||||
bg_color = '#e6a23c';
|
||||
} else if (type == 'danger') {
|
||||
bg_color = '#f56c6c';
|
||||
} else if (type == 'info') {
|
||||
bg_color = '#909399';
|
||||
}
|
||||
if (round) {
|
||||
border_radius = '20px';
|
||||
}
|
||||
return {
|
||||
backgroundColor: bg_color,
|
||||
borderRadius: border_radius
|
||||
};
|
||||
};
|
||||
</script>
|
@ -0,0 +1,39 @@
|
||||
<template>
|
||||
<p
|
||||
class="break-words w-1/1 h-1/1"
|
||||
:class="props.vertical ? 'text-vertical' : ''"
|
||||
:style="{ fontFamily: props.fontFamily, fontSize: props.fontSize + 'px', color: props.fill }"
|
||||
>
|
||||
{{ props.text }}
|
||||
</p>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
const props = defineProps({
|
||||
fontFamily: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
fontSize: {
|
||||
type: Number,
|
||||
default: 15
|
||||
},
|
||||
text: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
fill: {
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
vertical: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
}
|
||||
});
|
||||
</script>
|
||||
<style scoped>
|
||||
.text-vertical {
|
||||
writing-mode: tb;
|
||||
letter-spacing: 5px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,11 @@
|
||||
import { describe, it, expect } from 'vitest';
|
||||
|
||||
import { mount } from '@vue/test-utils';
|
||||
import HelloWorld from '../index.vue';
|
||||
|
||||
describe('HelloWorld', () => {
|
||||
it('renders properly', () => {
|
||||
const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } });
|
||||
expect(wrapper.text()).toContain('Hello Vitest');
|
||||
});
|
||||
});
|
@ -0,0 +1,5 @@
|
||||
<template>
|
||||
<div class="w-1/1 h-1/1 select-none">
|
||||
<slot></slot>
|
||||
</div>
|
||||
</template>
|
@ -0,0 +1,196 @@
|
||||
<template>
|
||||
<div>
|
||||
<div
|
||||
v-for="(item, key) in points"
|
||||
:key="key"
|
||||
:id="`resize_${key}`"
|
||||
:style="item"
|
||||
class="mt-dzr-resize mt-dzr-resize-point touch-none"
|
||||
@mousedown="(e) => onMouseDown(e, key)"
|
||||
@touchstart.passive="(e) => onMouseDown(e, key)"
|
||||
></div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { computed, ref } from 'vue';
|
||||
import type { IDzrPropsModelValue } from '../types';
|
||||
import { dzrStore } from '../store';
|
||||
import {
|
||||
autoDestroyMouseMove,
|
||||
calcGrid,
|
||||
centerToTL,
|
||||
degToRadian,
|
||||
formatData,
|
||||
getLength,
|
||||
getNewStyle,
|
||||
getXY
|
||||
} from '../utils';
|
||||
import type { MouseTouchEvent } from '../utils/types';
|
||||
type ResizeProps = {
|
||||
itemInfo: IDzrPropsModelValue;
|
||||
targetDom: HTMLElement | null;
|
||||
scaleRatio: number;
|
||||
gridAlignSize: number;
|
||||
genId: string;
|
||||
useProportionalScaling?: boolean;
|
||||
};
|
||||
const resizeProps = withDefaults(defineProps<ResizeProps>(), {
|
||||
scaleRatio: 1,
|
||||
gridAlignSize: 1,
|
||||
useProportionalScaling: false
|
||||
});
|
||||
const points = computed(() => {
|
||||
return {
|
||||
tl: {
|
||||
left: '0px',
|
||||
top: '0px',
|
||||
cursor: getCursor(0)
|
||||
},
|
||||
tc: {
|
||||
left: resizeProps.itemInfo.width / 2 + 'px',
|
||||
top: '0px',
|
||||
cursor: getCursor(45)
|
||||
},
|
||||
tr: {
|
||||
left: resizeProps.itemInfo.width + 'px',
|
||||
top: '0px',
|
||||
cursor: getCursor(90)
|
||||
},
|
||||
l: {
|
||||
left: '0px',
|
||||
top: resizeProps.itemInfo.height / 2 + 'px',
|
||||
cursor: getCursor(315)
|
||||
},
|
||||
r: {
|
||||
left: resizeProps.itemInfo.width + 'px',
|
||||
top: resizeProps.itemInfo.height / 2 + 'px',
|
||||
cursor: getCursor(135)
|
||||
},
|
||||
bl: {
|
||||
left: '0px',
|
||||
top: resizeProps.itemInfo.height + 'px',
|
||||
cursor: getCursor(270)
|
||||
},
|
||||
bc: {
|
||||
left: resizeProps.itemInfo.width / 2 + 'px',
|
||||
top: resizeProps.itemInfo.height + 'px',
|
||||
cursor: getCursor(225)
|
||||
},
|
||||
br: {
|
||||
left: resizeProps.itemInfo.width + 'px',
|
||||
top: resizeProps.itemInfo.height + 'px',
|
||||
cursor: getCursor(180)
|
||||
}
|
||||
};
|
||||
});
|
||||
const angle_to_cursor = [
|
||||
{ start: 338, end: 23, cursor: 'nw' },
|
||||
{ start: 23, end: 68, cursor: 'n' },
|
||||
{ start: 68, end: 113, cursor: 'ne' },
|
||||
{ start: 293, end: 338, cursor: 'w' },
|
||||
{ start: 113, end: 158, cursor: 'e' },
|
||||
{ start: 248, end: 293, cursor: 'sw' },
|
||||
{ start: 203, end: 248, cursor: 's' },
|
||||
{ start: 158, end: 203, cursor: 'se' }
|
||||
];
|
||||
/**
|
||||
* 获取旋转之后的光标样式
|
||||
* @param init_angle 初始角度 360/8=45
|
||||
*/
|
||||
const getCursor = (init_angle: number) => {
|
||||
const now_init_angle = (init_angle + resizeProps.itemInfo.angle) % 360;
|
||||
const find_cursor = angle_to_cursor.find(
|
||||
(f) => f.start <= now_init_angle && f.end > now_init_angle
|
||||
);
|
||||
if (!find_cursor) {
|
||||
return 'nw-resize';
|
||||
}
|
||||
return find_cursor.cursor + '-resize';
|
||||
};
|
||||
const emits = defineEmits(['update:itemInfo', 'onResizeDone', 'onResizeMove']);
|
||||
//记录原始位置
|
||||
const dzr_copy_info_value = ref({ ...resizeProps.itemInfo });
|
||||
const onMouseDown = (
|
||||
de: MouseTouchEvent,
|
||||
type: 'tl' | 'tc' | 'tr' | 'l' | 'r' | 'bl' | 'bc' | 'br'
|
||||
) => {
|
||||
de.stopPropagation();
|
||||
dzr_copy_info_value.value = { ...resizeProps.itemInfo };
|
||||
const { clientX: de_client_x, clientY: de_client_y } = getXY(de);
|
||||
//计算组件中心点
|
||||
const { width, height, left, top } = resizeProps.itemInfo;
|
||||
const centerX = left + width / 2;
|
||||
const centerY = top + height / 2;
|
||||
//记录原始信息和中心点
|
||||
const rect = {
|
||||
width,
|
||||
height,
|
||||
centerX,
|
||||
centerY,
|
||||
rotateAngle: resizeProps.itemInfo.angle
|
||||
};
|
||||
const onMouseMove = (me: MouseTouchEvent) => {
|
||||
me.preventDefault();
|
||||
dzrStore.showDzrCopy({ ...dzr_copy_info_value.value }, resizeProps.genId);
|
||||
const { clientX: me_client_x, clientY: me_client_y } = getXY(me);
|
||||
// 距离 网格对齐
|
||||
const delta_x = (me_client_x - de_client_x) / resizeProps.scaleRatio;
|
||||
const delta_y = (me_client_y - de_client_y) / resizeProps.scaleRatio;
|
||||
const alpha = Math.atan2(delta_y, delta_x);
|
||||
const delta_l = getLength(delta_x, delta_y);
|
||||
const beta = alpha - degToRadian(rect.rotateAngle);
|
||||
const deltaW = delta_l * Math.cos(beta);
|
||||
const deltaH = delta_l * Math.sin(beta);
|
||||
// 如果按shift键则等比缩放
|
||||
const ratio =
|
||||
resizeProps.useProportionalScaling || me.shiftKey ? rect.width / rect.height : undefined;
|
||||
const {
|
||||
position: { centerX, centerY },
|
||||
size: { width, height }
|
||||
} = getNewStyle(type, { ...rect, rotateAngle: rect.rotateAngle }, deltaW, deltaH, ratio, 1, 1);
|
||||
const pData = centerToTL({
|
||||
centerX,
|
||||
centerY,
|
||||
width,
|
||||
height,
|
||||
angle: resizeProps.itemInfo.angle
|
||||
});
|
||||
const format_data = formatData(pData, centerX, centerY);
|
||||
const new_width = calcGrid(format_data.width, resizeProps.gridAlignSize);
|
||||
const new_height = calcGrid(format_data.height, resizeProps.gridAlignSize);
|
||||
emits('update:itemInfo', {
|
||||
...resizeProps.itemInfo,
|
||||
...format_data,
|
||||
left: calcGrid(format_data.left, resizeProps.gridAlignSize),
|
||||
top: calcGrid(format_data.top, resizeProps.gridAlignSize),
|
||||
width: new_width,
|
||||
height: new_height
|
||||
});
|
||||
emits('onResizeMove', {
|
||||
width: new_width,
|
||||
height: new_height
|
||||
});
|
||||
};
|
||||
autoDestroyMouseMove(onMouseMove, () => {
|
||||
dzrStore.hideDzrCopy();
|
||||
emits('onResizeDone');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.mt-dzr-resize {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
.mt-dzr-resize-point {
|
||||
position: absolute;
|
||||
background: #fff;
|
||||
border: 1px solid #59c7f9;
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
margin-left: -4px;
|
||||
margin-top: -4px;
|
||||
border-radius: 50%;
|
||||
z-index: 1;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,88 @@
|
||||
<template>
|
||||
<div class="mt-dzr-rotate touch-none" @mousedown="onMouseDown" @touchstart.passive="onMouseDown">
|
||||
<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<path
|
||||
d="M929 849a30 30 0 0 1-30-30v-83.137a447.514 447.514 0 0 1-70.921 92.209C722.935 933.225 578.442 975.008 442 953.482a444.917 444.917 0 0 1-241.139-120.591 30 30 0 1 1 37.258-47.01l0.231-0.231A385.175 385.175 0 0 0 442 892.625v-0.006c120.855 22.123 250.206-13.519 343.656-106.975a386.646 386.646 0 0 0 70.6-96.653h-87.247a30 30 0 0 1 0-60H929a30 30 0 0 1 30 30V819a30 30 0 0 1-30 30zM512 392a120 120 0 1 1-120 120 120 120 0 0 1 120-120z m293.005-147.025a29.87 29.87 0 0 1-19.117-6.882l-0.232 0.231A386.5 386.5 0 0 0 689.478 168h-0.011c-145.646-75.182-329.021-51.747-451.117 70.35a386.615 386.615 0 0 0-70.6 96.65H255a30 30 0 0 1 0 60H95a30 30 0 0 1-30-30V205a30 30 0 0 1 60 0v83.129a447.534 447.534 0 0 1 70.923-92.206C317.981 73.866 493.048 37.2 647 85.836v-0.045a444.883 444.883 0 0 1 176.143 105.291 30 30 0 0 1-18.138 53.893z"
|
||||
fill="#06B7FF"
|
||||
></path>
|
||||
</svg>
|
||||
</div>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { ref } from 'vue';
|
||||
import { dzrStore } from '../store';
|
||||
import type { IDzrPropsModelValue } from '../types';
|
||||
import { alignToGrid, autoDestroyMouseMove, getXY } from '../utils';
|
||||
import type { MouseTouchEvent } from '../utils/types';
|
||||
type RotateProps = {
|
||||
itemInfo: IDzrPropsModelValue;
|
||||
targetDom: HTMLElement | null;
|
||||
genId: string;
|
||||
};
|
||||
const rotateProps = withDefaults(defineProps<RotateProps>(), {});
|
||||
const emits = defineEmits(['update:itemInfo', 'onRotateDone', 'onRotateMove']);
|
||||
//记录原始位置
|
||||
const dzr_copy_info_value = ref({ ...rotateProps.itemInfo });
|
||||
const is_mouse_down = ref(false);
|
||||
const onMouseDown = (de: MouseTouchEvent) => {
|
||||
de.stopPropagation();
|
||||
if (!rotateProps.targetDom) {
|
||||
console.error('target_dom is null');
|
||||
return;
|
||||
}
|
||||
const target_dom_rect = rotateProps.targetDom.getBoundingClientRect();
|
||||
if (!target_dom_rect) {
|
||||
console.error('boundingClientRect is null');
|
||||
return;
|
||||
}
|
||||
const { clientX: de_client_x, clientY: de_client_y } = getXY(de);
|
||||
dzr_copy_info_value.value = { ...rotateProps.itemInfo };
|
||||
dzrStore.hideDzrCopy();
|
||||
//记录旋转前的初始值
|
||||
const init_angle = rotateProps.itemInfo.angle;
|
||||
//计算组件中心点位置
|
||||
const center_x = target_dom_rect.left + target_dom_rect.width / 2;
|
||||
const center_y = target_dom_rect.top + target_dom_rect.height / 2;
|
||||
is_mouse_down.value = true;
|
||||
const onMouseMove = (me: MouseTouchEvent) => {
|
||||
if (!is_mouse_down.value) {
|
||||
return;
|
||||
}
|
||||
const { clientX: me_client_x, clientY: me_client_y } = getXY(me);
|
||||
dzrStore.showDzrCopy({ ...dzr_copy_info_value.value }, rotateProps.genId);
|
||||
// 旋转前的角度
|
||||
const rotate_before =
|
||||
Math.atan2(de_client_y - center_y, de_client_x - center_x) / (Math.PI / 180);
|
||||
// 旋转后的角度
|
||||
const rotate_after =
|
||||
Math.atan2(me_client_y - center_y, me_client_x - center_x) / (Math.PI / 180);
|
||||
const new_angle = alignToGrid(init_angle + rotate_after - rotate_before);
|
||||
emits('update:itemInfo', {
|
||||
...rotateProps.itemInfo,
|
||||
left: alignToGrid(rotateProps.itemInfo.left),
|
||||
top: alignToGrid(rotateProps.itemInfo.top),
|
||||
angle: new_angle
|
||||
});
|
||||
emits('onRotateMove', {
|
||||
angle: new_angle
|
||||
});
|
||||
};
|
||||
autoDestroyMouseMove(onMouseMove, () => {
|
||||
dzrStore.hideDzrCopy();
|
||||
is_mouse_down.value = false;
|
||||
emits('onRotateDone');
|
||||
});
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.mt-dzr-rotate {
|
||||
position: absolute;
|
||||
cursor: grab;
|
||||
left: 50%;
|
||||
top: 0;
|
||||
transform: translate(-50%, -160%);
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
font-size: 20px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,3 @@
|
||||
import MtDzr from './index.vue';
|
||||
|
||||
export default MtDzr;
|