first commit

This commit is contained in:
haozq 2025-01-16 19:07:08 +08:00
parent 9419cd2b66
commit d9a2809f30
439 changed files with 146140 additions and 0 deletions

22
.editorconfig Normal file
View File

@ -0,0 +1,22 @@
# 告诉EditorConfig插件这是根文件不用继续往上查找
root = true
# 匹配全部文件
[*]
# 设置字符集
charset = utf-8
# 缩进风格可选space、tab
indent_style = space
# 缩进的空格数
indent_size = 2
# 结尾换行符可选lf、cr、crlf
end_of_line = lf
# 在文件结尾插入新行
insert_final_newline = true
# 删除一行中的前后空格
trim_trailing_whitespace = true
# 匹配md结尾的文件
[*.md]
insert_final_newline = false
trim_trailing_whitespace = false

11
.env.development Normal file
View File

@ -0,0 +1,11 @@
# 页面标题
VUE_APP_TITLE = 博诺思管理系统
# 开发环境配置
ENV = 'development'
# 博诺思管理系统/开发环境
VUE_APP_BASE_API = '/dev-api'
# 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true

9
.env.production Normal file
View File

@ -0,0 +1,9 @@
# 页面标题
VUE_APP_TITLE = 庐江智慧工地
# 生产环境配置
ENV = 'production'
BASE_URL=/zhgd-ht/
# 博诺思管理系统/生产环境
VUE_APP_BASE_API = '/ljzhgd-api'

10
.env.staging Normal file
View File

@ -0,0 +1,10 @@
# 页面标题
VUE_APP_TITLE = 博诺思管理系统
NODE_ENV = production
# 测试环境配置
ENV = 'staging'
# 博诺思管理系统/测试环境
VUE_APP_BASE_API = '/stage-api'

10
.eslintignore Normal file
View File

@ -0,0 +1,10 @@
# 忽略build目录下类型为js的文件的语法检查
build/*.js
# 忽略src/assets目录下文件的语法检查
src/assets
# 忽略public目录下文件的语法检查
public
# 忽略当前目录下为js的文件的语法检查
*.js
# 忽略当前目录下为vue的文件的语法检查
*.vue

199
.eslintrc.js Normal file
View File

@ -0,0 +1,199 @@
// ESlint 检查配置
module.exports = {
root: true,
parserOptions: {
parser: 'babel-eslint',
sourceType: 'module'
},
env: {
browser: true,
node: true,
es6: true,
},
extends: ['plugin:vue/recommended', 'eslint:recommended'],
// add your custom rules here
//it is base on https://github.com/vuejs/eslint-config-vue
rules: {
"vue/max-attributes-per-line": [2, {
"singleline": 10,
"multiline": {
"max": 1,
"allowFirstLine": false
}
}],
"vue/singleline-html-element-content-newline": "off",
"vue/multiline-html-element-content-newline":"off",
"vue/name-property-casing": ["error", "PascalCase"],
"vue/no-v-html": "off",
'accessor-pairs': 2,
'arrow-spacing': [2, {
'before': true,
'after': true
}],
'block-spacing': [2, 'always'],
'brace-style': [2, '1tbs', {
'allowSingleLine': true
}],
'camelcase': [0, {
'properties': 'always'
}],
'comma-dangle': [2, 'never'],
'comma-spacing': [2, {
'before': false,
'after': true
}],
'comma-style': [2, 'last'],
'constructor-super': 2,
'curly': [2, 'multi-line'],
'dot-location': [2, 'property'],
'eol-last': 2,
'eqeqeq': ["error", "always", {"null": "ignore"}],
'generator-star-spacing': [2, {
'before': true,
'after': true
}],
'handle-callback-err': [2, '^(err|error)$'],
'indent': [2, 2, {
'SwitchCase': 1
}],
'jsx-quotes': [2, 'prefer-single'],
'key-spacing': [2, {
'beforeColon': false,
'afterColon': true
}],
'keyword-spacing': [2, {
'before': true,
'after': true
}],
'new-cap': [2, {
'newIsCap': true,
'capIsNew': false
}],
'new-parens': 2,
'no-array-constructor': 2,
'no-caller': 2,
'no-console': 'off',
'no-class-assign': 2,
'no-cond-assign': 2,
'no-const-assign': 2,
'no-control-regex': 0,
'no-delete-var': 2,
'no-dupe-args': 2,
'no-dupe-class-members': 2,
'no-dupe-keys': 2,
'no-duplicate-case': 2,
'no-empty-character-class': 2,
'no-empty-pattern': 2,
'no-eval': 2,
'no-ex-assign': 2,
'no-extend-native': 2,
'no-extra-bind': 2,
'no-extra-boolean-cast': 2,
'no-extra-parens': [2, 'functions'],
'no-fallthrough': 2,
'no-floating-decimal': 2,
'no-func-assign': 2,
'no-implied-eval': 2,
'no-inner-declarations': [2, 'functions'],
'no-invalid-regexp': 2,
'no-irregular-whitespace': 2,
'no-iterator': 2,
'no-label-var': 2,
'no-labels': [2, {
'allowLoop': false,
'allowSwitch': false
}],
'no-lone-blocks': 2,
'no-mixed-spaces-and-tabs': 2,
'no-multi-spaces': 2,
'no-multi-str': 2,
'no-multiple-empty-lines': [2, {
'max': 1
}],
'no-native-reassign': 2,
'no-negated-in-lhs': 2,
'no-new-object': 2,
'no-new-require': 2,
'no-new-symbol': 2,
'no-new-wrappers': 2,
'no-obj-calls': 2,
'no-octal': 2,
'no-octal-escape': 2,
'no-path-concat': 2,
'no-proto': 2,
'no-redeclare': 2,
'no-regex-spaces': 2,
'no-return-assign': [2, 'except-parens'],
'no-self-assign': 2,
'no-self-compare': 2,
'no-sequences': 2,
'no-shadow-restricted-names': 2,
'no-spaced-func': 2,
'no-sparse-arrays': 2,
'no-this-before-super': 2,
'no-throw-literal': 2,
'no-trailing-spaces': 2,
'no-undef': 2,
'no-undef-init': 2,
'no-unexpected-multiline': 2,
'no-unmodified-loop-condition': 2,
'no-unneeded-ternary': [2, {
'defaultAssignment': false
}],
'no-unreachable': 2,
'no-unsafe-finally': 2,
'no-unused-vars': [2, {
'vars': 'all',
'args': 'none'
}],
'no-useless-call': 2,
'no-useless-computed-key': 2,
'no-useless-constructor': 2,
'no-useless-escape': 0,
'no-whitespace-before-property': 2,
'no-with': 2,
'one-var': [2, {
'initialized': 'never'
}],
'operator-linebreak': [2, 'after', {
'overrides': {
'?': 'before',
':': 'before'
}
}],
'padded-blocks': [2, 'never'],
'quotes': [2, 'single', {
'avoidEscape': true,
'allowTemplateLiterals': true
}],
'semi': [2, 'never'],
'semi-spacing': [2, {
'before': false,
'after': true
}],
'space-before-blocks': [2, 'always'],
'space-before-function-paren': [2, 'never'],
'space-in-parens': [2, 'never'],
'space-infix-ops': 2,
'space-unary-ops': [2, {
'words': true,
'nonwords': false
}],
'spaced-comment': [2, 'always', {
'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ',']
}],
'template-curly-spacing': [2, 'never'],
'use-isnan': 2,
'valid-typeof': 2,
'wrap-iife': [2, 'any'],
'yield-star-spacing': [2, 'both'],
'yoda': [2, 'never'],
'prefer-const': 2,
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
'object-curly-spacing': [2, 'always', {
objectsInObjects: false
}],
'array-bracket-spacing': [2, 'never']
}
}

13
babel.config.js Normal file
View File

@ -0,0 +1,13 @@
module.exports = {
presets: [
// https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
'@vue/cli-plugin-babel/preset'
],
'env': {
'development': {
// babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
// This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
'plugins': ['dynamic-import-node']
}
}
}

12
bin/build.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 打包Web工程生成dist文件。
echo.
%~d0
cd %~dp0
cd ..
npm run build:prod
pause

12
bin/package.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 安装Web工程生成node_modules文件。
echo.
%~d0
cd %~dp0
cd ..
npm install --registry=https://registry.npmmirror.com
pause

12
bin/run-web.bat Normal file
View File

@ -0,0 +1,12 @@
@echo off
echo.
echo [信息] 使用 Vue CLI 命令运行 Web 工程。
echo.
%~d0
cd %~dp0
cd ..
npm run dev
pause

35
build/index.js Normal file
View File

@ -0,0 +1,35 @@
const { run } = require('runjs')
const chalk = require('chalk')
const config = require('../vue.config.js')
const rawArgv = process.argv.slice(2)
const args = rawArgv.join(' ')
if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
const report = rawArgv.includes('--report')
run(`vue-cli-service build ${args}`)
const port = 9526
const publicPath = config.publicPath
var connect = require('connect')
var serveStatic = require('serve-static')
const app = connect()
app.use(
publicPath,
serveStatic('./dist', {
index: ['index.html', '/']
})
)
app.listen(port, function () {
console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
if (report) {
console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
}
})
} else {
run(`vue-cli-service build ${args}`)
}

98
package.json Normal file
View File

@ -0,0 +1,98 @@
{
"name": "bonus",
"version": "3.6.4",
"description": "博诺思管理系统",
"author": "博诺思",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{js,vue}": [
"eslint --fix",
"git add"
]
},
"keywords": [
"vue",
"admin",
"dashboard",
"element-ui",
"boilerplate",
"admin-template",
"management-system"
],
"repository": {
"type": "git",
"url": "http://192.168.0.56:3000/bonus/Bonus-Cloud.git"
},
"dependencies": {
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
"echarts": "5.4.0",
"element-ui": "2.15.14",
"file-saver": "^2.0.5",
"flv.js": "^1.6.2",
"fuse.js": "6.4.3",
"highlight.js": "9.18.5",
"html2canvas": "^1.4.1",
"jquery": "^3.7.1",
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"jszip": "^3.10.1",
"nprogress": "0.2.0",
"qrcode": "^1.5.3",
"qrcodejs2": "^0.0.2",
"quill": "1.3.7",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-baidu-map": "^0.21.22",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-meta": "2.4.0",
"vue-router": "^3.5.2",
"vuedraggable": "2.24.3",
"vuex": "3.6.0"
},
"devDependencies": {
"@vue/cli-plugin-babel": "4.4.6",
"@vue/cli-plugin-eslint": "4.4.6",
"@vue/cli-service": "4.4.6",
"babel-eslint": "10.1.0",
"babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "4.1.0",
"compression-webpack-plugin": "6.1.2",
"connect": "3.6.6",
"crypto-js": "^4.2.0",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.13",
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12"
},
"engines": {
"node": ">=8.9",
"npm": ">= 3.0.0"
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}

File diff suppressed because one or more lines are too long

206
public/dz_video.html Normal file
View File

@ -0,0 +1,206 @@
<!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">
<style type="text/css">
html,
body {
overflow: hidden;
height: 100%;
width: 100%;
margin: 0;
}
button {
font-size: 12px;
color: #232323;
}
</style>
<link href="css/chunk-common.css" rel="stylesheet">
<script type="text/javascript">
let devCode = null;
// 接受父页面传递的参数
window.addEventListener('message', function (event) {
const params = event.data;
console.error(params);
// 获取到设备编码并进行处理
devCode = params.devCode;
this.init();
}, false);
// 视频参数
const videoParam = {
'videoIp': '8.142.156.35',
'videoPort': 9988,
'timeout': 0,
'user': 'TSH',
'pwd': '77804d2ba1922c33',
'row': 2,
'col': 2,
};
var video;
window.onVideoRealPlayLoad = function (suport, v) {
if (suport == false) return alert("不支持该浏览器!");
video = v;
// 设置播放窗口为 2 * 2
video.regrid(2, 2);
toolbar(false);
}
//初始化================================================================================================
async function init() {
var videoIp = videoParam.videoIp;
var videoPort = videoParam.videoPort;
var timeout = videoParam.timeout;
var user = videoParam.user;
var pwd = videoParam.pwd;
var row = videoParam.row;
var col = videoParam.col;
video.init({ ip: videoIp, port: videoPort, user: user, pwd: pwd, timeout: timeout, row: row, col: col, toolbar: false, onServerOpen: onServerOpen, onServerClose: onServerClose, onVideoClose: onVideoClose });
setTimeout(() => {
loopPlayVideo();
}, 1500);
}
/* 循环播放视频 */
async function loopPlayVideo() {
for (let index = 1; index <= 4; index++) {
let obj = {
playTitle: "通道" + index,
playSim: devCode,
playChn: index,
}
await playVideo(obj);
}
}
function onServerOpen(time) {
// alert("第" + time + "次连接上视频服务器");
}
function onServerClose(time) {
// alert("第" + time + "次断开视频服务器");
}
//视频================================================================================================
function onVideoClose(sim, chn) {
console.log("视频关闭 SIM卡号:" + sim + " 通道号:" + chn);
}
async function playVideo(obj) {
return new Promise((resolve, reject) => {
setTimeout(() => {
var playTitle = obj.playTitle;
var playSim = obj.playSim;
var playChn = obj.playChn;
var playStream = 1;// 0-清晰(主码流); 1-流畅(子码流) 可不传该参数
var cloud = true;
var ret = video.playVideo(playTitle, playSim, playChn, playStream, cloud);
if (ret === 1) {
console.error(playSim + '-' + playChn + '成功播放');
resolve(true);
} else if (ret === -1) {
alert("窗口播放满了,不播放");
reject(false);
} else if (ret === 0) {
alert("该设备通道已经有窗口在播放");
reject(false);
}
}, 1000);
});
}
function closeVideo() {
var playSim = document.getElementById("playSim").value;
var playChn = document.getElementById("playChn").value;
video.closeVideo(playSim, playChn);
}
//对讲================================================================================================
function playTalk() {
var sim = document.getElementById("sim").value;
var chn = document.getElementById("chn").value;
video.playTalk(sim, chn, onTalkResult, onTalkClose);
}
function onTalkResult(state, sim, chn, tip) {
if (state === 0) return alert("设备请求失败 SIM卡号:" + sim + " 通道号:" + chn + " 原因:" + tip);
if (state === 1) return alert("对讲成功 SIM卡号:" + sim + " 通道号:" + chn);
if (state === 2) return alert("设备请求成功但获取不到麦克风 SIM卡号:" + sim + " 通道号:" + chn + " 原因:" + tip);
}
function onTalkClose(sim, chn) {
alert("对讲关闭 SIM卡号:" + sim + " 通道号:" + chn);
}
function closeTalk() {
video.closeTalk();
}
//监听================================================================================================
function playListen() {
var sim = document.getElementById("sim").value;
var chn = document.getElementById("chn").value;
video.playListen(sim, chn, onListenResult, onListenClose);
}
function onListenResult(state, sim, chn, tip) {
if (state === 0) return alert("设备监听失败 SIM卡号:" + sim + " 通道号:" + chn + " 原因:" + tip);
if (state === 1) return alert("监听成功 SIM卡号:" + sim + " 通道号:" + chn);
}
function onListenClose(sim, chn) {
alert("监听关闭 SIM卡号:" + sim + " 通道号:" + chn);
}
function closeListen() {
video.closeListen();
}
//布局================================================================================================
function regrid() {
var row = document.getElementById("row").value;
var col = document.getElementById("col").value;
video.regrid(parseInt(row), parseInt(col));
}
//关闭全部================================================================================================
function closeAll() {
video.closeAll();
}
//销毁全部================================================================================================
function destroy() {
video.destroy();
video = null;
}
function toolbar(v) {
video && (video.toolbar = v);
}
</script>
</head>
<body>
<div style="width:calc(100% - 10px);height:calc(100% - 50px);position:absolute;left:5px;top:40px;">
<div id="VideoRealPlay"></div>
</div>
<script src="js/chunk-vendors.js"></script>
<script src="js/chunk-common.js"></script>
<script src="js/VideoRealPlay.js"></script>
</body>
</html>

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

