@ -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 |
@ -0,0 +1,13 @@ |
|||||||
|
# 开发环境配置 |
||||||
|
ENV = 'development' |
||||||
|
|
||||||
|
# KeySaas测试云平台/开发环境 |
||||||
|
VUE_APP_BASE_API = '/test-api' |
||||||
|
|
||||||
|
# VUE_APP_BASE_TARGET = 'http://www.keyitest.cn/test-api' |
||||||
|
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999' |
||||||
|
# VUE_APP_BASE_TARGET = 'http://172.16.36.180:9999' |
||||||
|
|
||||||
|
# 路由懒加载 |
||||||
|
VUE_CLI_BABEL_TRANSPILE_MODULES = true |
||||||
|
|
@ -0,0 +1,9 @@ |
|||||||
|
# 生产环境配置 |
||||||
|
ENV = 'production' |
||||||
|
|
||||||
|
# KeySaas测试云平台/生产环境 |
||||||
|
VUE_APP_BASE_API = '/prod-api' |
||||||
|
|
||||||
|
# VUE_APP_BASE_TARGET = 'https://www.keyitest.cn/prod-api' |
||||||
|
VUE_APP_BASE_TARGET = 'http://192.168.0.229:9999' |
||||||
|
# VUE_APP_BASE_TARGET = 'http://www.keyitest.cn/prod-api' |
@ -0,0 +1,7 @@ |
|||||||
|
NODE_ENV = production |
||||||
|
|
||||||
|
# 测试环境配置 |
||||||
|
ENV = 'staging' |
||||||
|
|
||||||
|
# KeySaas测试云平台/测试环境 |
||||||
|
VUE_APP_BASE_API = '/stage-api' |
@ -0,0 +1,10 @@ |
|||||||
|
# 忽略build目录下类型为js的文件的语法检查 |
||||||
|
build/*.js |
||||||
|
# 忽略src/assets目录下文件的语法检查 |
||||||
|
src/assets |
||||||
|
# 忽略public目录下文件的语法检查 |
||||||
|
public |
||||||
|
# 忽略当前目录下为js的文件的语法检查 |
||||||
|
*.js |
||||||
|
# 忽略当前目录下为vue的文件的语法检查 |
||||||
|
*.vue |
@ -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'] |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,23 @@ |
|||||||
|
.DS_Store |
||||||
|
node_modules/ |
||||||
|
dist/ |
||||||
|
npm-debug.log* |
||||||
|
yarn-debug.log* |
||||||
|
yarn-error.log* |
||||||
|
**/*.log |
||||||
|
|
||||||
|
tests/**/coverage/ |
||||||
|
tests/e2e/reports |
||||||
|
selenium-debug.log |
||||||
|
|
||||||
|
# Editor directories and files |
||||||
|
.idea |
||||||
|
.vscode |
||||||
|
*.suo |
||||||
|
*.ntvs* |
||||||
|
*.njsproj |
||||||
|
*.sln |
||||||
|
*.local |
||||||
|
|
||||||
|
package-lock.json |
||||||
|
yarn.lock |
@ -0,0 +1,30 @@ |
|||||||
|
## 开发 |
||||||
|
|
||||||
|
```bash |
||||||
|
# 克隆项目 |
||||||
|
git clone https://gitee.com/y_project/RuoYi-Vue |
||||||
|
|
||||||
|
# 进入项目目录 |
||||||
|
cd ruoyi-ui |
||||||
|
|
||||||
|
# 安装依赖 |
||||||
|
npm install |
||||||
|
|
||||||
|
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 |
||||||
|
npm install --registry=https://registry.npm.taobao.org |
||||||
|
|
||||||
|
# 启动服务 |
||||||
|
npm run dev |
||||||
|
``` |
||||||
|
|
||||||
|
浏览器访问 http://localhost:80 |
||||||
|
|
||||||
|
## 发布 |
||||||
|
|
||||||
|
```bash |
||||||
|
# 构建测试环境 |
||||||
|
npm run build:stage |
||||||
|
|
||||||
|
# 构建生产环境 |
||||||
|
npm run build:prod |
||||||
|
``` |
@ -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'] |
||||||
|
} |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,104 @@ |
|||||||
|
{ |
||||||
|
"name": "keysaas", |
||||||
|
"version": "3.4.0", |
||||||
|
"description": "关键测试云平台", |
||||||
|
"author": "mihong", |
||||||
|
"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": "https://gitee.com/y_project/RuoYi-Vue.git" |
||||||
|
}, |
||||||
|
"dependencies": { |
||||||
|
"@riophae/vue-treeselect": "0.4.0", |
||||||
|
"axios": "^0.21.1", |
||||||
|
"babel-polyfill": "^6.26.0", |
||||||
|
"caniuse-lite": "^1.0.30001281", |
||||||
|
"clipboard": "2.0.6", |
||||||
|
"compression-webpack-plugin": "^5.0.1", |
||||||
|
"core-js": "3.8.1", |
||||||
|
"crypto-js": "^4.2.0", |
||||||
|
"echarts": "^4.9.0", |
||||||
|
"element-ui": "^2.15.14", |
||||||
|
"file-saver": "2.0.4", |
||||||
|
"fuse.js": "6.4.3", |
||||||
|
"highcharts": "^9.1.2", |
||||||
|
"highlight.js": "9.18.5", |
||||||
|
"install": "^0.13.0", |
||||||
|
"js-beautify": "1.13.0", |
||||||
|
"js-cookie": "2.2.1", |
||||||
|
"jsencrypt": "3.0.0-rc.1", |
||||||
|
"moment": "^2.29.1", |
||||||
|
"node-sass": "^6.0.1", |
||||||
|
"npm": "^10.3.0", |
||||||
|
"nprogress": "0.2.0", |
||||||
|
"qrcodejs2": "0.0.2", |
||||||
|
"quill": "1.3.7", |
||||||
|
"quill-image-drop-module": "^1.0.3", |
||||||
|
"quill-image-extend-module": "^1.1.2", |
||||||
|
"quill-image-resize-module": "^3.0.0", |
||||||
|
"screenfull": "5.0.2", |
||||||
|
"sortablejs": "1.10.2", |
||||||
|
"swiper": "^6.7.1", |
||||||
|
"v-distpicker": "^1.2.12", |
||||||
|
"vue": "2.6.12", |
||||||
|
"vue-count-to": "1.0.13", |
||||||
|
"vue-cropper": "0.5.5", |
||||||
|
"vue-quill-editor": "^3.0.6", |
||||||
|
"vue-router": "3.4.9", |
||||||
|
"vuedraggable": "2.24.3", |
||||||
|
"vuex": "3.6.0", |
||||||
|
"xss": "^1.0.15" |
||||||
|
}, |
||||||
|
"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", |
||||||
|
"chalk": "4.1.0", |
||||||
|
"connect": "3.6.6", |
||||||
|
"eslint": "7.15.0", |
||||||
|
"eslint-plugin-vue": "7.2.0", |
||||||
|
"lint-staged": "10.5.3", |
||||||
|
"runjs": "4.4.2", |
||||||
|
"sass-loader": "6.0.0", |
||||||
|
"script-ext-html-webpack-plugin": "2.1.5", |
||||||
|
"svg-sprite-loader": "5.1.1", |
||||||
|
"vue-awesome-swiper": "^4.1.1", |
||||||
|
"vue-template-compiler": "2.6.12" |
||||||
|
}, |
||||||
|
"engines": { |
||||||
|
"node": ">=8.9", |
||||||
|
"npm": ">= 3.0.0" |
||||||
|
}, |
||||||
|
"browserslist": [ |
||||||
|
"> 1%", |
||||||
|
"last 2 versions" |
||||||
|
] |
||||||
|
} |
After Width: | Height: | Size: 611 B |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
@ -0,0 +1,288 @@ |
|||||||
|
<!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 %>logo.png"> |
||||||
|
<title><%= webpackConfig.name %></title> |
||||||
|
<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> |
||||||
|
|
||||||
|
<script type="text/javascript"> |
||||||
|
function browserVersion() { |
||||||
|
var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 |
||||||
|
var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1; //判断是否IE<11浏览器 |
||||||
|
var isIE11 = userAgent.indexOf('Trident') > -1 && userAgent.indexOf("rv:11.0") > -1; |
||||||
|
var isEdge = userAgent.indexOf("Edge") > -1 && !isIE; //Edge浏览器 |
||||||
|
var isFirefox = userAgent.indexOf("Firefox") > -1; //Firefox浏览器 |
||||||
|
var isOpera = userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1; //Opera浏览器 |
||||||
|
var isChrome = userAgent.indexOf("Chrome") > -1 && userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Edge") == -1 && userAgent.indexOf("OPR") == -1; //Chrome浏览器 |
||||||
|
var isSafari = userAgent.indexOf("Safari") > -1 && userAgent.indexOf("Chrome") == -1 && userAgent.indexOf("Edge") == -1 && userAgent.indexOf("OPR") == -1; //Safari浏览器 |
||||||
|
if (isIE) { |
||||||
|
var reIE = new RegExp("MSIE (\\d+\\.\\d+);"); |
||||||
|
reIE.test(userAgent); |
||||||
|
var fIEVersion = parseFloat(RegExp["$1"]); |
||||||
|
if (fIEVersion == 7) { |
||||||
|
return 'IE:7'; |
||||||
|
} else if (fIEVersion == 8) { |
||||||
|
return 'IE:8'; |
||||||
|
} else if (fIEVersion == 9) { |
||||||
|
return 'IE:9'; |
||||||
|
} else if (fIEVersion == 10) { |
||||||
|
return 'IE:10'; |
||||||
|
} else { |
||||||
|
return 'IE:6'; //IE版本<7 |
||||||
|
} |
||||||
|
} else if (isIE11) { |
||||||
|
return 'IE:11'; |
||||||
|
} else if (isEdge) { |
||||||
|
return 'Edge:' + userAgent.split('Edge/')[1].split('.')[0]; |
||||||
|
} else if (isFirefox) { |
||||||
|
return 'Firefox:' + userAgent.split('Firefox/')[1].split('.')[0]; |
||||||
|
} else if (isOpera) { |
||||||
|
return 'Opera:' + userAgent.split('OPR/')[1].split('.')[0]; |
||||||
|
} else if (isChrome) { |
||||||
|
return 'Chrome:' + userAgent.split('Chrome/')[1].split('.')[0]; |
||||||
|
} else if (isSafari) { |
||||||
|
return 'Safari:' + userAgent.split('Version/')[1].split('.')[0]; |
||||||
|
} else { |
||||||
|
return -1; //不是ie浏览器 |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
(function () { |
||||||
|
var limitObj = { |
||||||
|
'IE': 20, |
||||||
|
'Edge': 12, |
||||||
|
'Firefox': 52, |
||||||
|
'Opera': 42, |
||||||
|
'Chrome': 56, |
||||||
|
'Safari': 11 |
||||||
|
} |
||||||
|
var browserVersionStr = browserVersion().split(':'); |
||||||
|
var name = browserVersionStr[0]; |
||||||
|
var version = browserVersionStr[1]; |
||||||
|
if (!limitObj[name] || limitObj[name] && version < limitObj[name]) { |
||||||
|
var div1 = "<div style='position: absolute; z-index: 999; width: 100%; height: 500%;'>"; |
||||||
|
var div2 = "<div style='width: 100%; height: 15px; background-color: #021826; margin-bottom: 100px;'/></div>" |
||||||
|
var div3 = "<div style='background: #002B33; width: 1280px; height: 600px; margin-left: auto; margin-right: auto; text-align: center;'>" |
||||||
|
var p0 = "<p style='padding: 45px; opacity:1; filter:Alpha(opacity=100); *zoom:1;'><img src='/err.gif'/></p>" |
||||||
|
var p = "<p style='color: #fff; font-size: 26px; width:800px; text-align: left; margin-left: auto; margin-right: auto; line-height: 36px;'>" |
||||||
|
var str1 = "您的IE浏览器已正式退役,微软官已不再维护。<br>"; |
||||||
|
var str2 = "推荐使用:<a href='https://www.baidu.com/s?ie=UTF-8&wd=%E8%B0%B7%E6%AD%8C%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color: #FF9912; text-decoration: none;'>谷歌</a>," + |
||||||
|
"<a href='https://www.baidu.com/s?ie=UTF-8&wd=%E7%81%AB%E7%8B%90%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color: #FF9912; text-decoration: none;'>火狐</a>," + |
||||||
|
"<a href='https://www.baidu.com/s?ie=UTF-8&wd=360%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color: #FF9912; text-decoration: none;'>360浏览器</a>," + |
||||||
|
"<a href='https://www.baidu.com/s?ie=UTF-8&wd=Edge%E6%B5%8F%E8%A7%88%E5%99%A8' target='_blank' style='color: #FF9912; text-decoration: none;'>Edge浏览器</a>," + |
||||||
|
"及其它双核浏览器极速模式"; |
||||||
|
var div5 = "<div style='position: absolute; z-index: 998; background: #021826; width: 100%; height: 650%; opacity:0.65; filter:Alpha(opacity=60); *zoom:1;'></div>" |
||||||
|
document.writeln(div1 + div2+ div3 + p0 + p + str1 + str2 +"</p></div></div>" + div5); |
||||||
|
document.execCommand("Stop"); |
||||||
|
}; |
||||||
|
}()); |
||||||
|
</script> |
||||||
|
|
||||||
|
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.css) { %> |
||||||
|
<link src="<%= htmlWebpackPlugin.options.cdn.css[i] %>" rel="stylesheet"></link> |
||||||
|
<% } %> |
||||||
|
</head> |
||||||
|
<body> |
||||||
|
<div id="app"> |
||||||
|
<!--循环引入--> |
||||||
|
<% for (var i in htmlWebpackPlugin.options.cdn && htmlWebpackPlugin.options.cdn.js) { %> |
||||||
|
<script src="<%= htmlWebpackPlugin.options.cdn.js[i] %>" crossorigin="anonymous"></script> |
||||||
|
<% } %> |
||||||
|
<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> |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 5.2 KiB |
After Width: | Height: | Size: 502 B |
@ -0,0 +1,2 @@ |
|||||||
|
User-agent: * |
||||||
|
Disallow: / |
@ -0,0 +1,11 @@ |
|||||||
|
<template> |
||||||
|
<div id="app"> |
||||||
|
<router-view /> |
||||||
|
</div> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
export default { |
||||||
|
name: 'App' |
||||||
|
} |
||||||
|
</script> |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
//上传测试任务
|
||||||
|
export function listNews() { |
||||||
|
return request({ |
||||||
|
// url: '/article/search_simple.jspa',
|
||||||
|
url:'cms/list', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,121 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/admin/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function publishTask(form) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/apply', |
||||||
|
method: 'post', |
||||||
|
data: form |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function listApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/apply/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function getApply(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/apply/' + applyId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function auditTask(form) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/admin/audit', |
||||||
|
method: 'post', |
||||||
|
data:form |
||||||
|
}) |
||||||
|
} |
||||||
|
export function getById(id) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/'+id, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
export function claimTask(id) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/claim/'+id, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
export function myClaim(query) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/claim', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
export function myApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/apply', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
export function myPublish(query) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/publish', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getApplicant(taskId) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/applicant/'+ taskId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function assignTester(param) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/assign', |
||||||
|
method: 'post', |
||||||
|
data: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 获取详情
|
||||||
|
export function getdetesterId(userID,taskId) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/tester/detail/' + userID +'/'+taskId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取类型字典
|
||||||
|
export function getType() { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/type/crowdsourcing_task_type', |
||||||
|
method: 'get', |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 删除任务
|
||||||
|
export function delTask(id) { |
||||||
|
return request({ |
||||||
|
url: '/crowdsource/admin/delete/'+id, |
||||||
|
method: 'delete', |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
@ -0,0 +1,7 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
export function getFileList(entityType, entityId) { |
||||||
|
return request({ |
||||||
|
url: '/file/' + entityType + '/' + entityId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// ****人力外包****
|
||||||
|
// 查询人力外包的列表
|
||||||
|
export function listlabor(query) { |
||||||
|
return request({ |
||||||
|
url: '/labor/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
//获取当前人力外包
|
||||||
|
export function getlaborbyId(Id) { |
||||||
|
return request({ |
||||||
|
url: '/labor/' + Id, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除人力外包
|
||||||
|
export function dellabor(Id) { |
||||||
|
return request({ |
||||||
|
url: '/labor/' + Id, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 修改人力外包
|
||||||
|
export function updatelabor(data) { |
||||||
|
return request({ |
||||||
|
url: '/labor/update', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
@ -0,0 +1,96 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 账户登录方法
|
||||||
|
export function login(username, password, code, uuid) { |
||||||
|
const data = { |
||||||
|
username, |
||||||
|
password, |
||||||
|
code, |
||||||
|
uuid |
||||||
|
} |
||||||
|
return request({ |
||||||
|
url: '/login', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 账户不需要验证码登录方法
|
||||||
|
export function nameLogin(username, password, code, uuid) { |
||||||
|
const data = { |
||||||
|
username, |
||||||
|
password, |
||||||
|
code, |
||||||
|
uuid |
||||||
|
} |
||||||
|
return request({ |
||||||
|
url: '/backLogin', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 手机登录方法
|
||||||
|
export function phoneLogin(mobile, password, code, uuid) { |
||||||
|
const data = { |
||||||
|
mobile, |
||||||
|
password, |
||||||
|
code, |
||||||
|
uuid |
||||||
|
} |
||||||
|
return request({ |
||||||
|
url: '/phoneLogin', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取用户详细信息
|
||||||
|
export function getInfo() { |
||||||
|
// console.log('00000')
|
||||||
|
return request({ |
||||||
|
url: '/getInfo', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 退出方法
|
||||||
|
export function logout() { |
||||||
|
// console.log('11111')
|
||||||
|
return request({ |
||||||
|
url: '/logout', |
||||||
|
method: 'post' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取验证码
|
||||||
|
export function getCodeImg() { |
||||||
|
return request({ |
||||||
|
url: '/captchaImage', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取前台用户注册短信验证码
|
||||||
|
export function getCodeUserRegister(phoneNumber) { |
||||||
|
return request({ |
||||||
|
url: '/captchaUserRegister?phoneNumber=' + phoneNumber, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取前台用户注册登录验证码
|
||||||
|
export function getCodeUserLogin(phoneNumber) { |
||||||
|
return request({ |
||||||
|
url: '/captchaUserLogin?phoneNumber=' + phoneNumber, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取前台用户修改密码短信验证码
|
||||||
|
export function getCodeChangePasswd(phoneNumber) { |
||||||
|
return request({ |
||||||
|
url: '/captchaChangePasswd?phoneNumber=' + phoneNumber, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 获取路由
|
||||||
|
export const getRouters = () => { |
||||||
|
return request({ |
||||||
|
url: '/getRouters', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询缓存详细
|
||||||
|
export function getCache() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/cache', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,80 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询定时任务调度列表
|
||||||
|
export function listJob(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询定时任务调度详细
|
||||||
|
export function getJob(jobId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/' + jobId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增定时任务调度
|
||||||
|
export function addJob(data) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改定时任务调度
|
||||||
|
export function updateJob(data) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除定时任务调度
|
||||||
|
export function delJob(jobId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/' + jobId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出定时任务调度
|
||||||
|
export function exportJob(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 任务状态修改
|
||||||
|
export function changeJobStatus(jobId, status) { |
||||||
|
const data = { |
||||||
|
jobId, |
||||||
|
status |
||||||
|
} |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/changeStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 定时任务立即执行一次
|
||||||
|
export function runJob(jobId, jobGroup) { |
||||||
|
const data = { |
||||||
|
jobId, |
||||||
|
jobGroup |
||||||
|
} |
||||||
|
return request({ |
||||||
|
url: '/monitor/job/run', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询调度日志列表
|
||||||
|
export function listJobLog(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除调度日志
|
||||||
|
export function delJobLog(jobLogId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/' + jobLogId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 清空调度日志
|
||||||
|
export function cleanJobLog() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/clean', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出调度日志
|
||||||
|
export function exportJobLog(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/jobLog/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询登录日志列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除登录日志
|
||||||
|
export function delLogininfor(infoId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/' + infoId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 清空登录日志
|
||||||
|
export function cleanLogininfor() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/clean', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出登录日志
|
||||||
|
export function exportLogininfor(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/logininfor/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,18 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询在线用户列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/online/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 强退用户
|
||||||
|
export function forceLogout(tokenId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/online/' + tokenId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询操作日志列表
|
||||||
|
export function list(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除操作日志
|
||||||
|
export function delOperlog(operId) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/' + operId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 清空操作日志
|
||||||
|
export function cleanOperlog() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/clean', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出操作日志
|
||||||
|
export function exportOperlog(query) { |
||||||
|
return request({ |
||||||
|
url: '/monitor/operlog/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,9 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询服务器详细
|
||||||
|
export function getServer() { |
||||||
|
return request({ |
||||||
|
url: '/monitor/server', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,102 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// 查询我的工具列表
|
||||||
|
export function listMyTools() { |
||||||
|
return request({ |
||||||
|
url: '/my/tools', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询我的某工具
|
||||||
|
export function getMyTool(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/my/tool/'+ toolId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 查询我的测试任务列表
|
||||||
|
export function listMyTasks(queryParam) { |
||||||
|
return request({ |
||||||
|
url: '/my/task/list', |
||||||
|
method: 'get', |
||||||
|
params:queryParam |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//查询价格列表
|
||||||
|
export function getPrice(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/price/' + praseStrEmpty(toolId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//查询功能列表
|
||||||
|
export function getFunction(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/function/' + praseStrEmpty(toolId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//加入购物车
|
||||||
|
export function addShoppingCart(toolId, amount) { |
||||||
|
let count = 1; |
||||||
|
if (amount) |
||||||
|
count = amount; |
||||||
|
return request({ |
||||||
|
url: '/my/addShoppingCart/' + praseStrEmpty(toolId) + '/' + count, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//查询我的购物车列表
|
||||||
|
export function getMyShoppingCart() { |
||||||
|
return request({ |
||||||
|
url: '/my/shoppingCart', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//从购物车移除某款工具
|
||||||
|
export function removeShoppingCart(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/my/shoppingCart/' + toolId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
//批量移除
|
||||||
|
export function multipleRemove(toolIds) { |
||||||
|
return request({ |
||||||
|
url: '/my/multipleRemove/', |
||||||
|
data: {toolIds: toolIds.join(",")}, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
//清空购物车
|
||||||
|
export function clearCart() { |
||||||
|
return request({ |
||||||
|
url: '/my/clearCart', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
//我的订单列表
|
||||||
|
export function getMyOrder(param) { |
||||||
|
return request({ |
||||||
|
url: '/my/order', |
||||||
|
method: 'get', |
||||||
|
params:param |
||||||
|
}) |
||||||
|
} |
||||||
|
//我的本周测试任务
|
||||||
|
export function getMyWeekTask(param) { |
||||||
|
return request({ |
||||||
|
url: '/my/week/task', |
||||||
|
method: 'get', |
||||||
|
params:param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,43 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询咨询的列表 不需要传token
|
||||||
|
export function listnews(query) { |
||||||
|
return request({ |
||||||
|
|
||||||
|
url: '/news/newsList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询当前咨询的信息
|
||||||
|
export function getnewById(newsId) { |
||||||
|
return request({ |
||||||
|
|
||||||
|
url: '/news/' + newsId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 新增咨询
|
||||||
|
export function addnews(data) { |
||||||
|
return request({ |
||||||
|
url: '/news/information/add', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 修改课程信息
|
||||||
|
export function updatenews(data) { |
||||||
|
return request({ |
||||||
|
url: '/news/information/update', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除当前培训课程的信息
|
||||||
|
export function delnewsById(newsId) { |
||||||
|
return request({ |
||||||
|
url: '/news/information/' + newsId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
//订单列表
|
||||||
|
export function listOrder(param) { |
||||||
|
return request({ |
||||||
|
url: '/order/list', |
||||||
|
method: 'get', |
||||||
|
params:param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//订单总览
|
||||||
|
export function overview() { |
||||||
|
return request({ |
||||||
|
url: '/order/overview', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
@ -0,0 +1,48 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 提现列表
|
||||||
|
export function getPayRecordList(param) { |
||||||
|
return request({ |
||||||
|
url: '/mpay/record/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 列表
|
||||||
|
export function getPayList(param) { |
||||||
|
return request({ |
||||||
|
url: '/mpay/record/payList', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查看提现记录详情
|
||||||
|
export function getPayDetail(recordId) { |
||||||
|
return request({ |
||||||
|
url: `/mpay/record/detail/${recordId}`, |
||||||
|
method: 'get', |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 上传支付凭证
|
||||||
|
export function uploadPayment(data) { |
||||||
|
return request({ |
||||||
|
url: '/mpay/record/payment', |
||||||
|
method: 'post', |
||||||
|
data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 充值记录
|
||||||
|
export function getRechargeList(param) { |
||||||
|
return request({ |
||||||
|
url: '/play/recharge_record', |
||||||
|
method: 'get', |
||||||
|
params: param, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,110 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// 查询申请审核列表
|
||||||
|
export function listApplicationReview(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/unauditList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询申请审核详细
|
||||||
|
export function getApplicationReview(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + praseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增申请审核
|
||||||
|
export function addApplicationReview(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/ApplicationReview', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改申请审核
|
||||||
|
export function updateApplicationReview(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/ApplicationReview', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除申请审核
|
||||||
|
export function delApplicationReview(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/ApplicationReview/' + userId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出申请审核
|
||||||
|
export function exportApplicationReview(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/ApplicationReview/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 新的查询申请审核列表
|
||||||
|
export function listtestercert(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/cert/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询申请审核详细
|
||||||
|
export function gettestercert(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/cert/' + praseStrEmpty(applyId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增申请审核
|
||||||
|
// export function addtestercert(data) {
|
||||||
|
// return request({
|
||||||
|
// url: '/system/testercert',
|
||||||
|
// method: 'post',
|
||||||
|
// data: data
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 修改申请审核状态
|
||||||
|
export function updatetestercert(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/cert/audited', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除申请审核
|
||||||
|
export function deltestercert(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/cert/' + praseStrEmpty(applyId), |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出申请审核
|
||||||
|
export function exporttestercert(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/testercert/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询用户列表列表
|
||||||
|
export function listUserList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询用户列表详细
|
||||||
|
export function getUserList(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + userId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增用户列表
|
||||||
|
export function addUserList(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改用户列表
|
||||||
|
export function updateUserList(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除用户列表
|
||||||
|
export function delUserList(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + userId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出用户列表
|
||||||
|
export function exportUserList(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,80 @@ |
|||||||
|
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 getClientConfigKey(configKey) { |
||||||
|
return request({ |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
url: '/client/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 clearCache() { |
||||||
|
return request({ |
||||||
|
url: '/system/config/clearCache', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出参数
|
||||||
|
export function exportConfig(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/config/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,68 @@ |
|||||||
|
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 treeselect() { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/treeselect', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 根据角色ID查询部门树结构
|
||||||
|
export function roleDeptTreeselect(roleId) { |
||||||
|
return request({ |
||||||
|
url: '/system/dept/roleDeptTreeselect/' + roleId, |
||||||
|
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' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,64 @@ |
|||||||
|
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({ |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
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' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出字典数据
|
||||||
|
export function exportData(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/data/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,69 @@ |
|||||||
|
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 clearCache() { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/clearCache', |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出字典类型
|
||||||
|
export function exportType(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 获取字典选择框列表
|
||||||
|
export function optionselect() { |
||||||
|
return request({ |
||||||
|
url: '/system/dict/type/optionselect', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -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' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,38 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
export function listMessage(param) { |
||||||
|
return request({ |
||||||
|
url: '/message/list', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
} |
||||||
|
export function sendMessage(form) { |
||||||
|
return request({ |
||||||
|
url: '/message/sendMsg', |
||||||
|
method: 'post', |
||||||
|
data: form |
||||||
|
}) |
||||||
|
} |
||||||
|
export function listTrainInfo(param) { |
||||||
|
return request({ |
||||||
|
url: '/message/train', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function listMyMessageCount() { |
||||||
|
return request({ |
||||||
|
url: '/message/my/count', |
||||||
|
method: 'get', |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function listMyMessage(param) { |
||||||
|
return request({ |
||||||
|
url: '/message/my', |
||||||
|
method: 'get', |
||||||
|
params: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
@ -0,0 +1,16 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
export function getReviewList(param) { |
||||||
|
return request({ |
||||||
|
url: '/comment/list', |
||||||
|
method: 'get', |
||||||
|
params: param, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除delete /comment/
|
||||||
|
export function delReview(commId) { |
||||||
|
return request({ |
||||||
|
url: `/comment/${commId} `, |
||||||
|
method: 'delete', |
||||||
|
}) |
||||||
|
} |
@ -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' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
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' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出岗位
|
||||||
|
export function exportPost(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/post/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,75 @@ |
|||||||
|
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 exportRole(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/role/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,237 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// 查询用户列表
|
||||||
|
export function listUser(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询用户详细
|
||||||
|
export function getUser(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/' + praseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增用户
|
||||||
|
export function addUser(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增普通测试用户
|
||||||
|
export function addTester(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/addTester', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增普通测试用户
|
||||||
|
export function changePasswd(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/changePasswd', |
||||||
|
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 exportUser(query) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 用户密码重置
|
||||||
|
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', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 下载用户导入模板
|
||||||
|
export function importTemplate() { |
||||||
|
return request({ |
||||||
|
url: '/system/user/importTemplate', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 查询用户详细
|
||||||
|
export function getUserDetail(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/detail/' + praseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
export function list() { |
||||||
|
return request({ |
||||||
|
url: '/system/user/listAll', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 根据用户编号获取未被审核请求
|
||||||
|
export function getUnauditInfo(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/unaudit/' + praseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 同时更改企业认证和测试认证申请审核状态
|
||||||
|
export function changeAllStatusOnce(data) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/changeAllStatusOnce', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 根据用户编号获取认证信息
|
||||||
|
export function getCertifications(userId) { |
||||||
|
return request({ |
||||||
|
url: '/system/user/certifications/' + praseStrEmpty(userId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 全局方法和属性 - 开始
|
||||||
|
|
||||||
|
// 用户认证状态
|
||||||
|
export const user_status = createEnum({ |
||||||
|
n: [0, '普通用户'], |
||||||
|
c: [1, '公司用户'], |
||||||
|
pt: [2, '个人测试者用户'], |
||||||
|
ct: [3, '测试公司用户'], |
||||||
|
}) |
||||||
|
|
||||||
|
// 申请类型
|
||||||
|
export const apple_type = createEnum({ |
||||||
|
p2c: [0, '认证公司'], |
||||||
|
p2pt: [1, '认证个人测试者'], |
||||||
|
p2ct: [2, '认证测试公司'], |
||||||
|
c2ct: [3, '认证测试公司'], |
||||||
|
uc: [4, '更新公司'], |
||||||
|
uct: [5, '更新测试公司'], |
||||||
|
upt: [6, '更新个人测试者'], |
||||||
|
}) |
||||||
|
|
||||||
|
/** |
||||||
|
* 枚举定义工具 |
||||||
|
* 示例: |
||||||
|
* const STATUS = createEnum({ |
||||||
|
* AUDIT_WAIT: [1, '审核中'], |
||||||
|
* AUDIT_PASS: [2, '审核通过'] |
||||||
|
* }) |
||||||
|
* 获取枚举值:STATUS.AUDIT_WAIT |
||||||
|
* 获取枚举描述:STATUS.getDesc('AUDIT_WAIT') |
||||||
|
* 通过枚举值获取描述:STATUS.getDescFromValue(STATUS.WAIT) |
||||||
|
* |
||||||
|
*/ |
||||||
|
export default function createEnum(definition) { |
||||||
|
const strToValueMap = {} |
||||||
|
const numToDescMap = {} |
||||||
|
for (const enumName of Object.keys(definition)) { |
||||||
|
const [value, desc] = definition[enumName] |
||||||
|
strToValueMap[enumName] = value |
||||||
|
numToDescMap[value] = desc |
||||||
|
} |
||||||
|
return { |
||||||
|
...strToValueMap, |
||||||
|
getDesc(enumName) { |
||||||
|
return (definition[enumName] && definition[enumName][1]) || '' |
||||||
|
}, |
||||||
|
getDescFromValue(value) { |
||||||
|
return numToDescMap[value] || '' |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// 全局方法和属性 - 结束
|
@ -0,0 +1,41 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
//上传测试任务
|
||||||
|
export function uploadTask(task) { |
||||||
|
return request({ |
||||||
|
url: '/task', |
||||||
|
method: 'post', |
||||||
|
data: task |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//查询任务列表
|
||||||
|
export function listTask(params) { |
||||||
|
return request({ |
||||||
|
url: '/task', |
||||||
|
method: 'get', |
||||||
|
params: params |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
//查询任务进度
|
||||||
|
export function queryProcess(taskId) { |
||||||
|
return request({ |
||||||
|
url: '/task/process/'+taskId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//查询测试结果
|
||||||
|
export function queryResult(taskId) { |
||||||
|
return request({ |
||||||
|
url: '/task/result/'+taskId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
//获取任务详情
|
||||||
|
export function queryTask(taskId) { |
||||||
|
return request({ |
||||||
|
url: '/task/'+taskId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
@ -0,0 +1,79 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询企业认证申请列表
|
||||||
|
export function listCompanyApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询未审核测试者认证申请列表
|
||||||
|
export function unaudit(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/unaudit', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询企业认证申请详细
|
||||||
|
export function getCompanyApply(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/' + applyId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 通过用户ID查询企业认证申请详细
|
||||||
|
export function getCompanyApplyByUid(userID) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/uid/' + userID, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增企业认证申请
|
||||||
|
export function addCompanyApply(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改企业认证申请
|
||||||
|
export function updateCompanyApply(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 更改企业认证申请审核状态
|
||||||
|
export function changeCAStatus(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/changeApprovalStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除企业认证申请
|
||||||
|
export function delCompanyApply(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/' + applyId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出企业认证申请
|
||||||
|
export function exportCompanyApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyApply/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询企业认证申请列表
|
||||||
|
export function listCompanyInfo(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询企业认证申请详细
|
||||||
|
export function getCompanyInfo(userId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo/' + userId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增企业认证申请
|
||||||
|
export function addCompanyInfo(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改企业认证申请
|
||||||
|
export function updateCompanyInfo(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除企业认证申请
|
||||||
|
export function delCompanyInfo(userId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo/' + userId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出企业认证申请
|
||||||
|
export function exportCompanyInfo(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/CompanyInfo/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,113 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询测试者认证申请列表
|
||||||
|
export function listTesterApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询未审核测试者认证申请列表
|
||||||
|
export function unaudit(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/unaudit', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询测试者认证申请详细
|
||||||
|
export function getTesterApply(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/' + applyId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// // 查询测试者认证申请所有相关文件
|
||||||
|
// export function getAllFileInfo(applyId) {
|
||||||
|
// return request({
|
||||||
|
// url: '/tester/TesterApply/FileInfo/' + applyId,
|
||||||
|
// method: 'get'
|
||||||
|
// })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 通过用户ID查询测试者认证申请详细
|
||||||
|
export function getTesterApplyByUid(userID) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/uid/' + userID, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增普通用户升级为个人测试者认证申请
|
||||||
|
export function addTesterApply(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/add', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增普通用户升级为企业测试者认证申请
|
||||||
|
export function addP2CT(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/addP2CT', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增企业升级为企业测试者认证申请
|
||||||
|
export function addC2CT(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/addC2CT', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询认证状态
|
||||||
|
export function certificationStatus() { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/certificationStatus', |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改测试者认证申请
|
||||||
|
export function updateTesterApply(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 更改测试者认证申请审核状态
|
||||||
|
export function changeTAStatus(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/changeApprovalStatus', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除测试者认证申请
|
||||||
|
export function delTesterApply(applyId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/' + applyId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出测试者认证申请
|
||||||
|
export function exportTesterApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterApply/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询测试者认证信息列表
|
||||||
|
export function listTesterInfo(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询测试者认证信息详细
|
||||||
|
export function getTesterInfo(userId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo/' + userId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增测试者认证信息
|
||||||
|
export function addTesterInfo(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改测试者认证信息
|
||||||
|
export function updateTesterInfo(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除测试者认证信息
|
||||||
|
export function delTesterInfo(userId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo/' + userId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出测试者认证信息
|
||||||
|
export function exportTesterInfo(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/TesterInfo/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,53 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询用户消息列表
|
||||||
|
export function listUserMessage(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询用户消息详细
|
||||||
|
export function getUserMessage(messageId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage/' + messageId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 新增用户消息
|
||||||
|
export function addUserMessage(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改用户消息
|
||||||
|
export function updateUserMessage(data) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除用户消息
|
||||||
|
export function delUserMessage(messageId) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage/' + messageId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导出用户消息
|
||||||
|
export function exportUserMessage(query) { |
||||||
|
return request({ |
||||||
|
url: '/tester/UserMessage/export', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,76 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
// 查询生成表数据
|
||||||
|
export function listTable(query) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
// 查询db数据库列表
|
||||||
|
export function listDbTable(query) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/db/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询表详细信息
|
||||||
|
export function getGenTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/' + tableId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 修改代码生成信息
|
||||||
|
export function updateGenTable(data) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen', |
||||||
|
method: 'put', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 导入表
|
||||||
|
export function importTable(data) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/importTable', |
||||||
|
method: 'post', |
||||||
|
params: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 预览生成代码
|
||||||
|
export function previewTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/preview/' + tableId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 删除表数据
|
||||||
|
export function delTable(tableId) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/' + tableId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 生成代码(自定义路径)
|
||||||
|
export function genCode(tableName) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/genCode/' + tableName, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 同步数据库
|
||||||
|
export function synchDb(tableName) { |
||||||
|
return request({ |
||||||
|
url: '/tool/gen/synchDb/' + tableName, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,81 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// 查询列表
|
||||||
|
export function listTools(query) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getTool(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/' + praseStrEmpty(toolId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getPrice(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/price/' + praseStrEmpty(toolId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function getFunction(toolId) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/function/' + praseStrEmpty(toolId), |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
// 购买工具支付成功
|
||||||
|
export function buyTool(tool) { |
||||||
|
return request({ |
||||||
|
url: '/pay/one', |
||||||
|
method: 'post', |
||||||
|
data: tool |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 购买多个工具支付成功
|
||||||
|
export function buyTools(tools) { |
||||||
|
return request({ |
||||||
|
url: '/pay/more', |
||||||
|
method: 'post', |
||||||
|
data: tools |
||||||
|
}) |
||||||
|
} |
||||||
|
//0元订单支付
|
||||||
|
export function noPayBuy(tool) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/nopay/one', |
||||||
|
method: 'post', |
||||||
|
data: tool |
||||||
|
}) |
||||||
|
} |
||||||
|
export function noPayMore(tool) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/nopay/more', |
||||||
|
method: 'post', |
||||||
|
data: tool |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 购买工具支付成功
|
||||||
|
export function buyToolByWx(tool) { |
||||||
|
return request({ |
||||||
|
url: '/wxpay/one', |
||||||
|
method: 'post', |
||||||
|
data: tool |
||||||
|
}) |
||||||
|
} |
||||||
|
export function queryOrderState(orderNumber){ |
||||||
|
return request({ |
||||||
|
url: '/order/status/' + orderNumber, |
||||||
|
method: 'get', |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,27 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
export function changeStatus(param) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/onOff', |
||||||
|
method: 'post', |
||||||
|
data: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function update(param) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/update', |
||||||
|
method: 'post', |
||||||
|
data: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function add(param) { |
||||||
|
return request({ |
||||||
|
url: '/business/tool/add', |
||||||
|
method: 'post', |
||||||
|
data: param |
||||||
|
}) |
||||||
|
} |
||||||
|
|
@ -0,0 +1,144 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
import { praseStrEmpty } from "@/utils/ruoyi"; |
||||||
|
|
||||||
|
// ****培训报名****
|
||||||
|
// 查询培训报名的列表
|
||||||
|
export function listApply(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/applyList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除培训报名
|
||||||
|
export function deltrain(Id) { |
||||||
|
return request({ |
||||||
|
url: '/train/' + Id, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
//新增培训报名人员
|
||||||
|
export function addsigntrain(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/trainApply', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// ****考试报名****
|
||||||
|
// 查询考试报名的列表
|
||||||
|
export function listExam(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/examList', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
//新增考试报名人员
|
||||||
|
export function addkaostrain(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/examApply', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// ****培训课程****
|
||||||
|
// 查询培训的列表 不需要传token
|
||||||
|
export function listCourse(query) { |
||||||
|
return request({ |
||||||
|
headers: { |
||||||
|
isToken: false |
||||||
|
}, |
||||||
|
url: '/train/course/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
// 查询培训的列表
|
||||||
|
export function listCourseall(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/course/findAll', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
// 查询当前培训课程的信息
|
||||||
|
export function getCourseById(courseId) { |
||||||
|
return request({ |
||||||
|
url: '/train/course/' + courseId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 新增课程
|
||||||
|
export function addcourse(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/course/add', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 修改课程信息
|
||||||
|
export function updatecourse(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/course/update', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除当前培训课程的信息
|
||||||
|
export function delCourseById(courseId) { |
||||||
|
return request({ |
||||||
|
url: '/train/course/' + courseId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// ****期号管理****
|
||||||
|
//获取期号列表
|
||||||
|
export function listissue(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/list', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
||||||
|
// 修改期号
|
||||||
|
export function updateissue(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/update', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 查询当前期号的信息
|
||||||
|
export function getissueById(issueId) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/' + issueId, |
||||||
|
method: 'get' |
||||||
|
}) |
||||||
|
} |
||||||
|
// 新增期号
|
||||||
|
export function addissue(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/add', |
||||||
|
method: 'post', |
||||||
|
data: data |
||||||
|
}) |
||||||
|
} |
||||||
|
// 删除当前期号
|
||||||
|
export function delissue(issueId) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/del/' + issueId, |
||||||
|
method: 'delete' |
||||||
|
}) |
||||||
|
} |
||||||
|
//获取已发布的期号列表
|
||||||
|
export function releaseissue(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/issue/select', |
||||||
|
method: 'get', |
||||||
|
params: query |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,83 @@ |
|||||||
|
import request from '@/utils/request' |
||||||
|
|
||||||
|
export function getSchoolList(query) { |
||||||
|
return request({ |
||||||
|
url: '/train/schoolList', |
||||||
|
method: 'get', |
||||||
|
params: query, |
||||||
|
// headers: {
|
||||||
|
// isToken: false
|
||||||
|
// },
|
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function addSchool(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/school/add', |
||||||
|
method: 'post', |
||||||
|
data, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
export function updateSchool(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/school/update', |
||||||
|
method: 'post', |
||||||
|
data, |
||||||
|
|
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function delSchool(id) { |
||||||
|
return request({ |
||||||
|
url: `/train/school/del/?schoolId=${id}`, |
||||||
|
method: 'delete', |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
export function getSignUpList(query) { |
||||||
|
return request({ |
||||||
|
url: `/train/trainClassList`, |
||||||
|
method: 'get', |
||||||
|
params: query, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
export function addSignUp(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/trainClass/add', |
||||||
|
method: 'post', |
||||||
|
data, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
export function updateSignUp(data) { |
||||||
|
return request({ |
||||||
|
url: '/train/trainClass/update', |
||||||
|
method: 'post', |
||||||
|
data, |
||||||
|
|
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
export function delSignUp(id) { |
||||||
|
return request({ |
||||||
|
url: `/train/trainClass/del?trainClassId=${id}`, |
||||||
|
method: 'delete', |
||||||
|
|
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
// 查询已报名列表
|
||||||
|
export function searchNum(id, query) { |
||||||
|
return request({ |
||||||
|
url: `/train/trainStudentList?trainClassId=${id}`, |
||||||
|
method: 'get', |
||||||
|
params: query, |
||||||
|
|
||||||
|
}) |
||||||
|
} |
After Width: | Height: | Size: 160 KiB |
After Width: | Height: | Size: 96 KiB |
After Width: | Height: | Size: 4.7 KiB |
@ -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) |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 954 B |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 179 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 971 B |
After Width: | Height: | Size: 732 B |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 418 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 356 B |
After Width: | Height: | Size: 724 B |
After Width: | Height: | Size: 818 B |
After Width: | Height: | Size: 627 B |
After Width: | Height: | Size: 347 B |
After Width: | Height: | Size: 497 B |
After Width: | Height: | Size: 459 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 944 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 421 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 320 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 744 B |
After Width: | Height: | Size: 1.1 KiB |