框架搭建/路由分配/基础组件引入

This commit is contained in:
Gregory
2024-04-12 13:55:40 +08:00
parent e5d1cd0de9
commit d1222bff52
583 changed files with 37100 additions and 87 deletions

23
.gitignore vendored Normal file
View File

@@ -0,0 +1,23 @@
.DS_Store
node_modules
/dist
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw?
package-lock.json

100
README.md
View File

@@ -1,93 +1,19 @@
# yydns_vue
## Getting started
To make it easy for you to get started with GitLab, here's a list of recommended next steps.
Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
## Add your files
- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
# rangeSystem
## Project setup
```
cd existing_repo
git remote add origin https://git.mesalab.cn/gregory/yydns_vue.git
git branch -M main
git push -uf origin main
npm install
```
## Integrate with your tools
### Compiles and hot-reloads for development
```
npm run dev
```
- [ ] [Set up project integrations](https://git.mesalab.cn/gregory/yydns_vue/-/settings/integrations)
### Compiles and minifies for production
```
npm build
```
## Collaborate with your team
- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
## Test and Deploy
Use the built-in continuous integration in GitLab.
- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
***
# Editing this README
When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template.
## Suggestions for a good README
Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
## Name
Choose a self-explaining name for your project.
## Description
Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
## Badges
On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
## Visuals
Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
## Installation
Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
## Usage
Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
## Support
Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
## Roadmap
If you have ideas for releases in the future, it is a good idea to list them in the README.
## Contributing
State if you are open to contributions and what your requirements are for accepting them.
For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
## Authors and acknowledgment
Show your appreciation to those who have contributed to the project.
## License
For open source projects, say how it is licensed.
## Project status
If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).

12
babel.config.js Normal file
View File

@@ -0,0 +1,12 @@
const prodPlugins = []
if (process.env.NODE_ENV === "production") {//只在build去除
prodPlugins.push("transform-remove-console");
}
module.exports = {
presets: [
'@vue/app'
],
plugins: [
...prodPlugins
]
}

43
package.json Normal file
View File