BIN
public/fonts/iconfont.ttf Normal file

Binary file not shown.

BIN
public/fonts/iconfont.woff Normal file

Binary file not shown.

46
public/html/ie.html Normal file

File diff suppressed because one or more lines are too long

BIN
public/img/bg.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
public/img/confirm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
public/img/success.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

208
public/index.html Normal file
View File

@ -0,0 +1,208 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= webpackConfig.name %></title>
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
html,
body,
#app {
height: 100%;
margin: 0px;
padding: 0px;
}
.chromeframe {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
#loader-wrapper {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 999999;
}
#loader {
display: block;
position: relative;
left: 50%;
top: 50%;
width: 150px;
height: 150px;
margin: -75px 0 0 -75px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 2s linear infinite;
-ms-animation: spin 2s linear infinite;
-moz-animation: spin 2s linear infinite;
-o-animation: spin 2s linear infinite;
animation: spin 2s linear infinite;
z-index: 1001;
}
#loader:before {
content: "";
position: absolute;
top: 5px;
left: 5px;
right: 5px;
bottom: 5px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-webkit-animation: spin 3s linear infinite;
-moz-animation: spin 3s linear infinite;
-o-animation: spin 3s linear infinite;
-ms-animation: spin 3s linear infinite;
animation: spin 3s linear infinite;
}
#loader:after {
content: "";
position: absolute;
top: 15px;
left: 15px;
right: 15px;
bottom: 15px;
border-radius: 50%;
border: 3px solid transparent;
border-top-color: #FFF;
-moz-animation: spin 1.5s linear infinite;
-o-animation: spin 1.5s linear infinite;
-ms-animation: spin 1.5s linear infinite;
-webkit-animation: spin 1.5s linear infinite;
animation: spin 1.5s linear infinite;
}
@-webkit-keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes spin {
0% {
-webkit-transform: rotate(0deg);
-ms-transform: rotate(0deg);
transform: rotate(0deg);
}
100% {
-webkit-transform: rotate(360deg);
-ms-transform: rotate(360deg);
transform: rotate(360deg);
}
}
#loader-wrapper .loader-section {
position: fixed;
top: 0;
width: 51%;
height: 100%;
background: #7171C6;
z-index: 1000;
-webkit-transform: translateX(0);
-ms-transform: translateX(0);
transform: translateX(0);
}
#loader-wrapper .loader-section.section-left {
left: 0;
}
#loader-wrapper .loader-section.section-right {
right: 0;
}
.loaded #loader-wrapper .loader-section.section-left {
-webkit-transform: translateX(-100%);
-ms-transform: translateX(-100%);
transform: translateX(-100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader-wrapper .loader-section.section-right {
-webkit-transform: translateX(100%);
-ms-transform: translateX(100%);
transform: translateX(100%);
-webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}
.loaded #loader {
opacity: 0;
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}
.loaded #loader-wrapper {
visibility: hidden;
-webkit-transform: translateY(-100%);
-ms-transform: translateY(-100%);
transform: translateY(-100%);
-webkit-transition: all 0.3s 1s ease-out;
transition: all 0.3s 1s ease-out;
}
.no-js #loader-wrapper {
display: none;
}
.no-js h1 {
color: #222222;
}
#loader-wrapper .load_title {
font-family: 'Open Sans';
color: #FFF;
font-size: 19px;
width: 100%;
text-align: center;
z-index: 9999999999999;
position: absolute;
top: 60%;
opacity: 1;
line-height: 30px;
}
#loader-wrapper .load_title span {
font-weight: normal;
font-style: italic;
font-size: 13px;
color: #FFF;
opacity: 0.5;
}
</style>
</head>
<body>
<div id="app">
<div id="loader-wrapper">
<div id="loader"></div>
<div class="loader-section section-left"></div>
<div class="loader-section section-right"></div>
<div class="load_title">正在加载系统资源,请耐心等待</div>
</div>
</div>
</body>
</html>

119
public/js/VideoPlay.js Normal file
View File

@ -0,0 +1,119 @@
(function (e) {
function n(n) {
for (
var t, i, l = n[0], a = n[1], c = n[2], f = 0, p = [];
f < l.length;
f++
)
(i = l[f]), o[i] && p.push(o[i][0]), (o[i] = 0);
for (t in a) Object.prototype.hasOwnProperty.call(a, t) && (e[t] = a[t]);
d && d(n);
while (p.length) p.shift()();
return u.push.apply(u, c || []), r();
}
function r() {
for (var e, n = 0; n < u.length; n++) {
for (var r = u[n], t = !0, l = 1; l < r.length; l++) {
var a = r[l];
0 !== o[a] && (t = !1);
}
t && (u.splice(n--, 1), (e = i((i.s = r[0]))));
}
return e;
}
var t = {},
o = { VideoPlay: 0 },
u = [];
function i(n) {
if (t[n]) return t[n].exports;
var r = (t[n] = { i: n, l: !1, exports: {} });
return e[n].call(r.exports, r, r.exports, i), (r.l = !0), r.exports;
}
(i.m = e),
(i.c = t),
(i.d = function (e, n, r) {
i.o(e, n) || Object.defineProperty(e, n, { enumerable: !0, get: r });
}),
(i.r = function (e) {
"undefined" !== typeof Symbol &&
Symbol.toStringTag &&
Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
Object.defineProperty(e, "__esModule", { value: !0 });
}),
(i.t = function (e, n) {
if ((1 & n && (e = i(e)), 8 & n)) return e;
if (4 & n && "object" === typeof e && e && e.__esModule) return e;
var r = Object.create(null);
if (
(i.r(r),
Object.defineProperty(r, "default", { enumerable: !0, value: e }),
2 & n && "string" != typeof e)
)
for (var t in e)
i.d(
r,
t,
function (n) {
return e[n];
}.bind(null, t)
);
return r;
}),
(i.n = function (e) {
var n =
e && e.__esModule
? function () {
return e["default"];
}
: function () {
return e;
};
return i.d(n, "a", n), n;
}),
(i.o = function (e, n) {
return Object.prototype.hasOwnProperty.call(e, n);
}),
(i.p = "");
var l = (window["webpackJsonp"] = window["webpackJsonp"] || []),
a = l.push.bind(l);
(l.push = n), (l = l.slice());
for (var c = 0; c < l.length; c++) n(l[c]);
var d = a;
u.push([2, "chunk-vendors", "chunk-common"]), r();
})({
2: function (e, n, r) {
e.exports = r("8db3");
},
"8db3": function (e, n, r) {
"use strict";
r.r(n);
var t = r("2b0e"),
o = (r("10c1"), r("2229"), r("6c89"), r("fd4c")),
u = (r("c695"), r("64fd")),
i = (r("7f70"), r("774a")),
l = r("299b");
window._babelPolyfill || r("db4d"),
t["a"].mixin(o["a"]),
t["a"].use(u["a"]),
(window.VideoRealPlayMount = (e) => {
let n = new t["a"]({ render: (e) => e(l["a"]) }).$mount(a(e));
return c(n, e);
}),
(window.VideoPlayBackMount = (e) => {
let n = new t["a"]({ render: (e) => e(i["a"]) }).$mount(a(e));
return c(n, e);
});
let a = function (e) {
let n = document.createElement("div");
return e.appendChild(n), n;
},
c = function (e, n) {
return (
(e.destroy = () => {
e.$children[0].destroy(), e.$destroy(), (n.innerHTML = "");
}),
e
);
};
},
});

