*
8
.env
Normal file
@@ -0,0 +1,8 @@
|
||||
# port 端口号
|
||||
VITE_PORT = 7789
|
||||
|
||||
# open 运行 npm run dev 时自动打开浏览器
|
||||
VITE_OPEN = true
|
||||
|
||||
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
|
||||
VITE_PUBLIC_PATH = ./
|
||||
12
.env.development
Normal file
@@ -0,0 +1,12 @@
|
||||
# 本地环境
|
||||
ENV = 'development'
|
||||
|
||||
# 本地环境接口地址
|
||||
VITE_API_URL = 'https://core-155601-6-1313201839.sh.run.tcloudbase.com'
|
||||
# VITE_API_URL = 'http://8.141.89.4:7788'
|
||||
# 监控服务地址
|
||||
|
||||
VITE_REPORT_URL = 'http://6.0.0.74:9001'
|
||||
|
||||
# 大屏地址
|
||||
VITE_SCREEN_URL = 'http://localhost:3000/visual'
|
||||
15
.env.production
Normal file
@@ -0,0 +1,15 @@
|
||||
# 线上环境
|
||||
ENV = 'production'
|
||||
|
||||
# 线上环境接口地址
|
||||
# VITE_API_URL = 'https://r.l-l.cn:7788'
|
||||
VITE_API_URL = 'https://core-155601-6-1313201839.sh.run.tcloudbase.com'
|
||||
# VITE_API_URL = 'http://8.141.89.4:7788'
|
||||
|
||||
# VITE_RULE_URL = 'https://x.l-l.cn:7791'
|
||||
# VITE_REPORT_URL = 'https://x.l-l.cn:9001'
|
||||
|
||||
# 大屏地址
|
||||
# VITE_SCREEN_URL = 'http://l.l-l.cn/visual'
|
||||
VITE_SCREEN_URL = 'http://x.l-l.cn/visual'
|
||||
# VITE_SCREEN_URL = 'https://r.l-l.cn:7788'
|
||||
63
.eslintrc.js
Normal file
@@ -0,0 +1,63 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true,
|
||||
node: true,
|
||||
},
|
||||
parser: 'vue-eslint-parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 12,
|
||||
parser: '@typescript-eslint/parser',
|
||||
sourceType: 'module',
|
||||
},
|
||||
extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
|
||||
plugins: ['vue', '@typescript-eslint'],
|
||||
rules: {
|
||||
// http://eslint.cn/docs/rules/
|
||||
// https://eslint.vuejs.org/rules/
|
||||
'@type-eslint/ban-ts-ignore': 'off',
|
||||
'@type-eslint/explicit-function-return-type': 'off',
|
||||
'@type-eslint/no-explicit-any': 'off',
|
||||
'@type-eslint/no-var-requires': 'off',
|
||||
'@type-eslint/no-empty-function': 'off',
|
||||
'@type-eslint/no-use-before-define': 'off',
|
||||
'@type-eslint/ban-ts-comment': 'off',
|
||||
'@type-eslint/ban-types': 'off',
|
||||
'@type-eslint/no-non-null-assertion': 'off',
|
||||
'@type-eslint/explicit-module-boundary-types': 'off',
|
||||
'vue/custom-event-name-casing': 'off',
|
||||
'vue/attributes-order': 'off',
|
||||
'vue/one-component-per-file': 'off',
|
||||
'vue/html-closing-bracket-newline': 'off',
|
||||
'vue/max-attributes-per-line': 'off',
|
||||
'vue/multiline-html-element-content-newline': 'off',
|
||||
'vue/singleline-html-element-content-newline': 'off',
|
||||
'vue/attribute-hyphenation': 'off',
|
||||
'vue/html-self-closing': 'off',
|
||||
'vue/no-multiple-template-root': 'off',
|
||||
'vue/require-default-prop': 'off',
|
||||
'vue/no-v-model-argument': 'off',
|
||||
'vue/no-arrow-functions-in-watch': 'off',
|
||||
'vue/no-template-key': 'off',
|
||||
'vue/no-v-html': 'off',
|
||||
'vue/comment-directive': 'off',
|
||||
'vue/no-parsing-error': 'off',
|
||||
'vue/no-deprecated-v-on-native-modifier': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'no-useless-escape': 'off',
|
||||
'no-sparse-arrays': 'off',
|
||||
'no-prototype-builtins': 'off',
|
||||
'no-constant-condition': 'off',
|
||||
'no-use-before-define': 'off',
|
||||
'no-restricted-globals': 'off',
|
||||
'no-restricted-syntax': 'off',
|
||||
'generator-star-spacing': 'off',
|
||||
'no-unreachable': 'off',
|
||||
'no-multiple-template-root': 'off',
|
||||
'no-unused-vars': 'error',
|
||||
'no-v-model-argument': 'off',
|
||||
'no-case-declarations': 'off',
|
||||
'no-console': 'error',
|
||||
},
|
||||
};
|
||||
24
.gitignore
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
/deploy/dist
|
||||
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
39
.prettierrc.js
Normal file
@@ -0,0 +1,39 @@
|
||||
module.exports = {
|
||||
// 一行最多多少个字符
|
||||
printWidth: 150,
|
||||
// 指定每个缩进级别的空格数
|
||||
tabWidth: 2,
|
||||
// 使用制表符而不是空格缩进行
|
||||
useTabs: true,
|
||||
// 在语句末尾打印分号
|
||||
semi: true,
|
||||
// 使用单引号而不是双引号
|
||||
singleQuote: true,
|
||||
// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
|
||||
quoteProps: 'as-needed',
|
||||
// 在JSX中使用单引号而不是双引号
|
||||
jsxSingleQuote: false,
|
||||
// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
|
||||
trailingComma: 'es5',
|
||||
// 在对象文字中的括号之间打印空格
|
||||
bracketSpacing: true,
|
||||
// jsx 标签的反尖括号需要换行
|
||||
jsxBracketSameLine: false,
|
||||
// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
|
||||
arrowParens: 'always',
|
||||
// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
|
||||
rangeStart: 0,
|
||||
rangeEnd: Infinity,
|
||||
// 指定要使用的解析器,不需要写文件开头的 @prettier
|
||||
requirePragma: false,
|
||||
// 不需要自动在文件开头插入 @prettier
|
||||
insertPragma: false,
|
||||
// 使用默认的折行标准 always\never\preserve
|
||||
proseWrap: 'preserve',
|
||||
// 指定HTML文件的全局空格敏感度 css\strict\ignore
|
||||
htmlWhitespaceSensitivity: 'css',
|
||||
// Vue文件脚本和样式标签缩进
|
||||
vueIndentScriptAndStyle: false,
|
||||
// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
|
||||
endOfLine: 'lf',
|
||||
};
|
||||
8
Dockerfile
Normal file
@@ -0,0 +1,8 @@
|
||||
FROM nginx:1.25-alpine
|
||||
LABEL MAINTAINER="PandaX"
|
||||
|
||||
COPY deploy/default.conf /etc/nginx/conf.d/default.conf
|
||||
COPY deploy/dist /usr/share/nginx/html/
|
||||
|
||||
#暴露容器8001端口
|
||||
EXPOSE 7789
|
||||
93
LICENSE
Normal file
@@ -0,0 +1,93 @@
|
||||
Elastic License 2.0
|
||||
|
||||
URL: https://www.elastic.co/licensing/elastic-license
|
||||
|
||||
## Acceptance
|
||||
|
||||
By using the software, you agree to all of the terms and conditions below.
|
||||
|
||||
## Copyright License
|
||||
|
||||
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
||||
non-sublicensable, non-transferable license to use, copy, distribute, make
|
||||
available, and prepare derivative works of the software, in each case subject to
|
||||
the limitations and conditions below.
|
||||
|
||||
## Limitations
|
||||
|
||||
You may not provide the software to third parties as a hosted or managed
|
||||
service, where the service provides users with access to any substantial set of
|
||||
the features or functionality of the software.
|
||||
|
||||
You may not move, change, disable, or circumvent the license key functionality
|
||||
in the software, and you may not remove or obscure any functionality in the
|
||||
software that is protected by the license key.
|
||||
|
||||
You may not alter, remove, or obscure any licensing, copyright, or other notices
|
||||
of the licensor in the software. Any use of the licensor’s trademarks is subject
|
||||
to applicable law.
|
||||
|
||||
## Patents
|
||||
|
||||
The licensor grants you a license, under any patent claims the licensor can
|
||||
license, or becomes able to license, to make, have made, use, sell, offer for
|
||||
sale, import and have imported the software, in each case subject to the
|
||||
limitations and conditions in this license. This license does not cover any
|
||||
patent claims that you cause to be infringed by modifications or additions to
|
||||
the software. If you or your company make any written claim that the software
|
||||
infringes or contributes to infringement of any patent, your patent license for
|
||||
the software granted under these terms ends immediately. If your company makes
|
||||
such a claim, your patent license ends immediately for work on behalf of your
|
||||
company.
|
||||
|
||||
## Notices
|
||||
|
||||
You must ensure that anyone who gets a copy of any part of the software from you
|
||||
also gets a copy of these terms.
|
||||
|
||||
If you modify the software, you must include in any modified copies of the
|
||||
software prominent notices stating that you have modified the software.
|
||||
|
||||
## No Other Rights
|
||||
|
||||
These terms do not imply any licenses other than those expressly granted in
|
||||
these terms.
|
||||
|
||||
## Termination
|
||||
|
||||
If you use the software in violation of these terms, such use is not licensed,
|
||||
and your licenses will automatically terminate. If the licensor provides you
|
||||
with a notice of your violation, and you cease all violation of this license no
|
||||
later than 30 days after you receive that notice, your licenses will be
|
||||
reinstated retroactively. However, if you violate these terms after such
|
||||
reinstatement, any additional violation of these terms will cause your licenses
|
||||
to terminate automatically and permanently.
|
||||
|
||||
## No Liability
|
||||
|
||||
_As far as the law allows, the software comes as is, without any warranty or
|
||||
condition, and the licensor will not be liable to you for any damages arising
|
||||
out of these terms or the use or nature of the software, under any kind of
|
||||
legal claim._
|
||||
|
||||
## Definitions
|
||||
|
||||
The **licensor** is the entity offering these terms, and the **software** is the
|
||||
software the licensor makes available under these terms, including any portion
|
||||
of it.
|
||||
|
||||
**you** refers to the individual or entity agreeing to these terms.
|
||||
|
||||
**your company** is any legal entity, sole proprietorship, or other kind of
|
||||
organization that you work for, plus all organizations that have control over,
|
||||
are under the control of, or are under common control with that
|
||||
organization. **control** means ownership of substantially all the assets of an
|
||||
entity, or the power to direct its management and policies by vote, contract, or
|
||||
otherwise. Control can be direct or indirect.
|
||||
|
||||
**your licenses** are all the licenses granted to you for the software under
|
||||
these terms.
|
||||
|
||||
**use** means anything you do with the software requiring one of your licenses.
|
||||
|
||||
**trademark** means trademarks, service marks, and similar rights.
|
||||
5
auto-imports.d.ts
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
// Generated by 'unplugin-auto-import'
|
||||
export {}
|
||||
declare global {
|
||||
|
||||
}
|
||||
51
components.d.ts
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
/* eslint-disable */
|
||||
// @ts-nocheck
|
||||
// Generated by unplugin-vue-components
|
||||
// Read more: https://github.com/vuejs/core/pull/3399
|
||||
// biome-ignore lint: disable
|
||||
export {}
|
||||
|
||||
/* prettier-ignore */
|
||||
declare module 'vue' {
|
||||
export interface GlobalComponents {
|
||||
Advanced: typeof import('./src/components/setting/advanced.vue')['default']
|
||||
Approval: typeof import('./src/components/approval.vue')['default']
|
||||
Auth: typeof import('./src/components/auth/auth.vue')['default']
|
||||
AuthAll: typeof import('./src/components/auth/authAll.vue')['default']
|
||||
Auths: typeof import('./src/components/auth/auths.vue')['default']
|
||||
BasicList: typeof import('./src/components/basicList/index.vue')['default']
|
||||
Budget: typeof import('./src/components/setting/budget.vue')['default']
|
||||
Building: typeof import('./src/components/setting/building.vue')['default']
|
||||
ChatBox: typeof import('./src/components/chatBox/index.vue')['default']
|
||||
CodeEditor: typeof import('./src/components/component/code-editor/index.vue')['default']
|
||||
Color: typeof import('./src/components/component/color/index.vue')['default']
|
||||
Combined: typeof import('./src/components/setting/combined.vue')['default']
|
||||
Cropper: typeof import('./src/components/cropper/index.vue')['default']
|
||||
Equipment: typeof import('./src/components/setting/equipment.vue')['default']
|
||||
Exa: typeof import('./src/components/basicList/exa.vue')['default']
|
||||
FilterPopover: typeof import('./src/components/filter/FilterPopover.vue')['default']
|
||||
FloatMap: typeof import('./src/components/floatMap/index.vue')['default']
|
||||
IconSelector: typeof import('./src/components/iconSelector/index.vue')['default']
|
||||
ImageAnnotation: typeof import('./src/components/ImageAnnotation.vue')['default']
|
||||
ImageAnnotationModal: typeof import('./src/components/ImageAnnotationModal.vue')['default']
|
||||
ImportBox: typeof import('./src/components/importBox/index.vue')['default']
|
||||
Importoutport: typeof import('./src/components/importoutport.vue')['default']
|
||||
Intangible: typeof import('./src/components/setting/intangible.vue')['default']
|
||||
Manhour: typeof import('./src/components/manhour/manhour.vue')['default']
|
||||
MDInput: typeof import('./src/components/panda/MDInput.vue')['default']
|
||||
Members: typeof import('./src/components/setting/members.vue')['default']
|
||||
Module: typeof import('./src/components/setting/module.vue')['default']
|
||||
NoticeBar: typeof import('./src/components/noticeBar/index.vue')['default']
|
||||
Preparation: typeof import('./src/components/preparation.vue')['default']
|
||||
RouteLoading: typeof import('./src/components/RouteLoading/index.vue')['default']
|
||||
RouterLink: typeof import('vue-router')['RouterLink']
|
||||
RouterView: typeof import('vue-router')['RouterView']
|
||||
Rule: typeof import('./src/components/component/rule/index.vue')['default']
|
||||
ScreenShort: typeof import('./src/components/screenShort/index.vue')['default']
|
||||
SvgIcon: typeof import('./src/components/svgIcon/index.vue')['default']
|
||||
Tag: typeof import('./src/components/basicList/Tag.vue')['default']
|
||||
TechCascader: typeof import('./src/components/TechCascader.vue')['default']
|
||||
Text: typeof import('./src/components/basicList/Text.vue')['default']
|
||||
Upload: typeof import('./src/components/upload/index.vue')['default']
|
||||
}
|
||||
}
|
||||
28
index.html
Normal file
@@ -0,0 +1,28 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN" data-theme="dark">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
|
||||
<title>Loading ...</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<script src="//instant.page/5.2.0" type="module"
|
||||
integrity="sha384-jnZyxPjiipYXnSU0ygqeac2q7CVYMbh84q0uHVRRxEtvFPiQYbXWUorga2aqZJ0z"></script>
|
||||
<!-- <script src="/jessibuca.js"></script> -->
|
||||
<!-- <script src="/instantPage.js" ></script> -->
|
||||
<!-- <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script> -->
|
||||
<!-- <script src="https://cdn.bootcdn.net/ajax/libs/crypto-js/4.2.0/crypto-js.min.js"></script> -->
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_4731468_6f82rb9czvq.css">
|
||||
|
||||
</html>
|
||||
11531
package-lock.json
generated
Normal file
107
package.json
Normal file
@@ -0,0 +1,107 @@
|
||||
{
|
||||
"name": "PandaUi",
|
||||
"type": "module",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"dev": "vite --force",
|
||||
"build": "vite build",
|
||||
"serve": "vite preview",
|
||||
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,vue,html,css,scss}\"",
|
||||
"lint": "eslint --fix \"src/**/*.{js,jsx,ts,tsx,vue}\""
|
||||
},
|
||||
"dependencies": {
|
||||
"@amap/amap-jsapi-loader": "^1.0.1",
|
||||
"@codemirror/lang-javascript": "^6.2.3",
|
||||
"@codemirror/lint": "^6.8.5",
|
||||
"@codemirror/theme-one-dark": "^6.1.2",
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
"@form-create/element-ui": "^3.2.20",
|
||||
"@highlightjs/vue-plugin": "^2.1.0",
|
||||
"@icon-park/vue-next": "^1.4.2",
|
||||
"@logicflow/core": "^2.0.11",
|
||||
"@logicflow/extension": "^2.0.15",
|
||||
"@vueuse/core": "^13.0.0",
|
||||
"@vueuse/shared": "^13.0.0",
|
||||
"ace-builds": "^1.39.0",
|
||||
"axios": "^1.7.9",
|
||||
"china-area-data": "^5.0.1",
|
||||
"codemirror": "^6.0.1",
|
||||
"codemirror-copilot": "^0.0.7",
|
||||
"cropperjs": "^1.6.2",
|
||||
"crypto-js": "^4.2.0",
|
||||
"echarts": "^5.5.1",
|
||||
"element-plus": "^2.9.9",
|
||||
"eslint4b-prebuilt": "^6.7.2",
|
||||
"file-saver": "^2.0.5",
|
||||
"fuse.js": "^7.1.0",
|
||||
"highlight.js": "^11.11.1",
|
||||
"hls.js": "^1.6.7",
|
||||
"install": "^0.13.0",
|
||||
"js-beautify": "^1.15.4",
|
||||
"js-cookie": "^3.0.5",
|
||||
"marked": "^15.0.7",
|
||||
"mitt": "^3.0.1",
|
||||
"moment": "^2.30.1",
|
||||
"mpvue-calendar": "^3.0.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^3.0.1",
|
||||
"qrcode-vue3": "^1.7.1",
|
||||
"qrcodejs2-fixes": "^0.0.2",
|
||||
"rollup-plugin-visualizer": "^5.14.0",
|
||||
"screenfull": "^6.0.2",
|
||||
"scriptjs": "^2.5.9",
|
||||
"sortablejs": "^1.15.6",
|
||||
"terser": "^5.39.0",
|
||||
"vue": "^3.5.13",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-codemirror": "^6.1.1",
|
||||
"vue-i18n": "^11.1.2",
|
||||
"vue-pro-calendar": "^1.1.11-r6",
|
||||
"vue-router": "^4.5.0",
|
||||
"vue3-colorpicker": "^2.3.0",
|
||||
"vue3-contextmenu": "^0.2.12",
|
||||
"vue3-sketch-ruler": "^2.2.9",
|
||||
"xlsx": "^0.18.5",
|
||||
"xlsx-style-vite": "^0.0.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@rollup/plugin-commonjs": "^28.0.3",
|
||||
"@rollup/plugin-node-resolve": "^16.0.1",
|
||||
"@types/axios": "^0.14.0",
|
||||
"@types/clipboard": "^2.0.7",
|
||||
"@types/js-cookie": "^3.0.6",
|
||||
"@types/node": "^22.13.10",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/sortablejs": "^1.15.8",
|
||||
"@typescript-eslint/eslint-plugin": "^8.26.1",
|
||||
"@typescript-eslint/parser": "^8.26.1",
|
||||
"@vitejs/plugin-vue": "^5.2.3",
|
||||
"dotenv": "^16.4.7",
|
||||
"eslint": "^9.22.0",
|
||||
"eslint-plugin-vue": "^10.0.0",
|
||||
"ffmpeg": "^0.0.4",
|
||||
"lint-staged": "^15.5.0",
|
||||
"prettier": "^3.5.3",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"sass": "^1.86.0",
|
||||
"scss": "^0.2.4",
|
||||
"typescript": "^5.8.2",
|
||||
"unplugin-vue-components": "^28.4.1",
|
||||
"unplugin-vue-define-options": "^1.5.5",
|
||||
"vite": "^5.1.0",
|
||||
"vite-plugin-compression": "^0.5.1",
|
||||
"vite-plugin-define": "^1.0.7",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
||||
"vue-eslint-parser": "^10.1.3"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">=12.0.0",
|
||||
"npm": ">= 6.0.0"
|
||||
}
|
||||
}
|
||||
3
plugins.d.ts
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
declare module 'vue-grid-layout';
|
||||
declare module "splitpanes";
|
||||
declare module "vite-plugin-vue-setup-extend";
|
||||
6994
pnpm-lock.yaml
generated
Normal file
BIN
public/favicon.ico
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
13
shim.d.ts
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
/* eslint-disable */
|
||||
|
||||
// 声明文件,*.vue 后缀的文件交给 vue 模块来处理
|
||||
declare module '*.vue' {
|
||||
import { DefineComponent } from 'vue';
|
||||
const component: DefineComponent<{}, {}, any>;
|
||||
export default component;
|
||||
}
|
||||
|
||||
// 声明文件,定义全局变量。其它 app.config.globalProperties.xxx,使用 getCurrentInstance() 来获取
|
||||
interface Window {
|
||||
nextLoading: boolean;
|
||||
}
|
||||
10
source.d.ts
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
declare module '*.json';
|
||||
declare module '*.png';
|
||||
declare module '*.jpg';
|
||||
declare module '*.scss';
|
||||
declare module '*.ts';
|
||||
declare module '*.js';
|
||||
declare module '@form-create/element-ui';
|
||||
declare module 'codemirror-editor-vue3';
|
||||
declare module 'element-plus';
|
||||
|
||||
14
src/@types/enterprise.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
// name: '',
|
||||
// type: '',
|
||||
// stakeholder: '',
|
||||
// stakeholderTel: ''
|
||||
|
||||
/**
|
||||
* 企业单位对象
|
||||
*/
|
||||
export type Enterprise = {
|
||||
id?: string,
|
||||
name: string,
|
||||
stakeholder?: string,
|
||||
stakeholderTel?: string
|
||||
}
|
||||
28
src/@types/event.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* 事件对象
|
||||
*/
|
||||
export type EventType = {
|
||||
id: string;
|
||||
name: string;
|
||||
description?: string; // 事件描述
|
||||
aimType?: number; // 目标类型
|
||||
findTime: string; // 发现时间
|
||||
fileImg: string; // 事件图片
|
||||
sceneType?: number; // 场景类型
|
||||
eventType?: number; // 事件性质
|
||||
status?: number; // 状态
|
||||
latitude?: number; // 纬度
|
||||
longitude?: number; // 经度
|
||||
addr?: string; // 地址
|
||||
addrDesc?: string; // 地址描述
|
||||
projectId?: string; // 项目id
|
||||
projectName?: string; // 项目名称
|
||||
executorId?: string; // 执行人id
|
||||
executorName?: string; // 执行人名称
|
||||
abnormalLevel?: number; // 异常等级
|
||||
handleTime?: string; // 处理时间
|
||||
scenePhotos?: string; // 场景照片
|
||||
dutyId?:string;// 责任人
|
||||
dutyName?:string;
|
||||
fileImgUrl?: string; // 事件图片地址
|
||||
}
|
||||
175
src/App.vue
Normal file
@@ -0,0 +1,175 @@
|
||||
<template>
|
||||
<el-config-provider :locale="zhCn">
|
||||
<router-view v-show="getThemeConfig.lockScreenTime !== 0" />
|
||||
<Setings ref="setingsRef" v-show="getThemeConfig.lockScreenTime !== 0" />
|
||||
<CloseFull />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { computed, onBeforeUnmount, ref, getCurrentInstance, onBeforeMount, onMounted, onUnmounted, nextTick, defineComponent, watch, reactive, toRefs } from 'vue';
|
||||
import { useRoute, useRouter } from 'vue-router';
|
||||
import { useThemeConfigStateStore } from '@/stores/themeConfig';
|
||||
import { useTagsViewRoutesStore } from '@/stores/tagsViewRoutes';
|
||||
import other from '@/utils/other';
|
||||
|
||||
import { Local, Session } from '@/utils/storage';
|
||||
import setIntroduction from '@/utils/setIconfont';
|
||||
import Setings from '@/layout/navBars/breadcrumb/setings.vue';
|
||||
import CloseFull from '@/layout/navBars/breadcrumb/closeFull.vue';
|
||||
import zhCn from 'element-plus/dist/locale/zh-cn.mjs';
|
||||
import Cookies from 'js-cookie';
|
||||
import { goAuth } from '@/utils/util';
|
||||
|
||||
const BASE_URL = import.meta.env.VITE_API_URL;
|
||||
|
||||
export default defineComponent({
|
||||
name: 'app',
|
||||
components: { Setings, CloseFull },
|
||||
setup() {
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
const setingsRef = ref();
|
||||
const route = useRoute();
|
||||
const router = useRouter();
|
||||
const theme = useThemeConfigStateStore();
|
||||
const tagsViewRoutes = useTagsViewRoutesStore();
|
||||
const state: any = reactive({
|
||||
i18nLocale: null,
|
||||
TIMER: null, // 定时器
|
||||
});
|
||||
|
||||
const coverFetch = () => {
|
||||
// 保存原生的 fetch 方法(可选,可用于恢复)
|
||||
const originalFetch = window.fetch;
|
||||
|
||||
/**
|
||||
* 封装 fetch 方法,覆盖全局 fetch,并添加响应拦截
|
||||
* @param {RequestInfo} input - 请求的 URL 或 Request 对象
|
||||
* @param {RequestInit} [init] - 可选的请求配置
|
||||
* @returns {Promise<Response>} - 返回处理后的响应
|
||||
*/
|
||||
window.fetch = async function (input, init) {
|
||||
try {
|
||||
// 调用原生 fetch
|
||||
const response = await originalFetch(input, init);
|
||||
|
||||
// 拦截 413 状态码
|
||||
if (response.status === 413) {
|
||||
goAuth(); // 调用认证函数
|
||||
throw new Error("Request too large (413), authentication required");
|
||||
}
|
||||
|
||||
return response; // 返回正常响应
|
||||
} catch (error) {
|
||||
console.error("Fetch error:", error);
|
||||
throw error; // 重新抛出错误
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// 获取布局配置信息
|
||||
const getThemeConfig = computed(() => {
|
||||
return theme.themeConfig;
|
||||
});
|
||||
// 布局配置弹窗打开
|
||||
const openSetingsDrawer = () => {
|
||||
setingsRef.value.openDrawer();
|
||||
};
|
||||
// 订阅消息
|
||||
const subscribe = () => {
|
||||
const eventSource = new EventSource(`/api/event/heartbeat`);
|
||||
// 处理自定义事件
|
||||
eventSource.addEventListener('message', async (event) => {
|
||||
const customData = JSON.parse(event.data);
|
||||
console.log('收到自定义事件:', customData);
|
||||
});
|
||||
eventSource.addEventListener('info', async (event) => {
|
||||
const customData = JSON.parse(event.data);
|
||||
console.log('收到自定义事件:', customData);
|
||||
});
|
||||
eventSource.addEventListener('warning', async (event) => {
|
||||
const customData = JSON.parse(event.data);
|
||||
console.log('收到自定义事件:', customData);
|
||||
});
|
||||
}
|
||||
|
||||
// 设置初始化,防止刷新时恢复默认
|
||||
onBeforeMount(() => {
|
||||
// 设置批量第三方 icon 图标
|
||||
setIntroduction.cssCdn();
|
||||
// 设置批量第三方 js
|
||||
setIntroduction.jsCdn();
|
||||
});
|
||||
// 页面加载时
|
||||
onMounted(() => {
|
||||
coverFetch()
|
||||
nextTick(() => {
|
||||
// 监听布局配置弹窗点击打开
|
||||
proxy.mittBus.on('openSetingsDrawer', () => {
|
||||
openSetingsDrawer();
|
||||
});
|
||||
// 获取缓存中的布局配置
|
||||
const config = { ...Local.get('themeConfig') };
|
||||
config.wartermarkText = Cookies.get('nickname') + ' ' + new Date().toLocaleDateString() || '';
|
||||
if (Local.get('themeConfig')) {
|
||||
theme.setThemeConfig(config);
|
||||
document.documentElement.style.cssText = Local.get('themeConfigStyle');
|
||||
}
|
||||
// 获取缓存中的全屏配置
|
||||
if (Session.get('isTagsViewCurrenFull')) {
|
||||
tagsViewRoutes.setCurrenFullscreen(Session.get('isTagsViewCurrenFull'));
|
||||
}
|
||||
setTimeout(() => {
|
||||
console.log('页面加载时', route.path);
|
||||
if (route.path != '/login' && state.TIMER == null) {
|
||||
state.TIMER = setInterval(() => {
|
||||
subscribe();
|
||||
}, 10 * 60 * 1000)
|
||||
}
|
||||
}, 1000)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
// 页面销毁时,关闭监听布局配置/i18n监听
|
||||
onUnmounted(() => {
|
||||
proxy.mittBus.off('openSetingsDrawer', () => { });
|
||||
proxy.mittBus.off('getI18nConfig', () => { });
|
||||
clearInterval(state.TIMER);
|
||||
});
|
||||
// 监听路由的变化,设置网站标题
|
||||
watch(
|
||||
() => route.path,
|
||||
() => {
|
||||
if (route.path == '/page') return;
|
||||
other.useTitle();
|
||||
// 过期接口请求会413,跳转登录页,这里暂时不需要前端判断
|
||||
// const expire = localStorage.getItem('expire');
|
||||
// if (Date.now() > Number(expire) * 1000 && route.path != '/login') {
|
||||
// // 过期
|
||||
// Session.clear(); // 清除缓存/token等
|
||||
// router.push('');
|
||||
// }
|
||||
}
|
||||
);
|
||||
return {
|
||||
zhCn,
|
||||
setingsRef,
|
||||
getThemeConfig,
|
||||
...toRefs(state),
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
console.info = function () { };
|
||||
console.warn = function () { };
|
||||
console.error = function () { };
|
||||
},
|
||||
});
|
||||
</script>
|
||||
|
||||
<style>
|
||||
input:-internal-autofill-previewed,
|
||||
input:-internal-autofill-selected {
|
||||
transition: background-color 5000s ease-in-out 0s !important;
|
||||
}
|
||||
</style>
|
||||
10
src/api/chat.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
|
||||
export function chat(data: any,) {
|
||||
return request({
|
||||
url: `/api/utils/aigc`,
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
0
src/api/cycle.ts
Normal file
9
src/api/develop/database.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
// 查询缓存列表
|
||||
export function list(query: any) {
|
||||
return request({
|
||||
url: '/api/runtime/database/sql',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
9
src/api/event/map.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 获取事件地图列表
|
||||
export function getEventMap() {
|
||||
return request({
|
||||
url: `/api/f?f=event_map&action=list`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
10
src/api/event/videoList.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 获取事件地图列表
|
||||
export function getVideoList(params) {
|
||||
return request({
|
||||
url: `/api/bf/event`,
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
}
|
||||
9
src/api/evn.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
/* 测-函数应用 */
|
||||
export const TEST_FUN = "/api/f/test"
|
||||
/* 线上-函数应用 */
|
||||
export const PRO_FUN = "/api/f"
|
||||
/* 数据应用 */
|
||||
export const DATA_MODEL = "/api/x"
|
||||
/** 域名地址 */
|
||||
export const HOST_R = "https://shkc.p-q.co"
|
||||
export const HOST = "https://shkc.p-q.co/app"
|
||||
28
src/api/files/list.ts
Normal file
@@ -0,0 +1,28 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 获取文件列表
|
||||
export function get(data = {}) {
|
||||
return request({
|
||||
url: '/api/files',
|
||||
method: 'get',
|
||||
params: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 新增文件目录
|
||||
export function add(data: any) {
|
||||
return request({
|
||||
url: '/api/files',
|
||||
method: 'post',
|
||||
data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改文件
|
||||
export function update(data: any) {
|
||||
return request({
|
||||
url: '/api/files',
|
||||
method: 'put',
|
||||
data,
|
||||
});
|
||||
}
|
||||
41
src/api/function/cache.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import request from '@/utils/request';
|
||||
// 查询缓存列表
|
||||
export function listCache(query: any) {
|
||||
return request({
|
||||
url: '/api/core/runtime/cache',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除缓存
|
||||
export function delCache(query: any) {
|
||||
/*
|
||||
{
|
||||
path:[
|
||||
'/test1/function.js',
|
||||
'/test2/function.js,
|
||||
]
|
||||
}
|
||||
*/
|
||||
const newQuery = Array.isArray(query) ? query : [query];
|
||||
return request({
|
||||
method: 'delete',
|
||||
// url: `/call/runtime/cache/remove?path=${query}`,
|
||||
url: `/api/core/runtime/cache`,
|
||||
params: {
|
||||
path: newQuery,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// 删除所有缓存
|
||||
export function delCacheAll() {
|
||||
return request({
|
||||
method: 'delete',
|
||||
url: `/api/core/runtime/cache`,
|
||||
params: {
|
||||
path: ['*'],
|
||||
},
|
||||
});
|
||||
}
|
||||
39
src/api/function/thread.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import request from '@/utils/request';
|
||||
// 查询缓存列表
|
||||
export function listThread(query: any) {
|
||||
return request({
|
||||
url: '/api/core/runtime/thread',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
export function stopThread(query: any) {
|
||||
/*
|
||||
{
|
||||
path:[
|
||||
'/test1/function.js',
|
||||
'/test2/function.js,
|
||||
]
|
||||
}
|
||||
*/
|
||||
const newQuery = Array.isArray(query) ? query : [query];
|
||||
return request({
|
||||
method: 'delete',
|
||||
url: `/api/core/runtime/thread/stop`,
|
||||
params: {
|
||||
path: newQuery,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// 删除所有缓存
|
||||
export function stopThreadAll() {
|
||||
return request({
|
||||
method: 'delete',
|
||||
url: `/api/core/runtime/thread/stop`,
|
||||
params: {
|
||||
path: ['*'],
|
||||
},
|
||||
});
|
||||
}
|
||||
25
src/api/gen/gen.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
//视图
|
||||
export function preview(tableId: any) {
|
||||
return request({
|
||||
url: '/api/dm/template/' + tableId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 生成代码
|
||||
export function code(tableId: any) {
|
||||
return request({
|
||||
url: '/api/develop/code/gen/code/' + tableId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 生成api菜单
|
||||
export function menuAndApi(tableId: any, menuId: any) {
|
||||
return request({
|
||||
url: '/api/develop/code/gen/configure/' + tableId + '?menuId=' + menuId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
124
src/api/gen/table.ts
Normal file
@@ -0,0 +1,124 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// /dm/struct/:id 获取数据模型结构
|
||||
// /dm/:id 获取接口模型配置
|
||||
|
||||
// 导入表列表
|
||||
export function getDbList(query: any) {
|
||||
return request({
|
||||
url: '/api/core/runtime/database/sql/tables',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 获取代码生成列表
|
||||
export function getTableList(query: any) {
|
||||
return request({
|
||||
// url: '/api/develop/code/table/list',
|
||||
url: '/api/dm',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表信息
|
||||
export function getTableInfo(tableId: any) {
|
||||
return request({
|
||||
url: '/api/develop/code/table/info/' + tableId,
|
||||
// url: '/api/dm/struct/' + tableId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表字段信息
|
||||
export function getTableColInfo(tableId: any) {
|
||||
return request({
|
||||
url: `/api/dm/struct/${tableId}?showAll=1`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表基础信息
|
||||
export function getTableBasicInfo(tableId: any) {
|
||||
return request({
|
||||
url: '/api/dm/' + tableId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 获取表信息
|
||||
export function getTableInfoByName(query: any) {
|
||||
return request({
|
||||
url: '/api/develop/code/table/info/tableName',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 获取表树信息
|
||||
export function getTableTree() {
|
||||
return request({
|
||||
url: '/api/dm/tables',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 导入表
|
||||
export function insertTable(data: any) {
|
||||
return request({
|
||||
url: '/api/dm/import',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改代码列字段信息
|
||||
// export function updateTable(id: any, data: any) {
|
||||
// return request({
|
||||
// // url: '/api/develop/code/table',
|
||||
// url: '/api/dm/cols/' + id,
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateTable(id: any, data: any) {
|
||||
return request({
|
||||
url: `/api/dm/struct/${id}?showAll=1`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改代码基本信息
|
||||
export function updateBasicTable(data: any) {
|
||||
return request({
|
||||
url: '/api/dm/' + data.tableId,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除表
|
||||
export function deleteTable(tableId: any) {
|
||||
return request({
|
||||
// url: '/api/develop/code/table/' + tableId,
|
||||
url: '/api/dm/' + tableId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 同步表数据
|
||||
export function snycTable(tableId: any) {
|
||||
return request({
|
||||
url: '/api/dm/cols/sync/' + tableId,
|
||||
method: 'post',
|
||||
});
|
||||
}
|
||||
|
||||
// 复制表
|
||||
export function copyTable(tableId: any) {
|
||||
return request({
|
||||
url: '/api/dm/copy/' + tableId,
|
||||
method: 'post',
|
||||
});
|
||||
}
|
||||
358
src/api/http/api_path.ts
Normal file
@@ -0,0 +1,358 @@
|
||||
// `api/x/${id}?t=i1ShCjbpxC5&pagSize`
|
||||
// fetch("/api/x?t=RalWodrampleFromGitp&paternerId[]", {
|
||||
// method: "PdST",
|
||||
// headers: {
|
||||
// "Content-Type": "application/json",
|
||||
// },
|
||||
// body: JSON.stringify(data),
|
||||
// })
|
||||
// .then((response)
|
||||
// => response.json ()
|
||||
// .then((data) => {
|
||||
// console.log("Success:", data);
|
||||
// .catch((error)
|
||||
// =>
|
||||
// (
|
||||
// console.error("Error:", error
|
||||
// )
|
||||
// src/api/api_path.ts
|
||||
|
||||
// const API_BASE_URL = '/api/x';
|
||||
|
||||
// const API_BASE_URL = '/api/x'; // 接口根路径
|
||||
//
|
||||
// /**
|
||||
// * 获取原料列表(支持分页、搜索)
|
||||
// * @param params - 分页参数(page: 当前页, pageSize: 每页数量)、搜索参数(search: 关键词)
|
||||
// */
|
||||
// export const fetchList = async (params: {
|
||||
// page?: number;
|
||||
// pageSize?: number;
|
||||
// search?: string;
|
||||
// [key: string]: any; // 扩展参数
|
||||
// }) => {
|
||||
// const query = new URLSearchParams({
|
||||
// t: 'i1ShCjbpxC5', // 固定参数(根据需求保留)
|
||||
// ...(params.page ? { page: params.page.toString() } : {}),
|
||||
// ...(params.pageSize ? { pageSize: params.pageSize.toString() } : {}),
|
||||
// ...(params.search ? { search: params.search } : {}),
|
||||
// });
|
||||
//
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}?${query}`, {
|
||||
// method: 'GET',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
//
|
||||
// if (!response.ok) {
|
||||
// const errorData = await response.json();
|
||||
// throw new Error(errorData.msg || `请求失败: ${response.status}`);
|
||||
// }
|
||||
//
|
||||
// const data = await response.json();
|
||||
// return {
|
||||
// data: data.records || [], // 假设接口返回 { records: [], total: number }
|
||||
// total: data.total || 0,
|
||||
// };
|
||||
// } catch (error) {
|
||||
// console.error('获取原料列表失败:', error);
|
||||
// throw new Error('获取原料列表失败,请重试');
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// /**
|
||||
// * 获取单个原料详情
|
||||
// * @param id - 原料编码(主键)
|
||||
// */
|
||||
// export const fetchItem = async (id: string) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'GET',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
//
|
||||
// if (!response.ok) {
|
||||
// const errorData = await response.json();
|
||||
// throw new Error(errorData.msg || `获取详情失败: ${response.status}`);
|
||||
// }
|
||||
//
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('获取原料详情失败:', error);
|
||||
// throw new Error('获取原料详情失败,请重试');
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// /**
|
||||
// * 新增原料
|
||||
// * @param data - 原料数据(需包含 id、name、type、unit、price、status 等必填字段)
|
||||
// */
|
||||
// export const createItem = async (data: {
|
||||
// id: string;
|
||||
// name: string;
|
||||
// type: string;
|
||||
// unit: string;
|
||||
// price: number;
|
||||
// status?: number;
|
||||
// proprietorId?: string; // 创建用户 ID(可选,根据权限系统调整)
|
||||
// proprietorName?: string; // 创建用户名称(可选)
|
||||
// }) => {
|
||||
// // 字段映射:确保前端驼峰字段与数据库下划线字段一致(如需)
|
||||
// const requestData = {
|
||||
// ...data,
|
||||
// // 示例:若数据库字段为 proprietor_id,需手动转换
|
||||
// // proprietor_id: data.proprietorId,
|
||||
// // proprietor_name: data.proprietorName,
|
||||
// };
|
||||
//
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}?t=i1ShCjbpxC5`, {
|
||||
// method: 'POST',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// body: JSON.stringify(requestData),
|
||||
// });
|
||||
//
|
||||
// if (!response.ok) {
|
||||
// const errorData = await response.json();
|
||||
// throw new Error(errorData.msg || `新增失败: ${response.status}`);
|
||||
// }
|
||||
//
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('新增原料失败:', error);
|
||||
// throw new Error('新增原料失败,请检查参数');
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// /**
|
||||
// * 更新原料
|
||||
// * @param id - 原料编码(主键)
|
||||
// * @param data - 更新的数据(需包含至少一个可修改字段)
|
||||
// */
|
||||
// export const updateItem = async (id: string, data: {
|
||||
// name?: string;
|
||||
// type?: string;
|
||||
// spaces?: string;
|
||||
// unit?: string;
|
||||
// price?: number;
|
||||
// status?: number;
|
||||
// }) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'PUT',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// body: JSON.stringify(data),
|
||||
// });
|
||||
//
|
||||
// if (!response.ok) {
|
||||
// const errorData = await response.json();
|
||||
// throw new Error(errorData.msg || `更新失败: ${response.status}`);
|
||||
// }
|
||||
//
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('更新原料失败:', error);
|
||||
// throw new Error('更新原料失败,请检查参数');
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// /**
|
||||
// * 删除原料(物理删除或逻辑删除)
|
||||
// * @param id - 原料编码(主键)
|
||||
// */
|
||||
// export const deleteItem = async (id: string) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'DELETE',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
//
|
||||
// if (!response.ok) {
|
||||
// const errorData = await response.json();
|
||||
// throw new Error(errorData.msg || `删除失败: ${response.status}`);
|
||||
// }
|
||||
//
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('删除原料失败:', error);
|
||||
// throw new Error('删除原料失败,请确认权限');
|
||||
// }
|
||||
// };
|
||||
|
||||
|
||||
// // 获取列表数据
|
||||
// export const fetchList = async (params: { pageSize?: number, [key: string]: any } = {}) => {
|
||||
// const query = new URLSearchParams();
|
||||
// if (params.pageSize) query.append('pageSize', params.pageSize.toString());
|
||||
// // 添加其他查询参数
|
||||
// Object.keys(params).forEach(key => {
|
||||
// if (key !== 'pageSize' && params[key] !== undefined) {
|
||||
// query.append(key, params[key]);
|
||||
// }
|
||||
// });
|
||||
//
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}?t=i1ShCjbpxC5&${query.toString()}`, {
|
||||
// method: 'GET',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('获取列表失败:', error);
|
||||
// throw error;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// // 获取单个数据项
|
||||
// export const fetchItem = async (id: string) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'GET',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('获取数据项失败:', error);
|
||||
// throw error;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// // 创建数据
|
||||
// export const createItem = async (data: any) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}?t=i1ShCjbpxC5`, {
|
||||
// method: 'POST',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// body: JSON.stringify(data),
|
||||
// });
|
||||
// console.log(JSON.stringify(data)+"qqqqqqqqqqqqqqqq")
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('创建数据失败:', error);
|
||||
// throw error;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// // 更新数据
|
||||
// export const updateItem = async (id: string, data: any) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'PUT',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// body: JSON.stringify(data),
|
||||
// });
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('更新数据失败:', error);
|
||||
// throw error;
|
||||
// }
|
||||
// };
|
||||
//
|
||||
// // 删除数据
|
||||
// export const deleteItem = async (id: string) => {
|
||||
// try {
|
||||
// const response = await fetch(`${API_BASE_URL}/${id}?t=i1ShCjbpxC5`, {
|
||||
// method: 'DELETE',
|
||||
// headers: {
|
||||
// 'Content-Type': 'application/json',
|
||||
// },
|
||||
// });
|
||||
// console.log(id+"要删除的IDgggggggggg")
|
||||
// return await response.json();
|
||||
// } catch (error) {
|
||||
// console.error('删除数据失败:', error);
|
||||
// throw error;
|
||||
// }
|
||||
// };
|
||||
|
||||
|
||||
|
||||
// API基础路径
|
||||
export const getDataPath = "/api/x";
|
||||
export const getDataByFunc = "/api/f";
|
||||
export const getDictPath = "/api/dict/data/type";
|
||||
export const getDataByFuncV2 = "/api/f?f=my_hours_v2";
|
||||
|
||||
// 项目相关函数名称
|
||||
const PROJECT_FUNC = "myprojectts";
|
||||
const PROJECT_MANAGERS_FUNC = "myprojectmanagers";
|
||||
|
||||
// 通用请求函数
|
||||
const lowcodeRequest = async (func: string, method: string = 'GET', data?: any) => {
|
||||
const url = `${getDataByFunc}?f=${func}`;
|
||||
const options: RequestInit = {
|
||||
method,
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
};
|
||||
|
||||
if (data && method !== 'GET') {
|
||||
options.body = JSON.stringify(data);
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await fetch(url, options);
|
||||
const result = await response.json();
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(result.msg || '请求失败');
|
||||
}
|
||||
|
||||
return result;
|
||||
} catch (error) {
|
||||
console.error('API请求错误:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
// 项目相关API
|
||||
export const projectApi = {
|
||||
// 获取项目列表
|
||||
getProjects: () => lowcodeRequest(PROJECT_FUNC),
|
||||
|
||||
// 获取单个项目
|
||||
getProjectById: (id: string) => lowcodeRequest(`${PROJECT_FUNC}&id=${id}`),
|
||||
|
||||
// 创建项目
|
||||
createProject: (data: any) => lowcodeRequest(PROJECT_FUNC, 'POST', data),
|
||||
|
||||
// 更新项目
|
||||
updateProject: (id: string, data: any) => lowcodeRequest(PROJECT_FUNC, 'PUT', { id, ...data }),
|
||||
|
||||
// 删除项目
|
||||
deleteProject: (id: string | string[]) => {
|
||||
const ids = Array.isArray(id) ? id : [id];
|
||||
return lowcodeRequest(PROJECT_FUNC, 'DELETE', { ids });
|
||||
},
|
||||
|
||||
// 获取项目管理者
|
||||
getProjectManagers: (projectId: string) =>
|
||||
lowcodeRequest(`${PROJECT_MANAGERS_FUNC}&project_id=${projectId}`),
|
||||
|
||||
// 添加项目管理者
|
||||
addProjectManager: (projectId: string, managerId: number, role: string) =>
|
||||
lowcodeRequest(PROJECT_MANAGERS_FUNC, 'POST', { project_id: projectId, manager_id: managerId, role }),
|
||||
|
||||
// 移除项目管理者
|
||||
removeProjectManager: (id: string) =>
|
||||
lowcodeRequest(PROJECT_MANAGERS_FUNC, 'DELETE', { id })
|
||||
};
|
||||
113
src/api/http/project_API.ts
Normal file
@@ -0,0 +1,113 @@
|
||||
import {error} from "echarts/types/src/util/log";
|
||||
|
||||
const API_BASE_URL = '/api/x';
|
||||
// const API_TIMESTAMP = 'i1ShCjbpxC5'; // 页面应用代码
|
||||
|
||||
export const fetchList = async (params: { pageSize?: number, [key: string]: any } = {}) => {
|
||||
const query = new URLSearchParams();
|
||||
if (params.pageSize) query.append('pageSize', params.pageSize.toString());
|
||||
// 添加其他查询参数
|
||||
Object.keys(params).forEach(key => {
|
||||
if (key !== 'pageSize' && params[key] !== undefined) {
|
||||
query.append(key, params[key]);
|
||||
}
|
||||
});
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}?t=i1XuaQDK9zw&${query.toString()}`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
console.error('获取列表失败:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
// 获取单个数据项
|
||||
export const fetchItem = async (id: string) => {
|
||||
try {
|
||||
//console.log(id+"id 给了没")
|
||||
const response = await fetch(`${API_BASE_URL}/${id}?t=i1XuaQDK9zw`, {
|
||||
method: 'GET',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
});
|
||||
//console.log(await response.json()+"chadaodeshujv")
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
console.error('获取数据项失败:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
// 创建数据
|
||||
|
||||
export const createItem = async (data: any) => {
|
||||
const response = await fetch(`${API_BASE_URL}?t=i1XuaQDK9zw`, {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify(data),
|
||||
});
|
||||
const result = await response.json();
|
||||
if (!response.ok) {
|
||||
throw new Error(result.msg || '创建失败');
|
||||
}
|
||||
return result;
|
||||
};
|
||||
// 更新数据
|
||||
export const updateItem = async (id: string, data: any) => {
|
||||
try {
|
||||
const response = await fetch(`${API_BASE_URL}/${id}?t=i1XuaQDK9zw`, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(data),
|
||||
});
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
console.error('更新数据失败:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
export const deleteItem = async (ids: string | string[]) => {
|
||||
try {
|
||||
// 确保ID为数组格式
|
||||
console.log(ids+"llllllllllllllll")
|
||||
const idArray = Array.isArray(ids) ? ids : [ids];
|
||||
|
||||
if (idArray.length === 0) {
|
||||
throw new Error('删除操作需要至少一个ID');
|
||||
}
|
||||
|
||||
// 构建查询参数(符合后端要求的格式)
|
||||
const query = new URLSearchParams();
|
||||
query.append('t', 'i1XuaQDK9zw'); // 固定参数
|
||||
|
||||
// 添加数组参数(生成 id[]=1&id[]=2 格式)
|
||||
idArray.forEach(id => query.append('id[]', id));
|
||||
console.log(query.toString()+"aaaaaaaaaaaaaaaaaaaaaa")
|
||||
const response = await fetch(`${API_BASE_URL}?${query.toString()}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
// DELETE 请求通常不需要 body
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
const errorData = await response.json();
|
||||
throw new Error(errorData.msg || '删除失败');
|
||||
}
|
||||
|
||||
return await response.json();
|
||||
} catch (error) {
|
||||
console.error('删除失败:', error);
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
41
src/api/log/login.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询参数列表分页
|
||||
// export function listLoginInfo(query:any) {
|
||||
// return request({
|
||||
// url: '/api/log/logLogin/list',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
|
||||
export function listLoginInfo(query: any) {
|
||||
return request({
|
||||
url: '/api/log/login',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除
|
||||
// export function delLoginInfo(infoId: any) {
|
||||
// return request({
|
||||
// url: '/api/log/logLogin/' + infoId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function delLoginInfo(infoId: any) {
|
||||
return request({
|
||||
url: '/api/log/login/' + infoId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 清空
|
||||
export function cleanLoginInfo() {
|
||||
return request({
|
||||
url: '/api/log/login',
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
47
src/api/log/oper.ts
Normal file
@@ -0,0 +1,47 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询参数列表分页
|
||||
// export function listOperInfo(query: any) {
|
||||
// return request({
|
||||
// url: '/api/log/logOper/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function listOperInfo(query: any) {
|
||||
return request({
|
||||
url: '/api/log/operation/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 删除
|
||||
// export function delOperInfo(operId: any) {
|
||||
// return request({
|
||||
// url: '/api/log/logOper/' + operId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function delOperInfo(operId: any) {
|
||||
return request({
|
||||
url: '/api/log/operation/list/' + operId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 清空
|
||||
// export function cleanOpernfo() {
|
||||
// return request({
|
||||
// url: '/api/log/logOper/all',
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function cleanOpernfo() {
|
||||
return request({
|
||||
url: '/api/log/operation/list',
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
68
src/api/login/index.ts
Normal file
@@ -0,0 +1,68 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 获取验证码
|
||||
* @param params 要传的参数值
|
||||
* @returns 返回接口数据
|
||||
*/
|
||||
|
||||
export function captcha() {
|
||||
return request({
|
||||
url: '/api/utils/captcha',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户登录
|
||||
* @param params 要传的参数值
|
||||
* @returns 返回接口数据
|
||||
*/
|
||||
export function signIn(params: object) {
|
||||
return request({
|
||||
url: '/api/user/login',
|
||||
method: 'post',
|
||||
data: params,
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户登出
|
||||
*/
|
||||
export function logout() {
|
||||
return request({
|
||||
url: '/api/user/logout',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建免密登录
|
||||
* @returns 返回接口数据
|
||||
*/
|
||||
|
||||
export function signInByCode(query: string) {
|
||||
return request({
|
||||
url: `/api/user/oauth/sms/${query}`,
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Cache-Control': 'skip-cache',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取免密登录状态
|
||||
* @returns 返回接口数据
|
||||
*/
|
||||
|
||||
export function getSignInByCodeStatus(query: string) {
|
||||
return request({
|
||||
url: `/api/user/oauth/sms/${query}`,
|
||||
method: 'GET',
|
||||
// 请求头
|
||||
headers: {
|
||||
'Cache-Control': 'skip-cache',
|
||||
},
|
||||
});
|
||||
}
|
||||
14
src/api/menu/index.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
/**
|
||||
* 后端控制菜单模拟json,路径在 https://gitee.com/PandaAdmin/PandaX-images/tree/master/menu
|
||||
* 后端控制路由,isRequestRoutes 为 true,则开启后端控制路由
|
||||
*/
|
||||
|
||||
// 获取路由
|
||||
export const getRouters = () => {
|
||||
return request({
|
||||
url: '/api/getRouters',
|
||||
method: 'get',
|
||||
});
|
||||
};
|
||||
10
src/api/power.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 获取动力明细
|
||||
export function getPowerDetail(params: { projectId: string, dateMonth: string }) {
|
||||
return request({
|
||||
url: `/api/f?f=project_power_detail`,
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
}
|
||||
59
src/api/public/basic.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
export function getStruct(listId: any) {
|
||||
return request({
|
||||
url: `/api/dm/struct/${listId}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
export function get(query: any, listId: any) {
|
||||
if (typeof query === 'object' && query !== null) {
|
||||
return request({
|
||||
url: `/api/x?t=${listId}`,
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
} else {
|
||||
return request({
|
||||
url: `/api/x/${query}?t=${listId}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function add(data: any, listId: any) {
|
||||
return request({
|
||||
url: `/api/x?t=${listId}`,
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function update(query: any, data: any, listId: any) {
|
||||
return request({
|
||||
url: `/api/x/${query}?t=${listId}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function del(data: any, listId: any) {
|
||||
return request({
|
||||
url: `/api/x?t=${listId}`,
|
||||
method: 'delete',
|
||||
params: data,
|
||||
// 存在批量删除,pk为数组
|
||||
// {
|
||||
// partner_id: pk
|
||||
// }
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
export function getDict(query: any,) {
|
||||
return request({
|
||||
url: `/api/f?f=hTkdp9xadts&dictType=${query}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
0
src/api/public/file.ts
Normal file
104
src/api/system/api.ts
Normal file
@@ -0,0 +1,104 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询参数列表分页
|
||||
// export function listApi(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
export function listApi(query: any) {
|
||||
return request({
|
||||
url: '/api/api/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
// 查询参数列表
|
||||
// export function listApiAll(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api/all',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
export function listApiAll(query: any) {
|
||||
return request({
|
||||
url: '/api/api/all',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询参数详细
|
||||
// export function getApi(id: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api/' + id,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 新增参数配置
|
||||
// export function addApi(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function addApi(data: any) {
|
||||
return request({
|
||||
url: '/api/api/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改参数配置
|
||||
// export function updateApi(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updateApi(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除参数配置
|
||||
// export function delApi(id: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api/' + id,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delApi(id: any) {
|
||||
return request({
|
||||
url: '/api/api/list/' + id,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
// 获取权限Api通过角色id
|
||||
// export function getPolicyPathByRoleId(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/api/getPolicyPathByRoleId',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function getPolicyPathByRoleId(query: any) {
|
||||
return request({
|
||||
url: '/api/api/getPolicyPathByRoleId',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
88
src/api/system/config.ts
Normal file
@@ -0,0 +1,88 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询参数列表
|
||||
// export function listConfig(query:any) {
|
||||
// return request({
|
||||
// url: '/api/system/config/list',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
export function listConfig(query: any) {
|
||||
return request({
|
||||
url: '/api/config/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询参数详细
|
||||
// export function getConfig(configId: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config/' + configId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 根据参数键名查询参数值
|
||||
// export function getConfigKey(configKey: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config/configKey/' + configKey,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 新增参数配置
|
||||
// export function addConfig(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addConfig(data: any) {
|
||||
return request({
|
||||
url: '/api/config/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改参数配置
|
||||
// export function updateConfig(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateConfig(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/config/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除参数配置
|
||||
// export function delConfig(configId: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config/' + configId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delConfig(configId: any) {
|
||||
return request({
|
||||
url: '/api/config/list/' + configId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 导出参数
|
||||
// export function exportConfig(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/config/export',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
102
src/api/system/dict/data.ts
Normal file
@@ -0,0 +1,102 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询字典数据列表
|
||||
// export function listData(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function listData(query: any) {
|
||||
return request({
|
||||
url: '/api/dict/data/type',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询字典数据详细
|
||||
// export function getData(dictCode: string) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data/' + dictCode,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 根据字典类型查询字典数据信息
|
||||
// export function getDicts(dictType: string) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data/type?dictType=' + dictType,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function getDicts(dictType: string) {
|
||||
return request({
|
||||
url: '/api/dict/data/type?dictType=' + dictType,
|
||||
method: 'get',
|
||||
headers: {
|
||||
'Cache-Control': 'skip-cache',
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
// 新增字典数据
|
||||
// export function addData(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function addData(data: any) {
|
||||
return request({
|
||||
url: '/api/dict/data/add',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改字典数据
|
||||
// export function updateData(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updateData(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/dict/data/update/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除字典数据
|
||||
// export function delData(dictCode: number) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data/' + dictCode,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function delData(dictCode: number) {
|
||||
return request({
|
||||
url: '/api/dict/data/del/' + dictCode,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 导出字典数据
|
||||
// export function exportData(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/data/export',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
83
src/api/system/dict/type.ts
Normal file
@@ -0,0 +1,83 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询字典类型列表
|
||||
// export function listType(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/type/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function listType(query: any) {
|
||||
return request({
|
||||
url: '/api/dict/type/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询字典类型详细
|
||||
// export function getType(dictId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/type/' + dictId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 新增字典类型
|
||||
// export function addType(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/type',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function addType(data: any) {
|
||||
return request({
|
||||
url: '/api/dict/type/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改字典类型
|
||||
// export function updateType(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/type',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updateType(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/dict/type/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除字典类型
|
||||
// export function delType(dictId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/dict/type/' + dictId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delType(dictId: number) {
|
||||
return request({
|
||||
url: '/api/dict/type/list/' + dictId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 导出字典类型
|
||||
export function exportType(query: any) {
|
||||
return request({
|
||||
url: '/api/dict/type/export',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
54
src/api/system/fn.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* 页面管理
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询配置列表
|
||||
export function list(query: any) {
|
||||
return request({
|
||||
url: `/api/fn`,
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询配置详情
|
||||
export function getDetail(id: any) {
|
||||
return request({
|
||||
url: `/api/fn/${id}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 新增
|
||||
export function add(data: any) {
|
||||
return request({
|
||||
url: '/api/fn',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function update(id: any, data: any) {
|
||||
return request({
|
||||
url: `/api/fn/${id}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function del(id: any) {
|
||||
return request({
|
||||
url: '/api/fn/' + id,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// // 导出
|
||||
|
||||
103
src/api/system/menu.ts
Normal file
@@ -0,0 +1,103 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
export function getRoutes(query: any) {
|
||||
return request({
|
||||
url: '/api/api/menu/menuRole',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询菜单下拉树结构
|
||||
// export function treeselect() {
|
||||
// return request({
|
||||
// url: '/api/system/menu/menuTreeSelect',
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function treeselect() {
|
||||
return request({
|
||||
url: '/api/menu/menuTreeSelect',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 根据角色ID查询菜单下拉树结构
|
||||
// export function roleMenuTreeselect(roleId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/menu/roleMenuTreeSelect/' + roleId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
export function roleMenuTreeselect(roleId: number) {
|
||||
return request({
|
||||
url: '/api/menu/roleMenuTreeSelect/' + roleId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 查询菜单列表
|
||||
// export function listMenu(query: Array<object>) {
|
||||
// return request({
|
||||
// url: '/api/system/menu/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
export function listMenu(query: Array<object>) {
|
||||
return request({
|
||||
url: '/api/menu/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询菜单详细
|
||||
// export function getMenu(menuId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/menu/' + menuId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 新增菜单
|
||||
// export function addMenu(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/menu',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function addMenu(data: any) {
|
||||
return request({
|
||||
url: '/api/menu/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改菜单
|
||||
// export function updateMenu(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/menu',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updateMenu(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/menu/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
// 删除菜单
|
||||
export function delMenu(menuId: number) {
|
||||
return request({
|
||||
url: '/api/menu/list/' + menuId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
63
src/api/system/notice.ts
Normal file
@@ -0,0 +1,63 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询公告列表
|
||||
// export function listNotice(query:any) {
|
||||
// return request({
|
||||
// url: '/api/system/notice/list',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
export function listNotice(query: any) {
|
||||
return request({
|
||||
url: '/api/notice/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 新增公告
|
||||
// export function addNotice(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/notice',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addNotice(data: any) {
|
||||
return request({
|
||||
url: '/api/notice/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改公告
|
||||
// export function updateNotice(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/notice',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateNotice(id: any, data: any) {
|
||||
return request({
|
||||
url: `/notice/list/${id}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除公告
|
||||
// export function delNotice(noticeId: string) {
|
||||
// return request({
|
||||
// url: '/api/system/notice/' + noticeId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delNotice(noticeId: string) {
|
||||
return request({
|
||||
url: '/api/notice/list/' + noticeId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
101
src/api/system/organization.ts
Normal file
@@ -0,0 +1,101 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询组织列表
|
||||
// export function listOrganization(query : any) {
|
||||
// return request({
|
||||
// url: '/api/system/organization/list',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
export function listOrganization(query: any) {
|
||||
return request({
|
||||
url: '/api/organization/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询组织详细
|
||||
// export function getOrganization(organizationId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/organization/' + organizationId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 查询组织下拉树结构
|
||||
// export function treeselect() {
|
||||
// return request({
|
||||
// url: '/api/system/organization/organizationTree',
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function treeselect() {
|
||||
return request({
|
||||
url: '/api/organization/list',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 根据角色ID查询组织树结构
|
||||
// export function roleOrganizationTreeselect(roleId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/organization/roleOrganizationTreeSelect/' + roleId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
export function roleOrganizationTreeselect(roleId: number) {
|
||||
return request({
|
||||
url: '/api/organization/roleOrganizationTreeSelect/' + roleId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 新增组织
|
||||
// export function addOrganization(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/organization',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addOrganization(data: any) {
|
||||
return request({
|
||||
url: '/api/organization/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改组织
|
||||
// export function updateOrganization(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/organization',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateOrganization(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/api/organization/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除组织
|
||||
// export function delOrganization(organizationId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/organization/' + organizationId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function delOrganization(organizationId: number) {
|
||||
return request({
|
||||
url: '/api/organization/list/' + organizationId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
54
src/api/system/page.ts
Normal file
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* 页面管理
|
||||
*/
|
||||
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询配置列表
|
||||
export function list(query: any) {
|
||||
return request({
|
||||
url: `/api/page`,
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询配置详情
|
||||
export function getDetail(id: any) {
|
||||
return request({
|
||||
url: `/api/page/${id}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 新增
|
||||
export function add(data: any) {
|
||||
return request({
|
||||
url: '/api/page',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function update(id: any, data: any) {
|
||||
return request({
|
||||
url: `/api/page/${id}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
export function del(id: any) {
|
||||
return request({
|
||||
url: '/api/page/' + id,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// // 导出
|
||||
|
||||
74
src/api/system/post.ts
Normal file
@@ -0,0 +1,74 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询岗位列表
|
||||
// export function listPost(query:any) {
|
||||
// return request({
|
||||
// url: '/api/system/post/list',
|
||||
// method: 'get',
|
||||
// params: query
|
||||
// })
|
||||
// }
|
||||
|
||||
export function listPost(query: any) {
|
||||
return request({
|
||||
url: '/api/post/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询岗位详细
|
||||
// export function getPost(postId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/post/' + postId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 新增岗位
|
||||
// export function addPost(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/post',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addPost(data: any) {
|
||||
return request({
|
||||
url: '/api/post/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改岗位
|
||||
// export function updatePost(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/post',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updatePost(filter: any, data: any) {
|
||||
return request({
|
||||
url: `/post/list/${filter}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除岗位
|
||||
// export function delPost(postId: string) {
|
||||
// return request({
|
||||
// url: '/api/system/post/' + postId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
|
||||
export function delPost(postId: string) {
|
||||
return request({
|
||||
url: '/api/post/list/' + postId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
120
src/api/system/role.ts
Normal file
@@ -0,0 +1,120 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询角色列表
|
||||
// export function listRole(query: Array<object>) {
|
||||
// return request({
|
||||
// url: '/api/system/role/list',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
export function listRole(query: Array<object>) {
|
||||
return request({
|
||||
url: '/api/role/list',
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询角色详细
|
||||
// export function getRole(roleId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/role/' + roleId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
export function getRole(roleId: number) {
|
||||
return request({
|
||||
url: '/api/role/list/' + roleId,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 新增角色
|
||||
// export function addRole(data: Array<object>) {
|
||||
// return request({
|
||||
// url: '/api/system/role',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addRole(data: Array<object>) {
|
||||
return request({
|
||||
url: '/api/role/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改角色
|
||||
// export function updateRole(roleId: Number, data: Array<object>) {
|
||||
// return request({
|
||||
// url: '/api/system/role',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateRole(roleId: Number, data: Array<object>) {
|
||||
return request({
|
||||
url: '/api/role/list/' + roleId,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 角色数据权限
|
||||
export function dataScope(data: Array<object>) {
|
||||
return request({
|
||||
url: '/api/role/dataScope',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 角色状态修改
|
||||
// export function changeRoleStatus(roleId: number, status: string) {
|
||||
// const data = {
|
||||
// roleId,
|
||||
// status,
|
||||
// };
|
||||
// return request({
|
||||
// url: '/api/system/role/changeStatus',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function changeRoleStatus(roleId: number, status: string) {
|
||||
const data = {
|
||||
roleId,
|
||||
status,
|
||||
};
|
||||
return request({
|
||||
url: '/api/role/changeStatus',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 删除角色
|
||||
// export function delRole(roleId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/role/' + roleId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delRole(roleId: number) {
|
||||
return request({
|
||||
url: '/api/role/list/' + roleId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
|
||||
// 导出
|
||||
// export function exportRole(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/role/export',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// });
|
||||
// }
|
||||
167
src/api/system/user.ts
Normal file
@@ -0,0 +1,167 @@
|
||||
import request from '@/utils/request';
|
||||
|
||||
// 查询用户列表
|
||||
export function authUser() {
|
||||
return request({
|
||||
url: '/api/user/me',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 查询用户列表
|
||||
export function listUser(query: any) {
|
||||
return request({
|
||||
url: `/api/user/list`,
|
||||
method: 'get',
|
||||
params: query,
|
||||
});
|
||||
}
|
||||
|
||||
// 用户状态修改
|
||||
// export function changeUserStatus(userId: number, status: string) {
|
||||
// const data = {
|
||||
// userId,
|
||||
// status,
|
||||
// };
|
||||
// return request({
|
||||
// url: '/api/system/user/changeStatus',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function changeUserStatus(userId: number, status: string) {
|
||||
const data = {
|
||||
userId,
|
||||
status,
|
||||
};
|
||||
return request({
|
||||
url: '/api/user/changeStatus',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 查询用户详细
|
||||
// export function getUser(userId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/user/getById/' + userId,
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
export function getUser(userId: number) {
|
||||
return request({
|
||||
url: `/api/user/list/${userId}`,
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 添加时查询用户详细
|
||||
// export function getUserInit() {
|
||||
// return request({
|
||||
// url: '/api/system/user/getInit',
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
export function getUserInit() {
|
||||
return request({
|
||||
url: '/api/user/getInit',
|
||||
method: 'get',
|
||||
});
|
||||
}
|
||||
|
||||
// 添加时查询用户ROLE
|
||||
// export function getRoPo() {
|
||||
// return request({
|
||||
// url: '/api/system/user/getRoPo',
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
// 删除用户
|
||||
// export function delUser(userId: number) {
|
||||
// return request({
|
||||
// url: '/api/system/user/' + userId,
|
||||
// method: 'delete',
|
||||
// });
|
||||
// }
|
||||
export function delUser(userId: number) {
|
||||
return request({
|
||||
url: '/api/user/list/' + userId,
|
||||
method: 'delete',
|
||||
});
|
||||
}
|
||||
// 新增用户
|
||||
// export function addUser(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/user',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function addUser(data: any) {
|
||||
return request({
|
||||
url: '/api/user/list',
|
||||
method: 'post',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改用户
|
||||
// export function updateUser(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/user',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
export function updateUser(id: any, data: any) {
|
||||
return request({
|
||||
url: `/api/user/list/${id}`,
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// 修改密码
|
||||
// export function updateUserPwd(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/user/pwd',
|
||||
// method: 'put',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
|
||||
export function updateUserPwd(data: any) {
|
||||
return request({
|
||||
url: '/api/user/pwd',
|
||||
method: 'put',
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
|
||||
// // 导出
|
||||
// export function exportUser(query: any) {
|
||||
// return request({
|
||||
// url: '/api/system/user/export',
|
||||
// method: 'get',
|
||||
// params: query,
|
||||
// responseType: 'blob',
|
||||
// });
|
||||
// }
|
||||
|
||||
// // 下载用户导入模板
|
||||
// export function importTemplate() {
|
||||
// return request({
|
||||
// url: '/api/system/user/importTemplate',
|
||||
// method: 'get',
|
||||
// });
|
||||
// }
|
||||
|
||||
// 用户头像上传
|
||||
// export function uploadAvatar(data: any) {
|
||||
// return request({
|
||||
// url: '/api/system/user/avatar',
|
||||
// method: 'post',
|
||||
// data: data,
|
||||
// });
|
||||
// }
|
||||
BIN
src/assets/401.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
BIN
src/assets/404.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
6070
src/assets/city.js
Normal file
1
src/assets/icons/svg/action.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667288711187" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="20020" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M677.461333 673.578667a61.312 61.312 0 0 0-6.570666-122.282667h-2.176a61.098667 61.098667 0 0 0-58.965334 63.317333c1.109333 16.384 7.68 30.592 17.493334 40.405334-37.12 73.130667-93.866667 126.634667-179.072 171.392-57.856 30.549333-117.888 41.472-177.92 33.834666-49.152-6.528-87.338667-28.373333-111.36-64.426666-34.944-53.461333-38.229333-111.36-8.746667-169.173334 20.736-41.514667 53.504-72.106667 74.24-87.338666a588.970667 588.970667 0 0 1-14.208-55.68c-158.293333 114.602667-141.909333 269.653333-93.866667 342.784 36.010667 54.613333 109.184 88.448 189.952 88.448a268.373333 268.373333 0 0 0 65.493334-7.68c139.776-27.306667 245.632-110.250667 305.706666-233.6z" fill="#AB47BC" p-id="20021"></path><path d="M869.589333 538.197333c-82.986667-97.152-205.226667-150.656-344.96-150.656h-17.493333a59.989333 59.989333 0 0 0-53.504-32.768h-2.133333A61.098667 61.098667 0 0 0 392.533333 418.133333a61.312 61.312 0 0 0 61.098667 58.965334h2.218667a61.482667 61.482667 0 0 0 53.461333-37.12h19.626667c83.029333 0 161.621333 24.021333 232.533333 70.954666 54.613333 36.053333 93.909333 82.986667 115.754667 139.776 18.56 45.824 17.493333 90.581333-2.176 128.810667-30.549333 57.856-81.877333 89.514667-149.546667 89.514667a279.210667 279.210667 0 0 1-107.008-22.912c-11.989333 10.88-33.834667 28.373333-49.109333 39.253333 46.933333 21.845333 94.976 33.877333 140.8 33.877333 104.832 0 182.314667-57.856 211.797333-115.712 31.658667-63.317333 29.482667-172.501333-52.394667-265.301333z" fill="#AB47BC" p-id="20022"></path><path d="M315.008 692.138667a61.312 61.312 0 0 0 61.141333 58.965333h2.133334a61.098667 61.098667 0 0 0 59.008-63.36 61.312 61.312 0 0 0-61.141334-58.922667h-2.176c-2.218667 0-5.461333 0-7.68 1.066667-44.757333-74.24-63.317333-155.008-56.746666-242.346667 4.352-65.493333 26.197333-122.282667 64.426666-169.216 31.658667-40.405333 92.757333-60.032 134.272-61.141333 115.712-2.176 164.821333 141.909333 168.106667 199.808 14.208 3.242667 38.229333 10.88 54.613333 16.341333-13.141333-176.853333-122.282667-268.544-227.114666-268.544-98.218667 0-188.842667 70.954667-224.853334 175.786667-50.261333 139.733333-17.493333 274.005333 43.648 379.904a49.066667 49.066667 0 0 0-7.68 31.658667z" fill="#AB47BC" p-id="20023"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
1
src/assets/icons/svg/aside.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1666679147106" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3482" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M287.744 27.648H119.808c-31.744 0-62.464 12.288-84.992 35.84C12.288 84.992 0 115.712 0 147.456V317.44c0 66.56 53.248 120.832 119.808 120.832h167.936c31.744 0 62.464-12.288 84.992-35.84 22.528-22.528 35.84-53.248 35.84-84.992V147.456c0-31.744-12.288-62.464-35.84-84.992-21.504-22.528-52.224-34.816-84.992-34.816z m315.392 122.88h360.448c32.768 0 59.392-27.648 59.392-60.416 0-16.384-6.144-31.744-17.408-43.008s-26.624-17.408-41.984-17.408H603.136c-21.504 0-41.984 11.264-52.224 29.696-11.264 18.432-11.264 41.984 0 60.416 11.264 19.456 30.72 30.72 52.224 30.72z m360.448 120.832H603.136c-33.792 0-60.416 26.624-60.416 60.416 0 33.792 26.624 60.416 60.416 60.416h360.448c33.792 0 60.416-26.624 60.416-60.416 0-33.792-26.624-60.416-60.416-60.416z m0 603.136H603.136c-21.504 0-41.984 11.264-52.224 29.696-11.264 18.432-11.264 41.984 0 60.416 11.264 18.432 30.72 29.696 52.224 29.696h360.448c33.792 0 60.416-26.624 60.416-60.416 0-32.768-26.624-59.392-60.416-59.392z m0-241.664H603.136c-21.504 0-41.984 11.264-52.224 29.696-11.264 18.432-11.264 41.984 0 60.416 11.264 18.432 30.72 29.696 52.224 29.696h360.448c33.792 0 60.416-26.624 60.416-60.416 0-32.768-26.624-59.392-60.416-59.392z m-675.84-46.08H119.808C53.248 586.752 0 641.024 0 707.584v168.96c0 31.744 12.288 62.464 34.816 84.992 22.528 22.528 53.248 34.816 84.992 34.816h167.936c31.744 0 62.464-12.288 84.992-35.84 22.528-22.528 35.84-53.248 35.84-84.992V707.584c0-31.744-12.288-62.464-35.84-84.992-21.504-22.528-52.224-35.84-84.992-35.84z m0 0" p-id="3483"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
1
src/assets/icons/svg/base.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1671254387273" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="23199" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M513.3 355.7c-40.4 0-80.8 15.4-111.5 46.1-29.7 29.7-46.1 69.3-46.1 111.5s16.4 81.8 46.1 111.5c61.5 61.5 161.5 61.5 223 0 29.7-29.7 46.1-69.3 46.1-111.5s-16.4-81.8-46.1-111.5c-30.8-30.7-71.2-46.1-111.5-46.1z" fill="#11AAED" p-id="23200"></path><path d="M766.9 515.9l-3.6-1c-4.4-1.2-8.6-2.3-12.6-3.3l-12.5-3-1-12.8c-2.1-27.8-9.3-54.5-21.2-79.4l-5.5-11.6 9.3-8.9c2.9-2.8 6-5.9 9.2-9.1l2.6-2.6c7.8-7.8 12-18.2 12-29.2s-4.3-21.5-12-29.2L700.8 295c-7.8-7.8-18.2-12-29.2-12s-21.5 4.3-29.2 12l-2.6 2.6c-3.2 3.2-6.3 6.2-9.1 9.2l-8.9 9.3-11.6-5.5c-24.9-11.9-51.7-19-79.4-21.2l-12.8-1-3-12.5c-1-4-2.1-8.1-3.3-12.6l-1-3.6c-2.8-10.6-9.7-19.5-19.3-25.1-9.6-5.5-20.7-7-31.4-4.2l-42.1 11.3c-22 5.9-35.2 28.6-29.2 50.7l0.9 3.5c1.2 4.4 2.3 8.6 3.4 12.5l3.6 12.3L386 328c-11.5 7.9-22.2 16.8-31.8 26.4-9.6 9.6-18.5 20.3-26.4 31.8l-7.3 10.6-12.3-3.6c-3.9-1.1-8.1-2.3-12.5-3.4l-3.5-0.9c-22-5.9-44.8 7.2-50.7 29.2L230.4 460c-2.8 10.6-1.4 21.7 4.2 31.4s14.4 16.5 25.1 19.3l3.7 1c4.4 1.2 8.6 2.3 12.5 3.3l12.5 3 1 12.8c2.1 27.8 9.3 54.5 21.2 79.4l5.5 11.6-9.3 8.9c-2.9 2.8-6 5.9-9.2 9.1l-2.6 2.6c-7.8 7.8-12 18.2-12 29.2s4.3 21.5 12 29.2l30.8 30.8c16.1 16.1 42.4 16.1 58.5 0l2.7-2.6c3.2-3.2 6.2-6.2 9-9.1l8.9-9.3 11.6 5.5c24.9 11.9 51.7 19 79.4 21.2l12.8 1 3 12.5c1 4 2.1 8.1 3.3 12.6l1 3.6c5.9 22 28.6 35.1 50.7 29.2l42-11.3c10.6-2.8 19.5-9.7 25.1-19.3s7-20.7 4.2-31.4l-1-3.6c-1.2-4.4-2.3-8.6-3.4-12.5l-3.6-12.3 10.6-7.3c11.5-7.9 22.2-16.8 31.8-26.4 9.6-9.6 18.5-20.3 26.4-31.8l7.3-10.6 12.3 3.6c3.9 1.1 8.1 2.2 12.5 3.4l3.6 1c10.6 2.8 21.7 1.4 31.3-4.2 9.6-5.5 16.5-14.4 19.3-25.1l11.3-42c5.6-21.9-7.5-44.6-29.5-50.5zM649.8 649.8c-37.6 37.6-87.1 56.5-136.5 56.5-49.5 0-98.9-18.8-136.5-56.5-36.4-36.4-56.5-84.9-56.5-136.5 0-51.6 20.1-100.1 56.5-136.5 75.3-75.3 197.8-75.3 273.1 0 36.4 36.4 56.5 84.9 56.5 136.5-0.1 51.6-20.2 100.1-56.6 136.5z" fill="#11AAED" p-id="23201"></path><path d="M513.3 3.1C231.5 3.1 3 231.5 3 513.3c0 281.8 228.4 510.2 510.2 510.2 281.8 0 510.2-228.4 510.2-510.2 0.1-281.8-228.3-510.2-510.1-510.2z m317.1 572.6l-11.3 42c-5.3 19.8-18 36.3-35.8 46.6s-38.5 13-58.2 7.7l-3.5-0.9c-0.4-0.1-0.8-0.2-1.1-0.3-7.2 9.4-14.9 18.3-23.1 26.5-8.2 8.2-17.1 15.9-26.5 23.1 0.1 0.4 0.2 0.8 0.3 1.1l0.9 3.5c5.3 19.8 2.5 40.4-7.7 58.2-10.3 17.8-26.8 30.5-46.6 35.8l-42 11.3c-6.6 1.8-13.3 2.6-19.9 2.6-33.9 0-65-22.7-74.2-56.9l-1-3.6-0.3-1.2c-23.4-2.9-46-9-67.7-18l-0.8 0.8-2.6 2.6c-29.9 29.9-78.7 29.9-108.6 0l-30.8-30.8c-14.5-14.5-22.4-33.7-22.4-54.3s8-39.8 22.4-54.3l2.6-2.6 0.9-0.9c-9-21.6-15.1-44.3-18-67.7l-1.2-0.3-3.6-1c-19.8-5.3-36.3-18-46.6-35.8-10.3-17.8-13-38.5-7.7-58.2l11.3-42.1c11-40.9 53.2-65.3 94.1-54.3l3.5 0.9 1.2 0.3c7.2-9.4 14.9-18.3 23.1-26.5 8.2-8.2 17.1-15.9 26.5-23.1l-0.3-1.2-0.9-3.5c-11-40.9 13.4-83.1 54.3-94.1l42.1-11.3c19.8-5.3 40.4-2.5 58.2 7.7 17.8 10.3 30.5 26.8 35.8 46.6l1 3.6 0.3 1.2c23.4 2.9 46 9 67.7 18l0.8-0.8 2.6-2.6c14.5-14.5 33.7-22.4 54.3-22.4s39.8 8 54.3 22.4l30.8 30.8c14.5 14.5 22.4 33.7 22.4 54.3s-8 39.8-22.4 54.3l-2.5 2.5-0.9 0.9c9 21.6 15.1 44.3 18 67.7l1.2 0.3 3.6 1c40.6 11.3 64.9 53.5 54 94.4z" fill="#11AAED" p-id="23202"></path></svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
1
src/assets/icons/svg/camera.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670305194550" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5857" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M960 192h-128c-35.392 0-64-28.672-64-64s-28.608-64-64-64H320c-35.392 0-64 28.672-64 64s-28.608 64-64 64H64a64 64 0 0 0-64 64v640c0 35.392 28.608 64 64 64h896c35.392 0 64-28.608 64-64V256a64 64 0 0 0-64-64zM512 832c-176.768 0-320-143.232-320-320 0-176.704 143.232-320 320-320s320 143.296 320 320c0 176.768-143.232 320-320 320z m0-512a192 192 0 0 0-192 192c0 105.984 85.952 192 192 192s192-86.016 192-192a192 192 0 0 0-192-192z" fill="" p-id="5858"></path></svg>
|
||||
|
After Width: | Height: | Size: 793 B |
1
src/assets/icons/svg/chain.svg
Normal file
|
After Width: | Height: | Size: 19 KiB |
1
src/assets/icons/svg/code.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670305116910" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5718" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M832 1024H192c-106.048 0-192-86.016-192-192V192a192 192 0 0 1 192-192h640c105.984 0 192 85.952 192 192v640c0 105.984-86.016 192-192 192z m64-832a64 64 0 0 0-64-64H192C156.672 128 128 156.672 128 192v640a64 64 0 0 0 64 64h640c35.392 0 64-28.608 64-64V192z m-128 384v64c0 105.984-86.016 192-192 192v-128c35.392 0 64-28.608 64-64v-64a64 64 0 1 0 0-128v-64a64 64 0 0 0-64-64V192c105.984 0 192 85.952 192 192v64a64 64 0 1 1 0 128z m-512 64v-64a64.021333 64.021333 0 0 1 0-128v-64a192 192 0 0 1 192-192v128c-35.328 0-64 28.672-64 64v64a64.021333 64.021333 0 0 0 0 128v64a64 64 0 0 0 64 64v128c-106.048 0-192-86.016-192-192z" fill="" p-id="5719"></path></svg>
|
||||
|
After Width: | Height: | Size: 985 B |
1
src/assets/icons/svg/database.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667288514433" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13572" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M810.666667 149.333333H213.333333c-23.466667 0-42.666667 19.2-42.666666 42.666667v128c0 23.466667 19.2 42.666667 42.666666 42.666667h597.333334c23.466667 0 42.666667-19.2 42.666666-42.666667V192c0-23.466667-19.2-42.666667-42.666666-42.666667zM810.666667 405.333333H213.333333c-23.466667 0-42.666667 19.2-42.666666 42.666667v128c0 23.466667 19.2 42.666667 42.666666 42.666667h597.333334c23.466667 0 42.666667-19.2 42.666666-42.666667v-128c0-23.466667-19.2-42.666667-42.666666-42.666667zM810.666667 661.333333H213.333333c-23.466667 0-42.666667 19.2-42.666666 42.666667v128c0 23.466667 19.2 42.666667 42.666666 42.666667h597.333334c23.466667 0 42.666667-19.2 42.666666-42.666667v-128c0-23.466667-19.2-42.666667-42.666666-42.666667z" fill="#D1C4E9" p-id="13573"></path><path d="M964.266667 812.8c2.133333-8.533333 2.133333-17.066667 2.133333-23.466667s0-17.066667-2.133333-23.466666l49.066666-36.266667c4.266667-4.266667 6.4-10.666667 4.266667-14.933333l-49.066667-83.2c-2.133333-4.266667-8.533333-6.4-14.933333-4.266667l-55.466667 25.6c-12.8-10.666667-27.733333-19.2-42.666666-25.6l-6.4-61.866667c0-6.4-6.4-10.666667-10.666667-10.666666h-96c-6.4 0-10.666667 4.266667-10.666667 10.666666l-6.4 61.866667c-14.933333 6.4-29.866667 14.933333-42.666666 25.6l-55.466667-25.6c-6.4-2.133333-12.8 0-14.933333 4.266667l-49.066667 83.2c-2.133333 4.266667-2.133333 12.8 4.266667 14.933333l49.066666 36.266667c-2.133333 8.533333-2.133333 17.066667-2.133333 23.466666s0 17.066667 2.133333 23.466667l-49.066666 36.266667c-4.266667 4.266667-6.4 10.666667-4.266667 14.933333l49.066667 83.2c2.133333 4.266667 8.533333 6.4 14.933333 4.266667l55.466667-25.6c12.8 10.666667 27.733333 19.2 42.666666 25.6l6.4 61.866666c0 6.4 6.4 10.666667 10.666667 10.666667h96c6.4 0 10.666667-4.266667 10.666667-10.666667l6.4-61.866666c14.933333-6.4 29.866667-14.933333 42.666666-25.6l55.466667 25.6c6.4 2.133333 12.8 0 14.933333-4.266667l49.066667-83.2c2.133333-4.266667 2.133333-12.8-4.266667-14.933333l-49.066666-36.266667zM789.333333 900.266667c-61.866667 0-110.933333-49.066667-110.933333-110.933334 0-61.866667 49.066667-110.933333 110.933333-110.933333 61.866667 0 110.933333 49.066667 110.933334 110.933333 0 61.866667-49.066667 110.933333-110.933334 110.933334z" fill="#607D8B" p-id="13574"></path><path d="M789.333333 661.333333c-70.4 0-128 57.6-128 128s57.6 128 128 128 128-57.6 128-128-57.6-128-128-128z m0 192c-36.266667 0-64-27.733333-64-64s27.733333-64 64-64 64 27.733333 64 64-27.733333 64-64 64z" fill="#455A64" p-id="13575"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
1
src/assets/icons/svg/delete.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665995640441" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5804" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M861.184 192.512q30.72 0 50.688 10.24t31.744 25.6 16.384 33.28 4.608 33.28q0 7.168-0.512 11.264t-0.512 7.168l0 6.144-67.584 0 0 537.6q0 20.48-8.192 39.424t-23.552 33.28-37.376 23.04-50.688 8.704l-456.704 0q-26.624 0-50.176-8.192t-40.448-23.04-26.624-35.84-9.728-47.616l0-527.36-63.488 0q-1.024-1.024-1.024-5.12-1.024-5.12-1.024-31.744 0-13.312 6.144-29.696t18.432-30.208 31.744-23.04 46.08-9.216l91.136 0 0-62.464q0-26.624 18.432-45.568t45.056-18.944l320.512 0q35.84 0 49.664 18.944t13.824 45.568l0 63.488q21.504 1.024 46.08 1.024l47.104 0zM384 192.512l320.512 0 0-64.512-320.512 0 0 64.512zM352.256 840.704q32.768 0 32.768-41.984l0-475.136-63.488 0 0 475.136q0 21.504 6.656 31.744t24.064 10.24zM545.792 839.68q17.408 0 23.552-9.728t6.144-31.232l0-475.136-63.488 0 0 475.136q0 40.96 33.792 40.96zM738.304 837.632q18.432 0 24.576-9.728t6.144-31.232l0-473.088-64.512 0 0 473.088q0 40.96 33.792 40.96z" p-id="5805"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
src/assets/icons/svg/dish.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670305261028" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6011" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 1024C229.248 1024 0 794.752 0 512S229.248 0 512 0s512 229.248 512 512-229.248 512-512 512z m0-896C299.968 128 128 299.968 128 512c0 212.096 171.968 384 384 384s384-171.904 384-384c0-212.032-171.968-384-384-384z m277.12 544a64.021333 64.021333 0 1 1-23.424-87.424A64 64 0 0 1 789.12 672zM512 640c-70.656 0-128-57.344-128-128s57.344-128 128-128 128 57.344 128 128-57.344 128-128 128z m0-192a64.021333 64.021333 0 0 0 0 128 64.021333 64.021333 0 0 0 0-128z m0-128a64.021333 64.021333 0 0 1 0-128 64.021333 64.021333 0 0 1 0 128z m-189.696 375.424a64 64 0 1 1-64-110.869333 64 64 0 0 1 64 110.869333z" fill="" p-id="6012"></path></svg>
|
||||
|
After Width: | Height: | Size: 969 B |
1
src/assets/icons/svg/document.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667282407551" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4280" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M29.924473 1024l211.821065 0L241.745538 67.153121c0-29.216699-14.608349-58.433397-36.520873-58.433397L66.445346 8.719724c-21.912524 0-36.520873 29.216699-36.520873 58.433397L29.924473 1024 29.924473 1024zM146.791268 929.04573 117.574569 929.04573l0-138.779318L146.791268 790.266411 146.791268 929.04573 146.791268 929.04573zM59.141172 213.236614c0-21.912524 14.608349-43.825048 29.216699-43.825048l80.345921 0c14.608349 0 29.216699 21.912524 29.216699 43.825048l0 73.041746c0 21.912524-14.608349 43.825048-29.216699 43.825048L88.35787 330.103408C73.749521 330.103408 59.141172 315.495059 59.141172 286.27836L59.141172 213.236614 59.141172 213.236614zM59.141172 213.236614" p-id="4281"></path><path d="M314.787284 1024l211.821065 0L526.608349 67.153121c0-29.216699-14.608349-58.433397-36.520873-58.433397L351.308158 8.719724c-21.912524 0-36.520873 29.216699-36.520873 58.433397L314.787284 1024 314.787284 1024 314.787284 1024zM395.133206 929.04573 373.220682 929.04573l0-138.779318 21.912524 0L395.133206 929.04573 395.133206 929.04573zM468.174952 929.04573 438.958254 929.04573l0-138.779318 29.216699 0L468.174952 929.04573 468.174952 929.04573zM351.308158 213.236614c0-21.912524 14.608349-43.825048 29.216699-43.825048l80.345921 0c14.608349 0 29.216699 21.912524 29.216699 43.825048l0 73.041746c0 21.912524-14.608349 43.825048-29.216699 43.825048L380.524856 330.103408c-14.608349 0-29.216699-21.912524-29.216699-43.825048L351.308158 213.236614 351.308158 213.236614zM351.308158 213.236614" p-id="4282"></path><path d="M818.775335 1024l204.51689-58.433397L745.733589 45.240597C738.429414 16.023898 716.51689-5.888626 694.604366 1.415549L563.129223 45.240597C548.520873 45.240597 533.912524 74.457296 548.520873 110.978169L818.775335 1024 818.775335 1024 818.775335 1024zM869.904558 907.133206l-21.912524 7.304175-36.520873-131.475144 21.912524-7.304175L869.904558 907.133206 869.904558 907.133206zM942.946304 892.524856l-29.216699 7.304175L877.208732 768.353887l29.216699-7.304175L942.946304 892.524856 942.946304 892.524856zM621.56262 235.149138c-7.304175-21.912524 0-43.825048 14.608349-51.129223l80.345921-21.912524c14.608349-7.304175 36.520873 7.304175 43.825048 36.520873l21.912524 73.041746c7.304175 21.912524 0 43.825048-14.608349 51.129223L687.300192 344.711758C672.691842 344.711758 650.779318 330.103408 643.475144 308.190884L621.56262 235.149138 621.56262 235.149138zM621.56262 235.149138" p-id="4283"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
1
src/assets/icons/svg/elxs.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742797635446" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1368" width="200" height="200"><path d="M616.746667 85.333333L896 347.904V853.333333a85.333333 85.333333 0 0 1-85.333333 85.333334H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333334V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h403.413334z m244.352 295.381334L581.802667 118.186667v177.237333a85.333333 85.333333 0 0 0 85.333333 85.333333h193.962667z m-174.549334 393.813333l-139.349333-173.397333 122.666667-154.752h-72.576l-86.4 112-87.04-112H351.189333l123.392 155.349333-137.173333 172.8h71.850667l101.589333-130.048 102.357333 130.090667h73.301334z" fill="#68BE96" p-id="1369"></path></svg>
|
||||
|
After Width: | Height: | Size: 727 B |
1
src/assets/icons/svg/event.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667288629672" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18660" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M278.799585 491.305947H628.848581v50.261824l116.667946 66.360963V99.823686A87.472735 87.472735 0 0 0 658.021212 12.305793H132.981588a87.495314 87.495314 0 0 0-87.517894 87.517893v663.248352a87.495314 87.495314 0 0 0 87.517894 87.495314H569.013076v-119.761328H278.799585v-59.858085H569.013076V551.164032H278.799585v-59.858085z m0-359.283985H628.848581v59.925823H278.799585V132.021962z m0 179.641992H628.848581v59.903244H278.799585v-59.903244zM191.281692 730.806024c-16.099138 0-29.127472-13.389606-29.127473-29.962911 0-16.482988 13.028335-29.895173 29.127473-29.895174 16.121717 0 29.195211 13.412185 29.19521 29.895174 0 16.573306-13.073493 29.962912-29.19521 29.962911z m0-179.641992c-16.099138 0-29.127472-13.367026-29.127473-29.917753 0-16.528147 13.028335-29.962912 29.127473-29.962911 16.121717 0 29.195211 13.434764 29.19521 29.962911 0 16.550727-13.073493 29.917753-29.19521 29.917753z m0-179.574254c-16.099138 0-29.127472-13.434764-29.127473-29.962912s13.028335-29.962912 29.127473-29.962912c16.121717 0 29.195211 13.412185 29.19521 29.962912 0 16.528147-13.073493 29.962912-29.19521 29.962912z m0-179.641993c-16.099138 0-29.127472-13.412185-29.127473-29.962911s13.028335-29.962912 29.127473-29.962912c16.121717 0 29.195211 13.412185 29.19521 29.962912s-13.073493 29.962912-29.19521 29.962911z m429.099601 407.220128V1023.977421l141.256951-181.561245 216.898062-30.843509-358.155013-212.404754z" fill="#1296db" p-id="18661"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
src/assets/icons/svg/export.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665642558350" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1365" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M972.8 614.4c-30.72 0-51.2 20.48-51.2 51.2v61.44c0 107.52-5.12 194.56-204.8 194.56H307.2c-204.8 0-204.8-92.16-204.8-204.8v-256C87.04 302.08 163.84 266.24 256 256h5.12c30.72 0 51.2-20.48 51.2-51.2s-20.48-51.2-51.2-51.2H204.8C92.16 153.6 0 245.76 0 358.4v460.8C0 931.84 92.16 1024 204.8 1024h614.4c112.64 0 204.8-92.16 204.8-204.8V665.6c0-25.6-25.6-51.2-51.2-51.2zM179.2 640c0 51.2 10.24 102.4 25.6 148.48 56.32-168.96 215.04-291.84 399.36-291.84v66.56c0 25.6 15.36 51.2 40.96 66.56 10.24 5.12 20.48 10.24 30.72 10.24 15.36 0 30.72-5.12 40.96-15.36l281.6-220.16c15.36-15.36 25.6-35.84 25.6-61.44 0-20.48-10.24-46.08-25.6-56.32L716.8 66.56c-15.36-10.24-30.72-15.36-46.08-15.36-10.24 0-20.48 0-30.72 10.24-25.6 10.24-40.96 35.84-40.96 66.56v71.68c-230.4 0-419.84 194.56-419.84 440.32z m0 0" p-id="1366"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
src/assets/icons/svg/fil.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" data-v-d2b9dbd4=""><path d="M22 16h2V8h-8v2h6v6z" fill="currentColor"></path><path d="M8 24h8v-2h-6v-6H8v8z" fill="currentColor"></path><path d="M26 28H6a2.002 2.002 0 0 1-2-2V6a2.002 2.002 0 0 1 2-2h20a2.002 2.002 0 0 1 2 2v20a2.002 2.002 0 0 1-2 2zM6 6v20h20.001L26 6z" fill="currentColor"></path></svg>
|
||||
|
After Width: | Height: | Size: 543 B |
1
src/assets/icons/svg/filter.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1671253980038" class="icon" viewBox="0 0 1071 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7982" xmlns:xlink="http://www.w3.org/1999/xlink" width="209.1796875" height="200"><path d="M133.779571 380.562789a66.949032 66.949032 0 1 0 66.949033-66.949032 66.949032 66.949032 0 0 0-66.949033 66.949032zM487.009776 624.84447a60.919011 60.919011 0 1 0 60.919011-60.919011 60.919011 60.919011 0 0 0-60.919011 60.919011zM305.082199 274.74777a66.949032 66.949032 0 0 0 133.911231 0 66.949032 66.949032 0 1 0-133.911231 0zM305.082199 737.80862a66.949032 66.949032 0 1 0 66.949032-66.949033 66.949032 66.949032 0 0 0-66.949032 66.949033zM295.194544 506.284778a76.849853 76.849853 0 1 0 76.863019-76.863019 76.849853 76.849853 0 0 0-76.863019 76.863019zM133.779571 624.84447a72.017937 72.017937 0 0 0 144.035873 0 72.017937 72.017937 0 0 0-144.035873 0z" fill="#0066EB" p-id="7983"></path><path d="M697.152059 517.015055a60.050056 60.050056 0 1 0 60.050056-60.050056 60.050056 60.050056 0 0 0-60.050056 60.050056zM824.190646 395.163866a60.050056 60.050056 0 0 0 120.100112 0 60.050056 60.050056 0 0 0-120.100112 0zM824.190646 638.853078a60.050056 60.050056 0 1 0 60.050056-60.050056A60.050056 60.050056 0 0 0 824.190646 638.853078z" fill="#00D929" p-id="7984"></path><path d="M490.985903 371.188608a56.942884 56.942884 0 1 0 113.885769 0 56.942884 56.942884 0 1 0-113.885769 0zM0 506.284778a42.131151 42.131151 0 1 0 42.131151-42.131152 42.131151 42.131151 0 0 0-42.131151 42.131152z" fill="#0066EB" p-id="7985"></path><path d="M787.957855 753.528805v30.163271c0 23.172133-20.960248 51.505332-48.33233 63.736533l-127.051752 56.811224c-40.643395 18.169059-107.105286 50.702207-107.105286-22.92198v-738.611744c0-70.122035 66.448725-41.091038 107.105286-22.92198l127.051752 56.811224c27.372082 12.244366 48.33233 40.564399 48.33233 63.736533v30.163271h47.884687v-55.297136c0-21.592215-18.155893-48.59565-41.762504-60.721522l-269.902687-138.690483C474.739078-9.755995 430.317046-3.949795 430.317046 31.01906v961.946344c0 34.982021 44.422033 40.814553 93.899803 15.338372l269.902687-138.690483c23.606611-12.139038 41.762504-39.129307 41.762504-60.721522v-55.297136z" fill="#0066EB" p-id="7986"></path><path d="M951.321394 517.015055a60.050056 60.050056 0 1 0 60.050057-60.050056 60.050056 60.050056 0 0 0-60.050057 60.050056z" fill="#00D929" p-id="7987"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.4 KiB |
1
src/assets/icons/svg/format.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1671254123518" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14633" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M213.333333 128h85.333334v85.333333H213.333333v213.333334a85.333333 85.333333 0 0 1-85.333333 85.333333 85.333333 85.333333 0 0 1 85.333333 85.333333v213.333334h85.333334v85.333333H213.333333c-45.653333-11.52-85.333333-38.4-85.333333-85.333333v-170.666667a85.333333 85.333333 0 0 0-85.333333-85.333333H0v-85.333334h42.666667a85.333333 85.333333 0 0 0 85.333333-85.333333V213.333333a85.333333 85.333333 0 0 1 85.333333-85.333333m597.333334 0a85.333333 85.333333 0 0 1 85.333333 85.333333v170.666667a85.333333 85.333333 0 0 0 85.333333 85.333333h42.666667v85.333334h-42.666667a85.333333 85.333333 0 0 0-85.333333 85.333333v170.666667a85.333333 85.333333 0 0 1-85.333333 85.333333h-85.333334v-85.333333h85.333334v-213.333334a85.333333 85.333333 0 0 1 85.333333-85.333333 85.333333 85.333333 0 0 1-85.333333-85.333333V213.333333h-85.333334V128h85.333334m-298.666667 512a42.666667 42.666667 0 0 1 42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667 42.666666 42.666667 42.666667 0 0 1-42.666667-42.666666 42.666667 42.666667 0 0 1 42.666667-42.666667m-170.666667 0a42.666667 42.666667 0 0 1 42.666667 42.666667 42.666667 42.666667 0 0 1-42.666667 42.666666 42.666667 42.666667 0 0 1-42.666666-42.666666 42.666667 42.666667 0 0 1 42.666666-42.666667m341.333334 0a42.666667 42.666667 0 0 1 42.666666 42.666667 42.666667 42.666667 0 0 1-42.666666 42.666666 42.666667 42.666667 0 0 1-42.666667-42.666666 42.666667 42.666667 0 0 1 42.666667-42.666667z" fill="#F44336" p-id="14634"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
1
src/assets/icons/svg/github.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667282325328" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2538" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M511.6 76.3C264.3 76.2 64 276.4 64 523.5 64 718.9 189.3 885 363.8 946c23.5 5.9 19.9-10.8 19.9-22.2v-77.5c-135.7 15.9-141.2-73.9-150.3-88.9C215 726 171.5 718 184.5 703c30.9-15.9 62.4 4 98.9 57.9 26.4 39.1 77.9 32.5 104 26 5.7-23.5 17.9-44.5 34.7-60.8-140.6-25.2-199.2-111-199.2-213 0-49.5 16.3-95 48.3-131.7-20.4-60.5 1.9-112.3 4.9-120 58.1-5.2 118.5 41.6 123.2 45.3 33-8.9 70.7-13.6 112.9-13.6 42.4 0 80.2 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.3-43.9 2.9 7.7 24.7 58.3 5.5 118 32.4 36.8 48.9 82.7 48.9 132.3 0 102.2-59 188.1-200 212.9 23.5 23.2 38.1 55.4 38.1 91v112.5c0.8 9 0 17.9 15 17.9 177.1-59.7 304.6-227 304.6-424.1 0-247.2-200.4-447.3-447.5-447.3z" p-id="2539"></path></svg>
|
||||
|
After Width: | Height: | Size: 1015 B |
1
src/assets/icons/svg/heng.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 32 32" data-v-d2b9dbd4=""><path d="M22 11l-1.41 1.41L23.17 15H8.83l2.58-2.59L10 11l-5 5l5 5l1.41-1.41L8.83 17h14.34l-2.58 2.59L22 21l5-5l-5-5z" fill="currentColor"></path><path d="M28 30H4a2.002 2.002 0 0 1-2-2V4a2.002 2.002 0 0 1 2-2h24a2.002 2.002 0 0 1 2 2v24a2.002 2.002 0 0 1-2 2zM4 4v24h24V4z" fill="currentColor"></path></svg>
|
||||
|
After Width: | Height: | Size: 564 B |
1
src/assets/icons/svg/import.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665642558350" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1365" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1130.726 590.552c0 47.88-8.23 94.264-23.192 136.908-54.613-159.352-199.75-273.067-371.82-273.067v68.08c0 26.184-14.214 49.376-36.657 61.346-8.978 4.489-19.452 7.481-29.177 7.481-14.215 0-27.681-4.488-39.651-13.466L366.888 372.847c-16.46-12.718-26.185-32.918-26.185-54.613s9.726-41.895 26.185-54.614l263.34-205.735c11.223-8.977 25.437-13.466 39.652-13.466 9.725 0 20.199 2.244 29.177 7.481 22.443 11.222 36.658 35.162 36.658 61.347v68.08c217.705-0.749 395.011 183.29 395.011 409.225z" p-id="1215"></path><path d="M982.198 580.875c-26.184 0-47.88 21.695-47.88 47.88v57.606c0 100.997-3.74 181.795-191.52 181.795H359.755c-193.765 0-191.52-86.035-191.52-191.521V437.234c-13.467-150.374 57.605-183.291 143.64-190.025h2.992c26.185 0 47.88-21.695 47.88-47.88 0-26.184-21.695-48.628-47.88-48.628h-2.992v-0.748h-47.88c-105.486 0-191.521 86.035-191.521 191.52v430.922c0 105.486 86.035 191.521 191.52 191.521H837.81c105.486 0 191.52-86.035 191.52-191.52V628.754c0.749-26.185-20.947-47.88-47.132-47.88z" p-id="1216"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/icons/svg/iot.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1671254046140" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13353" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M917.333333 448v352.746667L480 989.653333 42.666667 800.746667V212.736L480 42.666667 917.333333 212.736v65.813333h-125.077333L480 157.12 149.333333 285.717333v444.906667l330.666667 142.826667L810.666667 730.624V448h-85.333334v-106.666667h277.333334v106.666667h-85.333334z m-682.666666-106.666667h106.666666v400.896l-106.666666-47.104V341.333333z m320 384a128 128 0 1 1 0-256 128 128 0 0 1 0 256z" fill="#0FCEA0" p-id="13354"></path></svg>
|
||||
|
After Width: | Height: | Size: 772 B |
1
src/assets/icons/svg/jpg.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742797753264" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3604" width="200" height="200"><path d="M146.4 0c-44.8 0-81.6 35.2-81.6 80v862.4c0 44.8 35.2 81.6 81.6 81.6h731.2c44.8 0 81.6-36.8 81.6-81.6V324.8L656.8 0H146.4z" fill="#E986A5" p-id="3605"></path><path d="M352.2 669.7h75.8c42.5 0 63.8 18.2 63.8 54.5 0 36.6-21.5 55-64.1 55H373.5V855h-21.3V669.7z m21.3 18.4v72.7h53.2c15.1 0 26-3.1 33.2-9.1 7-6 10.6-15.1 10.6-27.5s-3.6-21.6-10.9-27c-7.3-6.2-18.2-9.1-33-9.1H373.5zM600.6 666c-27.2 0-48.8 9.6-64.6 29.1-15.1 17.9-22.3 40.5-22.3 68s7.5 50.1 22.6 67.5c16.1 18.7 38.9 28 68.2 28 15.3 0 29.6-2.1 43.1-6.2 12.7-4.2 23.6-9.6 32.4-16.8v-75.8h-79.1v18.4h58.1v47.2c-6.5 4.2-14.3 7.8-23.4 10.4-9.5 2.7-19.2 4.1-29.1 4.2-24.1 0-42.3-7.3-54.5-21.5-11.4-13.5-17.1-31.9-17.1-55.3 0-23.9 5.7-42.8 17.6-56.8 12-14.3 27.7-21.3 48-21.3 16.3 0 29.6 3.9 39.7 12 10 8.1 16.6 19.5 18.7 32.2h21.3c-3.4-20.2-11.4-35.5-24.4-46.2-13.7-11.7-32.2-17.1-55.2-17.1z" fill="#FFFFFF" p-id="3606"></path><path d="M959.2 324.8v16H754.4s-100.8-19.2-97.6-107.2c0 0 3.2 91.2 96 91.2h206.4z" fill="#D06385" p-id="3607"></path><path d="M656.8 0v232c0 27.2 17.6 92.8 97.6 92.8h204.8L656.8 0zM313.3 786.3c0 22.1-4.8 39.4-14.3 51.6-9.5 12.1-22.1 18.2-38.6 18.2-7.4 0-13.9-1.3-18.6-3.5v-23c4.8 3.5 11.3 5.2 18.6 5.2 19.1 0 29-16 29-48.5v-117h23.8l0.1 117z" fill="#FFFFFF" p-id="3608"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
src/assets/icons/svg/layer.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670306803681" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="15985" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M509.8 808.5c-12.8 0-25.6-3.2-37-9.3l-0.2-0.1-0.2-0.1-300.1-163.9L83 680c-13.8 7.2-19.2 24.2-12.1 37.9 2.6 4.9 6.6 9 11.5 11.7l414.1 226c4.1 2.2 8.7 3.4 13.4 3.4 4.6 0 9.2-1.1 13.2-3.4l418.6-226c9.2-4.9 14.9-14.5 14.8-24.7-0.2-10.4-6-19.9-15.2-24.7l-89.6-45.6-304.5 164.3c-11.3 6.3-24.2 9.6-37.4 9.6z" p-id="15986"></path><path d="M954.6 495c-0.7-1.8-1.5-3.5-2.5-5.1-2.6-4.3-6.4-7.9-11-10.3L851.5 434 660.3 537.2l-113.1 61.1c-11.3 6.3-24.2 9.6-37.4 9.6-12.8 0-25.6-3.2-37-9.3l-0.2-0.1-0.2-0.1-109.2-59.6-190.9-104.3-89.3 45c-9.9 5.2-15.5 15.4-15.2 25.8 0 0.5 0 0.9 0.1 1.4 0.1 0.9 0.2 1.7 0.3 2.5l0.3 1.5c0.5 2.3 1.3 4.5 2.4 6.6 1.5 2.8 3.5 5.4 5.9 7.6l2.1 1.8c1.1 0.8 2.3 1.6 3.5 2.3l144.1 78.7 36.4 19.9 233.5 127.5c4.1 2.2 8.7 3.4 13.4 3.4 4.6 0 9.2-1.1 13.2-3.4l274.4-148.2 80-43.2 64.2-34.7c0.8-0.4 1.5-0.9 2.2-1.3 7.9-5.2 12.7-14 12.6-23.4-0.1-3.2-0.7-6.4-1.8-9.3z" p-id="15987"></path><path d="M82.3 328.4l414.1 226c4.1 2.2 8.7 3.4 13.4 3.4 4.6 0 9.2-1.1 13.2-3.4l418.6-226c9.2-4.9 14.9-14.5 14.8-24.7-0.2-10.4-6-19.9-15.2-24.7L526.8 68c-7.9-4-17.3-4-25.2 0L82.9 278.8C69.1 286 63.7 303 70.8 316.7c2.6 4.9 6.6 9 11.5 11.7z" p-id="15988"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
src/assets/icons/svg/lock.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1669102877932" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14551" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 85.333333c-117.333333 0-213.333333 96-213.333333 213.333334v85.333333h85.333333v-85.333333c0-70.4 57.6-128 128-128s128 57.6 128 128v85.333333h85.333333v-85.333333c0-117.333333-96-213.333333-213.333333-213.333334z" fill="#424242" p-id="14552"></path><path d="M768 938.666667H256c-46.933333 0-85.333333-38.4-85.333333-85.333334V469.333333c0-46.933333 38.4-85.333333 85.333333-85.333333h512c46.933333 0 85.333333 38.4 85.333333 85.333333v384c0 46.933333-38.4 85.333333-85.333333 85.333334z" fill="#FB8C00" p-id="14553"></path><path d="M512 661.333333m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#C76E00" p-id="14554"></path></svg>
|
||||
|
After Width: | Height: | Size: 972 B |
1
src/assets/icons/svg/matter.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667546057691" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2698" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M738.577067 287.197867c11.0592 14.2336 16.554667 33.245867 16.554666 57.070933v208.861867a221.866667 221.866667 0 0 0-219.136 364.612266H162.577067c-15.701333 0-29.627733-6.417067-41.847467-19.182933A64.512 64.512 0 0 1 102.4 852.309333V329.454933c0-18.568533 5.085867-33.826133 15.2576-45.738666 10.171733-11.946667 23.6544-17.885867 40.516267-17.885867h524.629333c26.146133 0 44.714667 7.133867 55.773867 21.367467z m20.0704-184.32c25.531733 0 48.196267 4.5056 67.959466 13.5168a161.109333 161.109333 0 0 1 50.107734 34.850133c13.653333 14.2336 24.098133 30.378667 31.402666 48.366933 7.236267 18.0224 10.8544 35.7376 10.8544 53.1456v445.3376c0 7.236267-0.887467 14.404267-2.6624 21.435734a222.276267 222.276267 0 0 0-106.2912-144.110934V319.863467c0-15.086933-2.8672-29.184-8.669866-42.257067a113.2544 113.2544 0 0 0-57.9584-57.9584 102.877867 102.877867 0 0 0-42.2912-8.704H211.319467c0-12.8 2.935467-25.565867 8.738133-38.331733 5.802667-12.8 13.653333-24.405333 23.552-34.884267a116.736 116.736 0 0 1 34.816-25.258667c13.380267-6.382933 27.613867-9.591467 42.734933-9.591466h437.486934z m-133.358934 273.646933H232.2432c-6.382933 0-11.605333 2.048-15.701333 6.109867a21.230933 21.230933 0 0 0-6.075734 15.701333v194.321067c5.2224 6.382933 10.0352 13.5168 14.370134 21.333333 4.369067 7.850667 9.728 15.2576 16.145066 22.2208 6.382933 6.997333 14.813867 12.970667 25.258667 17.885867 10.4448 4.949333 24.9856 7.406933 43.588267 7.406933 27.306667 0 49.493333-4.369067 66.6624-13.073067a171.8272 171.8272 0 0 0 45.294933-33.109333c13.073067-13.380267 25.258667-27.7504 36.625067-43.144533a270.336 270.336 0 0 1 40.516266-43.588267c15.701333-13.653333 35.157333-25.258667 58.368-34.850133 23.278933-9.557333 53.179733-14.9504 89.770667-16.110934v-79.325866c0-6.382933-2.048-11.605333-6.075733-15.701334a21.230933 21.230933 0 0 0-15.701334-6.075733z m-305.902933 51.4048a54.613333 54.613333 0 0 1 40.106667 16.554667 54.613333 54.613333 0 0 1 16.554666 40.106666c0 15.086933-5.5296 28.330667-16.554666 39.662934a53.930667 53.930667 0 0 1-40.106667 16.9984 53.930667 53.930667 0 0 1-40.072533-16.9984 55.057067 55.057067 0 0 1-16.554667-39.662934c0-15.701333 5.5296-29.047467 16.554667-40.106666a54.613333 54.613333 0 0 1 40.072533-16.554667z" fill="#85C2FF" p-id="2699"></path><path d="M670.1056 939.8272l-89.326933-111.547733s-4.5056-41.642667 35.7376-24.098134c23.210667 10.410667 31.505067 32.290133 31.505066 32.290134l0.8192-169.915734s23.995733-35.805867 44.885334 0l0.341333 107.588267s25.975467-35.328 56.5248 2.4576c0 0 22.869333-38.468267 55.057067 1.877333 0 0 22.801067-44.509867 45.738666 3.857067v135.0656s-1.365333 10.513067-19.899733 22.4256h-161.3824z" fill="#85C2FF" p-id="2700"></path><path d="M670.890667 580.266667a90.248533 90.248533 0 0 0-90.248534 90.2144c0 33.450667 18.397867 62.293333 45.397334 77.892266v-27.886933a67.037867 67.037867 0 0 1-22.9376-50.346667 67.447467 67.447467 0 0 1 134.826666 0c0 19.694933-8.6016 37.2736-22.084266 49.629867v28.535467a89.9072 89.9072 0 0 0 45.2608-77.824A90.248533 90.248533 0 0 0 670.890667 580.266667z" fill="#85C2FF" p-id="2701"></path></svg>
|
||||
|
After Width: | Height: | Size: 3.4 KiB |
1
src/assets/icons/svg/moon.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670210146710" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9001" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M524.8 938.666667h-4.266667a439.893333 439.893333 0 0 1-313.173333-134.4 446.293333 446.293333 0 0 1-11.093333-597.333334 432.213333 432.213333 0 0 1 170.666666-116.906666 42.666667 42.666667 0 0 1 45.226667 9.386666 42.666667 42.666667 0 0 1 10.24 42.666667 358.4 358.4 0 0 0 82.773333 375.893333 361.386667 361.386667 0 0 0 376.746667 82.773334 42.666667 42.666667 0 0 1 54.186667 55.04A433.493333 433.493333 0 0 1 836.266667 810.666667a438.613333 438.613333 0 0 1-311.466667 128z" p-id="9002"></path></svg>
|
||||
|
After Width: | Height: | Size: 842 B |
1
src/assets/icons/svg/node.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667288315412" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="11517" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M480 233.28h64v288h-64z" fill="#EF8D48" p-id="11518"></path><path d="M608 233.248a95.872 95.872 0 0 1-96 96.032 96 96 0 1 1 96-96.032zM609.696 635.008l249.408 143.936-32 55.424-249.408-143.936z" fill="#EF8D48" p-id="11519"></path><path d="M795.104 889.856a95.904 95.904 0 0 1-35.168-131.168 95.968 95.968 0 0 1 131.168-35.136 96 96 0 1 1-96 166.304zM414.304 634.976l32 55.424-249.408 143.968-32-55.424z" fill="#EF8D48" p-id="11520"></path><path d="M180.896 806.688m-96 0a96 96 0 1 0 192 0 96 96 0 1 0-192 0Z" fill="#EF8D48" p-id="11521"></path><path d="M512 615.552m-94.272 0a94.272 94.272 0 1 0 188.544 0 94.272 94.272 0 1 0-188.544 0Z" fill="#FFEDEB" p-id="11522"></path><path d="M512 741.824c-69.632 0-126.24-56.64-126.24-126.24S442.368 489.28 512 489.28s126.24 56.672 126.24 126.272-56.608 126.272-126.24 126.272z m0-188.544a62.336 62.336 0 0 0-62.24 62.272c0 34.304 27.936 62.24 62.24 62.24s62.24-27.936 62.24-62.24A62.336 62.336 0 0 0 512 553.28z" fill="#EF8D48" p-id="11523"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/icons/svg/other.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742798837562" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5505" width="200" height="200"><path d="M713.824 1.312l237.784 237.664v705.144c0 43.216-35.968 78.568-79.92 78.568H152.32c-43.96 0-79.928-35.36-79.928-78.56V79.872c0-43.216 35.968-78.568 79.92-78.568h561.512z" fill="#62CCC3" p-id="5506"></path><path d="M711.824 1.312l239.784 235.704H791.76c-43.96 0-79.928-35.36-79.928-78.568V1.312z" fill="#FFFFFF" fill-opacity=".551" p-id="5507"></path><path d="M300.568 368H483.44C505.36 368 520 382.4 520 404S505.368 440 483.432 440H300.56C278.64 440 264 425.6 264 404s14.632-36 36.568-36zM300 520h432c21.6 0 36 14.4 36 36S753.6 592 732 592h-432c-21.6 0-36-14.4-36-36s14.4-36 36-36zM300 664h432c21.6 0 36 14.4 36 36S753.6 736 732 736h-432c-21.6 0-36-14.4-36-36s14.4-36 36-36z" fill="#FFFFFF" p-id="5508"></path></svg>
|
||||
|
After Width: | Height: | Size: 870 B |
1
src/assets/icons/svg/pdf.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742797511801" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1064" width="200" height="200"><path d="M616.746667 85.333333L896 347.904V853.333333a85.333333 85.333333 0 0 1-85.333333 85.333334H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333334V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h403.413334z m244.352 295.381334L581.802667 118.186667v177.237333a85.333333 85.333333 0 0 0 85.333333 85.333333h193.962667zM232.746667 512v224.810667h28.074666v-102.570667h14.378667c27.648 0 46.933333-1.109333 57.813333-3.242667 10.88-2.133333 20.053333-5.845333 27.605334-11.093333 7.509333-5.162667 13.269333-11.776 17.28-19.754667 4.053333-7.978667 6.058667-17.024 6.058666-27.050666s-2.048-19.029333-6.186666-27.008a56.661333 56.661333 0 0 0-17.152-19.968 65.962667 65.962667 0 0 0-24.021334-11.050667C327.893333 513.024 309.589333 512 281.728 512H232.746667z m28.074666 96.725333v-70.912h39.210667c36.565333 0 54.869333 11.648 54.869333 34.986667a33.28 33.28 0 0 1-11.946666 26.112c-7.936 6.954667-22.912 10.24-44.885334 9.813333h-37.248zM426.112 512v224.810667h77.056c32 0 56.32-4.778667 73.002667-14.293334 16.64-9.514667 29.525333-22.741333 38.570666-39.637333 9.002667-16.853333 13.525333-34.858667 13.525334-53.888 0-19.029333-3.029333-35.84-9.130667-50.346667a100.864 100.864 0 0 0-26.282667-36.992 108.330667 108.330667 0 0 0-40.661333-22.442666c-15.701333-4.821333-40.746667-7.210667-75.136-7.210667H426.112z m27.093333 199.594667v-173.781334h14.378667c26.794667 0 47.36 1.28 61.738667 3.84 14.378667 2.56 26.88 7.68 37.546666 15.36s18.901333 17.578667 24.661334 29.781334c5.76 12.16 8.661333 25.429333 8.661333 39.765333 0 14.336-2.432 26.965333-7.338667 37.930667a74.282667 74.282667 0 0 1-21.418666 27.733333c-9.386667 7.594667-20.352 12.714667-32.981334 15.36-12.629333 2.688-32.768 4.010667-60.416 4.010667h-24.832z m338.048-82.901334v-26.112h-94.037333v-64.469333h94.037333V512h-122.154666v224.810667h28.117333v-108.117334h94.037333z" fill="#EA5454" p-id="1065"></path></svg>
|
||||
|
After Width: | Height: | Size: 2.0 KiB |
1
src/assets/icons/svg/png.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742797694079" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2537" width="200" height="200"><path d="M862 902c0 16.569-13.431 30-30 30H192c-16.569 0-30-13.431-30-30V122c0-16.569 13.431-30 30-30h476l194 194v616z" fill="#FFAB4E" p-id="2538"></path><path d="M862 286H698c-16.569 0-30-13.431-30-30V92" fill="#FFFFFF" fill-opacity=".296" p-id="2539"></path><path d="M326.92 465c-30.4 0-45.44 11.2-52.16 24v-20.8h-46.4V705h46.4v-86.08c6.72 15.36 20.48 25.28 52.16 25.28 56 0 68.8-40 68.8-89.6 0-55.04-12.8-89.6-68.8-89.6zM312.2 609c-31.68 0-40-21.12-40-54.4 0-34.88 8.32-55.04 40-55.04 31.36 0 36.16 23.36 36.16 55.04 0 29.76-4.16 54.4-36.16 54.4zM533.96 465c-25.28 0-44.8 7.68-54.08 24v-20.8h-46.4V641h46.4V526.44c5.12-17.92 17.6-23.68 36.8-23.68 22.72 0 28.16 8.96 28.16 32.32V641h46.4V522.92c0-38.08-14.4-57.92-57.28-57.92zM750.28 468.2v22.08C743.56 473.96 729.8 465 698.12 465c-56 0-70.08 40.64-70.08 88 0 52.48 14.08 88 70.08 88 31.04 0 44.8-9.28 52.16-24.64v9.28c0 32.96-15.68 43.52-53.12 43.52-15.04 0-32-1.6-45.76-5.12v36.8c14.08 2.56 33.6 4.16 49.28 4.16 71.68 0 95.68-30.08 95.68-77.44V468.2h-46.08z m-38.4 138.88c-32 0-36.16-24.64-36.16-54.08 0-27.84 3.84-53.44 36.16-53.44 34.56 0 40.64 20.48 40.64 53.44 0 34.24-6.08 54.08-40.64 54.08z" fill="#FFFFFF" p-id="2540"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
1
src/assets/icons/svg/property.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665731462400" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2611" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M288 640C270.08 640 256 654.08 256 672 256 689.92 270.08 704 288 704 305.92 704 320 689.92 320 672 320 654.08 305.92 640 288 640zM288 256C270.08 256 256 270.08 256 288 256 305.92 270.08 320 288 320 305.92 320 320 305.92 320 288 320 270.08 305.92 256 288 256zM288 448C270.08 448 256 462.08 256 480 256 497.92 270.08 512 288 512 305.92 512 320 497.92 320 480 320 462.08 305.92 448 288 448zM768 64 192 64C121.6 64 64 121.6 64 192l0 576c0 70.4 57.6 128 128 128l576 0c70.4 0 128-57.6 128-128L896 192C896 121.6 838.4 64 768 64zM832 768c0 35.2-28.8 64-64 64L192 832c-35.2 0-64-28.8-64-64L128 192c0-35.2 28.8-64 64-64l576 0c35.2 0 64 28.8 64 64L832 768zM672 256l-256 0C398.08 256 384 270.08 384 288 384 305.92 398.08 320 416 320l256 0C689.92 320 704 305.92 704 288 704 270.08 689.92 256 672 256zM672 448l-256 0C398.08 448 384 462.08 384 480 384 497.92 398.08 512 416 512l256 0C689.92 512 704 497.92 704 480 704 462.08 689.92 448 672 448zM672 640l-256 0C398.08 640 384 654.08 384 672 384 689.92 398.08 704 416 704l256 0c17.92 0 32-14.08 32-32C704 654.08 689.92 640 672 640z" p-id="2612" fill="#1296db"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
1
src/assets/icons/svg/redo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670305830830" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2804" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M567.936 82.944c-38.848-38.784-70.4-10.368-70.4 57.92v182.592h-6.528c-226.624 0-423.872 325.248-426.944 614.4 0 23.04 15.104 29.504 29.44 0 73.344-162.24 192.96-246.4 349.76-246.4h54.336v192.64c0 57.472 34.24 96.768 73.088 58.048l358.592-357.312a99.84 99.84 0 0 0 0.064-140.928l-361.408-360.96z" p-id="2805"></path></svg>
|
||||
|
After Width: | Height: | Size: 654 B |
1
src/assets/icons/svg/save.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670306039350" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2975" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M1022.503684 339.908142v-17.102296c0-0.732956-4.031256-24.431852-6.107963-32.372204a164.487444 164.487444 0 0 0-17.835252-29.929019l-7.512795-8.001432L788.324382 37.747211l-5.802565-6.107963a120.815508 120.815508 0 0 0-82.823979-31.150611l-6.901998-0.488637H184.735476A183.971846 183.971846 0 0 0 1.130108 184.094005v655.75091a184.155085 184.155085 0 0 0 183.727528 184.094005h654.162839a184.155085 184.155085 0 0 0 183.727527-184.094005V339.908142zM184.002521 98.216045h505.067462v96.627975a105.301282 105.301282 0 0 1-104.995885 105.240203H288.937325a105.301282 105.301282 0 0 1-104.995884-105.240203zM839.75343 926.51691H484.819699v-251.098359h-189.346853v251.098359H184.002521V635.350313a85.511482 85.511482 0 0 1 85.511482-85.511482h484.911184a85.511482 85.511482 0 0 1 85.511482 85.511482v291.044438z" p-id="2976"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
1
src/assets/icons/svg/select.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665992176397" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4886" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M389.5 731.04c-2.86-12.8-14.51-21.93-27.98-21.93H154.27V152.69h572.28v255.54c0 12.06 7.71 22.84 19.33 27.05 19.48 7.05 40.2-7.05 40.04-27.26l-2.1-276.42c0-19.1-15.92-34.58-35.57-34.58H132.57C112.92 97 97 112.48 97 131.58v598.63c0 19.1 15.92 34.58 35.57 34.58h228.95c18.26 0 31.86-16.4 27.98-33.75z" p-id="4887"></path><path d="M927 606.62L410.74 404.87 526.11 927l127.95-191.63 172.62 167.84 50.3-48.9-168.13-163.47z" p-id="4888"></path></svg>
|
||||
|
After Width: | Height: | Size: 776 B |
1
src/assets/icons/svg/setting.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1666679091427" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2551" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512.5 390.6c-29.9 0-57.9 11.6-79.1 32.8-21.1 21.2-32.8 49.2-32.8 79.1 0 29.9 11.7 57.9 32.8 79.1 21.2 21.1 49.2 32.8 79.1 32.8 29.9 0 57.9-11.7 79.1-32.8 21.1-21.2 32.8-49.2 32.8-79.1 0-29.9-11.7-57.9-32.8-79.1-21.2-21.2-49.2-32.8-79.1-32.8z" p-id="2552"></path><path d="M924.8 626.1l-65.4-55.9c3.1-19 4.7-38.4 4.7-57.7s-1.6-38.8-4.7-57.7l65.4-55.9c10.1-8.6 13.8-22.6 9.3-35.2l-0.9-2.6c-18.1-50.4-44.8-96.8-79.6-137.7l-1.8-2.1c-8.6-10.1-22.5-13.9-35.1-9.5l-81.2 28.9c-30-24.6-63.4-44-99.6-57.5l-15.7-84.9c-2.4-13.1-12.7-23.3-25.8-25.7l-2.7-0.5c-52-9.4-106.8-9.4-158.8 0l-2.7 0.5c-13.1 2.4-23.4 12.6-25.8 25.7l-15.8 85.3c-35.9 13.6-69.1 32.9-98.9 57.3l-81.8-29.1c-12.5-4.4-26.5-0.7-35.1 9.5l-1.8 2.1c-34.8 41.1-61.5 87.4-79.6 137.7l-0.9 2.6c-4.5 12.5-0.8 26.5 9.3 35.2l66.2 56.5c-3.1 18.8-4.6 38-4.6 57 0 19.2 1.5 38.4 4.6 57l-66 56.5c-10.1 8.6-13.8 22.6-9.3 35.2l0.9 2.6c18.1 50.3 44.8 96.8 79.6 137.7l1.8 2.1c8.6 10.1 22.5 13.9 35.1 9.5l81.8-29.1c29.8 24.5 63 43.9 98.9 57.3l15.8 85.3c2.4 13.1 12.7 23.3 25.8 25.7l2.7 0.5c26.1 4.7 52.7 7.1 79.4 7.1 26.7 0 53.4-2.4 79.4-7.1l2.7-0.5c13.1-2.4 23.4-12.6 25.8-25.7l15.7-84.9c36.2-13.6 69.6-32.9 99.6-57.5l81.2 28.9c12.5 4.4 26.5 0.7 35.1-9.5l1.8-2.1c34.8-41.1 61.5-87.4 79.6-137.7l0.9-2.6c4.3-12.4 0.6-26.3-9.5-35z m-412.3 52.2c-97.1 0-175.8-78.7-175.8-175.8s78.7-175.8 175.8-175.8 175.8 78.7 175.8 175.8-78.7 175.8-175.8 175.8z" p-id="2553"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
1
src/assets/icons/svg/store.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1671254291685" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="19211" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 64l387.98 224v448L512 960 124.02 736V288z" fill="#C3D2FB" p-id="19212"></path><path d="M512 220.8l252.19 145.6v291.2L512 803.2 259.81 657.6V366.4z" fill="#386BF3" p-id="19213"></path><path d="M512 377.6l116.39 67.2v134.4L512 646.4l-116.39-67.2V444.8z" fill="#3D4265" p-id="19214"></path></svg>
|
||||
|
After Width: | Height: | Size: 632 B |
1
src/assets/icons/svg/sun.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670210616634" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3779" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 256a42.666667 42.666667 0 0 0 42.666667-42.666667V128a42.666667 42.666667 0 0 0-85.333334 0v85.333333a42.666667 42.666667 0 0 0 42.666667 42.666667zM896 469.333333h-85.333333a42.666667 42.666667 0 0 0 0 85.333334h85.333333a42.666667 42.666667 0 0 0 0-85.333334zM256 512a42.666667 42.666667 0 0 0-42.666667-42.666667H128a42.666667 42.666667 0 0 0 0 85.333334h85.333333a42.666667 42.666667 0 0 0 42.666667-42.666667zM265.386667 213.333333a42.666667 42.666667 0 0 0-59.306667 62.72l61.44 59.306667a42.666667 42.666667 0 0 0 31.146667 11.946667 42.666667 42.666667 0 0 0 30.72-13.226667 42.666667 42.666667 0 0 0 0-60.16zM725.333333 347.306667a42.666667 42.666667 0 0 0 29.44-11.946667l61.44-59.306667A42.666667 42.666667 0 0 0 758.613333 213.333333l-61.44 60.586667a42.666667 42.666667 0 0 0 0 60.16 42.666667 42.666667 0 0 0 28.16 13.226667zM512 768a42.666667 42.666667 0 0 0-42.666667 42.666667v85.333333a42.666667 42.666667 0 0 0 85.333334 0v-85.333333a42.666667 42.666667 0 0 0-42.666667-42.666667zM756.48 688.64a42.666667 42.666667 0 0 0-59.306667 61.44L758.613333 810.666667a42.666667 42.666667 0 0 0 29.44 11.946666 42.666667 42.666667 0 0 0 30.72-12.8 42.666667 42.666667 0 0 0 0-60.586666zM267.52 688.64l-61.44 59.306667a42.666667 42.666667 0 0 0 0 60.586666 42.666667 42.666667 0 0 0 30.72 12.8 42.666667 42.666667 0 0 0 28.586667-10.666666l61.44-59.306667a42.666667 42.666667 0 0 0-59.306667-61.44zM512 341.333333a170.666667 170.666667 0 1 0 170.666667 170.666667 170.666667 170.666667 0 0 0-170.666667-170.666667z" p-id="3780"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
1
src/assets/icons/svg/switch.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1705835733101" class="icon" viewBox="0 0 1137 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4301" width="35.53125" height="32" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M739.555556 113.777778H398.222222a398.222222 398.222222 0 1 0 0 796.444444h341.333334a398.222222 398.222222 0 1 0 0-796.444444z m0 682.666666H398.222222c-156.842667 0-284.444444-127.601778-284.444444-284.444444s127.601778-284.444444 284.444444-284.444444h341.333334c156.842667 0 284.444444 127.601778 284.444444 284.444444s-127.601778 284.444444-284.444444 284.444444z" fill="#8e8af6" p-id="4302"></path><path d="M568.888889 512a170.666667 170.666667 0 1 1-341.333333 0 170.666667 170.666667 0 0 1 341.333333 0z" fill="#8e8af6" p-id="4303" data-spm-anchor-id="a313x.search_index.0.i0.1e423a81DDCJ7W" class="selected"></path></svg>
|
||||
|
After Width: | Height: | Size: 967 B |
1
src/assets/icons/svg/undo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670305749395" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2650" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M532.992 323.52h-6.528V140.928c0-68.288-31.552-96.768-70.4-57.92L94.72 443.968a99.968 99.968 0 0 0 0.064 140.992l358.592 357.248c38.848 38.656 73.088-0.64 73.088-58.048v-192.64h54.336c156.8 0 276.352 84.096 349.76 246.464 14.336 29.44 29.44 22.976 29.44 0-3.2-289.28-200.448-614.464-427.008-614.464z" p-id="2651"></path></svg>
|
||||
|
After Width: | Height: | Size: 659 B |
1
src/assets/icons/svg/unlock.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1669102883288" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14706" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 85.333333c-117.333333 0-213.333333 96-213.333333 213.333334v85.333333h85.333333v-85.333333c0-70.4 57.6-128 128-128s128 57.6 128 128h85.333333c0-117.333333-96-213.333333-213.333333-213.333334z" fill="#424242" p-id="14707"></path><path d="M768 938.666667H256c-46.933333 0-85.333333-38.4-85.333333-85.333334V469.333333c0-46.933333 38.4-85.333333 85.333333-85.333333h512c46.933333 0 85.333333 38.4 85.333333 85.333333v384c0 46.933333-38.4 85.333333-85.333333 85.333334z" fill="#FB8C00" p-id="14708"></path><path d="M512 661.333333m-64 0a64 64 0 1 0 128 0 64 64 0 1 0-128 0Z" fill="#C76E00" p-id="14709"></path></svg>
|
||||
|
After Width: | Height: | Size: 951 B |
1
src/assets/icons/svg/view.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1670306118584" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2217" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M960 771.200582 960 252.79942C949.66048 254.898232 938.958906 256 928 256 839.634438 256 768 184.36556 768 96 768 85.041093 769.101766 74.339518 771.200582 64L252.79942 64C254.898232 74.339518 256 85.041093 256 96 256 184.36556 184.36556 256 96 256 85.041093 256 74.339518 254.898232 64 252.79942L64 771.200582C74.339518 769.101766 85.041093 768 96 768 184.36556 768 256 839.634438 256 928 256 938.958906 254.898232 949.66048 252.79942 960L771.200582 960C769.101766 949.66048 768 938.958906 768 928 768 839.634438 839.634438 768 928 768 938.958906 768 949.66048 769.101766 960 771.200582ZM96 192C149.019336 192 192 149.019336 192 96 192 42.980664 149.019336 0 96 0 42.980664 0 0 42.980664 0 96 0 149.019336 42.980664 192 96 192ZM96 1024C149.019336 1024 192 981.019334 192 928 192 874.980666 149.019336 832 96 832 42.980664 832 0 874.980666 0 928 0 981.019334 42.980664 1024 96 1024ZM928 192C981.019334 192 1024 149.019336 1024 96 1024 42.980664 981.019334 0 928 0 874.980666 0 832 42.980664 832 96 832 149.019336 874.980666 192 928 192ZM928 1024C981.019334 1024 1024 981.019334 1024 928 1024 874.980666 981.019334 832 928 832 874.980666 832 832 874.980666 832 928 832 981.019334 874.980666 1024 928 1024Z" p-id="2218"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
1
src/assets/icons/svg/view1.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1669102763927" class="icon" viewBox="0 0 1823 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12502" xmlns:xlink="http://www.w3.org/1999/xlink" width="356.0546875" height="200"><path d="M911.5727 0A1116.676558 1116.676558 0 0 0 0 512a1116.676558 1116.676558 0 0 0 911.5727 512 1116.676558 1116.676558 0 0 0 911.572701-512A1116.676558 1116.676558 0 0 0 911.5727 0z" fill="#DAD6CA" p-id="12503"></path><path d="M873.590504 303.857567a227.893175 227.893175 0 0 0-97.994065 22.789317A75.964392 75.964392 0 0 1 668.486647 432.997033 227.893175 227.893175 0 1 0 873.590504 303.857567z" fill="#C1BCB2" p-id="12504"></path><path d="M911.5727 264.356083a227.893175 227.893175 0 0 0-97.994065 22.789318A75.964392 75.964392 0 0 1 706.468843 395.014837 227.893175 227.893175 0 1 0 911.5727 264.356083z" fill="#4B5160" p-id="12505"></path></svg>
|
||||
|
After Width: | Height: | Size: 988 B |
1
src/assets/icons/svg/view2.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1669102821180" class="icon" viewBox="0 0 1389 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="12657" xmlns:xlink="http://www.w3.org/1999/xlink" width="271.2890625" height="200"><path d="M694.213363 127.850961A850.41137 850.41137 0 0 0 0 517.767467a850.41137 850.41137 0 0 0 694.213363 389.916505 850.41137 850.41137 0 0 0 694.213364-389.916505 850.41137 850.41137 0 0 0-694.213364-389.916506z" fill="#DAD6CA" p-id="12658"></path><path d="M665.287806 358.098393a173.553341 173.553341 0 0 0-74.627936 17.355334A57.851114 57.851114 0 0 1 509.0898 457.023797a173.553341 173.553341 0 1 0 156.198006-98.925404z" fill="#C1BCB2" p-id="12659"></path><path d="M694.213363 329.172836a173.553341 173.553341 0 0 0-74.627936 17.355334A57.851114 57.851114 0 0 1 538.015357 428.098241 173.553341 173.553341 0 1 0 694.213363 329.172836z" fill="#4B5160" p-id="12660"></path><path d="M1197.518052 16.776823a57.851114 57.851114 0 0 0-81.570071 0L223.305299 925.617818a57.851114 57.851114 0 0 0 82.727092 80.991559L1198.096563 98.346893A57.851114 57.851114 0 0 0 1197.518052 16.776823z" fill="#F24D20" p-id="12661"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
1
src/assets/icons/svg/wechat.svg
Normal file
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1667282501419" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="10209" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M690.1 377.4c5.9 0 11.8 0.2 17.6 0.5-24.4-128.7-158.3-227.1-319.9-227.1C209 150.8 64 271.4 64 420.2c0 81.1 43.6 154.2 111.9 203.6 5.5 3.9 9.1 10.3 9.1 17.6 0 2.4-0.5 4.6-1.1 6.9-5.5 20.3-14.2 52.8-14.6 54.3-0.7 2.6-1.7 5.2-1.7 7.9 0 5.9 4.8 10.8 10.8 10.8 2.3 0 4.2-0.9 6.2-2l70.9-40.9c5.3-3.1 11-5 17.2-5 3.2 0 6.4 0.5 9.5 1.4 33.1 9.5 68.8 14.8 105.7 14.8 6 0 11.9-0.1 17.8-0.4-7.1-21-10.9-43.1-10.9-66 0-135.8 132.2-245.8 295.3-245.8z m-194.3-86.5c23.8 0 43.2 19.3 43.2 43.1s-19.3 43.1-43.2 43.1c-23.8 0-43.2-19.3-43.2-43.1s19.4-43.1 43.2-43.1z m-215.9 86.2c-23.8 0-43.2-19.3-43.2-43.1s19.3-43.1 43.2-43.1 43.2 19.3 43.2 43.1-19.4 43.1-43.2 43.1z" p-id="10210"></path><path d="M866.7 792.7c56.9-41.2 93.2-102 93.2-169.7 0-124-120.8-224.5-269.9-224.5-149 0-269.9 100.5-269.9 224.5S540.9 847.5 690 847.5c30.8 0 60.6-4.4 88.1-12.3 2.6-0.8 5.2-1.2 7.9-1.2 5.2 0 9.9 1.6 14.3 4.1l59.1 34c1.7 1 3.3 1.7 5.2 1.7 2.4 0 4.7-0.9 6.4-2.6 1.7-1.7 2.6-4 2.6-6.4 0-2.2-0.9-4.4-1.4-6.6-0.3-1.2-7.6-28.3-12.2-45.3-0.5-1.9-0.9-3.8-0.9-5.7 0.1-5.9 3.1-11.2 7.6-14.5zM600.2 587.2c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c0 19.8-16.2 35.9-36 35.9z m179.9 0c-19.9 0-36-16.1-36-35.9 0-19.8 16.1-35.9 36-35.9s36 16.1 36 35.9c-0.1 19.8-16.2 35.9-36 35.9z" p-id="10211"></path></svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
1
src/assets/icons/svg/word.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg t="1742797584499" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1216" width="200" height="200"><path d="M616.746667 85.333333L896 347.904V853.333333a85.333333 85.333333 0 0 1-85.333333 85.333334H213.333333a85.333333 85.333333 0 0 1-85.333333-85.333334V170.666667a85.333333 85.333333 0 0 1 85.333333-85.333334h403.413334z m244.352 295.381334L581.802667 118.186667v177.237333a85.333333 85.333333 0 0 0 85.333333 85.333333h193.962667z m-107.264 76.373333h-49.152l-79.488 227.157333-109.354667-227.114666h-13.226667l-110.506666 226.688-77.824-226.688H265.130667l113.749333 328.192h13.226667l117.12-239.36 114.858666 239.36h13.781334l115.968-328.192z" fill="#0F90E3" p-id="1217"></path></svg>
|
||||
|
After Width: | Height: | Size: 738 B |