@@ -0,0 +1,43 @@
{
"name": "range_system",
"version": "0.0.1",
"private": true,
"scripts": {
"dev": "vue-cli-service serve",
"build": "vue-cli-service build"
},
"dependencies": {
"@jiaminghi/data-view": "^2.10.0",
"axios": "^0.21.1",
"dayjs": "^1.11.10",
"echarts": "^5.4.1",
"echarts-gl": "^2.0.9",
"echarts-wordcloud": "^2.0.0",
"el-table-infinite-scroll": "^1.0.10",
"element-ui": "2.15.6",
"moment": "^2.29.4",
"prismjs": "^1.29.0",
"v-dragresize": "^1.0.5",
"vue": "^2.6.10",
"vue-prism-editor": "^1.3.0",
"vue-resize-directive": "^1.2.0",
"vue-router": "^3.0.3",
"vuex": "^3.0.1",
"vuex-persistedstate": "^4.1.0",
"xterm": "^4.4.0",
"xterm-addon-attach": "^0.9.0",
"xterm-addon-fit": "^0.4.0"
},
"devDependencies": {
"@vue/cli-service": "^5.0.8",
"less": "^4.2.0",
"less-loader": "^7.3.0",
"svg-sprite-loader": "^6.0.11",
"svgo-loader": "^4.0.0",
"vue-template-compiler": "^2.6.10"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}

BIN
public/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

25
public/index.html Normal file
View File

@@ -0,0 +1,25 @@
<!DOCTYPE html>
<html lang="en">
<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">
<title>靶场管理</title>
<script type="text/javascript">
window.g = {
// baseURL:'172.16.0.120:31540', //开发环境
baseURL: document.location.host, //正式环境
// queryTags:[],
// switchLanguage:"en",
switchLanguage:"zh"
}
</script>
</head>
<body>
<noscript>
<strong>We're sorry but rangeSystem doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>

66
src/App.vue Normal file
View File

@@ -0,0 +1,66 @@
<template>
<div id="app">
<router-view/>
</div>
</template>
<script>
</script>
<style lang="less">
#app{
width: 100%;
height: 100%;
color: #fff;
background: radial-gradient(circle, #10215C 0%, #070F29 100%);
}
.el-select-dropdown{
background-color: #ffffff;
.el-scrollbar{
background-color: #ffffff;
::v-deep .el-select-group__wrap{
border-color: #ffffff;
}
}
}
.el-image-viewer__img{
width: 70%;
height: auto;
backdrop-filter: brightness(40px);
}
.el-image-viewer__wrapper{
/*margin-top: 300px;*/
.el-image-viewer__close{
margin-top: 15%;
margin-right: 7%;
/*background-color: #00F1FF;*/
i{
color: #00F1FF;
}
}
.el-image-viewer__prev{
margin-left: 13%;
i{
color: #00F1FF;
}
}
.el-image-viewer__next{
margin-right: 13%;
i{
color: #00F1FF;
}
}
}
.el-image-viewer__canvas{
/*margin-top: 2%;*/
/*margin-top: 10%;*/
/*margin-left: 15%;*/
backdrop-filter: blur(20px);
/*width: 70%;*/
/*height: auto;*/
}
</style>

230
src/api/axios/index.js Normal file
View File

@@ -0,0 +1,230 @@
import axios from "axios";
import router from "../../router";
import qs from 'qs'
import store from '../../store' //axios 封装如果要用到vuex需要再次引入才能使用
import { Notification, Loading } from "element-ui";
axios.defaults.baseURL = 'http://' + window.g.baseURL;
console.log(window.g)
// 环境的切换
if (process.env.NODE_ENV == 'development') {
} else if (process.env.NODE_ENV == 'debug') {
// axios.defaults.baseURL = 'http://172.16.0.120:30598';
} else if (process.env.NODE_ENV == 'production') {
// axios.defaults.baseURL = 'http://172.16.0.120:30598';
}
// 请求超时时间
axios.defaults.timeout = 60000;
axios.defaults.headers['Content-Type'] = 'application/json';
// post请求头
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
// axios.defaults.headers['Access-Control-Allow-Header']='Access-Control-Allow-Origin'
// axios.defaults.headers['Access-Control-Allow-Origin']='*'
// var instance = axios.create({ //封装postform请求用于文件上传
// headers: {'content-type':'multipart/form-data; charset=UTF-8'}
// });
// // 请求拦截器
axios.interceptors.request.use(
config => {
// 每次发送请求之前判断是否存在token如果存在则统一在http请求的header都加上token不用每次请求都手动添加了
// 即使本地存在token也有可能token是过期的所以在响应拦截器中要对返回状态进行判断
const token = localStorage.getItem('token');
if(token!=''){
config.headers['Authorization'] = 'Bearer ' + token
}
// // const sessionId = sessionStorage.getItem('sessionId');
// // if(sessionId!=''){
// // config.headers.sessionId = sessionId;
// // }
// const userId = sessionStorage.getItem('userId');
// if(userId!=''){
// config.headers.userId = userId;
// }
return config;
},
error => {
return Promise.error(error);
})
// 响应拦截器
axios.interceptors.response.use(
response => {
// console.log(response)
// let startTime=response.config.metadata.startTime
// let now = Date.now();
// let seconds = Math.floor((now - startTime)/1000);
// let milliseconds = Math.floor((now - startTime)%1000);
// // console.log(`${seconds}.${milliseconds} seconds`)
// // response.data.duration = `${seconds}.${milliseconds}`
// // if(response.headers.token){
// // sessionStorage.setItem('token',response.headers.token) //存储token,每次请求token都会改变
// // }
if (response.status === 200) {
return Promise.resolve(response);
// console.log(response)
} else {
return Promise.reject(response);
}
},
// 服务器状态码不是200的情况
error => {
// if(error.response.headers.token){
// sessionStorage.setItem('token',error.response.headers.token) //存储token,每次请求token都会改变 无论成功失败都要存储token
// }
if (error.response&&error.response.status) {
switch (error.response.status) {
case 401:
Notification.success({
title: '错误',
message: error?.response?.data?.detail ?? error.response.data,
duration:3000
})
router.push('/')
break;
// case 903:
// Notification.error('请重新登陆')
// router.push('/')
// break;
// case 904:
// Notification.error('无权限,请重新登陆')
// router.push('/')
// break;
// case 905:
// Notification.error('无此操作人员,无操作权限')
// router.push('/')
// break;
// case 906:
// Notification.error('长时间未登录,请重新登陆')
// router.push('/')
// break;
// 其他错误,直接抛出错误提示
default:
Notification.success({
title: '错误',
message: error?.response?.data?.detail ?? error.response.data,
duration:3000
})
}
return Promise.reject(error.response);
}else{
Notification.success({
title: '错误',
message: error.response,
duration:3000
})
// router.push('/login')
return Promise.reject(error.response);
}
}
);
export default {
/* 封装get方法 url data returns {Promise} */
get (url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, {params: params}).then(response => {
resolve(response.data);
}).catch(err => {
reject(err)
})
})
},
/* 封装delete方法 url data returns {Promise} */
delete (url, params = {}, data = {}) {
return new Promise((resolve, reject) => {
axios.delete(url, {params: params, data: data}).then(response => {
resolve(response.data);
}).catch(err => {
reject(err)
})
})
},
/* 封装put请求 url data returns {Promise}*/
put(url,data = {}, params = {}){
return new Promise((resolve,reject) => {
axios.put(url, data, {params: params}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* 封装put请求 url data returns {Promise}*/
putForm(url,data = {}, params = {}){
return new Promise((resolve,reject) => {
axios.put(url,qs.stringify(data), {params: params, headers: {'content-type':'application/x-www-form-urlencoded;charset=UTF-8'}}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* 封装put请求 url data returns {Promise}*/
putFormData(url,data = {}, params = {}){
return new Promise((resolve,reject) => {
axios.put(url,data, {params: params, headers: {'content-type':'multipart/form-data; charset=UTF-8'}}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* 封装post请求 url data returns {Promise}*/
post(url,data = {}, params = {}){
return new Promise((resolve,reject) => {
axios.post(url,data, {params: params}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* 封装postForm请求 url data returns {Promise}*/
postForm(url,data = {}, params = {}){
return new Promise((resolve,reject) => {
axios.post(url,qs.stringify(data), {params: params, headers: {'content-type':'application/x-www-form-urlencoded;charset=UTF-8'}}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* 封装postform请求 url data returns {Promise} 改变请求头content-type*/
postFormData(url,data = {}){
return new Promise((resolve,reject) => {
axios.post(url,data, {headers: {'content-type':'multipart/form-data; charset=UTF-8'}})
.then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
postFile(url,data = {}){
return new Promise((resolve,reject) => {
axios.post(url,data,{responseType: 'blob'}).then(response => {
resolve(response.data);
},err => {
reject(err)
})
})
},
/* get方法下载文件 url params returns {Promise} */
getFile(url, params = {}) {
return new Promise((resolve, reject) => {
axios.get(url, {params: params, responseType: 'blob'}).then(response => {
resolve(response);
}).catch(err => {
reject(err)
})
})
}
}

118
src/api/http/index.js Normal file
View File

@@ -0,0 +1,118 @@
export default {
api: {
// 登录
login: '/token', // 登录
getMenus: '/api/user/menu', // 获取菜单
// 首页
getTargetStatistics: '/api/target/statistic', // 首页-靶场统计数据
getimageStatistics: '/api/image/statistic', // 首页-镜像统计数据
getSourceStatistics: '/api/target/source/statistic', // 首页-资源统计数据
getNodeStatistics: '/api/target/node/statistic', // 首页-节点统计数据
// 靶场管理
getTargets: '/api/targets', // 获取靶场列表
target: '/api/target', // 自定义创建靶场 + 自定义更新靶场 + 删除靶场
quickInterface: '/api/target/quick/interface', // interface快速创建靶场 + 快速更新靶场
quickConsensus: '/api/target/quick/consensus', // consensus快速创建靶场 + 快速更新靶场
asyncTarget: '/api/async/target', // 异步删除靶场
asyncQuickInterface: '/api/async/target/quick/interface', // interface异步快速创建靶场 + 快速更新靶场
asyncQuickConsensus: '/api/async/target/quick/consensus', // consensus异步快速创建靶场 + 快速更新靶场
task: '/api/task', // 获取接口任务执行进度
// 靶场配置管理
getSettingList: '/api/settings', // 获取靶场配置列表
setting: '/api/setting/single', // 添加 + 删除 + 修改靶场配置
singleDeploy: '/api/setting/deploy/single', // 靶场配置-部署
pipeline: '/api/setting/pipeline/single', // 靶场配置-运行流水线
batchDeply:'/api/setting/deploy/batch', // 靶场配置-批量部署
batchPipeline: '/api/setting/pipeline/batch',// 靶场配置-批量运行流水线
batchDel:'/api/setting/batch', // 靶场配置-批量删除
getTorDict: '/api/setting/tor_version', // 根据role获取tor_verson列表
getImageDict: '/api/images', // 获取镜像列表
getCountryDict: '/api/countries', // 获取国家列表
getNetworkDict: '/api/networks', // 获取网络列表
getOutPortDict: '/api/setting/available_port', // 获取代理端口里欸包
asynDelSetting: '/api/async/setting/single', // 异步删除靶场配置
asynBatchDel:'/api/async/setting/batch', // 异步批量删除靶场配置
// 靶场节点管理
worldMap: '/api/node/worldmap', // 世界地图的节点数据
getNodeList: '/api/nodes', // 靶场节点列表
// 靶场节点详情
getNodeDetail: '/api/node/detail', // 获取节点详情
getCpu: '/api/node/monitor/cpu', // 获取cpu折线图数据
getMemory: '/api/node/monitor/memory', // 获取memory折线图数据
getNodeFile: '/api/node/files', // 获取节点流量采集文件列表
downloadNodeFile: '/api/node/files/download', // 下载节点流量采集文件
flowStartStop: '/api/traffic/single/switch', // 开始 + 结束
getLog: '/api/node/log', // 日志
downloadLog: '/api/node/log/download', // 下载日志
getWebshell: '/api/node/webshell/url', // 获取webshell地址
getWebsocketUrl: '/api/node/websocket/url', // 获取websocket地址
getCurrentDir: '/api/node/filemanager/currentdir',// 文件管理:获取当前路径下文件
uploadFile: '/api/node/filemanager/currentdir/upload', // 上传文件
delFile: '/api/node/filemanager/file/delete', // 删除文件
downloadFile: '/api/node/filemanager/file/download', // 下载文件
makeDir: '/api/node/filemanager/currentdir/makedir',// 新建文件夹
delDir: '/api/node/filemanager/dir/delete',// 删除文件夹
//靶场节点管理-批量上传和下载
batchUpload: '/api/node/filemanager/currentdir/batch/upload', // 批量上传
batchDownload: '/api/node/filemanager/file/batch/download', // 批量下载
//靶场节点管理-批量采集流量
getTaskList: '/api/traffic/tasks', // 获取任务列表
trafficTask: '/api/traffic/task', // 新增 + 修改 + 删除 任务
getTrafficNodes: '/api/traffic/task/nodes', // 获取流量节点列表
taskStartStop: '/api/traffic/task/switch', // 开始 + 结束
getPackList: '/api/traffic/task/pcaps', // 获取pcap包列表
downloadPacp: '/api/traffic/task/pcap/download', // 下载packp文件
getRuleList: '/api/rules', // 获取规则列表
rule: '/api/rule', // 新增 + 修改 + 删除 规则
// 个人管理
updatePwd: '/api/person/password', // 更新密码
// 用户管理
getUserList: '/api/users', // 获取用户列表
addUser: '/api/user', // 新增用户
delUser: '/api/user', // 删除用户
editUserPwd: '/api/user/password', // 修改角色
editUserRole: '/api/user/role', // 修改密码
getMenuList: '/api/user/menu', // 获取用户菜单
//角色管理
getRoleList: '/api/roles', // 获取用户角色列表
addRole: '/api/role', // 新增角色
delRole: '/api/role', // 删除角色
editRole: '/api/role/permissions', // 修改角色权限
delPermission: '/api/role/permission', // 删除权限
getPermissionList: '/api/permission', // 获取权限列表
// 国家网络管理
getCountryList: '/api/countries', // 获取国家列表
country: '/api/country', // 创建 + 修改 + 删除国家
getNetList: '/api/networks', // 获取网络列表
getNetwork: '/api/network/', // 获取单个网络
network: '/api/network/single', // 创建 + 修改网络
delNetwork: '/api/network', // 删除网络
judgeNetwork: '/api/network/judge/', // 检验cidr是否合理
// 镜像管理
statistics4:'/darkNetProbe/node/statistics',
earth:'darkNetProbe/node/earth',
getImages:'api/images', //镜像模块主页面 :条件/分页获取镜像
addImage:'/api/image', //自定义镜像
updateImage:'/api/image', //自定义镜像
buildImage:'api/image/build',// 构建镜像
delImage:'api/image',// 删除镜像
infoImage:'api/image/detail',// 镜像详情
asyncUpdateImage: '/api/async/image', // 异步更新镜像
asyncAddImage: '/api/async/image', // 异步新增镜像
asyncBuildImage: '/api/async/image/build', // 异步构建镜像
},
}

174
src/api/socket.js Normal file
View File

@@ -0,0 +1,174 @@
// import store from '../store'
// import router from '../router'
// import {Message} from "element-ui";
// var websock = null
// var globalCallback = null;
// var interval = null; //定时器
// var isOver80 = false; //硬盘使用率是否超过80%%
// var isOver = false; //用户启动检测,如果硬盘使用率超过80%自动停止,并弹窗提示用户为何停止
//
// //初始化websocket
// function initWebSocket() {
// const userId = sessionStorage.getItem('userId')
// console.log("%%%%%%%%%%%%%################^^^^^^^^^^^^^")
// console.log(userId)
// console.log("%%%%%%%%%%%%%################^^^^^^^^^^^^^")
//
// var ws = 'ws://' + window.g.baseURL + '/websocket/' + 'admin';
//
// websock = new WebSocket(ws)
// websock.onmessage = function(e) {
// websocketonmessage(e)
// }
// websock.onclose = function(e) {
// websocketclose(e);
// }
// websock.onopen = function() {
// websocketOpen()
// }
// // 连接发生错误的回调方法
// websock.onerror = function() {
// console.log('链接失败--重新链接');
// initWebSocket()
// }
// //发送心跳包
// interval = window.setInterval(function() {
// if (websock != null) {
// let heart = {
// "heart": "HeartBeat"
// }
// websock.send(JSON.stringify(heart));
// console.log("发送心跳包HeartBeat");
// }
// }, 1800000);
// // }, 180);
// }
//
// // 实际调用的方法
// function sendSock(agentData, callback) {
// globalCallback = callback
// if (websock.readyState === websock.OPEN) {
// // 若是ws开启状态
// websocketsend(agentData)
// } else if (websock.readyState === websock.CONNECTING) {
// // 若是 正在开启状态则等待1s后重新调用
// setTimeout(function() {
// sendSock(agentData, callback)
// }, 1000)
// } else {
// // 若未开启 则等待1s后重新调用
// setTimeout(function() {
// sendSock(agentData, callback)
// }, 1000)
// }
// }
// //实际调用--用户退出登录时----手动关闭ws连接
// function closews() {
// websock.close();
// }
// //实际调用--用户登录成功(login.vue)或刷新页面(app.vue)时--启动ws重新连接//用户刷新页面但是未登录不做处理
// function linkws() {
// initWebSocket()
// console.log('登录成功--开始连接.......')
// }
//
// // 数据接收 ---------将所需数据存到store里面
// function websocketonmessage(e) {
// var data = JSON.parse(e.data)
// // console.log(data)
// if (data.msg_type == "stat") { //实时数据图标展示
// var yingpan = data.fs_used / (data.fs_used + data.fs_free);
// var neicun = data.mem_used / data.mem_total;
// var msg = {
// // "flow":(data.ring_recv_bytes*8/1024/1024).toFixed(2),
// "flow": (data.recv_bytes * 8 / 1024 / 1024).toFixed(2),
// "meek": data.new_conns.TOR_MEEK,
// "tor": data.new_conns.TOR_DIRECT,
// "lwhttp": data.new_conns.ZERONET_TRACKER,
// "lwssl": data.new_conns.ZERONET_SSL,
// "tor2web": data.new_conns.TOR2WEB,
// "tempmail": data.new_conns.TEMPMAIL,
// "cpu": (100 - data.cpu_idl).toFixed(2), //cpu使用率
// "mem": (neicun * 100).toFixed(2), //内存使用率
// "fs": (yingpan * 100).toFixed(2), //硬盘使用率
// }
// store.commit("timedatafn", msg) //存储实时数据
// if ((yingpan * 100).toFixed(2) > 80) { //硬盘使用率超过80%自动提示
// if (isOver80 == false) {
// Message.warning('警告:硬盘使用率已超过80%!');
// isOver80 = true
// }
// } else {
// isOver80 = false;
// }
// };
// if (data.info == 'disk quota exceeded' && data.msg_type == "task_done") {
// if (isOver == false) {
// Message.warning('警告:硬盘使用率已超过80%!');
// isOver = true
// }
// } else {
// isOver = false;
// }
// if (data.msg_type == "task_done" && data.result == "success") { //流量导入结果回传
// var msg = {
// "action": data.action,
// "info": data.info,
// "result": data.result
// };
// store.commit("flowbackfn", msg) //存储实时数据
// };
// if (data.info == 'License invalid' && data.msg_type == "task_done") { //License失效--跳到license认证页面
// Message.error('License失效,请重新认证!');
// store.commit("isAuthorize", true);
// router.push('/authmessage')
// }
//
// //实时检测是否停止 lightnet_mode-->0在线 1离线 lightnet_heartbeat 0停止 >0启动
// if (data.lightnet_heartbeat == 0) {
// store.commit("isCheckfn", false) // 当前用户关闭了实时数据检测
// } else if (data.lightnet_heartbeat > 0) {
// store.commit("isCheckfn", true) // 当前用户开启了实时数据检测
// }
// if (data.type == "loginOut") { //用户二次登陆踢掉第一次登陆 并清空数据
// if (data.token == sessionStorage.getItem('token')) {
// router.push('/login')
// sessionStorage.setItem('isLogin', false)
// sessionStorage.setItem('sessionId', '')
// sessionStorage.setItem('token', '')
// sessionStorage.setItem('userId', '')
// }
// }
//
// // 铃声提示
// if (data.new_meek_conns > 0) {
// store.commit("newMeekfn", new Date().getTime())
// }
// }
//
// // 数据发送
// function websocketsend(agentData) {
// websock.send(JSON.stringify(agentData))
// }
//
// // 关闭
// function websocketclose(e) {
// console.log('连接关闭');
// if (interval) { //关闭连接请求定时器
// window.clearInterval(interval);
// console.log("清除定时器");
// }
// }
// // 创建 websocket 连接
// function websocketOpen(e) {
// console.log('连接成功')
// }
//
// //initWebSocket() 登录和页面刷新重新连接
//
// // 将方法暴露出去
// export {
// sendSock, //发送数据
// closews, //退出登录--手动关闭链接
// linkws, //登录成功--建立ws连接
// }

1062
src/api/world.json Normal file

File diff suppressed because it is too large Load Diff

947
src/api/world20231230.json Normal file
View File

@@ -0,0 +1,947 @@
{
"status": true,
"namemap": {
"Afghanistan": "阿富汗",
"Angola": "安哥拉",
"Albania": "阿尔巴尼亚",
"Algeria": "阿尔及利亚",
"Argentina": "阿根廷",
"Armenia": "亚美尼亚",
"Australia": "澳大利亚",
"Austria": "奥地利",
"Azerbaijan": "阿塞拜疆",
"Bahamas": "巴哈马",
"Bangladesh": "孟加拉国",
"Belgium": "比利时",
"Benin": "贝宁",
"Burkina Faso": "布基纳法索",
"Burundi": "布隆迪",
"Bulgaria": "保加利亚",
"Bosnia and Herz.": "波斯尼亚和黑塞哥维那",
"Belarus": "白俄罗斯",
"Belize": "伯利兹",
"Bermuda": "百慕大群岛",
"Bolivia": "玻利维亚",
"Brazil": "巴西",
"Brunei": "文莱",
"Bhutan": "不丹",
"Botswana": "博茨瓦纳",
"Cambodia": "柬埔寨",
"Cameroon": "喀麦隆",
"Canada": "加拿大",
"Central African Rep.": "中非共和国",
"Chad": "乍得",
"Chile": "智利",
"China": "中国",
"Colombia": "哥伦比亚",
"Congo": "刚果",
"Costa Rica": "哥斯达黎加",
"Côte d'Ivoire": "科特迪瓦",
"Croatia": "克罗地亚",
"Cuba": "古巴",
"Cyprus": "塞浦路斯",
"Czech Rep.": "捷克共和国",
"Dem. Rep. Korea": "韩国",
"Dem. Rep. Congo": "民主刚果",
"Denmark": "丹麦",
"Djibouti": "吉布提",
"Dominican Rep.": "多米尼加共和国",
"Ecuador": "厄瓜多尔",
"Egypt": "埃及",
"El Salvador": "萨尔瓦多",
"Eq. Guinea": "赤道几内亚",
"Eritrea": "厄立特里亚",
"Estonia": "爱沙尼亚",
"Ethiopia": "埃塞俄比亚",
"Falkland Is.": "福克兰群岛",
"Fiji": "斐济",
"Finland": "芬兰",
"France": "法国",
"French Guiana": "法属圭亚那",
"Fr. S. Antarctic Lands": "法属南部领地",
"Gabon": "加蓬",
"Gambia": "冈比亚",
"Germany": "德国",
"Georgia": "佐治亚州",
"Ghana": "加纳",
"Greece": "希腊",
"Greenland": "格陵兰",
"Guatemala": "危地马拉",
"Guinea": "几内亚",
"Guinea-Bissau": "几内亚比绍",
"Guyana": "圭亚那",
"Haiti": "海地",
"Heard I. and McDonald Is.": "赫德岛和麦克唐纳群岛",
"Honduras": "洪都拉斯",
"Hungary": "匈牙利",
"Iceland": "冰岛",
"India": "印度",
"Indonesia": "印度尼西亚",
"Iran": "伊朗",
"Iraq": "伊拉克",
"Ireland": "爱尔兰",
"Israel": "以色列",
"Italy": "意大利",
"Ivory Coast": "象牙海岸",
"Jamaica": "牙买加",
"Japan": "日本",
"Jordan": "乔丹",
"Kashmir": "克什米尔",
"Kazakhstan": "哈萨克斯坦",
"Kenya": "肯尼亚",
"Kosovo": "科索沃",
"Kuwait": "科威特",
"Kyrgyzstan": "吉尔吉斯斯坦",
"Laos": "老挝",
"Lao PDR": "老挝人民民主共和国",
"Latvia": "拉脱维亚",
"Lebanon": "黎巴嫩",
"Lesotho": "莱索托",
"Liberia": "利比里亚",
"Libya": "利比亚",
"Lithuania": "立陶宛",
"Luxembourg": "卢森堡",
"Madagascar": "马达加斯加",
"Macedonia": "马其顿",
"Malawi": "马拉维",
"Malaysia": "马来西亚",
"Mali": "马里",
"Mauritania": "毛里塔尼亚",
"Mexico": "墨西哥",
"Moldova": "摩尔多瓦",
"Mongolia": "蒙古",
"Montenegro": "黑山",
"Morocco": "摩洛哥",
"Mozambique": "莫桑比克",
"Myanmar": "缅甸",
"Namibia": "纳米比亚",
"Netherlands": "荷兰",
"New Caledonia": "新喀里多尼亚",
"New Zealand": "新西兰",
"Nepal": "尼泊尔",
"Nicaragua": "尼加拉瓜",
"Niger": "尼日尔",
"Nigeria": "尼日利亚",
"Korea": "朝鲜",
"Northern Cyprus": "北塞浦路斯",
"Norway": "挪威",
"Oman": "阿曼",
"Pakistan": "巴基斯坦",
"Panama": "巴拿马",
"Papua New Guinea": "巴布亚新几内亚",
"Paraguay": "巴拉圭",
"Peru": "秘鲁",
"Republic of the Congo": "刚果共和国",
"Philippines": "菲律宾",
"Poland": "波兰",
"Portugal": "葡萄牙",
"Puerto Rico": "波多黎各",
"Qatar": "卡塔尔",
"Republic of Seychelles": "塞舌尔共和国",
"Romania": "罗马尼亚",
"Russia": "俄罗斯",
"Rwanda": "卢旺达",
"Samoa": "萨摩亚",
"Saudi Arabia": "沙特阿拉伯",
"Senegal": "塞内加尔",
"Serbia": "塞尔维亚",
"Sierra Leone": "塞拉利昂",
"Slovakia": "斯洛伐克",
"Slovenia": "斯洛文尼亚",
"Solomon Is.": "所罗门群岛",
"Somaliland": "索马里兰",
"Somalia": "索马里",
"South Africa": "南非",
"S. Geo. and S. Sandw. Is.": "南乔治亚和南桑德威奇群岛",
"S. Sudan": "南苏丹",
"Spain": "西班牙",
"Sri Lanka": "斯里兰卡",
"Sudan": "苏丹",
"Suriname": "苏里南",
"Swaziland": "斯威士兰",
"Sweden": "瑞典",
"Switzerland": "瑞士",
"Syria": "叙利亚",
"Tajikistan": "塔吉克斯坦",
"Tanzania": "坦桑尼亚",
"Thailand": "泰国",
"The Kingdom of Tonga": "汤加王国",
"Timor-Leste": "东帝汶",
"Togo": "多哥",
"Trinidad and Tobago": "特立尼达和多巴哥",
"Tunisia": "突尼斯",
"Turkey": "土耳其",
"Turkmenistan": "土库曼斯坦",
"Uganda": "乌干达",
"Ukraine": "乌克兰",
"United Arab Emirates": "阿拉伯联合酋长国",
"United Kingdom": "大不列颠联合王国",
"United Republic of Tanzania": "坦桑尼亚联合共和国",
"United States": "美国",
"United States of America": "美利坚合众国",
"Uruguay": "乌拉圭",
"Uzbekistan": "乌兹别克斯坦",
"Vanuatu": "瓦努阿图",
"Venezuela": "委内瑞拉",
"Vietnam": "越南",
"West Bank": "西岸",
"W. Sahara": "西撒哈拉",
"Yemen": "也门",
"Zambia": "赞比亚",
"Zimbabwe": "津巴布韦"
},
"dataArr": [
{
"name": "阿富汗",
"value": 28397.812
},
{
"name": "安哥拉",
"value": 19549.124
},
{
"name": "阿尔巴尼亚",
"value": 3150.143
},
{
"name": "阿尔及利亚",
"value": 8441.537
},
{
"name": "阿根廷",
"value": 40374.224
},
{
"name": "亚美尼亚",
"value": 2963.496
},
{
"name": "澳大利亚",
"value": 268.065
},
{
"name": "奥地利",
"value": 22404.488
},
{
"name": "阿塞拜疆",
"value": 8401.924
},
{
"name": "布隆迪",
"value": 9094.718
},
{
"name": "比利时",
"value": 9232.753
},
{
"name": "贝宁",
"value": 10941.288
},
{
"name": "布基纳法索",
"value": 9509.798
},
{
"name": "孟加拉国",
"value": 15540.284
},
{
"name": "保加利亚",
"value": 151125.475
},
{
"name": "波斯尼亚和黑塞哥维那",
"value": 7389.175
},
{
"name": "白俄罗斯",
"value": 66402.316
},
{
"name": "伯利兹",
"value": 3845.929
},
{
"name": "百慕大群岛",
"value": 9491.07
},
{
"name": "玻利维亚",
"value": 308.595
},
{
"name": "巴西",
"value": 64.951
},
{
"name": "文莱",
"value": 716.939
},
{
"name": "不丹",
"value": 195210.154
},
{
"name": "博茨瓦纳",
"value": 27.223
},
{
"name": "柬埔寨",
"value": 716.939
},
{
"name": "喀麦隆",
"value": 1969.341
},
{
"name": "加拿大",
"value": 4349.921
},
{
"name": "中非共和国",
"value": 34126.24
},
{
"name": "乍得",
"value": 7830.534
},
{
"name": "智利",
"value": 17150.76
},
{
"name": "中国",
"value": 1359821.465
},
{
"name": "哥伦比亚",
"value": 60508.978
},
{
"name": "刚果",
"value": 17150.343
},
{
"name": "科特迪瓦",
"value": 17150.343
},
{
"name": "哥斯达黎加",
"value": 20624.343
},
{
"name": "克罗地亚",
"value": 62191.161
},
{
"name": "古巴",
"value": 3573.024
},
{
"name": "塞浦路斯",
"value": 46444.798
},
{
"name": "捷克共和国",
"value": 4669.685
},
{
"name": "民主刚果",
"value": 11281.768
},
{
"name": "丹麦",
"value": 1.468
},
{
"name": "吉布提",
"value": 1103.685
},
{
"name": "多米尼加共和国",
"value": 10553.701
},
{
"name": "东帝汶",
"value": 83017.404
},
{
"name": "厄瓜多尔",
"value": 834.036
},
{
"name": "埃及",
"value": 5550.959
},
{
"name": "萨尔瓦多",
"value": 10016.797
},
{
"name": "赤道几内亚",
"value": 37062.82
},
{
"name": "厄立特里亚",
"value": 15001.072
},
{
"name": "爱沙尼亚",
"value": 78075.705
},
{
"name": "埃塞俄比亚",
"value": 5741.159
},
{
"name": "福克兰群岛",
"value": 46182.038
},
{
"name": "斐济",
"value": 1298.533
},
{
"name": "芬兰",
"value": 87095.281
},
{
"name": "法国",
"value": 5367.693
},
{
"name": "法属圭亚那",
"value": 860.559
},
{
"name": "法属南部领地",
"value": 49.581
},
{
"name": "加蓬",
"value": 63230.866
},
{
"name": "冈比亚",
"value": 1556.222
},
{
"name": "德国",
"value": 62066.35
},
{
"name": "佐治亚州",
"value": 4388.674
},
{
"name": "加纳",
"value": 24262.901
},
{
"name": "希腊",
"value": 10876.033
},
{
"name": "格陵兰",
"value": 1680.64
},
{
"name": "危地马拉",
"value": 10876.033
},
{
"name": "几内亚",
"value": 696.167
},
{
"name": "几内亚比绍",
"value": 11109.999
},
{
"name": "圭亚那",
"value": 56.546
},
{
"name": "海地",
"value": 14341.576
},
{
"name": "赫德岛和麦克唐纳群岛",
"value": 4338.027
},
{
"name": "洪都拉斯",
"value": 231.169
},
{
"name": "匈牙利",
"value": 786.126
},
{
"name": "冰岛",
"value": 7621.204
},
{
"name": "印度",
"value": 4338.027
},
{
"name": "印度尼西亚",
"value": 9896.4
},
{
"name": "伊朗",
"value": 10014.633
},
{
"name": "伊拉克",
"value": 240676.485
},
{
"name": "爱尔兰",
"value": 15624.648
},
{
"name": "以色列",
"value": 4467.561
},
{
"name": "意大利",
"value": 240676.485
},
{
"name": "象牙海岸",
"value": 30962.38
},
{
"name": "牙买加",
"value": 318.042
},
{
"name": "日本",
"value": 7420.368
},
{
"name": "乔丹",
"value": 60508.978
},
{
"name": "克什米尔",
"value": 15921.485
},
{
"name": "哈萨克斯坦",
"value": 2741.485
},
{
"name": "肯尼亚",
"value": 6454.554
},
{
"name": "科索沃",
"value": 127352.833
},
{
"name": "科威特",
"value": 15921.127
},
{
"name": "吉尔吉斯斯坦",
"value": 40909.194
},
{
"name": "老挝",
"value": 5334.223
},
{
"name": "老挝人民民主共和国",
"value": 127352.833
},
{
"name": "拉脱维亚",
"value": 14364.931
},
{
"name": "黎巴嫩",
"value": 51452.352
},
{
"name": "莱索托",
"value": 97.743
},
{
"name": "利比里亚",
"value": 2991.58
},
{
"name": "利比亚",
"value": 6395.713
},
{
"name": "立陶宛",
"value": 4341.092
},
{
"name": "卢森堡",
"value": 3957.99
},
{
"name": "马达加斯加",
"value": 6040.612
},
{
"name": "马其顿",
"value": 20758.779
},
{
"name": "马拉维",
"value": 2008.921
},
{
"name": "马来西亚",
"value": 3068.457
},
{
"name": "马里",
"value": 507.885
},
{
"name": "毛里塔尼亚",
"value": 2090.519
},
{
"name": "墨西哥",
"value": 31642.36
},
{
"name": "摩尔多瓦",
"value": 103.619
},
{
"name": "蒙古",
"value": 21079.532
},
{
"name": "黑山",
"value": 117886.404
},
{
"name": "摩洛哥",
"value": 507.885
},
{
"name": "莫桑比克",
"value": 13985.961
},
{
"name": "缅甸",
"value": 51931.231
},
{
"name": "纳米比亚",
"value": 620.078
},
{
"name": "荷兰",
"value": 2712.738
},
{
"name": "新喀里多尼亚",
"value": 23967.265
},
{
"name": "新西兰",
"value": 3609.42
},
{
"name": "尼泊尔",
"value": 15013.694
},
{
"name": "尼加拉瓜",
"value": 28275.835
},
{
"name": "尼日尔",
"value": 2178.967
},
{
"name": "尼日利亚",
"value": 246.379
},
{
"name": "朝鲜",
"value": 15893.746
},
{
"name": "北塞浦路斯",
"value": 159707.78
},
{
"name": "挪威",
"value": 5822.209
},
{
"name": "阿曼",
"value": 16615.243
},
{
"name": "巴基斯坦",
"value": 4891.251
},
{
"name": "巴拿马",
"value": 26846.016
},
{
"name": "巴布亚新几内亚",
"value": 4368.136
},
{
"name": "巴拉圭",
"value": 2802.768
},
{
"name": "秘鲁",
"value": 173149.306
},
{
"name": "刚果共和国",
"value": 3678.128
},
{
"name": "菲律宾",
"value": 29262.83
},
{
"name": "波兰",
"value": 93444.322
},
{
"name": "葡萄牙",
"value": 6858.945
},
{
"name": "波多黎各",
"value": 38198.754
},
{
"name": "卡塔尔",
"value": 3709.671
},
{
"name": "塞舌尔共和国",
"value": 1000.556
},
{
"name": "罗马尼亚",
"value": 10589.792
},
{
"name": "俄罗斯",
"value": 6459.721
},
{
"name": "卢旺达",
"value": 1749.713
},
{
"name": "萨摩亚",
"value": 11749.713
},
{
"name": "沙特阿拉伯",
"value": 21861.476
},
{
"name": "塞内加尔",
"value": 21861.476
},
{
"name": "塞尔维亚",
"value": 18862.257
},
{
"name": "塞拉利昂",
"value": 10836.732
},
{
"name": "斯洛伐克",
"value": 514.648
},
{
"name": "斯洛文尼亚",
"value": 27258.387
},
{
"name": "所罗门群岛",
"value": 35652.002
},
{
"name": "索马里兰",
"value": 9940.929
},
{
"name": "索马里",
"value": 12950.564
},
{
"name": "南非",
"value": 526.447
},
{
"name": "南乔治亚和南桑德威奇群岛",
"value": 6218.195
},
{
"name": "韩国",
"value": 5751.976
},
{
"name": "南苏丹",
"value": 6218.195
},
{
"name": "西班牙",
"value": 9636.173
},
{
"name": "斯里兰卡",
"value": 9636.173
},
{
"name": "苏丹",
"value": 3573.024
},
{
"name": "苏里南",
"value": 524.96
},
{
"name": "斯威士兰",
"value": 5433.437
},
{
"name": "瑞典",
"value": 2054.232
},
{
"name": "瑞士",
"value": 9382.297
},
{
"name": "叙利亚",
"value": 1193.148
},
{
"name": "塔吉克斯坦",
"value": 7830.534
},
{
"name": "坦桑尼亚",
"value": 9876.785
},
{
"name": "泰国",
"value": 11720.781
},
{
"name": "汤加王国",
"value": 10710.701
},
{
"name": "巴哈马",
"value": 6306.014
},
{
"name": "多哥",
"value": 66402.316
},
{
"name": "特立尼达和多巴哥",
"value": 7627.326
},
{
"name": "突尼斯",
"value": 5041.995
},
{
"name": "土耳其",
"value": 10016.797
},
{
"name": "土库曼斯坦",
"value": 1328.095
},
{
"name": "乌干达",
"value": 10631.83
},
{
"name": "乌克兰",
"value": 72137.546
},
{
"name": "阿拉伯联合酋长国",
"value": 44973.33
},
{
"name": "大不列颠联合王国",
"value": 33987.213
},
{
"name": "坦桑尼亚联合共和国",
"value": 46050.22
},
{
"name": "美国",
"value": 3371.982
},
{
"name": "美利坚合众国",
"value": 312247.116
},
{
"name": "乌拉圭",
"value": 27769.27
},
{
"name": "乌兹别克斯坦",
"value": 236.299
},
{
"name": "瓦努阿图",
"value": 89047.397
},
{
"name": "委内瑞拉",
"value": 236.299
},
{
"name": "越南",
"value": 13.565
},
{
"name": "西岸",
"value": 22763.008
},
{
"name": "西撒哈拉",
"value": 51452.352
},
{
"name": "也门",
"value": 13216.985
},
{
"name": "赞比亚",
"value": 13076.978
},
{
"name": "津巴布韦",
"value": 11056.426
}
]
}

353
src/assets/css/base.css Normal file
View File

@@ -0,0 +1,353 @@
@charset "utf-8";
*{
margin:0;
padding:0
}
html{
width:100%;
height:100%
}
body{
height:100%;
width:100%;
margin:0 auto;
font-family:"Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, "Microsoft YaHei","SourceHanSansCN";
font-size:14px;
}
/*设置盒模型*/
*,*:before,*:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
outline:none;
-webkit-tap-highlight-color:rgba(255,0,0,0)
}
a{ width:auto; height:auto;}
a:link,a:visited,a:hover,a:active{text-decoration:none;color: black;}
ul,li,dl,dt,dd,p,img{border:none}
ul,li{list-style:none}
mark{background-color: transparent;}
i{font-style: normal;}
img{ width:100%; vertical-align:middle;}
.fl{float: left;}
.mt10{margin-top: 20px;}
.lineOne{overflow: hidden;text-overflow:ellipsis;white-space: nowrap;}
.lineTwo{display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 2;overflow: hidden;}
.lineThree{display: -webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp: 3;overflow: hidden;}
.el-date-table td.disabled div{background-color: transparent;}
.el-button.is-plain:focus, .el-button.is-plain:hover{background:#424CB6;border-color:#424CB6;color:#fff;}
.el-picker-panel__link-btn{background:#424CB6;border-color:transparent;color:#fff;}
.el-date-picker__time-header{border-color: #2773E6;}
.el-date-table th{border-color:#2773E6;}
.el-picker-panel__footer{background-color:transparent !important;border-color: #2773E6;}
.el-select-dropdown{background-color: rgb(14, 29, 81);border: 1px solid rgb(39, 115, 230);}
.el-select-dropdown__item.hover, .el-select-dropdown__item:hover{color:#2773E6;background-color: transparent;}
.el-picker-panel__icon-btn{color:#2773E6;}
.el-popper .popper__arrow::after{border-top-color: #2773E6 !important;border-bottom-color:#2773E6 !important}
.popv{
background: radial-gradient(circle, #10215C 0%, #070F29 100%);color: #fff;border: 1px solid #2773E6;}
/* table表格隔行变色 */
/* .el-table .warning-row {
background: rgba(237, 239, 255, .3);
}
.el-table .success-row {
background: #FFFFFF;
}
.el-form-item--mini.el-form-item, .el-form-item--small.el-form-item{
margin-bottom: 22px;
} */
/* 改变el-table外边框 */
/* .el-table--border:after,.el-table--group:after,.el-table:before {
background-color: #DEE2E6;
}
.el-table--border,.el-table--group {
border-color: #DEE2E6;
}
.el-table td,.el-table th.is-leaf {
border-bottom: 1px solid #DEE2E6;
}
.el-table--border th,.el-table--border th.gutter:last-of-type {
border-bottom: 1px solid #DEE2E6;
}
.el-table--border td,.el-table--border th {
border-right: 1px solid #DEE2E6;
} */
/* 改变el-table内边框 */
/* .el-table--border td, .el-table--border th, .el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed{
border-right: 1px solid #DEE2E6 !important;
} */
/*
这部分是修改table的样式
*/
/* table背景颜色 */
.el-table {
/* background-color: transparent !important; */
background-color: rgba(25, 33, 61, 0.5) !important;
border-collapse: separate; /* 防止单元格合并时产生间距 */
border-radius: 6px; /* 添加圆角效果 */
border: 1px solid rgba(186, 208, 241, 0.10) !important;
}
.el-table--border::after, .el-table--group::after, .el-table::before {
background-color: transparent;
}
/* 更改表头行+数据行背景颜色 */
.el-table th, .el-table tr {
background-color: transparent !important;
}
/* 更改表头背景颜色 */
.el-table thead tr>th{
/* color: #f8fdff; */
color: rgba(255, 255, 255, 0.4);
border-bottom: 1px solid rgba(186, 208, 241, 0.10) !important;
/* background: rgba(25, 33, 61, 0.5) !important; */
}
/* 更改表格每行背景颜色 */
.el-table tbody tr>td{
/* color: #f8fdff; */
color: rgba(255, 255, 255, 0.9);
border-bottom: 1px solid rgba(186, 208, 241, 0.10) !important;
/* background: rgba(25, 33, 61, 0.5) !important; */
}
/* 设置鼠标经过行时背景颜色 */
.el-table tbody tr:hover>td{
background-color: #152666 !important;
}
/* 设置鼠标选中行时背景颜色 */
.el-table tbody tr.current-row>td {
background: #152666 !important;
}
/* table的表头padding距离 */
.el-table th.el-table__cell>.cell {
padding-top: 5px;
padding-bottom: 5px;
}
/* table每行padding距离 */
.el-table .el-table__cell {
padding: 3px 0;
}
/* 改变el-table的header的bottom边框 */
.el-table td.el-table__cell, .el-table th.el-table__cell.is-leaf {
border-bottom: none;
}
/* 滚动条整体部分 */
::-webkit-scrollbar {
width: 6px;
height: 8px;
/* background-color: #19213D; */
background: transparent;
}
/* 定义滑块 内阴影+圆角 */
::-webkit-scrollbar-thumb {
border-radius:2px;
box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
-webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
background-color: rgb(216, 216, 216, 0.4);
}
/* 定义滚动条轨道 内阴影+圆角 */
::-webkit-scrollbar-track{
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
border-radius: 3px;
/* background: #19213D; */
background: transparent;
;
}
/*
这部分是修改分页组件的样式
*/
.el-pagination {
height: 8%;
margin-left: 2.5%;
float: right;
padding: 20px 110px 0 0;
transform: scale(1.3);
.el-pagination__total {
color: #C0C0C0;
}
.el-input__inner {
background-color: #688CAA !important;
border-color: #688CAA;
border-radius: 3px;
color: #F0F0F0;
}
.el-select {
.el-input__suffix::before {
content: "";
width: 0;
height: 0;
background: transparent;
}
.el-input .el-select__caret {
color: #F0F0F0;
}
}
.el-pagination__jump {
color: #C0C0C0;
}
}
.el-pagination.is-background .el-pager li:not(.disabled).active {
background-color: #02DDEA;
color: #202020;
font-weight: 400;
}
.el-pagination.is-background .btn-next, .el-pagination.is-background .btn-prev, .el-pagination.is-background .el-pager li {
background: #688CAA;
color: #202020;
font-weight: 400;
}
/*
这部分是修改form表单的样式
*/
.el-form-item__label {
color: #FFFFFF !important;
}
.long-item-label .el-form-item__label {
line-height: 14px;
padding: 12px 12px 0 0;
}
.el-textarea__inner {
height: 80px; /* 设置输入框的高度 */
line-height: 25px; /* 设置输入框的行高,使文本垂直居中 */
display: inline-block;
background-color: rgba(14, 61, 138, 0.5) !important;
color: rgba(2, 221, 234, 0.5);
border-color: rgba(0, 213, 252, 0.5);
border-radius: 0;
}
.el-textarea__inner::placeholder {
color: rgba(2, 221, 234, 0.5); /* 设置占位符文本的颜色为红色 */
font-size: 15px;
}
/*
这部分是修改input框和select框的样式
*/
/* 改变el-input输入框placeholder颜色 */
.el-input input::-webkit-input-placeholder {
color: rgba(2, 221, 234, 0.5)
}
.el-input input::-moz-input-placeholder {
color: rgba(2, 221, 234, 0.5)
}
.el-input input::-ms-input-placeholder {
color: rgba(2, 221, 234, 0.5)
}
.el-input--small .el-input__inner{
height: 32px;
line-height: 32px;
}
.el-input__prefix, .el-input__suffix{
color: rgba(2, 221, 234, 0.5);
}
.el-date-picker{
width: 320px;background-color: #0E1D51;border-color: #2773E6;
}
.el-input__inner{
/* input背景颜色 */
background-color:rgba(14, 61, 138, 0.5) !important;
/* input边框颜色 */
border-color: rgba(0, 213, 252, 0.5);
border-radius: 0;
/* input字体颜色 */
color: rgba(2, 221, 234, 0.5);
}
/* select新增竖线 */
.el-select {
.el-input__suffix::before {
content: "";
width: 1px;
height: 80%;
margin: 15% 5% 15% -20%;
position: absolute;
background: linear-gradient(180deg, rgba(2, 221, 234, 0) 0%, #02DDEA 48.96%, rgba(2, 221, 234, 0) 100%);
}
/*select的上下箭头图标样式*/
.el-input .el-select__caret {
color: #02DDEA;
}
}
/* select下拉框 背景色和边框色 */
.el-select-dropdown {
border: 1px solid rgba(0, 213, 252, 0.50) !important;
background: #112D6F !important;
box-shadow: 0px 0px 7px 0px rgba(2, 221, 234, 0.20);
.el-scrollbar {
background-color: transparent !important;
.el-select-dropdown__item {
color: #FFFFFF;
opacity: 0.9;
font-size: 12px;
padding: 0 15px;
}
.el-select-dropdown__item.hover, .el-select-dropdown__item.selected {
color: #409EFF;
}
}
.popper__arrow {
top: -7px !important;
border-bottom-color: transparent !important;
}
}
/*
这部分是修改button的样式
*/
/* button按钮字体颜色+背景颜色+border颜色 */
.el-button--text{
color: #02DDEA;
padding-left: 5px;
padding-right: 5px;
background-color: transparent;
}
.el-button--primary{
color: #02DDEA;
background-color: #0E3D8A;
border-color: #00D5FC;
border-radius: 0;
}
/* button按钮hover和聚焦时样式 */
.el-button--primary:hover,
.el-button--primary:focus {
}
/*dialog中label样式*/
.label-span {
margin-right: 3%;
display: inline-block;
width: 60px;
text-align: right;
}
/*遮罩层*/
.mask{
position: fixed; /*将元素设置为固定定位*/
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.5); /*通过rgba函数来控制遮罩层的透明度*/
display: none; /*将元素隐藏*/
}
/*loading的样式*/
.el-loading-mask {
background-color: rgba(0,0,0,0.2) !important; /*通过rgba函数来控制loading的透明度*/
}
/*Drawer抽屉的样式*/
.el-drawer {
color: #FFFFFF;
width: 85% !important;
background: #0A162C !important;
.el-drawer__body {
overflow: hidden !important;
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,9 @@
import Vue from 'vue'
import SvgIcon from '@/components/SvgIcon'// svg component
// register globally
Vue.component('svg-icon', SvgIcon)
const req = require.context('./svg', false, /\.svg$/)
const requireAll = requireContext => requireContext.keys().map(requireContext)
requireAll(req)

View File

@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_228_8726)">
<path d="M14.8654 1.14893H1.1435C0.840221 1.14893 0.549369 1.26923 0.334922 1.48336C0.120475 1.6975 0 1.98793 0 2.29077L0 11.4255C0 11.7283 0.120475 12.0188 0.334922 12.2329C0.549369 12.447 0.840221 12.5673 1.1435 12.5673H7.61568V13.7092H4.00223C3.85061 13.7092 3.70521 13.7694 3.598 13.8764C3.4908 13.9835 3.43057 14.1287 3.43057 14.2801C3.43057 14.4315 3.4908 14.5767 3.598 14.6838C3.70521 14.7908 3.85061 14.851 4.00223 14.851H12.0067C12.1583 14.851 12.3038 14.7909 12.411 14.6838C12.5182 14.5767 12.5784 14.4315 12.5784 14.2801C12.5784 14.1287 12.5182 13.9835 12.411 13.8764C12.3038 13.7693 12.1583 13.7092 12.0067 13.7092H8.75917V12.5673H14.8654C15.0156 12.5673 15.1643 12.5378 15.303 12.4804C15.4418 12.423 15.5678 12.3389 15.674 12.2329C15.7802 12.1269 15.8644 12.001 15.9219 11.8625C15.9794 11.7239 16.0089 11.5755 16.0089 11.4255V2.29077C16.0089 2.14082 15.9794 1.99234 15.9219 1.8538C15.8644 1.71527 15.7802 1.58939 15.674 1.48336C15.5678 1.37733 15.4418 1.29323 15.303 1.23584C15.1643 1.17846 15.0156 1.14893 14.8654 1.14893ZM14.8654 10.8546C14.8654 11.006 14.8052 11.1512 14.698 11.2583C14.5908 11.3654 14.4453 11.4255 14.2937 11.4255H1.71524C1.56361 11.4255 1.41818 11.3654 1.31096 11.2583C1.20373 11.1512 1.1435 11.006 1.1435 10.8546V2.86169C1.1435 2.71027 1.20373 2.56506 1.31096 2.45799C1.41818 2.35092 1.56361 2.29077 1.71524 2.29077H14.2937C14.4453 2.29077 14.5908 2.35092 14.698 2.45799C14.8052 2.56506 14.8654 2.71027 14.8654 2.86169V10.8546Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_228_8726">
<rect width="16" height="13.7021" fill="white" transform="translate(0 1.14893)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,3 @@
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M6.99998 7.80401L9.6914 10.4954L10.4957 9.69109L7.80432 6.99968L10.4957 4.30826L9.6914 3.50393L6.99998 6.19534L4.30855 3.50391L3.50421 4.30824L6.19565 6.99968L3.50421 9.69111L4.30855 10.4954L6.99998 7.80401Z" fill="black" fill-opacity="0.4"/>
</svg>

After

Width:  |  Height:  |  Size: 355 B

View File

@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_228_8702)">
<path d="M15.5713 2.05058V13.2575C15.5906 13.5551 15.5835 13.8538 15.5501 14.1502C15.4866 14.5148 15.3386 14.8594 15.1179 15.1565C14.8041 15.5564 14.3598 15.8334 13.8626 15.9393C13.5921 15.9837 13.3175 15.9979 13.0438 15.9816H2.96875C2.71652 15.9965 2.46344 15.9866 2.21315 15.952C1.71639 15.8645 1.26614 15.6053 0.941019 15.2196C0.708406 14.9299 0.547337 14.5894 0.470867 14.2258C0.427871 13.8978 0.416625 13.5664 0.437285 13.2363V2.68185C0.417476 2.34133 0.435713 1.99966 0.491656 1.66319C0.572842 1.31579 0.739354 0.994106 0.97613 0.727244C1.21291 0.460382 1.51248 0.256759 1.84774 0.134793C2.23617 0.02319 2.64114 -0.0195662 3.04431 0.00845973H11.1077C11.4099 0.00845973 13.3113 0.0112582 13.6135 0.0124576C13.9051 0.0452725 14.1882 0.130891 14.4491 0.265124C14.91 0.525093 15.264 0.939757 15.4486 1.43571C15.4937 1.56729 15.5274 1.70252 15.5493 1.83989C15.5573 1.91026 15.5641 1.98022 15.5713 2.05058ZM14.3747 2.11775L14.3663 2.02939L14.3116 1.8187C14.2333 1.62105 14.093 1.45412 13.9118 1.34296C13.6243 1.21652 13.308 1.16997 12.9963 1.20823H3.19663C2.91235 1.18383 2.62618 1.19376 2.34428 1.23781C2.18819 1.27962 2.0452 1.36017 1.92855 1.472C1.81191 1.58382 1.72539 1.72329 1.67703 1.87747C1.63242 2.10756 1.61831 2.34253 1.63505 2.5763V13.299C1.61609 13.5434 1.62305 13.789 1.65584 14.0319C1.70003 14.1985 1.78213 14.3527 1.89572 14.4824C2.14199 14.7879 2.54937 14.7811 3.10068 14.7811H12.9939C13.2153 14.7971 13.4379 14.7873 13.6571 14.7519C13.8661 14.697 14.0508 14.5741 14.182 14.4025C14.4023 14.1018 14.3751 13.7752 14.3751 13.2611V2.11775H14.3747ZM12.9439 7.92428C12.9628 8.06526 12.9273 8.20816 12.8447 8.32393C12.762 8.4397 12.6384 8.51966 12.4989 8.54755C12.353 8.56501 12.2057 8.56782 12.0592 8.55595H6.39014C6.26069 8.54079 6.14046 8.48134 6.04984 8.38767C5.95921 8.294 5.90376 8.17188 5.89289 8.04199C5.88202 7.91211 5.9164 7.78247 5.99019 7.67503C6.06399 7.5676 6.17266 7.48899 6.29779 7.45253C6.4519 7.42787 6.60846 7.42223 6.76395 7.43574H12.0971C12.2735 7.42009 12.4512 7.43579 12.6221 7.48212C12.7542 7.54394 12.8578 7.65391 12.9115 7.78955L12.9439 7.92428ZM12.8791 11.5492C12.8908 11.688 12.8497 11.8262 12.7642 11.9362C12.6786 12.0462 12.5548 12.12 12.4174 12.1429L11.6618 12.1473H7.16134C6.50208 12.1473 5.99275 12.2372 5.89361 11.6547C5.87896 11.5427 5.90098 11.4289 5.95637 11.3305C6.16266 10.9271 6.6596 11.027 7.24129 11.027H11.4843C11.8564 10.9833 12.2334 11.0077 12.5969 11.099C12.7174 11.1699 12.8083 11.2819 12.8527 11.4144L12.8791 11.5492ZM13.0426 4.33298C13.0551 4.44202 13.036 4.55236 12.9876 4.65086C12.9392 4.74937 12.8635 4.83191 12.7696 4.88868C12.4289 4.9869 12.0714 5.01264 11.7201 4.96424H7.08258C6.44571 4.96424 5.98916 5.02701 5.89441 4.46771C5.87976 4.35569 5.90178 4.24194 5.95717 4.14348C6.14867 3.77207 6.55126 3.84004 7.09497 3.84004H11.9324C12.1979 3.81307 12.4661 3.83023 12.726 3.89081C12.8571 3.95288 12.9593 4.06295 13.0114 4.19825L13.0426 4.33298ZM3.60841 3.60656C3.76655 3.60656 3.92114 3.65346 4.05263 3.74131C4.18412 3.82917 4.28661 3.95405 4.34713 4.10015C4.40764 4.24626 4.42348 4.40703 4.39263 4.56213C4.36177 4.71723 4.28562 4.8597 4.1738 4.97153C4.06198 5.08335 3.9195 5.1595 3.7644 5.19035C3.6093 5.2212 3.44853 5.20537 3.30243 5.14485C3.15632 5.08433 3.03145 4.98185 2.94359 4.85036C2.85573 4.71887 2.80883 4.56428 2.80883 4.40614C2.80883 4.30114 2.82951 4.19716 2.8697 4.10015C2.90988 4.00314 2.96878 3.915 3.04302 3.84075C3.11727 3.7665 3.20542 3.70761 3.30243 3.66743C3.39944 3.62724 3.50341 3.60656 3.60841 3.60656ZM3.60841 7.20466C3.76655 7.20466 3.92114 7.25156 4.05263 7.33942C4.18412 7.42727 4.28661 7.55215 4.34713 7.69825C4.40764 7.84436 4.42348 8.00513 4.39263 8.16023C4.36177 8.31533 4.28562 8.4578 4.1738 8.56963C4.06198 8.68145 3.9195 8.7576 3.7644 8.78845C3.6093 8.81931 3.44853 8.80347 3.30243 8.74295C3.15632 8.68244 3.03145 8.57995 2.94359 8.44846C2.85573 8.31697 2.80883 8.16238 2.80883 8.00424C2.80883 7.89924 2.82951 7.79526 2.8697 7.69825C2.90988 7.60125 2.96878 7.5131 3.04302 7.43885C3.11727 7.3646 3.20542 7.30571 3.30243 7.26553C3.39944 7.22534 3.50341 7.20466 3.60841 7.20466ZM3.60841 10.8028C3.76655 10.8028 3.92114 10.8497 4.05263 10.9375C4.18412 11.0254 4.28661 11.1503 4.34713 11.2964C4.40764 11.4425 4.42348 11.6032 4.39263 11.7583C4.36177 11.9134 4.28562 12.0559 4.1738 12.1677C4.06198 12.2796 3.9195 12.3557 3.7644 12.3866C3.6093 12.4174 3.44853 12.4016 3.30243 12.3411C3.15632 12.2805 3.03145 12.1781 2.94359 12.0466C2.85573 11.9151 2.80883 11.7605 2.80883 11.6023C2.80883 11.4973 2.82951 11.3934 2.8697 11.2964C2.90988 11.1993 2.96878 11.1112 3.04302 11.037C3.11727 10.9627 3.20542 10.9038 3.30243 10.8636C3.39944 10.8234 3.50341 10.8028 3.60841 10.8028Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_228_8702">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -0,0 +1,5 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 11.3571C8.95867 11.3571 11.3571 8.95867 11.3571 6C11.3571 3.04133 8.95867 0.642857 6 0.642857C3.04133 0.642857 0.642857 3.04133 0.642857 6C0.642857 8.95867 3.04133 11.3571 6 11.3571ZM6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12Z" fill="#EEEEEE"/>
<path d="M12 6C12 9.31371 9.31371 12 6 12C2.68629 12 0 9.31371 0 6C0 2.68629 2.68629 0 6 0C9.31371 0 12 2.68629 12 6ZM0.6414 6C0.6414 8.95947 3.04053 11.3586 6 11.3586C8.95947 11.3586 11.3586 8.95947 11.3586 6C11.3586 3.04053 8.95947 0.6414 6 0.6414C3.04053 0.6414 0.6414 3.04053 0.6414 6Z" fill="#E9473E"/>
<path d="M6.00002 6.40225L7.34573 7.74796L7.7479 7.34579L6.40219 6.00008L7.7479 4.65438L7.34573 4.25221L6.00002 5.59792L4.6543 4.2522L4.25214 4.65436L5.59785 6.00008L4.25214 7.3458L4.6543 7.74797L6.00002 6.40225Z" fill="#E9473E"/>
</svg>

After

Width:  |  Height:  |  Size: 1003 B

View File

@@ -0,0 +1,4 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 11.3571C8.95867 11.3571 11.3571 8.95867 11.3571 6C11.3571 3.04133 8.95867 0.642857 6 0.642857C3.04133 0.642857 0.642857 3.04133 0.642857 6C0.642857 8.95867 3.04133 11.3571 6 11.3571ZM6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12Z" fill="#2BB1B9" fill-opacity="0.5"/>
<path d="M6 0.3207C6 0.143582 6.14369 -0.000893803 6.32056 0.00856843C7.1568 0.0533071 7.97567 0.272699 8.72394 0.653961C9.5676 1.08383 10.2976 1.70726 10.8541 2.47329C11.4107 3.23932 11.778 4.12619 11.9261 5.06139C12.0575 5.89085 12.0131 6.73745 11.7972 7.54659C11.7516 7.71772 11.5698 7.80973 11.4013 7.755C11.2329 7.70027 11.1417 7.51953 11.1863 7.34811C11.3715 6.63551 11.4082 5.8912 11.2926 5.16173C11.1603 4.3265 10.8323 3.53443 10.3352 2.85029C9.83814 2.16615 9.18623 1.60937 8.43275 1.22545C7.77469 0.89015 7.05547 0.69503 6.32051 0.650993C6.14371 0.6404 6 0.497818 6 0.3207Z" fill="#02DDEA"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,5 @@
<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M6 11.3571C8.95867 11.3571 11.3571 8.95867 11.3571 6C11.3571 3.04133 8.95867 0.642857 6 0.642857C3.04133 0.642857 0.642857 3.04133 0.642857 6C0.642857 8.95867 3.04133 11.3571 6 11.3571ZM6 12C9.31371 12 12 9.31371 12 6C12 2.68629 9.31371 0 6 0C2.68629 0 0 2.68629 0 6C0 9.31371 2.68629 12 6 12Z" fill="#EEEEEE"/>
<path d="M12 6C12 9.31371 9.31371 12 6 12C2.68629 12 0 9.31371 0 6C0 2.68629 2.68629 0 6 0C9.31371 0 12 2.68629 12 6ZM0.6414 6C0.6414 8.95947 3.04053 11.3586 6 11.3586C8.95947 11.3586 11.3586 8.95947 11.3586 6C11.3586 3.04053 8.95947 0.6414 6 0.6414C3.04053 0.6414 0.6414 3.04053 0.6414 6Z" fill="#0CCB64"/>
<path d="M5.42193 7.08773L8.10382 4L8.5 4.45613L5.42193 8L3.5 5.78723L3.89618 5.3311L5.42193 7.08773Z" fill="#0CCB64"/>
</svg>

After

Width:  |  Height:  |  Size: 892 B

View File

@@ -0,0 +1,12 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_228_8712)">
<path d="M10.1689 4.27201L13.4329 7.53601C13.4937 7.59618 13.542 7.66781 13.575 7.74677C13.6079 7.82573 13.6249 7.91044 13.6249 7.99601C13.6249 8.08157 13.6079 8.16628 13.575 8.24524C13.542 8.3242 13.4937 8.39584 13.4329 8.45601L10.1689 11.72C10.1087 11.7809 10.0371 11.8292 9.95818 11.8622C9.87923 11.8951 9.79452 11.9121 9.70895 11.9121C9.62339 11.9121 9.53868 11.8951 9.45973 11.8622C9.38078 11.8292 9.30916 11.7809 9.24902 11.72C9.18819 11.6598 9.1399 11.5882 9.10694 11.5093C9.07398 11.4303 9.05701 11.3456 9.05701 11.2601C9.05701 11.1745 9.07398 11.0898 9.10694 11.0109C9.1399 10.9319 9.18819 10.8603 9.24902 10.8001L12.0489 8.00001L9.24889 5.20001C9.18806 5.13985 9.13977 5.06822 9.10681 4.98927C9.07386 4.91033 9.05688 4.82562 9.05688 4.74007C9.05688 4.65452 9.07386 4.56982 9.10681 4.49087C9.13977 4.41192 9.18806 4.34029 9.24889 4.28013C9.37677 4.15213 9.53689 4.08813 9.70477 4.08813C9.87718 4.08843 10.0431 4.15415 10.1689 4.27201Z" fill="#06F7FF"/>
<path d="M13.6169 8.00006C13.6173 8.08525 13.6007 8.16968 13.5683 8.24846C13.5359 8.32725 13.4882 8.39883 13.4279 8.45907C13.3677 8.51932 13.2961 8.56703 13.2173 8.59947C13.1385 8.63191 13.0541 8.64842 12.9689 8.64806H4.11291C3.75291 8.64806 3.46478 8.36006 3.46478 8.00006C3.46478 7.64006 3.75291 7.35206 4.11291 7.35206H12.9689C13.0541 7.35169 13.1385 7.36821 13.2173 7.40064C13.2961 7.43308 13.3677 7.48079 13.4279 7.54104C13.4882 7.60128 13.5359 7.67286 13.5683 7.75165C13.6007 7.83043 13.6173 7.91486 13.6169 8.00006Z" fill="#06F7FF"/>
<path d="M8.00011 7.58572e-06C9.5764 -0.00216502 11.118 0.462394 12.4307 1.33512C13.7433 2.20784 14.7682 3.44965 15.3761 4.904C15.5121 5.23188 15.3601 5.61588 15.0321 5.75188C14.7041 5.88788 14.3201 5.736 14.1841 5.40788C13.1361 2.912 10.712 1.29601 8.00011 1.29601C4.30412 1.29601 1.29612 4.30388 1.29612 8C1.29612 11.6961 4.30412 14.704 8.00011 14.704C9.32048 14.7049 10.6117 14.3159 11.7119 13.5858C12.812 12.8557 13.672 11.817 14.1841 10.6C14.3201 10.272 14.7041 10.12 15.0321 10.256C15.3601 10.3921 15.5201 10.7681 15.3761 11.096C14.7682 12.5503 13.7433 13.7922 12.4307 14.6649C11.118 15.5376 9.5764 16.0022 8.00011 16C3.59212 16 0.00012207 12.408 0.00012207 8C0.00012207 3.592 3.59212 7.58572e-06 8.00011 7.58572e-06Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_228_8712">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,12 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_196_5624)">
<path d="M4.58335 17.1832H15.4167C16.3886 17.1832 17.1834 16.3884 17.1834 15.4165V4.58317C17.1834 3.61128 16.3886 2.8165 15.4167 2.8165H4.58335C3.61146 2.8165 2.81669 3.61128 2.81669 4.58317V15.4165C2.81669 16.3884 3.61146 17.1832 4.58335 17.1832ZM3.85002 4.58317C3.85002 4.18007 4.18025 3.84984 4.58335 3.84984H15.4167C15.8198 3.84984 16.15 4.18007 16.15 4.58317V15.4165C16.15 15.8196 15.8198 16.1498 15.4167 16.1498H4.58335C4.18025 16.1498 3.85002 15.8196 3.85002 15.4165V4.58317Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
<path d="M9.26675 6.24984L9.26675 6.14984L9.16675 6.14984L7.08341 6.14984C6.93569 6.14984 6.80482 6.19952 6.71062 6.29371C6.61643 6.3879 6.56675 6.51878 6.56675 6.6665L6.56675 8.5415L6.56675 8.6415L6.66675 8.6415L7.50008 8.6415L7.60008 8.6415L7.60008 8.5415L7.60008 7.18317L9.16675 7.18317L9.26675 7.18317L9.26675 7.08317L9.26675 6.24984Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
<path d="M10.7335 13.5415L10.7335 13.6415L10.8335 13.6415L12.9168 13.6415C13.0646 13.6415 13.1954 13.5918 13.2896 13.4976C13.3838 13.4034 13.4335 13.2726 13.4335 13.1248L13.4335 11.2498L13.4335 11.1498L13.3335 11.1498L12.5002 11.1498L12.4002 11.1498L12.4002 11.2498L12.4002 12.6082L10.8335 12.6082L10.7335 12.6082L10.7335 12.7082L10.7335 13.5415Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
</g>
<defs>
<clipPath id="clip0_196_5624">
<rect width="20" height="20" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@@ -0,0 +1,12 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_351_47032)">
<path d="M6.92077 4.27201L3.65677 7.53601C3.59594 7.59618 3.54765 7.66781 3.51469 7.74677C3.48173 7.82573 3.46476 7.91044 3.46476 7.99601C3.46476 8.08157 3.48173 8.16628 3.51469 8.24524C3.54765 8.3242 3.59594 8.39584 3.65677 8.45601L6.92077 11.72C6.98091 11.7809 7.05253 11.8292 7.13148 11.8622C7.21043 11.8951 7.29515 11.9121 7.38071 11.9121C7.46627 11.9121 7.55098 11.8951 7.62993 11.8622C7.70888 11.8292 7.7805 11.7809 7.84064 11.72C7.90147 11.6598 7.94976 11.5882 7.98272 11.5093C8.01568 11.4303 8.03265 11.3456 8.03265 11.2601C8.03265 11.1745 8.01568 11.0898 7.98272 11.0109C7.94976 10.9319 7.90147 10.8603 7.84064 10.8001L5.04077 8.00001L7.84077 5.20001C7.9016 5.13985 7.94989 5.06822 7.98285 4.98927C8.01581 4.91033 8.03278 4.82562 8.03278 4.74007C8.03278 4.65452 8.01581 4.56982 7.98285 4.49087C7.94989 4.41192 7.9016 4.34029 7.84077 4.28013C7.71289 4.15213 7.55277 4.08813 7.38489 4.08813C7.21248 4.08843 7.0466 4.15415 6.92077 4.27201Z" fill="#06F7FF"/>
<path d="M3.47276 8.00006C3.4724 8.08525 3.48891 8.16968 3.52135 8.24846C3.55378 8.32725 3.6015 8.39883 3.66175 8.45907C3.72199 8.51932 3.79357 8.56703 3.87235 8.59947C3.95114 8.63191 4.03556 8.64842 4.12076 8.64806H12.9768C13.3368 8.64806 13.6249 8.36006 13.6249 8.00006C13.6249 7.64006 13.3368 7.35206 12.9768 7.35206H4.12076C4.03556 7.35169 3.95114 7.36821 3.87235 7.40064C3.79357 7.43308 3.72199 7.48079 3.66175 7.54104C3.6015 7.60128 3.55378 7.67286 3.52135 7.75165C3.48891 7.83043 3.4724 7.91486 3.47276 8.00006Z" fill="#06F7FF"/>
<path d="M8.00011 7.58572e-06C9.5764 -0.00216502 11.118 0.462394 12.4307 1.33512C13.7433 2.20784 14.7682 3.44965 15.3761 4.904C15.5121 5.23188 15.3601 5.61588 15.0321 5.75188C14.7041 5.88788 14.3201 5.736 14.1841 5.40788C13.1361 2.912 10.712 1.29601 8.00011 1.29601C4.30412 1.29601 1.29612 4.30388 1.29612 8C1.29612 11.6961 4.30412 14.704 8.00011 14.704C9.32048 14.7049 10.6117 14.3159 11.7119 13.5858C12.812 12.8557 13.672 11.817 14.1841 10.6C14.3201 10.272 14.7041 10.12 15.0321 10.256C15.3601 10.3921 15.5201 10.7681 15.3761 11.096C14.7682 12.5503 13.7433 13.7922 12.4307 14.6649C11.118 15.5376 9.5764 16.0022 8.00011 16C3.59212 16 0.00012207 12.408 0.00012207 8C0.00012207 3.592 3.59212 7.58572e-06 8.00011 7.58572e-06Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_351_47032">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,12 @@
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_51_38242)">
<path d="M4.58317 17.1833H15.4165C16.3884 17.1833 17.1832 16.3885 17.1832 15.4166V4.58329C17.1832 3.6114 16.3884 2.81663 15.4165 2.81663H4.58317C3.61128 2.81663 2.8165 3.6114 2.8165 4.58329V15.4166C2.8165 16.3885 3.61128 17.1833 4.58317 17.1833ZM3.84984 4.58329C3.84984 4.18019 4.18007 3.84996 4.58317 3.84996H15.4165C15.8196 3.84996 16.1498 4.18019 16.1498 4.58329V15.4166C16.1498 15.8197 15.8196 16.15 15.4165 16.15H4.58317C4.18007 16.15 3.84984 15.8197 3.84984 15.4166V4.58329Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
<path d="M6.56699 8.54179V8.64179H6.66699H8.75033C8.89805 8.64179 9.02892 8.59211 9.12312 8.49792C9.21731 8.40372 9.26699 8.27285 9.26699 8.12512V6.25012V6.15012H9.16699H8.33366H8.23366V6.25012V7.60846H6.66699H6.56699V7.70846V8.54179Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
<path d="M13.4335 11.2501V11.1501H13.3335H11.2502C11.1024 11.1501 10.9716 11.1998 10.8774 11.294C10.7832 11.3882 10.7335 11.5191 10.7335 11.6668V13.5418V13.6418H10.8335H11.6668H11.7668V13.5418V12.1835H13.3335H13.4335V12.0835V11.2501Z" fill="#04CDE0" stroke="#04CDE0" stroke-width="0.2"/>
</g>
<defs>
<clipPath id="clip0_51_38242">
<rect width="20" height="20" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,4 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.4528 6.31564C15.4528 5.97874 15.3686 5.4734 15.116 4.96805V4.92594L12.9265 1.6833C12.5054 0.967387 11.8318 0.546265 10.9897 0.546265H5.05281C4.2107 0.546265 3.49491 0.967387 3.11597 1.6833L0.968599 4.92594V4.96805C0.631757 5.4734 0.547546 5.97874 0.547546 6.31564V13.8116C0.547546 14.7381 1.30544 15.454 2.23176 15.454H13.7265C14.6528 15.454 15.4107 14.696 15.4107 13.8116V6.31564H15.4528ZM14.8633 6.31564V8.16858H1.13702V6.31564C1.13702 6.06297 1.17913 5.72607 1.34755 5.38917H14.6528C14.8212 5.72607 14.8633 6.06297 14.8633 6.31564ZM1.13702 8.71604H14.8633V11.4954H1.13702V8.71604ZM5.05281 1.13584H10.9475C11.4107 1.13584 12.0423 1.30429 12.3791 1.97808L14.2318 4.75749H1.72649L3.57913 1.97808C3.95807 1.30429 4.58965 1.13584 5.05281 1.13584ZM13.7686 14.8644H2.23176C1.60018 14.8644 1.13702 14.4012 1.13702 13.8116V12.1271H14.8633V13.8116C14.8633 14.4012 14.3581 14.8644 13.7686 14.8644Z" fill="#06F7FF"/>
<path d="M1.93683 6.52609H3.57893C3.74735 6.52609 3.87367 6.39976 3.87367 6.23131C3.87367 6.06286 3.74735 5.93652 3.57893 5.93652H1.93683C1.76841 5.93652 1.64209 6.06286 1.64209 6.23131C1.64209 6.39976 1.76841 6.52609 1.93683 6.52609ZM3.57893 6.98933H1.93683C1.76841 6.98933 1.64209 7.11566 1.64209 7.28411C1.64209 7.45256 1.76841 7.5789 1.93683 7.5789H3.57893C3.74735 7.5789 3.87367 7.45256 3.87367 7.28411C3.87367 7.11566 3.74735 6.98933 3.57893 6.98933ZM3.57893 9.3055H1.93683C1.76841 9.3055 1.64209 9.43184 1.64209 9.60029C1.64209 9.76874 1.76841 9.89507 1.93683 9.89507H3.57893C3.74735 9.89507 3.87367 9.76874 3.87367 9.60029C3.87367 9.43184 3.74735 9.3055 3.57893 9.3055ZM3.57893 10.3583H1.93683C1.76841 10.3583 1.64209 10.4846 1.64209 10.6531C1.64209 10.8215 1.76841 10.9479 1.93683 10.9479H3.57893C3.74735 10.9479 3.87367 10.8215 3.87367 10.6531C3.87367 10.4846 3.74735 10.3583 3.57893 10.3583ZM3.57893 12.5481H1.93683C1.76841 12.5481 1.64209 12.6745 1.64209 12.8429C1.64209 13.0114 1.76841 13.1377 1.93683 13.1377H3.57893C3.74735 13.1377 3.87367 13.0114 3.87367 12.8429C3.87367 12.6745 3.74735 12.5481 3.57893 12.5481ZM3.57893 13.6009H1.93683C1.76841 13.6009 1.64209 13.7273 1.64209 13.8957C1.64209 14.0642 1.76841 14.1905 1.93683 14.1905H3.57893C3.74735 14.1905 3.87367 14.0642 3.87367 13.8957C3.87367 13.7273 3.74735 13.6009 3.57893 13.6009ZM12.4631 7.5789C12.9263 7.5789 13.3052 7.19989 13.3052 6.73665C13.3052 6.27342 12.9263 5.89441 12.4631 5.89441C12 5.89441 11.621 6.27342 11.621 6.73665C11.621 7.19989 12 7.5789 12.4631 7.5789ZM12.4631 6.52609C12.5895 6.52609 12.7158 6.65243 12.7158 6.77877C12.7158 6.9051 12.5895 7.03144 12.4631 7.03144C12.3368 7.03144 12.2105 6.9051 12.2105 6.73665C12.2105 6.56821 12.3368 6.52609 12.4631 6.52609ZM12.4631 9.3055C12 9.3055 11.621 9.68451 11.621 10.1477C11.621 10.611 12 10.99 12.4631 10.99C12.9263 10.99 13.3052 10.611 13.3052 10.1477C13.2631 9.6424 12.9263 9.3055 12.4631 9.3055ZM12.4631 10.3583C12.3368 10.3583 12.2105 10.232 12.2105 10.1056C12.2105 9.9793 12.3368 9.85296 12.4631 9.85296C12.5895 9.85296 12.7158 9.9793 12.7158 10.1056C12.7158 10.232 12.5895 10.3583 12.4631 10.3583ZM12.4631 12.5481C12 12.5481 11.621 12.9272 11.621 13.3904C11.621 13.8536 12 14.2326 12.4631 14.2326C12.9263 14.2326 13.3052 13.8536 13.3052 13.3904C13.2631 12.9272 12.9263 12.5481 12.4631 12.5481ZM12.4631 13.6009C12.3368 13.6009 12.2105 13.4746 12.2105 13.3483C12.2105 13.2219 12.3368 13.0956 12.4631 13.0956C12.5895 13.0956 12.7158 13.2219 12.7158 13.3483C12.7158 13.4746 12.5895 13.6009 12.4631 13.6009Z" fill="#06F7FF"/>
</svg>

After

Width:  |  Height:  |  Size: 3.5 KiB

View File

@@ -0,0 +1,11 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_351_47028)">
<path d="M8.00457 1.18972C9.35108 1.18992 10.6673 1.58933 11.7868 2.33747C12.9064 3.08561 13.779 4.14889 14.2943 5.39288C14.8096 6.63687 14.9446 8.00572 14.682 9.32638C14.4195 10.6471 13.7713 11.8602 12.8194 12.8126C12.1906 13.4599 11.4393 13.9758 10.6093 14.3302C9.77935 14.6846 8.88718 14.8705 7.98471 14.877C7.08225 14.8835 6.18748 14.7106 5.35244 14.3683C4.51741 14.0259 3.75875 13.521 3.1206 12.8828C2.48244 12.2447 1.97751 11.486 1.63516 10.651C1.29282 9.81595 1.11988 8.92118 1.12642 8.01872C1.13296 7.11625 1.31884 6.22409 1.67325 5.39409C2.02765 4.5641 2.54352 3.81285 3.19086 3.184C3.82152 2.54982 4.57169 2.04702 5.39796 1.7047C6.22424 1.36238 7.1102 1.18734 8.00457 1.18972ZM8.00457 0.0125732C6.9558 0.0126483 5.91731 0.219294 4.9484 0.620712C3.97949 1.02213 3.09913 1.61046 2.35758 2.35211C1.61604 3.09375 1.02784 3.9742 0.626561 4.94317C0.225282 5.91214 0.0187848 6.95066 0.0188599 7.99943C0.0189349 9.0482 0.225581 10.0867 0.626998 11.0556C1.02842 12.0245 1.61674 12.9049 2.35839 13.6464C3.10004 14.388 3.98048 14.9762 4.94945 15.3774C5.91842 15.7787 6.95694 15.9852 8.00572 15.9851C10.1238 15.9851 12.1552 15.1437 13.6529 13.646C15.1506 12.1483 15.992 10.117 15.992 7.99886C15.992 5.88076 15.1506 3.84942 13.6529 2.3517C12.1552 0.853983 10.1238 0.0125732 8.00572 0.0125732H8.00457Z" fill="#06F7FF"/>
<path d="M8.0046 6.98975C7.73711 6.98975 7.48058 7.09601 7.29143 7.28515C7.10229 7.47429 6.99603 7.73083 6.99603 7.99832C6.99603 8.26581 7.10229 8.52234 7.29143 8.71149C7.48058 8.90063 7.73711 9.00689 8.0046 9.00689C8.27209 9.00689 8.52862 8.90063 8.71777 8.71149C8.90691 8.52234 9.01317 8.26581 9.01317 7.99832C9.01317 7.73083 8.90691 7.47429 8.71777 7.28515C8.52862 7.09601 8.27209 6.98975 8.0046 6.98975ZM4.47317 6.98975C4.20568 6.98975 3.94915 7.09601 3.76 7.28515C3.57086 7.47429 3.4646 7.73083 3.4646 7.99832C3.4646 8.26581 3.57086 8.52234 3.76 8.71149C3.94915 8.90063 4.20568 9.00689 4.47317 9.00689C4.74066 9.00689 4.9972 8.90063 5.18634 8.71149C5.37548 8.52234 5.48174 8.26581 5.48174 7.99832C5.48174 7.73083 5.37548 7.47429 5.18634 7.28515C4.9972 7.09601 4.74066 6.98975 4.47317 6.98975ZM11.536 6.98975C11.2685 6.98959 11.0119 7.09571 10.8227 7.28475C10.6334 7.47378 10.527 7.73026 10.5269 7.99775C10.5267 8.26524 10.6328 8.52183 10.8219 8.71108C11.0109 8.90033 11.2674 9.00674 11.5349 9.00689C11.8024 9.00689 12.0589 8.90063 12.2481 8.71149C12.4372 8.52234 12.5435 8.26581 12.5435 7.99832C12.5435 7.73083 12.4372 7.47429 12.2481 7.28515C12.0589 7.09601 11.8024 6.98975 11.5349 6.98975H11.536Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_351_47028">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,10 @@
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_228_8706)">
<path d="M15.9142 12.3721L15.9382 12.3631L14.3546 8.26166C14.2806 8.0748 14.1522 7.91449 13.986 7.80152C13.8197 7.68855 13.6234 7.62814 13.4225 7.62813H13.1013V1.49093C13.1001 1.35967 13.0468 1.23424 12.9533 1.1422C12.8597 1.05015 12.7334 0.999015 12.6022 1.00001C12.4709 0.999015 12.3446 1.05015 12.2511 1.1422C12.1575 1.23424 12.1043 1.35967 12.1031 1.49093V7.62813H8.98395V1.49093C8.98276 1.35967 8.92953 1.23424 8.83595 1.1422C8.74237 1.05015 8.6161 0.999015 8.48485 1.00001C8.35374 0.999214 8.22766 1.05044 8.13424 1.14246C8.04083 1.23449 7.9877 1.3598 7.98651 1.49093V7.62813H4.7428V1.49093C4.74161 1.35967 4.68839 1.23424 4.59481 1.1422C4.50123 1.05015 4.37496 0.999015 4.24371 1.00001C4.11247 0.999015 3.98619 1.05015 3.89262 1.1422C3.79904 1.23424 3.74581 1.35967 3.74462 1.49093V7.62813H3.54799C3.3469 7.62799 3.15042 7.68833 2.98407 7.80131C2.81771 7.91429 2.68915 8.07468 2.6151 8.26166L1.03227 12.3631L1.05554 12.3721C1.02024 12.5065 1.00158 12.6446 1 12.7835C1 13.7308 1.78353 14.5017 2.74644 14.5017H14.224C15.1869 14.5017 15.9705 13.7308 15.9705 12.7827C15.9705 12.6409 15.9479 12.505 15.9142 12.3721ZM3.54799 8.60996H13.421L14.3741 11.0795C14.3238 11.0758 14.2751 11.0645 14.2233 11.0645H2.74644C2.69466 11.0645 2.64587 11.0758 2.59559 11.0795L3.54799 8.60996ZM14.224 13.5191H2.74644C2.54977 13.5205 2.36056 13.4439 2.2203 13.306C2.08004 13.1681 2.00016 12.9802 1.99818 12.7835C1.99996 12.5867 2.07975 12.3986 2.22004 12.2605C2.36032 12.1225 2.54964 12.0457 2.74644 12.0471H14.224C14.6368 12.0471 14.9723 12.3774 14.9723 12.7827C14.9707 12.9797 14.891 13.168 14.7507 13.3062C14.6104 13.4444 14.4209 13.5213 14.224 13.5199V13.5191Z" fill="#06F7FF"/>
</g>
<defs>
<clipPath id="clip0_228_8706">
<rect width="16" height="16" fill="white"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

BIN
src/assets/img/bg1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

BIN
src/assets/img/bg2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

BIN
src/assets/img/bg2L.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

BIN
src/assets/img/bg3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
src/assets/img/bg3_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

BIN
src/assets/img/bg3_v.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

BIN
src/assets/img/bg4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
src/assets/img/bg5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 721 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 587 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 512 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 680 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 554 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 495 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 889 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 684 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 424 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 496 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 279 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 609 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 834 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 672 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 391 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 711 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 518 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 359 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 526 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 775 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 538 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

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