View File

@ -0,0 +1 @@
(function(e){function n(n){for(var t,a,i=n[0],l=n[1],c=n[2],d=0,p=[];d<i.length;d++)a=i[d],o[a]&&p.push(o[a][0]),o[a]=0;for(t in l)Object.prototype.hasOwnProperty.call(l,t)&&(e[t]=l[t]);f&&f(n);while(p.length)p.shift()();return u.push.apply(u,c||[]),r()}function r(){for(var e,n=0;n<u.length;n++){for(var r=u[n],t=!0,i=1;i<r.length;i++){var l=r[i];0!==o[l]&&(t=!1)}t&&(u.splice(n--,1),e=a(a.s=r[0]))}return e}var t={},o={VideoPlayBack:0},u=[];function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}a.m=e,a.c=t,a.d=function(e,n,r){a.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:r})},a.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,n){if(1&n&&(e=a(e)),8&n)return e;if(4&n&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(a.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var t in e)a.d(r,t,function(n){return e[n]}.bind(null,t));return r},a.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return a.d(n,"a",n),n},a.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},a.p="";var i=window["webpackJsonp"]=window["webpackJsonp"]||[],l=i.push.bind(i);i.push=n,i=i.slice();for(var c=0;c<i.length;c++)n(i[c]);var f=l;u.push([1,"chunk-vendors","chunk-common"]),r()})({1:function(e,n,r){e.exports=r("5079")},5079:function(e,n,r){"use strict";r.r(n);var t=r("2b0e"),o=(r("10c1"),r("2229"),r("6c89"),r("fd4c")),u=(r("c695"),r("64fd")),a=(r("7f70"),r("774a"));window._babelPolyfill||r("db4d"),t["a"].mixin(o["a"]),t["a"].use(u["a"]);let i=document.getElementById("VideoPlayBack");i?new t["a"]({render:e=>e(a["a"])}).$mount("#VideoPlayBack"):window.VideoPlayBackMount=e=>{return new t["a"]({render:e=>e(a["a"])}).$mount(e)}}});

101
public/js/VideoRealPlay.js Normal file
View File

@ -0,0 +1,101 @@
(function (e) {
function n(n) {
for (
var t, l, a = n[0], i = n[1], c = n[2], d = 0, p = [];
d < a.length;
d++
)
(l = a[d]), o[l] && p.push(o[l][0]), (o[l] = 0);
for (t in i) Object.prototype.hasOwnProperty.call(i, t) && (e[t] = i[t]);
f && f(n);
while (p.length) p.shift()();
return u.push.apply(u, c || []), r();
}
function r() {
for (var e, n = 0; n < u.length; n++) {
for (var r = u[n], t = !0, a = 1; a < r.length; a++) {
var i = r[a];
0 !== o[i] && (t = !1);
}
t && (u.splice(n--, 1), (e = l((l.s = r[0]))));
}
return e;
}
var t = {},
o = { VideoRealPlay: 0 },
u = [];
function l(n) {
if (t[n]) return t[n].exports;
var r = (t[n] = { i: n, l: !1, exports: {} });
return e[n].call(r.exports, r, r.exports, l), (r.l = !0), r.exports;
}
(l.m = e),
(l.c = t),
(l.d = function (e, n, r) {
l.o(e, n) || Object.defineProperty(e, n, { enumerable: !0, get: r });
}),
(l.r = function (e) {
"undefined" !== typeof Symbol &&
Symbol.toStringTag &&
Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
Object.defineProperty(e, "__esModule", { value: !0 });
}),
(l.t = function (e, n) {
if ((1 & n && (e = l(e)), 8 & n)) return e;
if (4 & n && "object" === typeof e && e && e.__esModule) return e;
var r = Object.create(null);
if (
(l.r(r),
Object.defineProperty(r, "default", { enumerable: !0, value: e }),
2 & n && "string" != typeof e)
)
for (var t in e)
l.d(
r,
t,
function (n) {
return e[n];
}.bind(null, t)
);
return r;
}),
(l.n = function (e) {
var n =
e && e.__esModule
? function () {
return e["default"];
}
: function () {
return e;
};
return l.d(n, "a", n), n;
}),
(l.o = function (e, n) {
return Object.prototype.hasOwnProperty.call(e, n);
}),
(l.p = "");
var a = (window["webpackJsonp"] = window["webpackJsonp"] || []),
i = a.push.bind(a);
(a.push = n), (a = a.slice());
for (var c = 0; c < a.length; c++) n(a[c]);
var f = i;
u.push([0, "chunk-vendors", "chunk-common"]), r();
})({
0: function (e, n, r) {
e.exports = r("7f63");
},
"7f63": function (e, n, r) {
"use strict";
r.r(n);
var t = r("2b0e"),
o = (r("10c1"), r("2229"), r("6c89"), r("fd4c")),
u = r("299b");
window._babelPolyfill || r("db4d"), t["a"].mixin(o["a"]);
let l = document.getElementById("VideoRealPlay");
l
? new t["a"]({ render: (e) => e(u["a"]) }).$mount("#VideoRealPlay")
: (window.VideoRealPlayMount = (e) => {
return new t["a"]({ render: (e) => e(u["a"]) }).$mount(e);
});
},
});

41691
public/js/chunk-common.js Normal file

File diff suppressed because it is too large Load Diff

15258
public/js/chunk-vendors.js Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

BIN
public/js/h265_decoder.wasm Normal file

Binary file not shown.

2
public/robots.txt Normal file
View File

@ -0,0 +1,2 @@
User-agent: *
Disallow: /

28
src/App.vue Normal file
View File

@ -0,0 +1,28 @@
<template>
<div id="app">
<router-view />
<theme-picker />
</div>
</template>
<script>
import ThemePicker from "@/components/ThemePicker";
export default {
name: "App",
components: { ThemePicker },
metaInfo() {
return {
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
titleTemplate: title => {
return title ? `${title} - ${process.env.VUE_APP_TITLE}` : process.env.VUE_APP_TITLE
}
}
}
};
</script>
<style scoped>
#app .theme-picker {
display: none;
}
</style>

231
src/api/base/bracelet.js Normal file
View File

@ -0,0 +1,231 @@
import request from '@/utils/request'
// 查询列表
export function listBracelet(query) {
return request({
url: '/bracelet/bracelet/list',
method: 'get',
params: query
})
}
// 查询手环箱列表
export function listShbox(query) {
return request({
url: '/bracelet/bracelet/listShbox',
method: 'get',
params: query
})
}
// 查询手环箱管理页面手环箱列表
export function listShboxall(query) {
return request({
url: '/bracelet/bracelet/listShboxall',
method: 'get',
params: query
})
}
// 查询手环绑定选择列表
export function listShboxBind(query) {
return request({
url: '/bracelet/bracelet/listShboxBind',
method: 'get',
params: query
})
}
// 查询手环箱管理页面手环列表
export function listShBind(query) {
return request({
url: '/bracelet/bracelet/listShBind',
method: 'get',
params: query
})
}
// 查询手环箱管理页面未绑定手环列表
export function listShNoBind(query) {
return request({
url: '/bracelet/bracelet/listShNoBind',
method: 'get',
params: query
})
}
// 添加手环
export function addSh(data) {
return request({
url: '/bracelet/bracelet/addSh',
method: 'post',
data: data
})
}
// 手环箱管理页面添加手环箱
export function addBox(data) {
return request({
url: '/bracelet/bracelet/addBox',
method: 'post',
data: data
})
}
// 手环管理页面新增设备属性
export function addAttribute(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/bracelet/addAttribute',
method: 'post',
data: data
})
}
// 手环绑定选择页面绑定手环
export function addShBind(data) {
return request({
url: '/bracelet/bracelet/addShBind',
method: 'post',
data: data
})
}
// 查看设备属性
export function listDeviceAttribute(query) {
return request({
url: '/bracelet/bracelet/listDeviceAttribute',
method: 'get',
params: query
})
}
// 设备属性详情
export function getAttributeInfo(data) {
return request({
url: '/bracelet/bracelet/getAttributeInfo',
method: 'post',
data: data
})
}
// 编辑
export function editAttribute(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/bracelet/editAttribute',
method: 'post',
data: data
})
}
// 修改
export function editSh(data) {
return request({
url: '/bracelet/bracelet/editSh',
method: 'post',
data: data
})
}
// 手环箱管理页面修改
export function editBox(data) {
return request({
url: '/bracelet/bracelet/editBox',
method: 'post',
data: data
})
}
// 解除绑定
export function delSh(data) {
return request({
url: '/bracelet/bracelet/delSh',
method: 'post',
data: data
})
}
// 删除
export function delShById(data) {
return request({
url: '/bracelet/bracelet/delShById',
method: 'post',
data: data
})
}
// 删除
export function delShboxById(data) {
return request({
url: '/bracelet/bracelet/delShboxById',
method: 'post',
data: data
})
}
// 删除设备属性
export function delDeviceAttribute(data) {
return request({
url: '/bracelet/bracelet/delDeviceAttribute',
method: 'post',
data: data
})
}
// 详情
export function getBoxInfo(shboxId) {
return request({
url: '/bracelet/bracelet/' + shboxId,
method: 'get',
})
}
// 详情
export function getBoxNewInfo(shboxId) {
return request({
url: '/bracelet/bracelet/new/' + shboxId,
method: 'get',
})
}
//绑定
export function bindSh(data) {
return request({
url: '/bracelet/bracelet/bindSh',
method: 'post',
data:data
})
}
// 导出
export function exportSh(query) {
return request({
url: '/bracelet/export/exportSh',
method: 'get',
responseType: 'blob',
params: query
})
}
// 批量导出
export function exportShSome(query) {
return request({
url: '/bracelet/bracelet/exportShSome',
method: 'get',
responseType: 'blob',
params: query
})
}

137
src/api/base/device.js Normal file
View File

@ -0,0 +1,137 @@
import request from '@/utils/request'
// 查询列表
export function listDevcie(query) {
return request({
url: '/bracelet/device/list',
method: 'get',
params: query
})
}
// 查询人员
export function getPersonList(data) {
return request({
url: '/bracelet/team/getPersonList',
method: 'post',
data: data
})
}
// 添加
export function addDevice(data) {
return request({
url: '/bracelet/device/addDevice',
method: 'post',
data: data
})
}
// 手环管理页面新增设备属性
export function addAttribute(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/device/addAttribute',
method: 'post',
data: data
})
}
// 详情
export function getDeviceInfo(deviceId) {
return request({
url: '/bracelet/device/' + deviceId,
method: 'get',
})
}
// 查看设备属性
export function listDeviceAttribute(query) {
return request({
url: '/bracelet/device/listDeviceAttribute',
method: 'get',
params: query
})
}
// 设备属性详情
export function getAttributeInfo(data) {
return request({
url: '/bracelet/device/getAttributeInfo',
method: 'post',
data: data
})
}
// 编辑
export function editAttribute(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/device/editAttribute',
method: 'post',
data: data
})
}
// 修改
export function editDevice(data) {
return request({
url: '/bracelet/device/editDevice',
method: 'post',
data: data
})
}
// 删除
export function delDevice(data) {
return request({
url: '/bracelet/device/delDevice',
method: 'post',
data: data
})
}
// 删除设备属性
export function delDeviceAttribute(data) {
return request({
url: '/bracelet/device/delDeviceAttribute',
method: 'post',
data: data
})
}
// 导出
export function exportDevice(query) {
return request({
url: '/bracelet/export/exportDevice',
method: 'get',
responseType: 'blob',
params: query
})
}
// 批量导出
export function exportDeviceSome(query) {
return request({
url: '/bracelet/device/exportDeviceSome',
method: 'get',
responseType: 'blob',
params: query
})
}
// 查询班组成员列表
export function getWorkPersonList(query) {
return request({
url: '/bracelet/team/getWorkPersonList',
method: 'get',
params: query
})
}

148
src/api/base/engineering.js Normal file
View File

@ -0,0 +1,148 @@
import request from '@/utils/request'
// 查询列表
export function listEngineering(query) {
return request({
url: '/bracelet/engineering/list',
method: 'get',
params: query
})
}
// 工程详情
export function getEngineeringInfo(proId) {
return request({
url: '/bracelet/engineering/getEngineeringInfo/' + proId,
method: 'get',
})
}
// 杆塔详情
export function getGtInfo(data) {
return request({
url: '/bracelet/engineering/gtInfo',
method: 'get',
params: data
})
}
// 添加杆塔
export function addGt(data) {
return request({
url: '/bracelet/engineering/addGt',
method: 'post',
data: data
})
}
// 某杆塔详情
export function getGtId(gtId) {
return request({
url: '/bracelet/engineering/'+ gtId,
method: 'get',
})
}
// 修改杆塔
export function editGt(data) {
return request({
url: '/bracelet/engineering/editGt',
method: 'post',
data: data
})
}
// 删除杆塔
export function delGt(data) {
return request({
url: '/bracelet/engineering/delGt',
method: 'post',
data: data
})
}
// 添加工程
export function addPro(data) {
return request({
url: '/bracelet/engineering/addPro',
method: 'post',
data: data
})
}
// 修改工程
export function editPro(data) {
return request({
url: '/bracelet/engineering/editPro',
method: 'post',
data: data
})
}
// 删除工程
export function delPro(proId) {
return request({
url: '/bracelet/engineering/delPro/' + proId,
method: 'post',
})
}
// 导出工程
export function exportEngineering(query) {
return request({
url: '/bracelet/export/exportEngineering',
method: 'get',
responseType: 'blob',
params: query
})
}
// 批量导出工程
export function exportEngineeringSome(query) {
return request({
url: '/bracelet/engineering/exportEngineeringSome',
method: 'get',
responseType: 'blob',
params: query
})
}
// 导出杆塔
export function exportGt(query) {
return request({
url: '/bracelet/export/exportGt',
method: 'get',
responseType: 'blob',
params: query
})
}
// 批量导出工程
export function exportGtSome(query) {
return request({
url: '/bracelet/engineering/exportGtSome',
method: 'get',
responseType: 'blob',
params: query
})
}
// 模板下载
export function gtFile(query) {
return request({
url: '/bracelet/download/gtFile',
method: 'get',
headers: { 'Content-Type': 'application/x-www-form-urlencoded',
"encryption":"encryption"
},
responseType: 'blob',
params: query
})
}

72
src/api/base/project.js Normal file
View File

@ -0,0 +1,72 @@
import request from '@/utils/request'
// 查询列表
export function listProject(query) {
return request({
url: '/bracelet/project/list',
method: 'get',
params: query
})
}
// 查询详细
export function getProject(projectId) {
return request({
url: '/bracelet/project/' + projectId,
method: 'get'
})
}
// 新增
export function addProject(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/project/addtemp',
method: 'post',
data: data
})
}
// 修改
export function updateProject(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/project/update',
method: 'post',
data: data
})
}
// 删除岗位
export function delProject(projectId) {
return request({
url: '/bracelet/project/' + projectId,
method: 'delete'
})
}
// 导出
export function exportProject(query) {
return request({
url: '/bracelet/export/exportProject',
method: 'get',
responseType: 'blob',
params: query
})
}
// 批量导出
export function exportProjectSome(query) {
return request({
url: '/bracelet/project/exportProjectSome',
method: 'get',
responseType: 'blob',
params: query
})
}

120
src/api/base/staff.js Normal file
View File

@ -0,0 +1,120 @@
import request from '@/utils/request'
// 查询列表
export function listPerson(query) {
return request({
url: '/bracelet/person/list',
method: 'get',
params: query
})
}
// 新增
export function addPerson(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/person/addPerson',
method: 'post',
data: data
})
}
// 编辑
export function editPerson(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/person/editPerson',
method: 'post',
data: data
})
}
// 详情
export function getPersonInfo(data) {
return request({
url: '/bracelet/person/getPersonInfo',
method: 'post',
data: data
})
}
// 文件地址详情
export function getFileUrl(data) {
return request({
url: '/bracelet/person/getFileUrl',
method: 'post',
data: data
})
}
//证书详情
export function getCertificate(memberId) {
return request({
url: '/bracelet/person/' + memberId,
method: 'get',
})
}
// 删除
export function delPerson(data) {
return request({
url: '/bracelet/person/delPerson',
method: 'post',
data: data
})
}
// 推送人脸照片到人脸库
export function pushFace(data) {
return request({
url: '/bracelet/person/pushFace',
method: 'post',
data: data
})
}
// 修改证书
export function updateCertificate(data) {
return request({
headers: { // 修改请求头
'decrypt': 'decrypt',
'Content-Type': 'multipart/form-data'
},
url: '/bracelet/person/updateCertificate',
method: 'post',
data: data
})
}
// 导出
export function exportPerson(query) {
return request({
url: '/bracelet/export/exportPerson',
method: 'get',
headers: { 'Content-Type': 'application/x-www-form-urlencoded',
"encryption":"encryption"
},
responseType: 'blob',
params: query
})
}
// 模板下载
export function personFile(query) {
return request({
url: '/bracelet/download/personFile',
method: 'get',
headers: { 'Content-Type': 'application/x-www-form-urlencoded',
"encryption":"encryption"
},
responseType: 'blob',
params: query
})
}

83
src/api/base/team.js Normal file
View File

@ -0,0 +1,83 @@
import request from '@/utils/request'
// 查询列表
export function listTeam(query) {
return request({
url: '/bracelet/team/list',
method: 'get',
params: query
})
}
// 查询人员
export function getPersonList(data) {
return request({
url: '/bracelet/team/getPersonList',
method: 'post',
data: data
})
}
// 添加
export function addTeam(data) {
return request({
url: '/bracelet/team/addTeam',
method: 'post',
data: data
})
}
// 详情
export function getTeamInfo(data) {
return request({
url: '/bracelet/team/getTeamInfo',
method: 'post',
data: data
})
}
// 修改
export function editTeam(data) {
return request({
url: '/bracelet/team/editTeam',
method: 'post',
data: data
})
}
// 删除
export function delTeam(data) {
return request({
url: '/bracelet/team/delTeam',
method: 'post',
data: data
})
}
// 解散
export function dissolutionTeam(data) {
return request({
url: '/bracelet/team/dissolutionTeam',
method: 'post',
data: data
})
}
// 导出
export function exportTeam(query) {
return request({
url: '/bracelet/export/exportTeam',
method: 'get',
responseType: 'blob',
params: query
})
}
// 查询班组成员列表
export function getWorkPersonList(query) {
return request({
url: '/bracelet/team/getWorkPersonList',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,19 @@
import request from '@/utils/request'
// 查询列表
export function getTemporarilyPersons(query) {
return request({
url: '/bracelet/temporarilyPerson/list',
method: 'get',
params: query
})
}
// 删除
export function delTemporarilyPerson(data) {
return request({
url: '/bracelet/temporarilyPerson/delTemporarilyPerson',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,58 @@
import request from '@/utils/request'
export function listConstruction(query) {
return request({
url: '/bracelet/construction/list',
method: 'get',
params: query
})
}
// 查询班组人员列表
export function listTeam(query) {
return request({
url: '/bracelet/construction/listTeam',
method: 'get',
params: query
})
}
// 查询临时班组人员列表
export function listTeamTemp(query) {
return request({
url: '/bracelet/construction/listTeamTemp',
method: 'get',
params: query
})
}
// 查询施工预警信息列表
export function listWarn(query) {
return request({
url: '/bracelet/construction/listWarn',
method: 'get',
params: query
})
}
// 导出
export function exportConstructionRecord(query) {
return request({
url: '/bracelet/export/exportConstructionRecord',
method: 'get',
responseType: 'blob',
params: query
})
}
// 导出
export function exportConstructionRecordSome(query) {
return request({
url: '/bracelet/construction/exportConstructionRecordSome',
method: 'get',
responseType: 'blob',
params: query
})
}

View File

@ -0,0 +1,21 @@
import request from '@/utils/request'
// 查询列表
export function DeviceLyRecord(query) {
return request({
url: '/bracelet/deviceLyRecord/list',
method: 'get',
params: query
})
}
// 导出
export function exportDeviceLyRecord(query) {
return request({
url: '/bracelet/export/exportDeviceLyRecord',
method: 'get',
responseType: 'blob',
params: query
})
}

View File

@ -0,0 +1,21 @@
import request from '@/utils/request'
// 查询列表
export function ListWarn(query) {
return request({
url: '/bracelet/warnHistory/listWarn',
method: 'get',
params: query
})
}
// 导出
export function exportWarnHistory(query) {
return request({
url: '/bracelet/export/exportWarnHistory',
method: 'get',
responseType: 'blob',
params: query
})
}

View File

@ -0,0 +1,37 @@
import request from '@/utils/request'
// 查询列表
export function equipmentReqList(query) {
return request({
url: '/bracelet/equipmentReq/list',
method: 'get',
params: query
})
}
// 新增
export function addEquipmentData(data) {
return request({
url: '/bracelet/equipmentReq/addData',
method: 'post',
data: data
})
}
// 根据设备类型获取设备列表
export function getUseDevices(query) {
return request({
url: '/bracelet/equipmentReq/getUseDevices',
method: 'get',
params: query
})
}
// 归还设备
export function returnDevice(data) {
return request({
url: '/bracelet/equipmentReq/returnDevice',
method: 'post',
data: data
})
}

View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
/* 判断人员管控是否有告警 */
export function getPersonControlIsWarn(query) {
return request({
url: '/bracelet/consControl/getPersonControlIsWarn',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,72 @@
import request from '@/utils/request'
/* 吊装预警设备列表 */
export function getDzWarnList(query) {
return request({
url: '/bracelet/consControl/getDzWarnList',
method: 'get',
params: query
})
}
/* 近电感应设备列表 */
export function getJdList(query) {
return request({
url: '/bracelet/consControl/getJdList',
method: 'get',
params: query
})
}
/* 线路属性 */
export function getLineStats(query) {
return request({
url: '/system/select/getLineStats',
method: 'get',
params: query
})
}
/* 线路属性的电压等级 */
export function getVoltageLevelByLineStats(query) {
return request({
url: '/system/select/getVoltageLevelByLineStats',
method: 'get',
params: query
})
}
/* 添加近电感应配置 */
export function configJdDevice(data) {
return request({
url: '/bracelet/consControl/configJdDevice',
method: 'post',
data:data
})
}
/* 查询近电感应设备配置 */
export function getConfigJdDevice(query) {
return request({
url: '/bracelet/consControl/getConfigJdDevice',
method: 'get',
params: query
})
}
/* 近电感应设备预警信息 */
export function getJdWarnList(query) {
return request({
url: '/bracelet/consControl/getJdWarnList',
method: 'get',
params: query
})
}
/* 关闭近电感应告警 */
export function closeJdWarn(data) {
return request({
url: '/tcp/netty/closeWarn',
method: 'post',
data:data
})
}

View File

@ -0,0 +1,81 @@
import request from '@/utils/request'
/* 人员树 */
export function personsTree(query) {
return request({
url: '/bracelet/consControl/getPersonsTree',
method: 'get',
params: query
})
}
/* 根据杆塔获取班组人员/临时人员-已绑定手环 */
export function teamPersonByTower(query) {
return request({
url: '/bracelet/consControl/getTeamPersonByTower',
method: 'get',
params: query
})
}
/* 手环人脸验证抽检 */
export function spotCheck(data) {
return request({
url: '/bracelet/consControl/spotCheck',
method: 'post',
data: data
})
}
/* 自动验证配置详情 */
export function getCheckConfig(query) {
return request({
url: '/bracelet/consControl/getCheckConfig',
method: 'get',
params: query
})
}
/* 自动验证配置 */
export function checkConfig(data) {
return request({
url: '/bracelet/consControl/checkConfig',
method: 'post',
data: data
})
}
/* 人员树选中班组触发的接口 */
export function getPersonsInfo(query) {
return request({
url: '/bracelet/consControl/getPersonsInfo',
method: 'get',
params: query
})
}
/* 人员树选中人员触发的接口 */
export function getPersonDetail(query) {
return request({
url: '/bracelet/consControl/getPersonDetail',
method: 'get',
params: query
})
}
/* 人员历史轨迹 */
export function getHistoryGj(query) {
return request({
url: '/bracelet/consControl/getHistoryGj',
method: 'get',
params: query
})
}
/* 今日施工班组/施工人数/安全帽信息 */
export function getWorkInfo(query) {
return request({
url: '/bracelet/consControl/getWorkInfo',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,36 @@
import request from '@/utils/request'
/* 人员树 */
export function getBallDeviceLists(query) {
return request({
url: '/bracelet/consControl/getBallDeviceLists',
method: 'get',
params: query
})
}
/* 根据文件ID获取照片 */
export function getPhotosById(data) {
return request({
url: '/bracelet/consControl/getPhotosById',
method: 'post',
data: data
})
}
/* 球机违章识别 */
export function getBallWarnLists(query) {
return request({
url: '/bracelet/consControl/getBallWarnLists',
method: 'get',
params: query
})
}
/* 球机预警信息 */
export function getWarnLists(query) {
return request({
url: '/bracelet/consControl/getWarnLists',
method: 'get',
params: query
})
}

View File

@ -0,0 +1,95 @@
import request from '@/utils/request'
// 查询列表
export function listSideband(query) {
return request({
url: '/bracelet/sideband/list',
method: 'get',
params: query
})
}
// 查询杆塔绑定列表
export function listDevice(query) {
return request({
url: '/bracelet/sideband/listDevice',
method: 'get',
params: query
})
}
//查询未绑定杆塔列表
export function listDeviceNoBind(query) {
return request({
url: '/bracelet/sideband/listDeviceNoBind',
method: 'get',
params: query
})
}
// 新增
export function addSideband(data) {
return request({
url: '/bracelet/sideband/addSideband',
method: 'post',
data: data
})
}
// 编辑
export function editSideband(data) {
return request({
url: '/bracelet/sideband/editSideband',
method: 'post',
data: data
})
}
// 详情
export function getSidebandInfo(sidebandId) {
return request({
url: '/bracelet/sideband/' + sidebandId,
method: 'get'
})
}
// 删除
export function delSideband(data) {
return request({
url: '/bracelet/sideband/delSideband',
method: 'post',
data: data
})
}
// 解除绑定
export function delDevice(data) {
return request({
url: '/bracelet/sideband/delDevice',
method: 'post',
data: data
})
}
//绑定
export function bindDevice(data) {
return request({
url: '/bracelet/sideband/bindDevice',
method: 'post',
data:data
})
}
// 导出
export function exportPerson(query) {
return request({
url: '/bracelet/export/exportPerson',
method: 'get',
responseType: 'blob',
params: query
})
}

62
src/api/login.js Normal file
View File

@ -0,0 +1,62 @@
import request from '@/utils/request'
// 登录方法
export function login(username, password, code, uuid) {
return request({
url: '/auth/login',
headers: {
isToken: false,
repeatSubmit: false
},
method: 'post',
data: { username, password, code, uuid }
})
}
// 注册方法
export function register(data) {
return request({
url: '/auth/register',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
// 刷新方法
export function refreshToken() {
return request({
url: '/auth/refresh',
method: 'post'
})
}
// 获取用户详细信息
export function getInfo() {
return request({
url: '/system/user/getInfo',
method: 'get'
})
}
// 退出方法
export function logout() {
return request({
url: '/auth/logout',
method: 'delete'
})
}
// 获取验证码
export function getCodeImg() {
return request({
url: '/code',
headers: {
isToken: false
},
method: 'get',
timeout: 20000
})
}

9
src/api/menu.js Normal file
View File

@ -0,0 +1,9 @@
import request from '@/utils/request'
// 获取路由
export const getRouters = () => {
return request({
url: '/system/menu/getRouters',
method: 'get'
})
}

71
src/api/monitor/job.js Normal file
View File

@ -0,0 +1,71 @@
import request from '@/utils/request'
// 查询定时任务调度列表
export function listJob(query) {
return request({
url: '/schedule/job/list',
method: 'get',
params: query
})
}
// 查询定时任务调度详细
export function getJob(jobId) {
return request({
url: '/schedule/job/' + jobId,
method: 'get'
})
}
// 新增定时任务调度
export function addJob(data) {
return request({
url: '/schedule/job',
method: 'post',
data: data
})
}
// 修改定时任务调度
export function updateJob(data) {
return request({
url: '/schedule/job',
method: 'put',
data: data
})
}
// 删除定时任务调度
export function delJob(jobId) {
return request({
url: '/schedule/job/' + jobId,
method: 'delete'
})
}
// 任务状态修改
export function changeJobStatus(jobId, status) {
const data = {
jobId,
status
}
return request({
url: '/schedule/job/changeStatus',
method: 'put',
data: data
})
}
// 定时任务立即执行一次
export function runJob(jobId, jobGroup) {
const data = {
jobId,
jobGroup
}
return request({
url: '/schedule/job/run',
method: 'put',
data: data
})
}

26
src/api/monitor/jobLog.js Normal file
View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 查询调度日志列表
export function listJobLog(query) {
return request({
url: '/schedule/job/log/list',
method: 'get',
params: query
})
}
// 删除调度日志
export function delJobLog(jobLogId) {
return request({
url: '/schedule/job/log/' + jobLogId,
method: 'delete'
})
}
// 清空调度日志
export function cleanJobLog() {
return request({
url: '/schedule/job/log/clean',
method: 'delete'
})
}

18
src/api/monitor/online.js Normal file
View File

@ -0,0 +1,18 @@
import request from '@/utils/request'
// 查询在线用户列表
export function list(query) {
return request({
url: '/system/online/list',
method: 'get',
params: query
})
}
// 强退用户
export function forceLogout(tokenId) {
return request({
url: '/system/online/' + tokenId,
method: 'delete'
})
}

View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询岗位列表
export function listConstruction(query) {
return request({
url: '/bracelet/construction/list',
method: 'get',
params: query
})
}
// 查询岗位详细
export function getProject(projectId) {
return request({
url: '/bracelet/project/' + projectId,
method: 'get'
})
}
// 新增岗位
export function addProject(data) {
return request({
url: '/bracelet/project',
method: 'post',
data: data
})
}
// 修改岗位
export function updateProject(data) {
return request({
url: '/bracelet/project',
method: 'put',
data: data
})
}
// 删除岗位
export function delProject(projectId) {
return request({
url: '/bracelet/project/' + projectId,
method: 'delete'
})
}

83
src/api/select.js Normal file
View File

@ -0,0 +1,83 @@
import request from '@/utils/request'
//公共下拉选接口集合
//工程下拉选
export function getProList(query) {
return request({
url: '/system/select/getProList',
method: 'get',
params: query
})
}
//所属项目部下拉选
export function getEngineeringList(query) {
return request({
url: '/system/select/getEngineeringList',
method: 'get',
params: query
})
}
//班组下拉选
export function getTeamLists(query) {
return request({
url: '/system/select/getTeamLists',
method: 'get',
params: query
})
}
// 根据工程ID获取杆塔下拉选
export function getPowerLists(query) {
return request({
url: '/system/select/getPowerLists',
method: 'get',
params: query
})
}
// 根据设备类型获取设备下拉选
export function getDeviceLists(query) {
return request({
url: '/system/select/getPowerLists',
method: 'get',
params: query
})
}
//杆塔
export function getGtList(query) {
return request({
url: '/bracelet/sideband/getGtList',
method: 'get',
params: query
})
}
export function getProListTwo(query) {
return request({
url: '/bracelet/sideband/getProList',
method: 'get',
params: query
})
}

60
src/api/system/config.js Normal file
View File

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询参数列表
export function listConfig(query) {
return request({
url: '/system/config/list',
method: 'get',
params: query
})
}
// 查询参数详细
export function getConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'get'
})
}
// 根据参数键名查询参数值
export function getConfigKey(configKey) {
return request({
url: '/system/config/configKey/' + configKey,
method: 'get'
})
}
// 新增参数配置
export function addConfig(data) {
return request({
url: '/system/config',
method: 'post',
data: data
})
}
// 修改参数配置
export function updateConfig(data) {
return request({
url: '/system/config',
method: 'put',
data: data
})
}
// 删除参数配置
export function delConfig(configId) {
return request({
url: '/system/config/' + configId,
method: 'delete'
})
}
// 刷新参数缓存
export function refreshCache() {
return request({
url: '/system/config/refreshCache',
method: 'delete'
})
}

52
src/api/system/dept.js Normal file
View File

@ -0,0 +1,52 @@
import request from '@/utils/request'
// 查询部门列表
export function listDept(query) {
return request({
url: '/system/dept/list',
method: 'get',
params: query
})
}
// 查询部门列表(排除节点)
export function listDeptExcludeChild(deptId) {
return request({
url: '/system/dept/list/exclude/' + deptId,
method: 'get'
})
}
// 查询部门详细
export function getDept(deptId) {
return request({
url: '/system/dept/' + deptId,
method: 'get'
})
}
// 新增部门
export function addDept(data) {
return request({
url: '/system/dept',
method: 'post',
data: data
})
}
// 修改部门
export function updateDept(data) {
return request({
url: '/system/dept',
method: 'put',
data: data
})
}
// 删除部门
export function delDept(deptId) {
return request({
url: '/system/dept/' + deptId,
method: 'delete'
})
}

View File

@ -0,0 +1,52 @@
import request from '@/utils/request'
// 查询字典数据列表
export function listData(query) {
return request({
url: '/system/dict/data/list',
method: 'get',
params: query
})
}
// 查询字典数据详细
export function getData(dictCode) {
return request({
url: '/system/dict/data/' + dictCode,
method: 'get'
})
}
// 根据字典类型查询字典数据信息
export function getDicts(dictType) {
return request({
url: '/system/dict/data/type/' + dictType,
method: 'get'
})
}
// 新增字典数据
export function addData(data) {
return request({
url: '/system/dict/data',
method: 'post',
data: data
})
}
// 修改字典数据
export function updateData(data) {
return request({
url: '/system/dict/data',
method: 'put',
data: data
})
}
// 删除字典数据
export function delData(dictCode) {
return request({
url: '/system/dict/data/' + dictCode,
method: 'delete'
})
}

View File

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询字典类型列表
export function listType(query) {
return request({
url: '/system/dict/type/list',
method: 'get',
params: query
})
}
// 查询字典类型详细
export function getType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
method: 'get'
})
}
// 新增字典类型
export function addType(data) {
return request({
url: '/system/dict/type',
method: 'post',
data: data
})
}
// 修改字典类型
export function updateType(data) {
return request({
url: '/system/dict/type',
method: 'put',
data: data
})
}
// 删除字典类型
export function delType(dictId) {
return request({
url: '/system/dict/type/' + dictId,
method: 'delete'
})
}
// 刷新字典缓存
export function refreshCache() {
return request({
url: '/system/dict/type/refreshCache',
method: 'delete'
})
}
// 获取字典选择框列表
export function optionselect() {
return request({
url: '/system/dict/type/optionselect',
method: 'get'
})
}

View File

@ -0,0 +1,33 @@
import request from '@/utils/request'
// 查询登录日志列表
export function list(query) {
return request({
url: '/system/logininfor/list',
method: 'get',
params: query
})
}
// 删除登录日志
export function delLogininfor(infoId) {
return request({
url: '/system/logininfor/' + infoId,
method: 'delete'
})
}
// 解锁用户登录状态
export function unlockLogininfor(userName) {
return request({
url: '/system/logininfor/unlock/' + userName,
method: 'get'
})
}
// 清空登录日志
export function cleanLogininfor() {
return request({
url: '/system/logininfor/clean',
method: 'delete'
})
}

60
src/api/system/menu.js Normal file
View File

@ -0,0 +1,60 @@
import request from '@/utils/request'
// 查询菜单列表
export function listMenu(query) {
return request({
url: '/system/menu/list',
method: 'get',
params: query
})
}
// 查询菜单详细
export function getMenu(menuId) {
return request({
url: '/system/menu/' + menuId,
method: 'get'
})
}
// 查询菜单下拉树结构
export function treeselect() {
return request({
url: '/system/menu/treeselect',
method: 'get'
})
}
// 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId) {
return request({
url: '/system/menu/roleMenuTreeselect/' + roleId,
method: 'get'
})
}
// 新增菜单
export function addMenu(data) {
return request({
url: '/system/menu',
method: 'post',
data: data
})
}
// 修改菜单
export function updateMenu(data) {
return request({
url: '/system/menu',
method: 'put',
data: data
})
}
// 删除菜单
export function delMenu(menuId) {
return request({
url: '/system/menu/' + menuId,
method: 'delete'
})
}

44
src/api/system/notice.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询公告列表
export function listNotice(query) {
return request({
url: '/system/notice/list',
method: 'get',
params: query
})
}
// 查询公告详细
export function getNotice(noticeId) {
return request({
url: '/system/notice/' + noticeId,
method: 'get'
})
}
// 新增公告
export function addNotice(data) {
return request({
url: '/system/notice',
method: 'post',
data: data
})
}
// 修改公告
export function updateNotice(data) {
return request({
url: '/system/notice',
method: 'put',
data: data
})
}
// 删除公告
export function delNotice(noticeId) {
return request({
url: '/system/notice/' + noticeId,
method: 'delete'
})
}

26
src/api/system/operlog.js Normal file
View File

@ -0,0 +1,26 @@
import request from '@/utils/request'
// 查询操作日志列表
export function list(query) {
return request({
url: '/system/operlog/list',
method: 'get',
params: query
})
}
// 删除操作日志
export function delOperlog(operId) {
return request({
url: '/system/operlog/' + operId,
method: 'delete'
})
}
// 清空操作日志
export function cleanOperlog() {
return request({
url: '/system/operlog/clean',
method: 'delete'
})
}

44
src/api/system/post.js Normal file
View File

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询岗位列表
export function listPost(query) {
return request({
url: '/system/post/list',
method: 'get',
params: query
})
}
// 查询岗位详细
export function getPost(postId) {
return request({
url: '/system/post/' + postId,
method: 'get'
})
}
// 新增岗位
export function addPost(data) {
return request({
url: '/system/post',
method: 'post',
data: data,
})
}
// 修改岗位
export function updatePost(data) {
return request({
url: '/system/post',
method: 'put',
data: data
})
}
// 删除岗位
export function delPost(postId) {
return request({
url: '/system/post/' + postId,
method: 'delete'
})
}

119
src/api/system/role.js Normal file
View File

@ -0,0 +1,119 @@
import request from '@/utils/request'
// 查询角色列表
export function listRole(query) {
return request({
url: '/system/role/list',
method: 'get',
params: query
})
}
// 查询角色详细
export function getRole(roleId) {
return request({
url: '/system/role/' + roleId,
method: 'get'
})
}
// 新增角色
export function addRole(data) {
return request({
url: '/system/role',
method: 'post',
data: data
})
}
// 修改角色
export function updateRole(data) {
return request({
url: '/system/role',
method: 'put',
data: data
})
}
// 角色数据权限
export function dataScope(data) {
return request({
url: '/system/role/dataScope',
method: 'put',
data: data
})
}
// 角色状态修改
export function changeRoleStatus(roleId, status) {
const data = {
roleId,
status
}
return request({
url: '/system/role/changeStatus',
method: 'put',
data: data
})
}
// 删除角色
export function delRole(roleId) {
return request({
url: '/system/role/' + roleId,
method: 'delete'
})
}
// 查询角色已授权用户列表
export function allocatedUserList(query) {
return request({
url: '/system/role/authUser/allocatedList',
method: 'get',
params: query
})
}
// 查询角色未授权用户列表
export function unallocatedUserList(query) {
return request({
url: '/system/role/authUser/unallocatedList',
method: 'get',
params: query
})
}
// 取消用户授权角色
export function authUserCancel(data) {
return request({
url: '/system/role/authUser/cancel',
method: 'put',
data: data
})
}
// 批量取消用户授权角色
export function authUserCancelAll(data) {
return request({
url: '/system/role/authUser/cancelAll',
method: 'put',
params: data
})
}
// 授权用户选择
export function authUserSelectAll(data) {
return request({
url: '/system/role/authUser/selectAll',
method: 'put',
params: data
})
}
// 根据角色ID查询部门树结构
export function deptTreeSelect(roleId) {
return request({
url: '/system/role/deptTree/' + roleId,
method: 'get'
})
}

10
src/api/system/select.js Normal file
View File

@ -0,0 +1,10 @@
import request from '@/utils/request'
// 获取班组列表
export function getTeamList(query) {
return request({
url: '/system/select/getTeamList',
method: 'get',
params: query
})
}

155
src/api/system/user.js Normal file
View File

@ -0,0 +1,155 @@
import request from '@/utils/request'
import { parseStrEmpty } from "@/utils/bonus";
// 查询用户列表
export function listUser(query) {
return request({
url: '/system/user/list',
method: 'get',
params: query
})
}
// 查询用户详细
export function getUser(userId) {
return request({
url: '/system/user/' + parseStrEmpty(userId),
method: 'get'
})
}
// 新增用户
export function addUser(data) {
return request({
url: '/system/user',
method: 'post',
data: data
})
}
// 修改用户
export function updateUser(data) {
return request({
url: '/system/user',
method: 'put',
data: data
})
}
// 删除用户
export function delUser(userId) {
return request({
url: '/system/user/' + userId,
method: 'delete'
})
}
// 用户密码重置
export function resetUserPwd(userId, password) {
const data = {
userId,
password
}
return request({
url: '/system/user/resetPwd',
method: 'put',
data: data
})
}
// 用户状态修改
export function changeUserStatus(userId, status) {
const data = {
userId,
status
}
return request({
url: '/system/user/changeStatus',
method: 'put',
data: data
})
}
// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile',
method: 'get'
})
}
// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile',
method: 'put',
data: data
})
}
// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'put',
params: data
})
}
// 用户头像上传
export function uploadAvatar(data) {
return request({
url: '/system/user/profile/avatar',
headers: {
'Content-Type': 'multipart/form-data'
},
method: 'post',
data: data
})
}
// 查询授权角色
export function getAuthRole(userId) {
return request({
url: '/system/user/authRole/' + userId,
method: 'get'
})
}
// 保存授权角色
export function updateAuthRole(data) {
return request({
url: '/system/user/authRole',
method: 'put',
params: data
})
}
// 查询部门下拉树结构
export function deptTreeSelect() {
return request({
url: '/system/user/deptTree',
method: 'get'
})
}
/* 关联用户 */
export function associationTeam(data) {
return request({
url: '/system/user/associationTeam',
method: 'post',
data: data
})
}
// 查询部门下拉树结构
export function departTreeSelect() {
return request({
url: '/system/user/departTree',
method: 'get'
})
}

76
src/api/tool/gen.js Normal file
View File

@ -0,0 +1,76 @@
import request from '@/utils/request'
// 查询生成表数据
export function listTable(query) {
return request({
url: '/code/gen/list',
method: 'get',
params: query
})
}
// 查询db数据库列表
export function listDbTable(query) {
return request({
url: '/code/gen/db/list',
method: 'get',
params: query
})
}
// 查询表详细信息
export function getGenTable(tableId) {
return request({
url: '/code/gen/' + tableId,
method: 'get'
})
}
// 修改代码生成信息
export function updateGenTable(data) {
return request({
url: '/code/gen',
method: 'put',
data: data
})
}
// 导入表
export function importTable(data) {
return request({
url: '/code/gen/importTable',
method: 'post',
params: data
})
}
// 预览生成代码
export function previewTable(tableId) {
return request({
url: '/code/gen/preview/' + tableId,
method: 'get'
})
}
// 删除表数据
export function delTable(tableId) {
return request({
url: '/code/gen/' + tableId,
method: 'delete'
})
}
// 生成代码(自定义路径)
export function genCode(tableName) {
return request({
url: '/code/gen/genCode/' + tableName,
method: 'get'
})
}
// 同步数据库
export function synchDb(tableName) {
return request({
url: '/code/gen/synchDb/' + tableName,
method: 'get'
})
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
src/assets/file.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
src/assets/gif/1.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
src/assets/gif/12.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/assets/gif/123.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
src/assets/gif/1234.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

BIN
src/assets/gif/124.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

BIN
src/assets/gif/13.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
src/assets/gif/134.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
src/assets/gif/14.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/assets/gif/2.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
src/assets/gif/23.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/assets/gif/234.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

BIN
src/assets/gif/24.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
src/assets/gif/3.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

BIN
src/assets/gif/34.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

BIN
src/assets/gif/4.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

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 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1568899741379" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2054" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M960 591.424V368.96c0-0.288 0.16-0.512 0.16-0.768S960 367.68 960 367.424V192a32 32 0 0 0-32-32H96a32 32 0 0 0-32 32v175.424c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768v222.464c0 0.288-0.16 0.512-0.16 0.768s0.16 0.48 0.16 0.768V864a32 32 0 0 0 32 32h832a32 32 0 0 0 32-32v-271.04c0-0.288 0.16-0.512 0.16-0.768S960 591.68 960 591.424z m-560-31.232v-160H608v160h-208z m208 64V832h-208v-207.808H608z m-480-224h208v160H128v-160z m544 0h224v160h-224v-160zM896 224v112.192H128V224h768zM128 624.192h208V832H128v-207.808zM672 832v-207.808h224V832h-224z" p-id="2055"></path></svg>

After

Width:  |  Height:  |  Size: 954 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1588670460195" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1314" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M230.4 307.712c13.824 0 25.088-11.264 25.088-25.088 0-100.352 81.92-182.272 182.272-182.272s182.272 81.408 182.272 182.272c0 13.824 11.264 25.088 25.088 25.088s25.088-11.264 24.576-25.088c0-127.488-103.936-231.936-231.936-231.936S205.824 154.624 205.824 282.624c-0.512 14.336 10.752 25.088 24.576 25.088z m564.736 234.496c-11.264 0-21.504 2.048-31.232 6.144 0-44.544-40.448-81.92-88.064-81.92-14.848 0-28.16 3.584-39.936 10.24-13.824-28.16-44.544-48.128-78.848-48.128-12.288 0-24.576 2.56-35.328 7.68V284.16c0-45.568-37.888-81.92-84.48-81.92s-84.48 36.864-84.48 81.92v348.672l-69.12-112.64c-18.432-28.16-58.368-36.864-91.136-19.968-26.624 14.336-46.592 47.104-30.208 88.064 3.072 8.192 76.8 205.312 171.52 311.296 0 0 28.16 24.576 43.008 58.88 4.096 9.728 13.312 15.36 22.528 15.36 3.072 0 6.656-0.512 9.728-2.048 12.288-5.12 18.432-19.968 12.8-32.256-19.456-44.544-53.76-74.752-53.76-74.752C281.6 768 209.408 573.44 208.384 570.88c-5.12-12.8-2.56-20.992 7.168-26.112 9.216-4.608 21.504-4.608 26.112 2.56l113.152 184.32c4.096 8.704 12.8 14.336 22.528 14.336 13.824 0 25.088-10.752 25.088-25.088V284.16c0-17.92 15.36-32.256 34.816-32.256s34.816 14.336 34.816 32.256v284.16c0 13.824 10.24 25.088 24.576 25.088 13.824 0 25.088-11.264 25.088-25.088v-57.344c0-17.92 15.36-32.768 34.816-32.768 19.968 0 37.376 15.36 37.376 32.768v95.232c0 7.168 3.072 13.312 7.68 17.92 4.608 4.608 10.752 7.168 17.92 7.168 13.824 0 24.576-11.264 24.576-25.088V547.84c0-18.432 13.824-32.256 32.256-32.256 20.48 0 38.912 15.36 38.912 32.256v95.232c0 13.824 11.264 25.088 25.088 25.088s24.576-11.264 25.088-25.088v-18.944c0-18.944 12.8-32.256 30.72-32.256 18.432 0 22.528 18.944 22.528 31.744 0 1.024-11.776 99.84-50.688 173.056-30.72 58.368-45.056 112.128-51.2 146.944-2.56 13.312 6.656 26.112 19.968 28.672 1.536 0 3.072 0.512 4.608 0.512 11.776 0 22.016-8.192 24.064-20.48 5.632-31.232 18.432-79.36 46.08-132.608 43.52-81.92 55.808-186.88 56.32-193.536-0.512-50.688-29.696-83.968-72.704-83.968z"></path></path></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1576153230908" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="971" xmlns:xlink="http://www.w3.org/1999/xlink" width="81" height="81"><defs><style type="text/css"></style></defs><path d="M772.87036133 734.06115723c-43.34106445 0-80.00793458 27.93273926-93.76831055 66.57714843H475.90991211c-56.60705567 0-102.66723633-46.06018067-102.66723633-102.66723633V600.82446289h305.859375c13.76037598 38.64440918 50.42724609 66.57714844 93.76831055 66.57714844 55.12390137 0 99.94812012-44.82421875 99.94812012-99.94812012S827.9942627 467.50537109 772.87036133 467.50537109c-43.34106445 0-80.00793458 27.93273926-93.76831055 66.57714844H373.24267578V401.01062011h321.92687989c55.12390137 0 99.94812012-44.82421875 99.94812011-99.94812011V190.07312011C795.11767578 134.94921875 750.29345703 90.125 695.16955567 90.125H251.12963867C196.0057373 90.125 151.18151855 134.94921875 151.18151855 190.07312011V301.0625c0 55.12390137 44.82421875 99.94812012 99.94812012 99.94812012h55.53588867v296.96044921c0 93.35632325 75.97045898 169.32678223 169.32678224 169.32678223h203.19213866c13.76037598 38.64440918 50.42724609 66.57714844 93.76831055 66.57714844 55.12390137 0 99.94812012-44.82421875 99.94812012-99.94812012s-44.90661622-99.86572266-100.03051758-99.86572265z m0-199.89624024c18.37463379 0 33.28857422 14.91394043 33.28857422 33.28857423s-14.91394043 33.28857422-33.28857422 33.28857421-33.28857422-14.91394043-33.28857422-33.28857421 14.91394043-33.28857422 33.28857422-33.28857422zM217.75866699 301.0625V190.07312011c0-18.37463379 14.91394043-33.28857422 33.28857423-33.28857421h444.03991698c18.37463379 0 33.28857422 14.91394043 33.28857422 33.28857422V301.0625c0 18.37463379-14.91394043 33.28857422-33.28857422 33.28857422H251.12963867c-18.37463379 0-33.37097168-14.91394043-33.37097168-33.28857422z m555.11169434 566.23535156c-18.37463379 0-33.28857422-14.91394043-33.28857422-33.28857422 0-18.37463379 14.91394043-33.28857422 33.28857422-33.28857422s33.28857422 14.91394043 33.28857422 33.28857422c0.08239747 18.29223633-14.91394043 33.28857422-33.28857422 33.28857422z" p-id="972"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg>

After

Width:  |  Height:  |  Size: 179 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575982282951" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="902" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M828.40625 90.125H195.59375C137.375 90.125 90.125 137.375 90.125 195.59375v632.8125c0 58.21875 47.25 105.46875 105.46875 105.46875h632.8125c58.21875 0 105.46875-47.25 105.46875-105.46875V195.59375c0-58.21875-47.25-105.46875-105.46875-105.46875z m52.734375 738.28125c0 29.16-23.57015625 52.734375-52.734375 52.734375H195.59375c-29.109375 0-52.734375-23.574375-52.734375-52.734375V195.59375c0-29.109375 23.625-52.734375 52.734375-52.734375h632.8125c29.16 0 52.734375 23.625 52.734375 52.734375v632.8125z" p-id="903"></path><path d="M421.52890625 709.55984375a36.28125 36.28125 0 0 1-27.55265625-12.66890625L205.17453125 476.613125a36.28546875 36.28546875 0 0 1 55.10109375-47.22890625l164.986875 192.4846875 342.16171875-298.48078125a36.2896875 36.2896875 0 0 1 47.70984375 54.68765625L445.3859375 700.6203125a36.3234375 36.3234375 0 0 1-23.85703125 8.93953125z" p-id="904"></path></svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1591754363642" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2753" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M921.6 51.2a51.2 51.2 0 0 1 51.2 51.2v665.6a51.2 51.2 0 0 1-51.2 51.2H102.4a51.2 51.2 0 0 1-51.2-51.2V102.4a51.2 51.2 0 0 1 51.2-51.2h819.2m0-51.2H102.4a102.4 102.4 0 0 0-102.4 102.4v665.6a102.4 102.4 0 0 0 102.4 102.4h819.2a102.4 102.4 0 0 0 102.4-102.4V102.4a102.4 102.4 0 0 0-102.4-102.4z" p-id="2754"></path><path d="M102.4 972.8l819.2 0 0 51.2-819.2 0 0-51.2Z" p-id="2755"></path><path d="M537.088 204.8a25.6 25.6 0 0 1 25.6 25.6v60.928a153.6 153.6 0 0 1 48.128 27.648l51.2-30.208a25.6 25.6 0 0 1 35.328 9.216l25.6 44.032a25.6 25.6 0 0 1-9.216 35.328l-51.2 30.208a139.776 139.776 0 0 1 0 55.808l51.2 30.208a25.6 25.6 0 0 1 9.216 35.328l-25.6 44.032a25.6 25.6 0 0 1-35.328 9.216l-51.2-30.208a153.6 153.6 0 0 1-48.128 27.648v60.416a25.6 25.6 0 0 1-25.6 25.6h-51.2a25.6 25.6 0 0 1-25.6-25.6v-60.416a153.6 153.6 0 0 1-48.128-27.648l-51.2 30.208a25.6 25.6 0 0 1-35.328-9.216l-25.6-44.032a25.6 25.6 0 0 1 7.168-35.84l51.2-30.208A139.776 139.776 0 0 1 360.96 409.6L307.2 377.344a25.6 25.6 0 0 1-9.216-35.328l25.6-44.032A25.6 25.6 0 0 1 358.4 288.768l51.2 30.208a153.6 153.6 0 0 1 51.2-27.648V230.4a25.6 25.6 0 0 1 25.6-25.6h51.2m0-51.2h-51.2A77.312 77.312 0 0 0 409.6 230.4V256l-23.552-13.824a76.8 76.8 0 0 0-104.96 28.16l-25.088 46.08a77.312 77.312 0 0 0 28.16 104.96L307.2 435.2l-23.552 13.824A77.312 77.312 0 0 0 256 553.984l25.6 44.032a76.8 76.8 0 0 0 104.96 28.16L409.6 614.4v27.136A77.312 77.312 0 0 0 486.4 716.8h51.2a77.312 77.312 0 0 0 76.8-76.8V614.4l23.552 13.824a76.8 76.8 0 0 0 104.96-28.16l25.6-44.032a77.312 77.312 0 0 0-28.16-104.96L716.8 435.2l23.552-13.824A77.312 77.312 0 0 0 768 316.416l-25.6-44.032a76.8 76.8 0 0 0-104.96-28.16L614.4 256v-25.6A77.312 77.312 0 0 0 537.088 153.6z" p-id="2756"></path><path d="M512 384a51.2 51.2 0 1 1-51.2 51.2 51.2 51.2 0 0 1 51.2-51.2m0-51.2a102.4 102.4 0 1 0 102.4 102.4 102.4 102.4 0 0 0-102.4-102.4z" p-id="2757"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -0,0 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg>

After

Width:  |  Height:  |  Size: 971 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1546567861908" class="icon" style="" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2422" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M318.577778 819.2L17.066667 512l301.511111-307.2 45.511111 45.511111L96.711111 512l267.377778 261.688889zM705.422222 819.2l-45.511111-45.511111L927.288889 512l-267.377778-261.688889 45.511111-45.511111L1006.933333 512zM540.785778 221.866667l55.751111 11.150222L483.157333 802.133333l-55.751111-11.093333z" p-id="2423"></path></svg>

After

Width:  |  Height:  |  Size: 717 B

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1577252187056" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2508" xmlns:xlink="http://www.w3.org/1999/xlink" width="81" height="81"><defs><style type="text/css"></style></defs><path d="M747.59340925 691.12859384c11.51396329 0.25305413 22.43746719-0.21087818 40.74171707-1.51832482 29.35428085-2.10878421 35.84933734-2.36183835 46.47761114-0.8856895 24.71495444 3.37405491 41.12129828 21.76265671 32.47528161 47.95376084-85.57447632 258.19957947-442.00123984 249.76444099-628.67084683 50.73735554-153.47733892-159.33976008-153.09775772-414.41833795 0.92786545-573.42069196 159.71934128-162.67163983 424.03439521-166.59397897 565.78689185 0.63263534 80.38686649 94.81095318 108.34934958 169.16669549 89.11723508 230.57450162-15.01454608 47.99593598-50.61082928 77.68762207-119.77896259 114.63352789-4.89237973 2.65706845-29.35428085 15.52065436-35.84933652 19.02123633-46.94154346 25.30541465-63.51659033 41.20565021-62.20914449 58.45550757 2.95229856 39.13904114 24.16667102 52.7196135 70.98168823 53.81618115z m44.41100207 50.10472101c-19.82257471 1.43397372-32.05352527 1.940082-45.63409763 1.6448519-70.34905207-1.60267593-115.98314969-30.91478165-121.38163769-101.64341492-3.45840683-46.05585397 24.7571304-73.13264758 89.24376132-107.96976837 6.7902866-3.66928501 31.37871396-16.57504688 36.06021551-19.06341229 57.69634516-30.83042972 85.15271997-53.73183005 94.76877722-84.47790866 12.77923398-40.78389304-9.10994898-98.94417051-79.24812286-181.6507002-121.17075953-142.97559219-350.14258521-139.60153647-489.2380134 2.06660824-134.49827774 138.84237405-134.79350784 362.12048163-0.42175717 501.637667 158.53842169 168.99799328 451.9968783 181.18676788 534.57688175-11.80919339-4.68150156 0.2952301-10.71262573 0.67481131-18.72600705 1.26527069z" p-id="2509"></path><path d="M346.03865637 637.18588562a78.82636652 78.82636652 0 0 0 78.32025825-79.29029883c0-43.69401562-35.005823-79.29029883-78.32025825-79.29029882a78.82636652 78.82636652 0 0 0-78.36243338 79.29029882c0 43.69401562 35.005823 79.29029883 78.36243338 79.29029883z m0-51.7495729a27.07679361 27.07679361 0 0 1-26.5706845-27.54072593c0-15.30977536 11.97789643-27.54072593 26.5706845-27.54072592 14.55061295 0 26.57068533 12.23095057 26.57068533 27.54072592a27.07679361 27.07679361 0 0 1-26.57068533 27.54072593zM475.7289063 807.11174353a78.82636652 78.82636652 0 0 0 78.3624334-79.29029882c0-43.69401562-34.96364785-79.29029883-78.32025825-79.29029883a78.82636652 78.82636652 0 0 0-78.32025742 79.29029883c0 43.69401562 34.96364785 79.29029883 78.32025742 79.29029882z m0-51.74957208a27.07679361 27.07679361 0 0 1-26.57068532-27.54072674c0-15.30977536 12.06224753-27.54072593 26.57068532-27.54072593 14.59278892 0 26.57068533 12.23095057 26.57068453 27.54072593a27.07679361 27.07679361 0 0 1-26.57068453 27.54072674zM601.24376214 377.21492718a78.82636652 78.82636652 0 0 0 78.32025742-79.29029883c0-43.69401562-34.96364785-79.29029883-78.32025742-79.29029882a78.82636652 78.82636652 0 0 0-78.32025823 79.29029883c0 43.69401562 34.96364785 79.29029883 78.32025824 79.29029883z m1e-8-51.74957208a27.07679361 27.07679361 0 0 1-26.57068534-27.54072675c0-15.30977536 11.97789643-27.54072593 26.57068534-27.54072591 14.55061295 0 26.57068533 12.23095057 26.57068451 27.54072592a27.07679361 27.07679361 0 0 1-26.57068451 27.54072674zM378.80916809 433.85687983a78.82636652 78.82636652 0 0 0 78.32025824-79.29029883c0-43.69401562-34.96364785-79.29029883-78.32025824-79.29029802a78.82636652 78.82636652 0 0 0-78.32025742 79.29029802c0 43.69401562 34.96364785 79.29029883 78.32025742 79.29029883z m0-51.74957209a27.07679361 27.07679361 0 0 1-26.57068451-27.54072674c0-15.30977536 11.97789643-27.54072593 26.57068451-27.54072593 14.55061295 0 26.57068533 12.23095057 26.57068533 27.54072593a27.07679361 27.07679361 0 0 1-26.57068533 27.54072674z" p-id="2510"></path></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1575804206892" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3145" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M826.56 470.016c-32.896 0-64.384 12.288-89.984 35.52l0-104.96c0-62.208-50.496-112.832-112.64-113.088L623.936 287.04 519.552 287.104C541.824 262.72 554.56 230.72 554.56 197.12c0-73.536-59.904-133.44-133.504-133.44-73.472 0-133.376 59.904-133.376 133.44 0 32.896 12.224 64.256 35.52 89.984L175.232 287.104l0 0.576C113.728 288.704 64 338.88 64 400.576l0.32 0 0.32 116.48C60.864 544.896 70.592 577.728 100.8 588.48c12.736 4.608 37.632 7.488 60.864-25.28 12.992-18.368 34.24-29.248 56.64-29.248 38.336 0 69.504 31.104 69.504 69.312 0 38.4-31.168 69.504-69.504 69.504-22.656 0-44.032-11.264-57.344-30.4C138.688 610.112 112.576 615.36 102.464 619.136c-29.824 10.752-39.104 43.776-38.144 67.392l0 160.384L64 846.912C64 909.248 114.752 960 177.216 960l446.272 0c62.4 0 113.152-50.752 113.152-113.152l0-145.024c24.384 22.272 56.384 35.008 89.984 35.008 73.536 0 133.44-59.904 133.44-133.504C960 529.92 900.096 470.016 826.56 470.016zM826.56 672.896c-22.72 0-44.032-11.264-57.344-30.4-22.272-32.384-48.448-27.136-58.56-23.36-29.824 10.752-39.04 43.776-38.08 67.392l0 160.384c0 27.136-22.016 49.152-49.152 49.152L177.216 896.064C150.08 896 128 873.984 128 846.848l0.32 0 0-145.024c24.384 22.272 56.384 35.008 89.984 35.008 73.6 0 133.504-59.904 133.504-133.504 0-73.472-59.904-133.376-133.504-133.376-32.896 0-64.32 12.288-89.984 35.52l0-104.96L128 400.512c0-27.072 22.08-49.152 49.216-49.152L177.216 351.04 334.656 350.72c3.776 0.512 7.616 0.832 11.52 0.832 24.896 0 50.752-10.816 60.032-37.056 4.544-12.736 7.424-37.568-25.344-60.736C362.624 240.768 351.68 219.52 351.68 197.12c0-38.272 31.104-69.44 69.376-69.44 38.336 0 69.504 31.168 69.504 69.44 0 22.72-11.264 44.032-30.528 57.472C427.968 276.736 433.088 302.784 436.8 313.024c10.752 29.888 43.072 39.232 67.392 38.08l119.232 0 0 0.384c27.136 0 49.152 22.08 49.152 49.152l0.256 116.48c-3.776 27.84 6.016 60.736 36.224 71.488 12.736 4.608 37.632 7.488 60.8-25.28 13.056-18.368 34.24-29.248 56.704-29.248C864.832 534.016 896 565.12 896 603.392 896 641.728 864.832 672.896 826.56 672.896z" p-id="3146"></path></svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1 @@
<svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

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