init code
23
.editorconfig
Normal file
@ -0,0 +1,23 @@
|
||||
# https://editorconfig.org
|
||||
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]
|
||||
indent_style = tab
|
||||
insert_final_newline = false
|
||||
trim_trailing_whitespace = false
|
8
.env
Normal file
@ -0,0 +1,8 @@
|
||||
# port 端口号
|
||||
VITE_PORT = 9010
|
||||
|
||||
# open 运行 npm run dev 时自动打开浏览器
|
||||
VITE_OPEN = true
|
||||
|
||||
# public path 配置线上环境路径(打包)、本地通过 http-server 访问时,请置空即可
|
||||
VITE_PUBLIC_PATH = ''
|
5
.env.development
Normal file
@ -0,0 +1,5 @@
|
||||
# 本地环境
|
||||
ENV = 'development'
|
||||
|
||||
# 本地环境接口地址
|
||||
VITE_API_URL = 'http://localhost:18010'
|
11
.env.production
Normal file
@ -0,0 +1,11 @@
|
||||
# 线上环境
|
||||
ENV = 'production'
|
||||
|
||||
# 开启压缩
|
||||
VITE_COMPRESSION = true
|
||||
|
||||
# public path 配置线上环境路径(打包)
|
||||
VITE_PUBLIC_PATH = '/'
|
||||
|
||||
# 线上环境接口地址,确保替换 http://localhost:16010 为你的实际线上接口地址
|
||||
VITE_API_URL = 'http://localhost:16010'
|
19
.eslintignore
Normal file
@ -0,0 +1,19 @@
|
||||
|
||||
*.sh
|
||||
node_modules
|
||||
lib
|
||||
*.md
|
||||
*.scss
|
||||
*.woff
|
||||
*.ttf
|
||||
.vscode
|
||||
.idea
|
||||
dist
|
||||
mock
|
||||
public
|
||||
bin
|
||||
build
|
||||
config
|
||||
index.html
|
||||
src/assets
|
||||
gen
|
78
.eslintrc.js
Normal file
@ -0,0 +1,78 @@
|
||||
module.exports = {
|
||||
root: true,
|
||||
env: {
|
||||
browser: true,
|
||||
es2021: true,
|
||||
node: true,
|
||||
},
|
||||
parser: 'vue-eslint-parser',
|
||||
parserOptions: {
|
||||
ecmaVersion: 12,
|
||||
parser: '@typescript-eslint/parser',
|
||||
sourceType: 'module',
|
||||
},
|
||||
extends: ['plugin:vue/vue3-essential', 'plugin:vue/essential', 'eslint:recommended'],
|
||||
plugins: ['vue', '@typescript-eslint'],
|
||||
overrides: [
|
||||
{
|
||||
files: ['*.ts', '*.tsx', '*.vue'],
|
||||
rules: {
|
||||
'no-undef': 'off',
|
||||
},
|
||||
},
|
||||
],
|
||||
rules: {
|
||||
// http://eslint.cn/docs/rules/
|
||||
// https://eslint.vuejs.org/rules/
|
||||
// https://typescript-eslint.io/rules/no-unused-vars/
|
||||
'@typescript-eslint/ban-ts-ignore': 'off',
|
||||
'@typescript-eslint/explicit-function-return-type': 'off',
|
||||
'@typescript-eslint/no-explicit-any': 'off',
|
||||
'@typescript-eslint/no-var-requires': 'off',
|
||||
'@typescript-eslint/no-empty-function': 'off',
|
||||
'@typescript-eslint/no-use-before-define': 'off',
|
||||
'@typescript-eslint/ban-ts-comment': 'off',
|
||||
'@typescript-eslint/ban-types': 'off',
|
||||
'@typescript-eslint/no-non-null-assertion': 'off',
|
||||
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
||||
'@typescript-eslint/no-redeclare': 'error',
|
||||
'@typescript-eslint/no-non-null-asserted-optional-chain': 'off',
|
||||
'@typescript-eslint/no-unused-vars': [2],
|
||||
'vue/custom-event-name-casing': 'off',
|
||||
'vue/attributes-order': 'off',
|
||||
'vue/one-component-per-file': 'off',
|
||||
'vue/html-closing-bracket-newline': 'off',
|
||||
'vue/max-attributes-per-line': 'off',
|
||||
'vue/multiline-html-element-content-newline': 'off',
|
||||
'vue/singleline-html-element-content-newline': 'off',
|
||||
'vue/attribute-hyphenation': 'off',
|
||||
'vue/html-self-closing': 'off',
|
||||
'vue/no-multiple-template-root': 'off',
|
||||
'vue/require-default-prop': 'off',
|
||||
'vue/no-v-model-argument': 'off',
|
||||
'vue/no-arrow-functions-in-watch': 'off',
|
||||
'vue/no-template-key': 'off',
|
||||
'vue/no-v-html': 'off',
|
||||
'vue/comment-directive': 'off',
|
||||
'vue/no-parsing-error': 'off',
|
||||
'vue/no-deprecated-v-on-native-modifier': 'off',
|
||||
'vue/multi-word-component-names': 'off',
|
||||
'no-useless-escape': 'off',
|
||||
'no-sparse-arrays': 'off',
|
||||
'no-prototype-builtins': 'off',
|
||||
'no-constant-condition': 'off',
|
||||
'no-use-before-define': 'off',
|
||||
'no-restricted-globals': 'off',
|
||||
'no-restricted-syntax': 'off',
|
||||
'generator-star-spacing': 'off',
|
||||
'no-unreachable': 'off',
|
||||
'no-multiple-template-root': 'off',
|
||||
'no-unused-vars': 'error',
|
||||
'no-v-model-argument': 'off',
|
||||
'no-case-declarations': 'off',
|
||||
'no-console': 'error',
|
||||
'no-redeclare': 'off',
|
||||
//修复prettier格式化语句在语句前生成分号后,eslintrc检测报错误的问题
|
||||
'no-extra-semi': 'off',
|
||||
},
|
||||
}
|
26
.gitignore
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
.DS_Store
|
||||
node_modules
|
||||
/dist
|
||||
|
||||
|
||||
# local env files
|
||||
.env.local
|
||||
.env.*.local
|
||||
|
||||
# Log files
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
|
||||
# Editor directories and files
|
||||
.idea
|
||||
.vscode
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
|
||||
pnpm-lock.yaml
|
||||
package-lock.json
|
39
.prettierrc.cjs
Normal file
@ -0,0 +1,39 @@
|
||||
module.exports = {
|
||||
// 一行最多多少个字符
|
||||
printWidth: 150,
|
||||
// 指定每个缩进级别的空格数
|
||||
tabWidth: 2,
|
||||
// 使用制表符而不是空格缩进行
|
||||
useTabs: false,
|
||||
// 在语句末尾打印分号
|
||||
semi: false,
|
||||
// 使用单引号而不是双引号
|
||||
singleQuote: true,
|
||||
// 更改引用对象属性的时间 可选值"<as-needed|consistent|preserve>"
|
||||
quoteProps: 'as-needed',
|
||||
// 在JSX中使用单引号而不是双引号
|
||||
jsxSingleQuote: false,
|
||||
// 多行时尽可能打印尾随逗号。(例如,单行数组永远不会出现逗号结尾。) 可选值"<none|es5|all>",默认none
|
||||
trailingComma: 'es5',
|
||||
// 在对象文字中的括号之间打印空格
|
||||
bracketSpacing: true,
|
||||
// jsx 标签的反尖括号需要换行
|
||||
jsxBracketSameLine: false,
|
||||
// 在单独的箭头函数参数周围包括括号 always:(x) => x \ avoid:x => x
|
||||
arrowParens: 'always',
|
||||
// 这两个选项可用于格式化以给定字符偏移量(分别包括和不包括)开始和结束的代码
|
||||
rangeStart: 0,
|
||||
rangeEnd: Infinity,
|
||||
// 指定要使用的解析器,不需要写文件开头的 @prettier
|
||||
requirePragma: false,
|
||||
// 不需要自动在文件开头插入 @prettier
|
||||
insertPragma: false,
|
||||
// 使用默认的折行标准 always\never\preserve
|
||||
proseWrap: 'preserve',
|
||||
// 指定HTML文件的全局空格敏感度 css\strict\ignore
|
||||
htmlWhitespaceSensitivity: 'css',
|
||||
// Vue文件脚本和样式标签缩进
|
||||
vueIndentScriptAndStyle: false,
|
||||
// 换行符使用 lf 结尾是 可选值"<auto|lf|crlf|cr>"
|
||||
endOfLine: 'lf',
|
||||
}
|
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 zhontai
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
117
README.md
Normal file
@ -0,0 +1,117 @@
|
||||
<div align="center">
|
||||
<h2>NPP</h2>
|
||||
<h3>前后端分离后台权限管理系统</h3>
|
||||
<p align="center">
|
||||
<a href="https://v3.vuejs.org/" target="_blank">
|
||||
<img src="https://img.shields.io/badge/vue.js-vue3.x-green" alt="vue">
|
||||
</a>
|
||||
<a href="https://element-plus.gitee.io/#/zh-CN/component/changelog" target="_blank">
|
||||
<img src="https://img.shields.io/badge/element--plus-%3E1.0.0-blue" alt="element plus">
|
||||
</a>
|
||||
<a href="https://vitejs.dev/" target="_blank">
|
||||
<img src="https://img.shields.io/badge/vite-%3E2.0.0-yellow" alt="vite">
|
||||
</a>
|
||||
<a href="https://github.com/zhontai/admin.ui.plus/blob/master/LICENSE" target="_blank">
|
||||
<img src="https://img.shields.io/badge/license-MIT-success" alt="license">
|
||||
</a>
|
||||
</p>
|
||||
<p> </p>
|
||||
</div>
|
||||
|
||||
#### 🌈 介绍
|
||||
|
||||
基于 vue3.x + CompositionAPI setup 语法糖 + typescript + vite + element plus + vue-router-next + pinia 技术,内置支持一键生成微服务接口,适配手机、平板、pc 的后台权限管理框架,希望减少工作量,帮助大家实现快速开发。
|
||||
|
||||
#### ⛱️ 线上预览
|
||||
|
||||
- vue3.x 版本预览(admin.ui.plus)<a href="https://admin.zhontai.net/login" target="_blank">https://admin.zhontai.net</a>
|
||||
|
||||
#### 💒 代码仓库
|
||||
|
||||
- vue3.x 版本 <a href="https://github.com/zhontai/Admin.Core/tree/master/ui/zhontai.ui.admin.vue3" target="_blank">zhontai.ui.admin.vue3</a>
|
||||
|
||||
#### 🚧 安装 pnpm
|
||||
|
||||
- 复制代码(桌面 cmd 运行) `npm install -g pnpm --registry=https://registry.npmmirror.com`
|
||||
|
||||
#### 🏭 环境支持
|
||||
|
||||
| Edge | Firefox | Chrome | Safari |
|
||||
| --------- | ------------ | ----------- | ----------- |
|
||||
| Edge ≥ 88 | Firefox ≥ 78 | Chrome ≥ 87 | Safari ≥ 13 |
|
||||
|
||||
> 由于 Vue3 不再支持 IE11,故而 ElementPlus 也不支持 IE11 及之前版本。
|
||||
|
||||
#### ⚡ 使用说明
|
||||
|
||||
建议使用 pnpm,因为 yarn 有时会报错。<a href="http://nodejs.cn" target="_blank">node 版本 > 14.18+/16+</a>
|
||||
|
||||
> Vite 不再支持 Node 12 / 13 / 15,因为上述版本已经进入了 EOL 阶段。现在你必须使用 Node 14.18+ / 16+ 版本。
|
||||
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://github.com/zhontai/Admin.Core.git
|
||||
|
||||
# 进入项目
|
||||
cd ui\zhontai.ui.admin.vue3
|
||||
|
||||
# 安装依赖
|
||||
pnpm install
|
||||
|
||||
# 运行项目
|
||||
pnpm run dev
|
||||
|
||||
# 打包发布
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
#### 📚 开发文档
|
||||
|
||||
- 查看开发文档:<a href="https://www.zhontai.net" target="_blank">https://zhontai.net</a>
|
||||
|
||||
#### 💯 学习交流加 QQ 群
|
||||
|
||||
> 中台 admin 开发群(2000 人群)。
|
||||
|
||||
- QQ 群号:<a target="_blank" href="//qm.qq.com/cgi-bin/qm/qr?k=zjVRMcdD_oxPokw7zG1kv8Ud4kPJUZAk&jump_from=webapi&authKey=smP6idH1QaIqi6NSiBck8nZuY1BokW4fpi/IGcRi6w/Xt/HTyqfqrC5WpVRsSi22">1058693879</a>
|
||||
|
||||
<a target="_blank" href="//qm.qq.com/cgi-bin/qm/qr?k=zjVRMcdD_oxPokw7zG1kv8Ud4kPJUZAk&jump_from=webapi&authKey=smP6idH1QaIqi6NSiBck8nZuY1BokW4fpi/IGcRi6w/Xt/HTyqfqrC5WpVRsSi22">
|
||||
<img src="https://zhontai.net/images/qq-group-1058693879.png" width="220" height="220" alt="NPP 开发群" title="NPP 开发群"/>
|
||||
</a>
|
||||
|
||||
#### 💕 特别感谢
|
||||
|
||||
- <a href="https://github.com/lyt-Top/vue-next-admin" target="_blank">vue-next-admin</a>
|
||||
|
||||
#### ❤️ 鸣谢列表
|
||||
|
||||
- <a href="https://github.com/vuejs/vue" target="_blank">vue</a>
|
||||
- <a href="https://github.com/vuejs/vue-next" target="_blank">vue-next</a>
|
||||
- <a href="https://github.com/ElemeFE/element" target="_blank">element-ui</a>
|
||||
- <a href="https://github.com/element-plus/element-plus" target="_blank">element-plus</a>
|
||||
- <a href="https://github.com/vuejs/vue-router-next" target="_blank">vue-router-next</a>
|
||||
- <a href="https://github.com/vuejs/pinia" target="_blank">pinia</a>
|
||||
- <a href="https://github.com/apache/echarts" target="_blank">echarts</a>
|
||||
- <a href="https://github.com/axios/axios" target="_blank">axios</a>
|
||||
- <a href="https://github.com/zenorocha/clipboard.js" target="_blank">clipboard</a>
|
||||
- <a href="https://github.com/inorganik/countUp.js" target="_blank">countUp</a>
|
||||
- <a href="https://github.com/developit/mitt" target="_blank">mitt</a>
|
||||
- <a href="https://github.com/rstacruz/nprogress" target="_blank">nprogress</a>
|
||||
- <a href="https://github.com/sindresorhus/screenfull.js" target="_blank">screenfull</a>
|
||||
- <a href="https://github.com/SortableJS/Sortable" target="_blank">sortablejs</a>
|
||||
- <a href="https://github.com/sass/sass" target="_blank">sass</a>
|
||||
- <a href="https://github.com/microsoft/TypeScript" target="_blank">typescript</a>
|
||||
- <a href="https://github.com/vitejs/vite" target="_blank">vite</a>
|
||||
- <a href="https://github.com/wangeditor-team/wangEditor" target="_blank">wangeditor</a>
|
||||
- <a href="https://github.com/fengyuanchen/cropperjs" target="_blank">cropperjs</a>
|
||||
- <a href="https://github.com/davidshimjs/qrcodejs" target="_blank">qrcodejs</a>
|
||||
- <a href="https://github.com/crabbly/Print.js" target="_blank">print-js</a>
|
||||
- <a href="https://github.com/jbaysolutions/vue-grid-layout" target="_blank">vue-grid-layout</a>
|
||||
- <a href="https://github.com/antoniandre/splitpanes" target="_blank">splitpanes</a>
|
||||
- <a href="https://github.com/jsplumb/jsplumb" target="_blank">jsplumb</a>
|
||||
- <a href="https://github.com/hxj9102/table2excel" target="_blank">js-table2excel</a>
|
||||
|
||||
#### 💌 支持作者
|
||||
|
||||
如果觉得框架不错,或者已经在使用了,希望你可以去 <a target="_blank" href="https://github.com/zhontai/admin.ui.plus">Github</a> 或者
|
||||
<a target="_blank" href="https://gitee.com/zhontai/admin.ui.plus">Gitee</a> 帮我点个 ⭐ Star,这将是对我极大的鼓励与支持。
|
12
bin/build.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
echo.
|
||||
echo 发布网站,生成dist文件
|
||||
echo.
|
||||
|
||||
%~d0
|
||||
cd %~dp0
|
||||
|
||||
cd ..
|
||||
pnpm run build
|
||||
|
||||
pause
|
12
bin/install.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
echo.
|
||||
echo 安装包,生成node_modules文件
|
||||
echo.
|
||||
|
||||
%~d0
|
||||
cd %~dp0
|
||||
|
||||
cd ..
|
||||
pnpm install --registry=https://registry.npmmirror.com
|
||||
|
||||
pause
|
12
bin/run-web.bat
Normal file
@ -0,0 +1,12 @@
|
||||
@echo off
|
||||
echo.
|
||||
echo 运行网站
|
||||
echo.
|
||||
|
||||
%~d0
|
||||
cd %~dp0
|
||||
|
||||
cd ..
|
||||
pnpm run dev
|
||||
|
||||
pause
|
56
gen/gen-api.js
Normal file
@ -0,0 +1,56 @@
|
||||
import axios from 'axios'
|
||||
import ejs from 'ejs'
|
||||
import fs from 'node:fs'
|
||||
import path from 'node:path'
|
||||
import { generateApi } from 'swagger-typescript-api'
|
||||
|
||||
const projectPath = process.cwd()
|
||||
const apiUrl = 'http://localhost:16010'
|
||||
|
||||
const apis = [
|
||||
{
|
||||
output: path.resolve(projectPath, './src/api/admin'),
|
||||
url: `${apiUrl}/doc/admin/swagger/admin/swagger.json`,
|
||||
enumUrl: `${apiUrl}/api/admin/get-enums`,
|
||||
},
|
||||
// {
|
||||
// output: path.resolve(projectPath, './src/api/app'),
|
||||
// url: `${apiUrl}/doc/app/swagger/app/swagger.json`,
|
||||
// // enumUrl: `${apiUrl}/api/app/get-enums`,
|
||||
// },
|
||||
]
|
||||
|
||||
const genEnums = async (api) => {
|
||||
console.log(`✨ try to get enums by URL "${api.enumUrl}"`)
|
||||
console.log(`⭐ start generating your typescript api`)
|
||||
const res = await axios.get(api.enumUrl).catch((error) => {
|
||||
console.error(error)
|
||||
})
|
||||
|
||||
if (res?.data?.data?.length > 0) {
|
||||
ejs.renderFile(path.resolve(projectPath, './gen/templates/enum-contracts.ejs'), res.data, {}, function (err, content) {
|
||||
fs.writeFile(path.resolve(api.output + '/enum-contracts.ts'), content, (err) => {})
|
||||
console.log(`✅ api file "enum-contracts.ts" created in ${api.output}\n`)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
apis?.forEach(async (api) => {
|
||||
if (api.enumUrl) {
|
||||
await genEnums(api)
|
||||
}
|
||||
|
||||
await generateApi({
|
||||
output: api.output,
|
||||
templates: path.resolve(projectPath, './gen/templates'),
|
||||
url: api.url,
|
||||
httpClientType: 'axios',
|
||||
modular: true,
|
||||
cleanOutput: false,
|
||||
moduleNameIndex: 2, // 0 api, 1 api htt-client data-contracts, 2 apis htt-client data-contracts
|
||||
moduleNameFirstTag: true, //apis htt-client data-contracts
|
||||
unwrapResponseData: true,
|
||||
generateUnionEnums: true,
|
||||
defaultResponseType: 'AxiosResponse',
|
||||
}).catch((error) => console.error(error))
|
||||
})
|
12
gen/gen-templates.js
Normal file
@ -0,0 +1,12 @@
|
||||
import path from 'node:path'
|
||||
import { generateTemplates } from 'swagger-typescript-api'
|
||||
|
||||
//导出swagger-typescript-api内置模板
|
||||
generateTemplates({
|
||||
cleanOutput: false,
|
||||
output: path.resolve(process.cwd(), './gen/templates'),
|
||||
httpClientType: 'axios',
|
||||
modular: true,
|
||||
silent: false,
|
||||
rewrite: false,
|
||||
})
|
28
gen/templates/api.ejs
Normal file
@ -0,0 +1,28 @@
|
||||
<%
|
||||
const { utils, route, config, modelTypes } = it;
|
||||
const { _, pascalCase, require } = utils;
|
||||
const apiClassName = pascalCase(route.moduleName);
|
||||
const routes = route.routes;
|
||||
const dataContracts = _.map(modelTypes, "name");
|
||||
%>
|
||||
|
||||
<% if (config.httpClientType === config.constants.HTTP_CLIENT.AXIOS) { %> import { AxiosRequestConfig, AxiosResponse } from "axios"; <% } %>
|
||||
|
||||
import { HttpClient, RequestParams, ContentType, HttpResponse } from "./<%~ config.fileNames.httpClient %>";
|
||||
<% if (dataContracts.length) { %>
|
||||
import { <%~ dataContracts.join(", ") %> } from "./<%~ config.fileNames.dataContracts %>"
|
||||
<% } %>
|
||||
|
||||
export class <%= apiClassName %>Api<SecurityDataType = unknown><% if (!config.singleHttpClient) { %> extends HttpClient<SecurityDataType> <% } %> {
|
||||
<% if(config.singleHttpClient) { %>
|
||||
http: HttpClient<SecurityDataType>;
|
||||
|
||||
constructor (http: HttpClient<SecurityDataType>) {
|
||||
this.http = http;
|
||||
}
|
||||
<% } %>
|
||||
|
||||
<% routes.forEach((route) => { %>
|
||||
<%~ includeFile('./procedure-call.ejs', { ...it, route }) %>
|
||||
<% }) %>
|
||||
}
|
37
gen/templates/data-contract-jsdoc.ejs
Normal file
@ -0,0 +1,37 @@
|
||||
<%
|
||||
const { data, utils } = it;
|
||||
const { formatDescription, require, _ } = utils;
|
||||
|
||||
const stringify = (value) => _.isObject(value) ? JSON.stringify(value) : _.isString(value) ? `"${value}"` : value
|
||||
|
||||
const jsDocLines = _.compact([
|
||||
data.title,
|
||||
data.description && formatDescription(data.description),
|
||||
!_.isUndefined(data.deprecated) && data.deprecated && '@deprecated',
|
||||
!_.isUndefined(data.format) && `@format ${data.format}`,
|
||||
!_.isUndefined(data.minimum) && `@min ${data.minimum}`,
|
||||
!_.isUndefined(data.multipleOf) && `@multipleOf ${data.multipleOf}`,
|
||||
!_.isUndefined(data.exclusiveMinimum) && `@exclusiveMin ${data.exclusiveMinimum}`,
|
||||
!_.isUndefined(data.maximum) && `@max ${data.maximum}`,
|
||||
!_.isUndefined(data.minLength) && `@minLength ${data.minLength}`,
|
||||
!_.isUndefined(data.maxLength) && `@maxLength ${data.maxLength}`,
|
||||
!_.isUndefined(data.exclusiveMaximum) && `@exclusiveMax ${data.exclusiveMaximum}`,
|
||||
!_.isUndefined(data.maxItems) && `@maxItems ${data.maxItems}`,
|
||||
!_.isUndefined(data.minItems) && `@minItems ${data.minItems}`,
|
||||
!_.isUndefined(data.uniqueItems) && `@uniqueItems ${data.uniqueItems}`,
|
||||
!_.isUndefined(data.default) && `@default ${stringify(data.default)}`,
|
||||
!_.isUndefined(data.pattern) && `@pattern ${data.pattern}`,
|
||||
!_.isUndefined(data.example) && `@example ${stringify(data.example)}`
|
||||
]).join('\n').split('\n');
|
||||
%>
|
||||
<% if (jsDocLines.every(_.isEmpty)) { %>
|
||||
<% } else if (jsDocLines.length === 1) { %>
|
||||
/** <%~ jsDocLines[0] %> */
|
||||
<% } else if (jsDocLines.length) { %>
|
||||
/**
|
||||
<% for (jsDocLine of jsDocLines) { %>
|
||||
* <%~ jsDocLine %>
|
||||
|
||||
<% } %>
|
||||
*/
|
||||
<% } %>
|
28
gen/templates/data-contracts.ejs
Normal file
@ -0,0 +1,28 @@
|
||||
<%
|
||||
const { modelTypes, utils, config } = it;
|
||||
const { formatDescription, require, _, Ts } = utils;
|
||||
|
||||
|
||||
const dataContractTemplates = {
|
||||
enum: (contract) => {
|
||||
return `enum ${contract.name} {\r\n${contract.content} \r\n }`;
|
||||
},
|
||||
interface: (contract) => {
|
||||
return `interface ${contract.name} {\r\n${contract.content}}`;
|
||||
},
|
||||
type: (contract) => {
|
||||
return `type ${contract.name} = ${contract.content}`;
|
||||
},
|
||||
}
|
||||
%>
|
||||
|
||||
<% if (config.internalTemplateOptions.addUtilRequiredKeysType) { %>
|
||||
type <%~ config.Ts.CodeGenKeyword.UtilRequiredKeys %><T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>
|
||||
<% } %>
|
||||
|
||||
<% modelTypes.forEach((contract) => { %>
|
||||
<%~ includeFile('./data-contract-jsdoc.ejs', { ...it, data: { ...contract, ...contract.typeData } }) %>
|
||||
export <%~ (dataContractTemplates[contract.typeIdentifier] || dataContractTemplates.type)(contract) %>
|
||||
|
||||
|
||||
<% }) %>
|
6
gen/templates/enum-contracts.ejs
Normal file
@ -0,0 +1,6 @@
|
||||
<% data.forEach((enumType) => { %>/** <%= enumType.desc %> */
|
||||
export const <%= enumType.name %> = {<% enumType.options.forEach((option) => { %>
|
||||
<%= option.name %>: { name: '<%= option.name %>', value: <%= option.value %>, desc: '<%= option.desc %>' },<% }) %>
|
||||
}
|
||||
|
||||
<% }) %>
|
12
gen/templates/enum-data-contract.ejs
Normal file
@ -0,0 +1,12 @@
|
||||
<%
|
||||
const { contract, utils, config } = it;
|
||||
const { formatDescription, require, _ } = utils;
|
||||
const { name, $content } = contract;
|
||||
%>
|
||||
<% if (config.generateUnionEnums) { %>
|
||||
export type <%~ name %> = <%~ _.map($content, ({ value }) => value).join(" | ") %>
|
||||
<% } else { %>
|
||||
export enum <%~ name %> {
|
||||
<%~ _.map($content, ({ key, value }) => `${key} = ${value}`).join(",\n") %>
|
||||
}
|
||||
<% } %>
|
465
gen/templates/http-client.ejs
Normal file
@ -0,0 +1,465 @@
|
||||
<%
|
||||
const { apiConfig, generateResponses, config } = it;
|
||||
%>
|
||||
|
||||
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, HeadersDefaults, ResponseType, RawAxiosRequestHeaders } from 'axios'
|
||||
import { ElLoading, ElMessage, LoadingOptions } from 'element-plus'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
|
||||
export type QueryParamsType = Record<string | number, any>;
|
||||
|
||||
export interface FullRequestParams extends Omit<AxiosRequestConfig, "data" | "params" | "url" | "responseType"> {
|
||||
/** set parameter to `true` for call `securityWorker` for this request */
|
||||
secure?: boolean;
|
||||
/** request path */
|
||||
path: string;
|
||||
/** content type of request body */
|
||||
type?: ContentType;
|
||||
/** query params */
|
||||
query?: QueryParamsType;
|
||||
/** format of response (i.e. response.json() -> format: "json") */
|
||||
format?: ResponseType;
|
||||
/** request body */
|
||||
body?: unknown;
|
||||
/** 显示错误消息 */
|
||||
showErrorMessage?: boolean
|
||||
/** 显示成功消息 */
|
||||
showSuccessMessage?: boolean
|
||||
/** 登录访问 */
|
||||
login?: boolean
|
||||
/** 加载中 */
|
||||
loading?: boolean
|
||||
/** 加载中选项 */
|
||||
loadingOptions?: LoadingOptions
|
||||
/** 取消重复请求 */
|
||||
cancelRepeatRequest?: boolean
|
||||
/** 返回整个响应对象 */
|
||||
returnResponse?: boolean
|
||||
}
|
||||
|
||||
export type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
|
||||
|
||||
export interface ApiConfig<SecurityDataType = unknown> extends Omit<AxiosRequestConfig, "data" | "cancelToken"> {
|
||||
securityWorker?: (securityData: SecurityDataType | null) => Promise<AxiosRequestConfig | void> | AxiosRequestConfig | void;
|
||||
secure?: boolean;
|
||||
format?: ResponseType;
|
||||
}
|
||||
|
||||
export enum ContentType {
|
||||
Json = "application/json",
|
||||
FormData = "multipart/form-data",
|
||||
UrlEncoded = "application/x-www-form-urlencoded",
|
||||
Text = "text/plain",
|
||||
}
|
||||
|
||||
export interface LoadingInstance {
|
||||
target: any
|
||||
count: number
|
||||
}
|
||||
|
||||
const pendingMap = new Map()
|
||||
|
||||
const loadingInstance: LoadingInstance = {
|
||||
target: null,
|
||||
count: 0,
|
||||
}
|
||||
|
||||
export class HttpClient<SecurityDataType = unknown> {
|
||||
public instance: AxiosInstance;
|
||||
private securityData: SecurityDataType | null = null;
|
||||
private securityWorker?: ApiConfig<SecurityDataType>["securityWorker"];
|
||||
private secure?: boolean;
|
||||
private format?: ResponseType;
|
||||
|
||||
constructor({ securityWorker, secure, format, ...axiosConfig }: ApiConfig<SecurityDataType> = {}) {
|
||||
this.instance = axios.create({ ...axiosConfig, timeout: 60000, baseURL: axiosConfig.baseURL || import.meta.env.VITE_API_URL })
|
||||
this.secure = secure;
|
||||
this.format = format;
|
||||
this.securityWorker = securityWorker;
|
||||
}
|
||||
|
||||
public setSecurityData = (data: SecurityDataType | null) => {
|
||||
this.securityData = data
|
||||
}
|
||||
|
||||
protected mergeRequestParams(params1: AxiosRequestConfig, params2?: AxiosRequestConfig): AxiosRequestConfig {
|
||||
const method = params1.method || (params2 && params2.method)
|
||||
|
||||
return {
|
||||
...this.instance.defaults,
|
||||
...params1,
|
||||
...(params2 || {}),
|
||||
headers: {
|
||||
...((method && this.instance.defaults.headers[method.toLowerCase() as keyof HeadersDefaults]) || {}),
|
||||
...(params1.headers || {}),
|
||||
...((params2 && params2.headers) || {}),
|
||||
} as RawAxiosRequestHeaders,
|
||||
};
|
||||
}
|
||||
|
||||
protected stringifyFormItem(formItem: unknown) {
|
||||
if (typeof formItem === "object" && formItem !== null) {
|
||||
return JSON.stringify(formItem);
|
||||
} else {
|
||||
return `${formItem}`;
|
||||
}
|
||||
}
|
||||
|
||||
protected createFormData(input: Record<string, unknown>): FormData {
|
||||
return Object.keys(input || {}).reduce((formData, key) => {
|
||||
const property = input[key];
|
||||
const propertyContent: any[] = (property instanceof Array) ? property : [property]
|
||||
|
||||
for (const formItem of propertyContent) {
|
||||
const isFileType = formItem instanceof Blob || formItem instanceof File;
|
||||
formData.append(
|
||||
key,
|
||||
isFileType ? formItem : this.stringifyFormItem(formItem)
|
||||
);
|
||||
}
|
||||
|
||||
return formData;
|
||||
}, new FormData());
|
||||
}
|
||||
|
||||
/**
|
||||
* 错误处理
|
||||
* @param {*} error
|
||||
*/
|
||||
protected errorHandle(error: any) {
|
||||
if (!error) {
|
||||
return
|
||||
}
|
||||
if (axios.isCancel(error)) return console.error('请求重复已被自动取消:' + error.message)
|
||||
let message = ''
|
||||
if (error.response) {
|
||||
switch (error.response.status) {
|
||||
case 302:
|
||||
message = '接口重定向'
|
||||
break
|
||||
case 400:
|
||||
message = '参数不正确'
|
||||
break
|
||||
case 401:
|
||||
message = '您还没有登录'
|
||||
break
|
||||
case 403:
|
||||
message = '您没有权限操作'
|
||||
break
|
||||
case 404:
|
||||
message = '请求地址出错:' + error.response.config.url
|
||||
break
|
||||
case 408:
|
||||
message = '请求超时'
|
||||
break
|
||||
case 409:
|
||||
message = '系统已存在相同数据'
|
||||
break
|
||||
case 429:
|
||||
message = '访问过于频繁'
|
||||
break
|
||||
case 500:
|
||||
message = '服务器内部错误'
|
||||
break
|
||||
case 501:
|
||||
message = '服务未实现'
|
||||
break
|
||||
case 502:
|
||||
message = '网关错误'
|
||||
break
|
||||
case 503:
|
||||
message = '服务不可用'
|
||||
break
|
||||
case 504:
|
||||
message = '服务暂时无法访问,请稍后再试'
|
||||
break
|
||||
case 505:
|
||||
message = 'HTTP版本不受支持'
|
||||
break
|
||||
default:
|
||||
message = '异常问题,请联系网站管理员'
|
||||
break
|
||||
}
|
||||
}
|
||||
if (error.message.includes('timeout')) message = '请求超时'
|
||||
if (error.message.includes('Network')) message = window.navigator.onLine ? '服务端异常' : '您已断网'
|
||||
|
||||
if (message) {
|
||||
ElMessage.error({ message, grouping: true })
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新token接口
|
||||
* @param string refreshToken
|
||||
*/
|
||||
protected async refreshApi(refreshToken: string) {
|
||||
return this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/refresh`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
login: false,
|
||||
query: {
|
||||
token: refreshToken,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新token
|
||||
* @param {*} config
|
||||
*/
|
||||
protected async refreshToken(config: any) {
|
||||
const storesUseUserInfo = useUserInfo()
|
||||
const token = storesUseUserInfo.getToken()
|
||||
if (!token) {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(config)
|
||||
}
|
||||
|
||||
if (window.tokenRefreshing) {
|
||||
window.requests = window.requests ? window.requests : []
|
||||
return new Promise((resolve) => {
|
||||
window.requests.push(() => {
|
||||
resolve(this.instance(config))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
window.tokenRefreshing = true
|
||||
|
||||
return this.refreshApi(token)
|
||||
.then((res) => {
|
||||
if (res?.success) {
|
||||
storesUseUserInfo.setTokenInfo(res.data)
|
||||
if (window.requests?.length > 0) {
|
||||
window.requests.forEach((apiRequest) => apiRequest())
|
||||
window.requests = []
|
||||
}
|
||||
return this.instance(config)
|
||||
} else {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(res)
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(error)
|
||||
})
|
||||
.finally(() => {
|
||||
window.tokenRefreshing = false
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 储存每个请求的唯一cancel回调, 以此为标识
|
||||
*/
|
||||
protected addPending(config: AxiosRequestConfig) {
|
||||
const pendingKey = this.getPendingKey(config)
|
||||
config.cancelToken =
|
||||
config.cancelToken ||
|
||||
new axios.CancelToken((cancel) => {
|
||||
if (!pendingMap.has(pendingKey)) {
|
||||
pendingMap.set(pendingKey, cancel)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除重复的请求
|
||||
*/
|
||||
protected removePending(config: AxiosRequestConfig) {
|
||||
const pendingKey = this.getPendingKey(config)
|
||||
if (pendingMap.has(pendingKey)) {
|
||||
const cancelToken = pendingMap.get(pendingKey)
|
||||
cancelToken(pendingKey)
|
||||
pendingMap.delete(pendingKey)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成每个请求的唯一key
|
||||
*/
|
||||
protected getPendingKey(config: AxiosRequestConfig) {
|
||||
let { data, headers } = config
|
||||
headers = headers as RawAxiosRequestHeaders
|
||||
const { url, method, params } = config
|
||||
if (typeof data === 'string') data = JSON.parse(data)
|
||||
return [url, method, headers && headers.Authorization ? headers.Authorization : '', JSON.stringify(params), JSON.stringify(data)].join('&')
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭Loading层实例
|
||||
*/
|
||||
protected closeLoading(loading: boolean = false) {
|
||||
if (loading && loadingInstance.count > 0) loadingInstance.count--
|
||||
if (loadingInstance.count === 0) {
|
||||
loadingInstance.target.close()
|
||||
loadingInstance.target = null
|
||||
}
|
||||
}
|
||||
|
||||
public request = async <T = any, _E = any>({
|
||||
secure,
|
||||
path,
|
||||
type,
|
||||
query,
|
||||
format,
|
||||
body,
|
||||
showErrorMessage = true,
|
||||
showSuccessMessage = false,
|
||||
login = true,
|
||||
loading = false,
|
||||
loadingOptions = {
|
||||
background: 'rgba(0,0,0,0.5)',
|
||||
},
|
||||
cancelRepeatRequest = false,
|
||||
returnResponse = false,
|
||||
...params
|
||||
<% if (config.unwrapResponseData) { %>
|
||||
}: FullRequestParams): Promise<T> => {
|
||||
<% } else { %>
|
||||
}: FullRequestParams): Promise<AxiosResponse<T>> => {
|
||||
<% } %>
|
||||
const secureParams = ((typeof secure === 'boolean' ? secure : this.secure) && this.securityWorker && (await this.securityWorker(this.securityData))) || {};
|
||||
const requestParams = this.mergeRequestParams(params, secureParams);
|
||||
const responseFormat = (format || this.format) || undefined;
|
||||
|
||||
if (type === ContentType.FormData && body && body !== null && typeof body === "object") {
|
||||
body = this.createFormData(body as Record<string, unknown>);
|
||||
}
|
||||
|
||||
if (type === ContentType.Text && body && body !== null && typeof body !== "string") {
|
||||
body = JSON.stringify(body);
|
||||
}
|
||||
|
||||
// 请求拦截
|
||||
this.instance.interceptors.request.use(
|
||||
async (config) => {
|
||||
this.removePending(config)
|
||||
cancelRepeatRequest && this.addPending(config)
|
||||
|
||||
if (loading) {
|
||||
loadingInstance.count++
|
||||
if (loadingInstance.count === 1) {
|
||||
loadingInstance.target = ElLoading.service(loadingOptions)
|
||||
}
|
||||
}
|
||||
|
||||
const storesUseUserInfo = useUserInfo()
|
||||
const tokenInfo = storesUseUserInfo.getTokenInfo()
|
||||
|
||||
if (tokenInfo && tokenInfo.accessToken) {
|
||||
// 判断 accessToken 是否快失效
|
||||
const now = new Date().getTime()
|
||||
const expiresAt = new Date(tokenInfo.accessTokenExpiresAt).getTime()
|
||||
const maxThreshold = tokenInfo.accessTokenLifeTime * 0.5
|
||||
// 确保阈值不超过 5 分钟且不超过 accessTokenLifeTime 的一半
|
||||
const threshold = Math.min(5 * 60 * 1000, maxThreshold)
|
||||
if (expiresAt - now < threshold) {
|
||||
//加锁
|
||||
if (!window.tokenRefreshing) {
|
||||
window.tokenRefreshing = true
|
||||
try {
|
||||
const res = await this.refreshApi(tokenInfo.accessToken)
|
||||
if (res?.success) {
|
||||
storesUseUserInfo.setTokenInfo(res.data)
|
||||
//处理等待队列中的请求
|
||||
if (window.requests?.length > 0) {
|
||||
window.requests.forEach((apiRequest) => apiRequest())
|
||||
window.requests = []
|
||||
}
|
||||
} else {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(res)
|
||||
}
|
||||
} catch (error) {
|
||||
// 清空等待队列
|
||||
window.requests = []
|
||||
return Promise.reject(error)
|
||||
} finally {
|
||||
// 解锁
|
||||
window.tokenRefreshing = false
|
||||
}
|
||||
} else {
|
||||
// 如果正在刷新,则将当前请求加入等待队列
|
||||
if (config.url !== '/api/admin/auth/refresh') {
|
||||
window.requests = window.requests ? window.requests : []
|
||||
return new Promise((resolve) => {
|
||||
window.requests.push(() => {
|
||||
resolve(this.instance(config))
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const accessToken = storesUseUserInfo.getToken()
|
||||
config.headers!['Authorization'] = `Bearer ${accessToken}`
|
||||
return config
|
||||
},
|
||||
(error) => {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
// 响应拦截
|
||||
this.instance.interceptors.response.use(
|
||||
(res) => {
|
||||
this.removePending(res.config)
|
||||
loading && this.closeLoading(loading)
|
||||
|
||||
if (res.config?.responseType == 'blob') {
|
||||
return res
|
||||
}
|
||||
|
||||
const data = res.data
|
||||
if (data.success) {
|
||||
if (showSuccessMessage) {
|
||||
ElMessage.success({ message: data.msg ? data.msg : '操作成功', grouping: true })
|
||||
}
|
||||
} else {
|
||||
if (showErrorMessage) {
|
||||
ElMessage.error({ message: data.msg ? data.msg : '操作失败', grouping: true })
|
||||
}
|
||||
// return Promise.reject(res)
|
||||
}
|
||||
|
||||
return res
|
||||
},
|
||||
async (error) => {
|
||||
error.config && this.removePending(error.config)
|
||||
loading && this.closeLoading(loading)
|
||||
|
||||
//刷新token
|
||||
if (login && error?.response?.status === 401) {
|
||||
return this.refreshToken(error.config)
|
||||
}
|
||||
|
||||
//错误处理
|
||||
if (showErrorMessage) {
|
||||
this.errorHandle(error)
|
||||
}
|
||||
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
return this.instance.request({
|
||||
...requestParams,
|
||||
headers: {
|
||||
...(requestParams.headers || {}),
|
||||
...(type && type !== ContentType.FormData ? { "Content-Type": type } : {}),
|
||||
} as RawAxiosRequestHeaders,
|
||||
params: query,
|
||||
responseType: responseFormat,
|
||||
data: body,
|
||||
url: path,
|
||||
<% if (config.unwrapResponseData) { %>
|
||||
}).then(response => returnResponse ? response : response.data);
|
||||
<% } else { %>
|
||||
});
|
||||
<% } %>
|
||||
};
|
||||
}
|
10
gen/templates/interface-data-contract.ejs
Normal file
@ -0,0 +1,10 @@
|
||||
<%
|
||||
const { contract, utils } = it;
|
||||
const { formatDescription, require, _ } = utils;
|
||||
%>
|
||||
export interface <%~ contract.name %> {
|
||||
<% _.forEach(contract.$content, (field) => { %>
|
||||
<%~ includeFile('./object-field-jsdoc.ejs', { ...it, field }) %>
|
||||
<%~ field.name %><%~ field.isRequired ? '' : '?' %>: <%~ field.value %><%~ field.isNullable ? ' | null' : ''%>;
|
||||
<% }) %>
|
||||
}
|
28
gen/templates/object-field-jsdoc.ejs
Normal file
@ -0,0 +1,28 @@
|
||||
<%
|
||||
const { field, utils } = it;
|
||||
const { formatDescription, require, _ } = utils;
|
||||
|
||||
const comments = _.uniq(
|
||||
_.compact([
|
||||
field.title,
|
||||
field.description,
|
||||
field.deprecated && ` * @deprecated`,
|
||||
!_.isUndefined(field.format) && `@format ${field.format}`,
|
||||
!_.isUndefined(field.minimum) && `@min ${field.minimum}`,
|
||||
!_.isUndefined(field.maximum) && `@max ${field.maximum}`,
|
||||
!_.isUndefined(field.pattern) && `@pattern ${field.pattern}`,
|
||||
!_.isUndefined(field.example) &&
|
||||
`@example ${_.isObject(field.example) ? JSON.stringify(field.example) : field.example}`,
|
||||
]).reduce((acc, comment) => [...acc, ...comment.split(/\n/g)], []),
|
||||
);
|
||||
%>
|
||||
<% if (comments.length === 1) { %>
|
||||
/** <%~ comments[0] %> */
|
||||
<% } else if (comments.length) { %>
|
||||
/**
|
||||
<% comments.forEach(comment => { %>
|
||||
* <%~ comment %>
|
||||
|
||||
<% }) %>
|
||||
*/
|
||||
<% } %>
|
100
gen/templates/procedure-call.ejs
Normal file
@ -0,0 +1,100 @@
|
||||
<%
|
||||
const { utils, route, config } = it;
|
||||
const { requestBodyInfo, responseBodyInfo, specificArgNameResolver } = route;
|
||||
const { _, getInlineParseContent, getParseContent, parseSchema, getComponentByRef, require } = utils;
|
||||
const { parameters, path, method, payload, query, formData, security, requestParams } = route.request;
|
||||
const { type, errorType, contentTypes } = route.response;
|
||||
const { HTTP_CLIENT, RESERVED_REQ_PARAMS_ARG_NAMES } = config.constants;
|
||||
const routeDocs = includeFile("./route-docs", { config, route, utils });
|
||||
const queryName = (query && query.name) || "query";
|
||||
const pathParams = _.values(parameters);
|
||||
const pathParamsNames = _.map(pathParams, "name");
|
||||
|
||||
const isFetchTemplate = config.httpClientType === HTTP_CLIENT.FETCH;
|
||||
|
||||
const requestConfigParam = {
|
||||
name: specificArgNameResolver.resolve(RESERVED_REQ_PARAMS_ARG_NAMES),
|
||||
optional: true,
|
||||
type: "RequestParams",
|
||||
defaultValue: "{}",
|
||||
}
|
||||
|
||||
const argToTmpl = ({ name, optional, type, defaultValue }) => `${name}${!defaultValue && optional ? '?' : ''}: ${type}${defaultValue ? ` = ${defaultValue}` : ''}`;
|
||||
|
||||
const rawWrapperArgs = config.extractRequestParams ?
|
||||
_.compact([
|
||||
requestParams && {
|
||||
name: pathParams.length ? `{ ${_.join(pathParamsNames, ", ")}, ...${queryName} }` : queryName,
|
||||
optional: false,
|
||||
type: getInlineParseContent(requestParams),
|
||||
},
|
||||
...(!requestParams ? pathParams : []),
|
||||
payload,
|
||||
requestConfigParam,
|
||||
]) :
|
||||
_.compact([
|
||||
...pathParams,
|
||||
query,
|
||||
payload,
|
||||
requestConfigParam,
|
||||
])
|
||||
|
||||
const wrapperArgs = _
|
||||
// Sort by optionality
|
||||
.sortBy(rawWrapperArgs, [o => o.optional])
|
||||
.map(argToTmpl)
|
||||
.join(', ')
|
||||
|
||||
// RequestParams["type"]
|
||||
const requestContentKind = {
|
||||
"JSON": "ContentType.Json",
|
||||
"URL_ENCODED": "ContentType.UrlEncoded",
|
||||
"FORM_DATA": "ContentType.FormData",
|
||||
"TEXT": "ContentType.Text",
|
||||
}
|
||||
// RequestParams["format"]
|
||||
const responseContentKind = {
|
||||
"JSON": '"json"',
|
||||
"IMAGE": '"blob"',
|
||||
"FORM_DATA": isFetchTemplate ? '"formData"' : '"document"'
|
||||
}
|
||||
|
||||
const bodyTmpl = _.get(payload, "name") || null;
|
||||
const queryTmpl = (query != null && queryName) || null;
|
||||
const bodyContentKindTmpl = requestContentKind[requestBodyInfo.contentKind] || null;
|
||||
const responseFormatTmpl = responseContentKind[responseBodyInfo.success && responseBodyInfo.success.schema && responseBodyInfo.success.schema.contentKind] || null;
|
||||
const securityTmpl = security ? 'true' : null;
|
||||
|
||||
const describeReturnType = () => {
|
||||
if (!config.toJS) return "";
|
||||
|
||||
switch(config.httpClientType) {
|
||||
case HTTP_CLIENT.AXIOS: {
|
||||
return `Promise<AxiosResponse<${type}>>`
|
||||
}
|
||||
default: {
|
||||
return `Promise<HttpResponse<${type}, ${errorType}>`
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
%>
|
||||
/**
|
||||
<%~ routeDocs.description %>
|
||||
|
||||
*<% /* Here you can add some other JSDoc tags */ %>
|
||||
|
||||
<%~ routeDocs.lines %>
|
||||
|
||||
*/
|
||||
<%~ route.routeName.usage %> = (<%~ wrapperArgs %>)<%~ config.toJS ? `: ${describeReturnType()}` : "" %> =>
|
||||
<%~ config.singleHttpClient ? 'this.http.request' : 'this.request' %><<%~ type %>, <%~ errorType %>>({
|
||||
path: `<%~ path %>`,
|
||||
method: '<%~ _.upperCase(method) %>',
|
||||
<%~ queryTmpl ? `query: ${queryTmpl},` : '' %>
|
||||
<%~ bodyTmpl ? `body: ${bodyTmpl},` : '' %>
|
||||
<%~ securityTmpl ? `secure: ${securityTmpl},` : '' %>
|
||||
<%~ bodyContentKindTmpl ? `type: ${bodyContentKindTmpl},` : '' %>
|
||||
<%~ responseFormatTmpl ? `format: ${responseFormatTmpl},` : '' %>
|
||||
...<%~ _.get(requestConfigParam, "name") %>,
|
||||
})
|
30
gen/templates/route-docs.ejs
Normal file
@ -0,0 +1,30 @@
|
||||
<%
|
||||
const { config, route, utils } = it;
|
||||
const { _, formatDescription, fmtToJSDocLine, pascalCase, require } = utils;
|
||||
const { raw, request, routeName } = route;
|
||||
|
||||
const jsDocDescription = raw.description ?
|
||||
` * @description ${formatDescription(raw.description, true)}` :
|
||||
fmtToJSDocLine('No description', { eol: false });
|
||||
const jsDocLines = _.compact([
|
||||
_.size(raw.tags) && ` * @tags ${raw.tags.join(", ")}`,
|
||||
` * @name ${pascalCase(routeName.usage)}`,
|
||||
raw.summary && ` * @summary ${raw.summary}`,
|
||||
` * @request ${_.upperCase(request.method)}:${raw.route}`,
|
||||
raw.deprecated && ` * @deprecated`,
|
||||
routeName.duplicate && ` * @originalName ${routeName.original}`,
|
||||
routeName.duplicate && ` * @duplicate`,
|
||||
request.security && ` * @secure`,
|
||||
...(config.generateResponses && raw.responsesTypes.length
|
||||
? raw.responsesTypes.map(
|
||||
({ type, status, description, isSuccess }) =>
|
||||
` * @response \`${status}\` \`${_.replace(_.replace(type, /\/\*/g, "\\*"), /\*\//g, "*\\")}\` ${description}`,
|
||||
)
|
||||
: []),
|
||||
]).map(str => str.trimEnd()).join("\n");
|
||||
|
||||
return {
|
||||
description: jsDocDescription,
|
||||
lines: jsDocLines,
|
||||
}
|
||||
%>
|
27
gen/templates/route-name.ejs
Normal file
@ -0,0 +1,27 @@
|
||||
<%
|
||||
const { routeInfo, utils } = it;
|
||||
const {
|
||||
operationId,
|
||||
method,
|
||||
route,
|
||||
moduleName,
|
||||
responsesTypes,
|
||||
description,
|
||||
tags,
|
||||
summary,
|
||||
pathArgs,
|
||||
} = routeInfo;
|
||||
const { _, fmtToJSDocLine, require } = utils;
|
||||
|
||||
const createCustomOperationId = (method, route, moduleName) => {
|
||||
const hasPathInserts = /\{(\w){1,}\}/g.test(route);
|
||||
const splitedRouteBySlash = _.compact(_.replace(route, /\{(\w){1,}\}/g, "").split("/"));
|
||||
const routeParts = (splitedRouteBySlash.length > 1
|
||||
? [splitedRouteBySlash[splitedRouteBySlash.length-1]]
|
||||
: splitedRouteBySlash
|
||||
).join("_");
|
||||
return _.camelCase(_.lowerCase(routeParts));
|
||||
};
|
||||
|
||||
return createCustomOperationId(method, route, moduleName);
|
||||
%>
|
22
gen/templates/route-type.ejs
Normal file
@ -0,0 +1,22 @@
|
||||
<%
|
||||
const { route, utils, config } = it;
|
||||
const { _, pascalCase, require } = utils;
|
||||
const { query, payload, pathParams, headers } = route.request;
|
||||
|
||||
const routeDocs = includeFile("./route-docs", { config, route, utils });
|
||||
const routeNamespace = pascalCase(route.routeName.usage);
|
||||
|
||||
%>
|
||||
/**
|
||||
<%~ routeDocs.description %>
|
||||
|
||||
<%~ routeDocs.lines %>
|
||||
|
||||
*/
|
||||
export namespace <%~ routeNamespace %> {
|
||||
export type RequestParams = <%~ (pathParams && pathParams.type) || '{}' %>;
|
||||
export type RequestQuery = <%~ (query && query.type) || '{}' %>;
|
||||
export type RequestBody = <%~ (payload && payload.type) || 'never' %>;
|
||||
export type RequestHeaders = <%~ (headers && headers.type) || '{}' %>;
|
||||
export type ResponseBody = <%~ route.response.type %>;
|
||||
}
|
18
gen/templates/route-types.ejs
Normal file
@ -0,0 +1,18 @@
|
||||
<%
|
||||
const { utils, config, route, modelTypes } = it;
|
||||
const { _, pascalCase } = utils;
|
||||
const { routes, moduleName } = route;
|
||||
const dataContracts = config.modular ? _.map(modelTypes, "name") : [];
|
||||
|
||||
%>
|
||||
<% if (dataContracts.length) { %>
|
||||
import { <%~ dataContracts.join(", ") %> } from "./<%~ config.fileNames.dataContracts %>"
|
||||
<% } %>
|
||||
|
||||
export namespace <%~ pascalCase(moduleName) %> {
|
||||
<% _.forEach(routes, (route) => { %>
|
||||
|
||||
<%~ includeFile('./route-type.ejs', { ...it, route }) %>
|
||||
|
||||
<% }) %>
|
||||
}
|
15
gen/templates/type-data-contract.ejs
Normal file
@ -0,0 +1,15 @@
|
||||
<%
|
||||
const { contract, utils } = it;
|
||||
const { formatDescription, require, _ } = utils;
|
||||
|
||||
%>
|
||||
<% if (contract.$content.length) { %>
|
||||
export type <%~ contract.name %> = {
|
||||
<% _.forEach(contract.$content, (field) => { %>
|
||||
<%~ includeFile('./object-field-jsdoc.ejs', { ...it, field }) %>
|
||||
<%~ field.field %>;
|
||||
<% }) %>
|
||||
}<%~ utils.isNeedToAddNull(contract) ? ' | null' : ''%>
|
||||
<% } else { %>
|
||||
export type <%~ contract.name %> = Record<string, any>;
|
||||
<% } %>
|
27
index.html
Normal file
@ -0,0 +1,27 @@
|
||||
<!doctype html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="keywords" content="NPP" />
|
||||
<meta name="description" content="NPP" />
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<title>NPP</title>
|
||||
<link rel="stylesheet" type="text/css" media="print" href="/print-lock.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
<!-- <script type="text/javascript">
|
||||
var _hmt = _hmt || []
|
||||
;(function () {
|
||||
var hm = document.createElement('script')
|
||||
hm.src = ''
|
||||
var s = document.getElementsByTagName('script')[0]
|
||||
s.parentNode.insertBefore(hm, s)
|
||||
})()
|
||||
</script> -->
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
<!-- <script type="text/javascript" src="https://api.map.baidu.com/api?v=3.0&ak=wsijQt8sLXrCW71YesmispvYHitfG9gv&s=1"></script> -->
|
||||
</body>
|
||||
</html>
|
98
package.json
Normal file
@ -0,0 +1,98 @@
|
||||
{
|
||||
"name": "zhontai.ui.admin.vue3",
|
||||
"version": "9.1.1",
|
||||
"description": "vue3 vite admin plus",
|
||||
"author": "",
|
||||
"license": "MIT",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite --force",
|
||||
"build": "vite build",
|
||||
"lint-fix": "eslint --fix --ext .js --ext .jsx --ext .vue src/",
|
||||
"format": "npx prettier --write .",
|
||||
"install:pkg": "pnpm install",
|
||||
"gen:api": "node ./gen/gen-api"
|
||||
},
|
||||
"dependencies": {
|
||||
"@azure/msal-browser": "^4.12.0",
|
||||
"@element-plus/icons-vue": "^2.3.1",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^5.1.12",
|
||||
"axios": "^1.9.0",
|
||||
"countup.js": "^2.8.2",
|
||||
"cropperjs": "^2.0.0",
|
||||
"dayjs": "^1.11.13",
|
||||
"echarts": "^5.6.0",
|
||||
"echarts-gl": "^2.0.9",
|
||||
"echarts-wordcloud": "^2.1.0",
|
||||
"element-plus": "2.9.11",
|
||||
"js-cookie": "^3.0.5",
|
||||
"js-table2excel": "^1.1.2",
|
||||
"jsoneditor": "^10.2.0",
|
||||
"jsplumb": "^2.15.6",
|
||||
"lodash-es": "^4.17.21",
|
||||
"mitt": "^3.0.1",
|
||||
"nprogress": "^0.2.0",
|
||||
"pinia": "^3.0.2",
|
||||
"print-js": "^1.6.0",
|
||||
"qrcodejs2-fixes": "^0.0.2",
|
||||
"qs": "^6.14.0",
|
||||
"screenfull": "^6.0.2",
|
||||
"sm-crypto-v2": "^1.11.0",
|
||||
"sortablejs": "^1.15.6",
|
||||
"splitpanes": "^4.0.4",
|
||||
"vue": "3.5.14",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-demi": "^0.14.10",
|
||||
"vue-grid-layout": "^3.0.0-beta1",
|
||||
"vue-i18n": "^11.1.3",
|
||||
"vue-plugin-hiprint": "^0.0.60",
|
||||
"vue-router": "^4.5.1",
|
||||
"vue3-tree-org": "^4.2.2"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/lodash-es": "^4.17.12",
|
||||
"@types/node": "^22.15.21",
|
||||
"@types/nprogress": "^0.2.3",
|
||||
"@types/sortablejs": "^1.15.8",
|
||||
"@typescript-eslint/eslint-plugin": "^8.32.1",
|
||||
"@typescript-eslint/parser": "^8.32.1",
|
||||
"@vitejs/plugin-vue": "^5.2.4",
|
||||
"@vue/compiler-sfc": "^3.5.14",
|
||||
"dotenv": "16.5.0",
|
||||
"ejs": "^3.1.10",
|
||||
"eslint": "^9.27.0",
|
||||
"eslint-plugin-vue": "^10.1.0",
|
||||
"prettier": "^3.5.3",
|
||||
"sass": "^1.89.0",
|
||||
"swagger-typescript-api": "13.0.28",
|
||||
"typescript": "^5.8.3",
|
||||
"vite": "^6.3.5",
|
||||
"vite-plugin-compression": "0.5.1",
|
||||
"vite-plugin-svg-icons": "^2.0.1",
|
||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
||||
"vue-eslint-parser": "^10.1.3"
|
||||
},
|
||||
"browserslist": [
|
||||
"> 1%",
|
||||
"last 2 versions",
|
||||
"not dead"
|
||||
],
|
||||
"bugs": {
|
||||
"url": "https://github.com/zhontai/admin.ui.plus/issues"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16.0.0",
|
||||
"npm": ">= 7.0.0"
|
||||
},
|
||||
"keywords": [
|
||||
"vue3",
|
||||
"element-plus",
|
||||
"zhontai",
|
||||
"admin"
|
||||
],
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/zhontai/admin.ui.plus/git"
|
||||
}
|
||||
}
|
BIN
public/favicon.ico
Normal file
After Width: | Height: | Size: 5.9 KiB |
356
public/print-lock.css
Normal file
@ -0,0 +1,356 @@
|
||||
@media print {
|
||||
body {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
}
|
||||
|
||||
@page {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.hiprint-printPaper * {
|
||||
box-sizing: border-box;
|
||||
-moz-box-sizing: border-box; /* Firefox */
|
||||
-webkit-box-sizing: border-box; /* Safari */
|
||||
}
|
||||
|
||||
.hiprint-printPaper *:focus {
|
||||
outline: -webkit-focus-ring-color auto 0px;
|
||||
}
|
||||
|
||||
.hiprint-printPaper {
|
||||
position: relative;
|
||||
padding: 0 0 0 0;
|
||||
page-break-after: always;
|
||||
-webkit-user-select: none; /* Chrome/Safari/Opera */
|
||||
-moz-user-select: none; /* Firefox */
|
||||
user-select: none;
|
||||
overflow-x: hidden;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.hiprint-printPaper .hiprint-printPaper-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* 火狐浏览器打印 第一页过后 重叠问题 */
|
||||
@-moz-document url-prefix() {
|
||||
.hiprint-printPaper .hiprint-printPaper-content {
|
||||
position: relative;
|
||||
margin-top: 20px;
|
||||
top: -20px;
|
||||
}
|
||||
}
|
||||
|
||||
.hiprint-printPaper.design {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
.hiprint-printTemplate .hiprint-printPanel {
|
||||
page-break-after: always;
|
||||
}
|
||||
|
||||
.hiprint-printPaper,
|
||||
hiprint-printPanel {
|
||||
box-sizing: border-box;
|
||||
border: 0px;
|
||||
}
|
||||
|
||||
.hiprint-printPanel .hiprint-printPaper:last-child {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
|
||||
.hiprint-printTemplate .hiprint-printPanel:last-child {
|
||||
page-break-after: avoid;
|
||||
}
|
||||
|
||||
.hiprint-printPaper .hideheaderLinetarget {
|
||||
border-top: 0px dashed rgb(201, 190, 190) !important;
|
||||
}
|
||||
|
||||
.hiprint-printPaper .hidefooterLinetarget {
|
||||
border-top: 0px dashed rgb(201, 190, 190) !important;
|
||||
}
|
||||
|
||||
.hiprint-printPaper.design {
|
||||
border: 1px dashed rgba(170, 170, 170, 0.7);
|
||||
}
|
||||
|
||||
.design .hiprint-printElement-table-content,
|
||||
.design .hiprint-printElement-longText-content {
|
||||
overflow: hidden;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.design .resize-panel {
|
||||
box-sizing: border-box;
|
||||
border: 1px dotted;
|
||||
}
|
||||
|
||||
.hiprint-printElement-text {
|
||||
background-color: transparent;
|
||||
background-repeat: repeat;
|
||||
padding: 0 0 0 0;
|
||||
border: 0.75pt none rgb(0, 0, 0);
|
||||
direction: ltr;
|
||||
font-family: 'SimSun';
|
||||
font-size: 9pt;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
padding-bottom: 0pt;
|
||||
padding-left: 0pt;
|
||||
padding-right: 0pt;
|
||||
padding-top: 0pt;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
line-height: 9.75pt;
|
||||
box-sizing: border-box;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.design .hiprint-printElement-text-content {
|
||||
border: 1px dashed rgb(206, 188, 188);
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.hiprint-printElement-longText {
|
||||
background-color: transparent;
|
||||
background-repeat: repeat;
|
||||
border: 0.75pt none rgb(0, 0, 0);
|
||||
direction: ltr;
|
||||
font-family: 'SimSun';
|
||||
font-size: 9pt;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
padding-bottom: 0pt;
|
||||
padding-left: 0pt;
|
||||
padding-right: 0pt;
|
||||
padding-top: 0pt;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
line-height: 9.75pt;
|
||||
box-sizing: border-box;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
/*white-space: pre-wrap*/
|
||||
}
|
||||
|
||||
.hiprint-printElement-table {
|
||||
background-color: transparent;
|
||||
background-repeat: repeat;
|
||||
color: rgb(0, 0, 0);
|
||||
border-color: rgb(0, 0, 0);
|
||||
border-style: none;
|
||||
direction: ltr;
|
||||
font-family: 'SimSun';
|
||||
font-size: 9pt;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
padding-bottom: 0pt;
|
||||
padding-left: 0pt;
|
||||
padding-right: 0pt;
|
||||
padding-top: 0pt;
|
||||
text-align: left;
|
||||
text-decoration: none;
|
||||
padding: 0 0 0 0;
|
||||
box-sizing: border-box;
|
||||
line-height: 9.75pt;
|
||||
}
|
||||
|
||||
.hiprint-printElement-table thead {
|
||||
background: #e8e8e8;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
table.hiprint-printElement-tableTarget {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.hiprint-printElement-tableTarget,
|
||||
.hiprint-printElement-tableTarget tr,
|
||||
.hiprint-printElement-tableTarget td {
|
||||
border-color: rgb(0, 0, 0);
|
||||
/*border-style: none;*/
|
||||
/*border: 1px solid rgb(0, 0, 0);*/
|
||||
font-weight: normal;
|
||||
direction: ltr;
|
||||
padding-bottom: 0pt;
|
||||
padding-left: 4pt;
|
||||
padding-right: 4pt;
|
||||
padding-top: 0pt;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
box-sizing: border-box;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
/*line-height: 9.75pt;
|
||||
font-size: 9pt;*/
|
||||
}
|
||||
|
||||
.hiprint-printElement-tableTarget-border-all {
|
||||
border: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-none {
|
||||
border: 0px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-lr {
|
||||
border-left: 1px solid;
|
||||
border-right: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-left {
|
||||
border-left: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-right {
|
||||
border-right: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-tb {
|
||||
border-top: 1px solid;
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-top {
|
||||
border-top: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-bottom {
|
||||
border-bottom: 1px solid;
|
||||
}
|
||||
|
||||
.hiprint-printElement-tableTarget-border-td-none td {
|
||||
border: 0px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-td-all td:not(:nth-last-child(-n + 2)) {
|
||||
border-right: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-td-all td:not(last-child) {
|
||||
border-right: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-td-all td:last-child {
|
||||
border-left: 1px solid;
|
||||
}
|
||||
.hiprint-printElement-tableTarget-border-td-all td:last-child:first-child {
|
||||
border-left: none;
|
||||
}
|
||||
|
||||
/*.hiprint-printElement-tableTarget tr,*/
|
||||
.hiprint-printElement-tableTarget td {
|
||||
height: 18pt;
|
||||
}
|
||||
|
||||
.hiprint-printPaper .hiprint-paperNumber {
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.design .hiprint-printElement-table-handle {
|
||||
position: absolute;
|
||||
height: 21pt;
|
||||
width: 21pt;
|
||||
background: red;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.hiprint-printPaper .hiprint-paperNumber-disabled {
|
||||
float: right !important;
|
||||
right: 0 !important;
|
||||
color: gainsboro !important;
|
||||
}
|
||||
|
||||
.hiprint-printElement-vline,
|
||||
.hiprint-printElement-hline {
|
||||
border: 0px none rgb(0, 0, 0);
|
||||
}
|
||||
|
||||
.hiprint-printElement-vline {
|
||||
border-left: 0.75pt solid #000;
|
||||
border-right: 0px none rgb(0, 0, 0) !important;
|
||||
border-bottom: 0px none rgb(0, 0, 0) !important;
|
||||
border-top: 0px none rgb(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.hiprint-printElement-hline {
|
||||
border-top: 0.75pt solid #000;
|
||||
border-right: 0px none rgb(0, 0, 0) !important;
|
||||
border-bottom: 0px none rgb(0, 0, 0) !important;
|
||||
border-left: 0px none rgb(0, 0, 0) !important;
|
||||
}
|
||||
|
||||
.hiprint-printElement-oval,
|
||||
.hiprint-printElement-rect {
|
||||
border: 0.75pt solid #000;
|
||||
}
|
||||
|
||||
.hiprint-text-content-middle {
|
||||
}
|
||||
|
||||
.hiprint-text-content-middle > div {
|
||||
display: grid;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.hiprint-text-content-bottom {
|
||||
}
|
||||
|
||||
.hiprint-text-content-bottom > div {
|
||||
display: grid;
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
.hiprint-text-content-wrap {
|
||||
}
|
||||
|
||||
.hiprint-text-content-wrap .hiprint-text-content-wrap-nowrap {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.hiprint-text-content-wrap .hiprint-text-content-wrap-clip {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: clip;
|
||||
}
|
||||
|
||||
.hiprint-text-content-wrap .hiprint-text-content-wrap-ellipsis {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
/*hi-grid-row */
|
||||
.hi-grid-row {
|
||||
position: relative;
|
||||
height: auto;
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
zoom: 1;
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.hi-grid-row::after,
|
||||
.hi-grid-row::before {
|
||||
display: table;
|
||||
content: '';
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.hi-grid-col {
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
float: left;
|
||||
flex: 0 0 auto;
|
||||
}
|
||||
|
||||
.table-grid-row {
|
||||
margin-left: -0pt;
|
||||
margin-right: -0pt;
|
||||
}
|
||||
|
||||
.tableGridColumnsGutterRow {
|
||||
padding-left: 0pt;
|
||||
padding-right: 0pt;
|
||||
}
|
||||
|
||||
.hiprint-gridColumnsFooter {
|
||||
text-align: left;
|
||||
clear: both;
|
||||
}
|
105
src/App.vue
Normal file
@ -0,0 +1,105 @@
|
||||
<template>
|
||||
<el-config-provider :size="getGlobalComponentSize" :locale="getGlobalI18n">
|
||||
<router-view v-show="getLockScreen" />
|
||||
<LockScreen v-if="themeConfig.isLockScreen" />
|
||||
<Setings ref="setingsRef" v-show="getLockScreen" />
|
||||
<CloseFull v-if="!themeConfig.isLockScreen" />
|
||||
<Upgrade v-if="getVersion" />
|
||||
</el-config-provider>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts" name="app">
|
||||
import { defineAsyncComponent, computed, ref, onBeforeMount, onMounted, onUnmounted, nextTick, watch } from 'vue'
|
||||
import { useRoute } from 'vue-router'
|
||||
import { useI18n } from 'vue-i18n'
|
||||
import { storeToRefs } from 'pinia'
|
||||
import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes'
|
||||
import { useThemeConfig } from '/@/stores/themeConfig'
|
||||
import other from '/@/utils/other'
|
||||
import { Local, Session } from '/@/utils/storage'
|
||||
import mittBus from '/@/utils/mitt'
|
||||
import setIntroduction from '/@/utils/setIconfont'
|
||||
|
||||
// 引入组件
|
||||
const LockScreen = defineAsyncComponent(() => import('/@/layout/lockScreen/index.vue'))
|
||||
const Setings = defineAsyncComponent(() => import('/@/layout/navBars/topBar/setings.vue'))
|
||||
const CloseFull = defineAsyncComponent(() => import('/@/layout/navBars/topBar/closeFull.vue'))
|
||||
const Upgrade = defineAsyncComponent(() => import('/@/layout/upgrade/index.vue'))
|
||||
|
||||
// 定义变量内容
|
||||
const { messages, locale } = useI18n()
|
||||
const setingsRef = ref()
|
||||
const route = useRoute()
|
||||
const stores = useTagsViewRoutes()
|
||||
const storesThemeConfig = useThemeConfig()
|
||||
const { themeConfig } = storeToRefs(storesThemeConfig)
|
||||
|
||||
// 设置锁屏时组件显示隐藏
|
||||
const getLockScreen = computed(() => {
|
||||
// 防止锁屏后,刷新出现不相关界面
|
||||
return themeConfig.value.isLockScreen ? themeConfig.value.lockScreenTime > 1 : themeConfig.value.lockScreenTime >= 0
|
||||
})
|
||||
|
||||
// 获取版本号
|
||||
const getVersion = computed(() => {
|
||||
let isVersion = false
|
||||
if (route.path !== '/login') {
|
||||
// @ts-ignore
|
||||
const currentVersion = __NEXT_VERSION__
|
||||
const lastVersion = Local.get('version')
|
||||
if (!lastVersion) {
|
||||
Local.set('version', currentVersion)
|
||||
} else if (lastVersion !== currentVersion) {
|
||||
isVersion = true
|
||||
}
|
||||
}
|
||||
return isVersion
|
||||
})
|
||||
// 获取全局组件大小
|
||||
const getGlobalComponentSize = computed(() => {
|
||||
return other.globalComponentSize()
|
||||
})
|
||||
// 获取全局 i18n
|
||||
const getGlobalI18n = computed(() => {
|
||||
return messages.value[locale.value]
|
||||
})
|
||||
// 设置初始化,防止刷新时恢复默认
|
||||
onBeforeMount(() => {
|
||||
// 设置批量第三方 icon 图标
|
||||
setIntroduction.cssCdn()
|
||||
// 设置批量第三方 js
|
||||
setIntroduction.jsCdn()
|
||||
})
|
||||
// 页面加载时
|
||||
onMounted(() => {
|
||||
nextTick(() => {
|
||||
// 监听布局配'置弹窗点击打开
|
||||
mittBus.on('openSetingsDrawer', () => {
|
||||
setingsRef.value.openDrawer()
|
||||
})
|
||||
// 获取缓存中的布局配置
|
||||
if (Local.get('themeConfig')) {
|
||||
storesThemeConfig.setThemeConfig({ themeConfig: Local.get('themeConfig') })
|
||||
document.documentElement.style.cssText = Local.get('themeConfigStyle')
|
||||
}
|
||||
// 获取缓存中的全屏配置
|
||||
if (Session.get('isTagsViewCurrenFull')) {
|
||||
stores.setCurrenFullscreen(Session.get('isTagsViewCurrenFull'))
|
||||
}
|
||||
})
|
||||
})
|
||||
// 页面销毁时,关闭监听布局配置/i18n监听
|
||||
onUnmounted(() => {
|
||||
mittBus.off('openSetingsDrawer', () => {})
|
||||
})
|
||||
// 监听路由的变化,设置网站标题
|
||||
watch(
|
||||
() => route.path,
|
||||
() => {
|
||||
other.useTitle()
|
||||
},
|
||||
{
|
||||
deep: true,
|
||||
}
|
||||
)
|
||||
</script>
|
50
src/api/admin.extend/Api.ts
Normal file
@ -0,0 +1,50 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { HttpClient, RequestParams } from '../admin/http-client'
|
||||
|
||||
export class ApiApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name GetList
|
||||
* @summary 获得swagger resources
|
||||
* @request GET:/swagger-resources
|
||||
* @secure
|
||||
*/
|
||||
getSwaggerResources = (path: string, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: path,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name GetList
|
||||
* @summary 获得swagger json
|
||||
* @request GET:/swagger-resources
|
||||
* @secure
|
||||
*/
|
||||
getSwaggerJson = (path: string, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: path,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
32
src/api/admin.extend/enum-contracts.ts
Normal file
@ -0,0 +1,32 @@
|
||||
/** 组件类型 */
|
||||
export const ComponentType = {
|
||||
Account: { name: 'account', value: 1, desc: '账号' },
|
||||
AAD: { name: 'aad', value: 2, desc: 'AAD' },
|
||||
Email: { name: 'email', value: 3, desc: '邮箱' },
|
||||
}
|
||||
|
||||
/** 平台类型 */
|
||||
export const PlatformType = {
|
||||
Web: { name: 'web', value: 1, desc: 'Web端' },
|
||||
App: { name: 'app', value: 2, desc: 'App端' },
|
||||
CS: { name: 'cs', value: 3, desc: 'CS端' },
|
||||
}
|
||||
|
||||
/** 操作符 */
|
||||
export const Operator = {
|
||||
equal: { label: '等于', value: 'Equal' },
|
||||
notEqual: { label: '不等于', value: 'NotEqual' },
|
||||
contains: { label: '包含', value: 'Contains' },
|
||||
notContains: { label: '不包含', value: 'NotContains' },
|
||||
startsWith: { label: '开始以', value: 'StartsWith' },
|
||||
notStartsWith: { label: '开始不是以', value: 'NotStartsWith' },
|
||||
endsWith: { label: '结束以', value: 'EndsWith' },
|
||||
notEndsWith: { label: '结束不是以', value: 'NotEndsWith' },
|
||||
lessThan: { label: '小于', value: 'LessThan' },
|
||||
lessThanOrEqual: { label: '小于等于', value: 'LessThanOrEqual' },
|
||||
greaterThan: { label: '大于', value: 'GreaterThan' },
|
||||
greaterThanOrEqual: { label: '大于等于', value: 'GreaterThanOrEqual' },
|
||||
dateRange: { label: '时间段', value: 'dateRange' },
|
||||
any: { label: '在列表', value: 'Any' },
|
||||
notAny: { label: '不在列表', value: 'NotAny' },
|
||||
}
|
312
src/api/admin/Api.ts
Normal file
@ -0,0 +1,312 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
ApiAddInput,
|
||||
ApiSetEnableLogInput,
|
||||
ApiSetEnableParamsInput,
|
||||
ApiSetEnableResultInput,
|
||||
ApiSyncInput,
|
||||
ApiUpdateInput,
|
||||
PageInputApiGetPageInput,
|
||||
ResultOutputApiGetOutput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListApiGetListOutput,
|
||||
ResultOutputListProjectConfig,
|
||||
ResultOutputPageOutputApiEntity,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class ApiApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/api/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputApiGetOutput, any>({
|
||||
path: `/api/admin/api/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/api/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
key?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListApiGetListOutput, any>({
|
||||
path: `/api/admin/api/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/api/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputApiGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputApiEntity, any>({
|
||||
path: `/api/admin/api/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name Add
|
||||
* @summary 添加
|
||||
* @request POST:/api/admin/api/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: ApiAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/api/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/api/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: ApiUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name SetEnableLog
|
||||
* @summary 设置启用接口日志
|
||||
* @request POST:/api/admin/api/set-enable-log
|
||||
* @secure
|
||||
*/
|
||||
setEnableLog = (data: ApiSetEnableLogInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/set-enable-log`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name SetEnableParams
|
||||
* @summary 设置启用请求参数
|
||||
* @request POST:/api/admin/api/set-enable-params
|
||||
* @secure
|
||||
*/
|
||||
setEnableParams = (data: ApiSetEnableParamsInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/set-enable-params`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name SetEnableResult
|
||||
* @summary 设置启用响应结果
|
||||
* @request POST:/api/admin/api/set-enable-result
|
||||
* @secure
|
||||
*/
|
||||
setEnableResult = (data: ApiSetEnableResultInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/set-enable-result`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/api/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/api/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/api/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/api/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name Sync
|
||||
* @summary 同步
|
||||
* @request POST:/api/admin/api/sync
|
||||
* @secure
|
||||
*/
|
||||
sync = (data: ApiSyncInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/api/sync`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags api
|
||||
* @name GetProjects
|
||||
* @summary 获得项目列表
|
||||
* @request GET:/api/admin/api/get-projects
|
||||
* @secure
|
||||
*/
|
||||
getProjects = (
|
||||
query?: {
|
||||
/** @default "/swagger" */
|
||||
suffix?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListProjectConfig, any>({
|
||||
path: `/api/admin/api/get-projects`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
302
src/api/admin/Auth.ts
Normal file
@ -0,0 +1,302 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
AuthChangePasswordByEmailInput,
|
||||
AuthChangePasswordByMobileInput,
|
||||
AuthEmailLoginInput,
|
||||
AuthLoginInput,
|
||||
AuthMobileLoginInput,
|
||||
AuthRegByEmailInput,
|
||||
AuthRegByMobileInput,
|
||||
ResultOutputAuthGetPasswordEncryptKeyOutput,
|
||||
ResultOutputAuthGetUserInfoOutput,
|
||||
ResultOutputAuthGetUserPermissionsOutput,
|
||||
ResultOutputAuthUserProfileOutput,
|
||||
ResultOutputBoolean,
|
||||
ResultOutputListAuthUserMenuOutput,
|
||||
ResultOutputTokenInfo,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class AuthApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name GetPasswordEncryptKey
|
||||
* @summary 查询密钥
|
||||
* @request GET:/api/admin/auth/get-password-encrypt-key
|
||||
* @secure
|
||||
*/
|
||||
getPasswordEncryptKey = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputAuthGetPasswordEncryptKeyOutput, any>({
|
||||
path: `/api/admin/auth/get-password-encrypt-key`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name GetUserProfile
|
||||
* @summary 查询用户个人信息
|
||||
* @request GET:/api/admin/auth/get-user-profile
|
||||
* @secure
|
||||
*/
|
||||
getUserProfile = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputAuthUserProfileOutput, any>({
|
||||
path: `/api/admin/auth/get-user-profile`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name GetUserMenus
|
||||
* @summary 查询用户菜单列表
|
||||
* @request GET:/api/admin/auth/get-user-menus
|
||||
* @secure
|
||||
*/
|
||||
getUserMenus = (
|
||||
query?: {
|
||||
/** @default "web" */
|
||||
platform?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListAuthUserMenuOutput, any>({
|
||||
path: `/api/admin/auth/get-user-menus`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name GetUserPermissions
|
||||
* @summary 查询用户权限列表
|
||||
* @request GET:/api/admin/auth/get-user-permissions
|
||||
* @secure
|
||||
*/
|
||||
getUserPermissions = (
|
||||
query?: {
|
||||
/** @default "web" */
|
||||
platform?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputAuthGetUserPermissionsOutput, any>({
|
||||
path: `/api/admin/auth/get-user-permissions`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name GetUserInfo
|
||||
* @summary 查询用户信息
|
||||
* @request GET:/api/admin/auth/get-user-info
|
||||
* @secure
|
||||
*/
|
||||
getUserInfo = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputAuthGetUserInfoOutput, any>({
|
||||
path: `/api/admin/auth/get-user-info`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name Login
|
||||
* @summary 登录
|
||||
* @request POST:/api/admin/auth/login
|
||||
* @secure
|
||||
*/
|
||||
login = (data: AuthLoginInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/auth/login`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name MobileLogin
|
||||
* @summary 手机登录
|
||||
* @request POST:/api/admin/auth/mobile-login
|
||||
* @secure
|
||||
*/
|
||||
mobileLogin = (data: AuthMobileLoginInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/auth/mobile-login`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name EmailLogin
|
||||
* @summary 邮箱登录
|
||||
* @request POST:/api/admin/auth/email-login
|
||||
* @secure
|
||||
*/
|
||||
emailLogin = (data: AuthEmailLoginInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/auth/email-login`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name ChangePasswordByEmail
|
||||
* @summary 邮箱更改密码
|
||||
* @request POST:/api/admin/auth/change-password-by-email
|
||||
* @secure
|
||||
*/
|
||||
changePasswordByEmail = (data: AuthChangePasswordByEmailInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/change-password-by-email`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name ChangePasswordByMobile
|
||||
* @summary 手机更改密码
|
||||
* @request POST:/api/admin/auth/change-password-by-mobile
|
||||
* @secure
|
||||
*/
|
||||
changePasswordByMobile = (data: AuthChangePasswordByMobileInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/change-password-by-mobile`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name RegByEmail
|
||||
* @summary 邮箱注册
|
||||
* @request POST:/api/admin/auth/reg-by-email
|
||||
* @secure
|
||||
*/
|
||||
regByEmail = (data: AuthRegByEmailInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/reg-by-email`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name RegByMobile
|
||||
* @summary 手机号注册
|
||||
* @request POST:/api/admin/auth/reg-by-mobile
|
||||
* @secure
|
||||
*/
|
||||
regByMobile = (data: AuthRegByMobileInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/reg-by-mobile`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name Refresh
|
||||
* @summary 刷新Token
|
||||
以旧换新
|
||||
* @request GET:/api/admin/auth/refresh
|
||||
* @secure
|
||||
*/
|
||||
refresh = (
|
||||
query: {
|
||||
token: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/auth/refresh`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags auth
|
||||
* @name IsCaptcha
|
||||
* @summary 是否开启验证码
|
||||
* @request GET:/api/admin/auth/is-captcha
|
||||
* @secure
|
||||
*/
|
||||
isCaptcha = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputBoolean, any>({
|
||||
path: `/api/admin/auth/is-captcha`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
58
src/api/admin/Cache.ts
Normal file
@ -0,0 +1,58 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import { ResultOutputListObject } from './data-contracts'
|
||||
import { HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class CacheApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags cache
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/cache/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputListObject, any>({
|
||||
path: `/api/admin/cache/get-list`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags cache
|
||||
* @name Clear
|
||||
* @summary 清除缓存
|
||||
* @request DELETE:/api/admin/cache/clear
|
||||
* @secure
|
||||
*/
|
||||
clear = (
|
||||
query?: {
|
||||
/** 缓存键 */
|
||||
cacheKey?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/cache/clear`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
}
|
113
src/api/admin/Captcha.ts
Normal file
@ -0,0 +1,113 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import {
|
||||
ResultOutputCaptchaData,
|
||||
ResultOutputString,
|
||||
ResultOutputValidateResult,
|
||||
SendEmailCodeInput,
|
||||
SendSmsCodeInput,
|
||||
SlideTrack,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class CaptchaApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags captcha
|
||||
* @name Generate
|
||||
* @summary 生成
|
||||
* @request POST:/api/admin/captcha/generate
|
||||
* @secure
|
||||
*/
|
||||
generate = (
|
||||
query?: {
|
||||
/** 验证码id */
|
||||
captchaId?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputCaptchaData, any>({
|
||||
path: `/api/admin/captcha/generate`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags captcha
|
||||
* @name Check
|
||||
* @summary 验证
|
||||
* @request POST:/api/admin/captcha/check
|
||||
* @secure
|
||||
*/
|
||||
check = (
|
||||
data: SlideTrack,
|
||||
query?: {
|
||||
/** 验证码Id */
|
||||
captchaId?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputValidateResult, any>({
|
||||
path: `/api/admin/captcha/check`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags captcha
|
||||
* @name SendSmsCode
|
||||
* @summary 发送短信验证码
|
||||
* @request POST:/api/admin/captcha/send-sms-code
|
||||
* @secure
|
||||
*/
|
||||
sendSmsCode = (data: SendSmsCodeInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/captcha/send-sms-code`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags captcha
|
||||
* @name SendEmailCode
|
||||
* @summary 发送邮件验证码
|
||||
* @request POST:/api/admin/captcha/send-email-code
|
||||
* @secure
|
||||
*/
|
||||
sendEmailCode = (data: SendEmailCodeInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/captcha/send-email-code`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
316
src/api/admin/Dict.ts
Normal file
@ -0,0 +1,316 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
DictAddInput,
|
||||
DictUpdateInput,
|
||||
ExportInput,
|
||||
PageInputDictGetPageInput,
|
||||
ResultOutputDictGetOutput,
|
||||
ResultOutputDictionaryStringListDictGetListOutput,
|
||||
ResultOutputImportOutput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputDictGetPageOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class DictApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/dict/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputDictGetOutput, any>({
|
||||
path: `/api/admin/dict/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/dict/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputDictGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputDictGetPageOutput, any>({
|
||||
path: `/api/admin/dict/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name GetList
|
||||
* @summary 通过类型编码查询列表
|
||||
* @request POST:/api/admin/dict/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<ResultOutputDictionaryStringListDictGetListOutput, any>({
|
||||
path: `/api/admin/dict/get-list`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name GetListByNames
|
||||
* @summary 通过类型名称查询列表
|
||||
* @request POST:/api/admin/dict/get-list-by-names
|
||||
* @secure
|
||||
*/
|
||||
getListByNames = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<ResultOutputDictionaryStringListDictGetListOutput, any>({
|
||||
path: `/api/admin/dict/get-list-by-names`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name DownloadTemplate
|
||||
* @summary 下载导入模板
|
||||
* @request POST:/api/admin/dict/download-template
|
||||
* @secure
|
||||
*/
|
||||
downloadTemplate = (params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/download-template`,
|
||||
method: 'POST',
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name DownloadErrorMark
|
||||
* @summary 下载错误标记文件
|
||||
* @request POST:/api/admin/dict/download-error-mark
|
||||
* @secure
|
||||
*/
|
||||
downloadErrorMark = (
|
||||
query?: {
|
||||
fileId?: string
|
||||
fileName?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/download-error-mark`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name ExportData
|
||||
* @summary 导出数据
|
||||
* @request POST:/api/admin/dict/export-data
|
||||
* @secure
|
||||
*/
|
||||
exportData = (data: ExportInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/export-data`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name ImportData
|
||||
* @summary 导入数据
|
||||
* @request POST:/api/admin/dict/import-data
|
||||
* @secure
|
||||
*/
|
||||
importData = (
|
||||
data: {
|
||||
/** @format binary */
|
||||
file: File
|
||||
},
|
||||
query?: {
|
||||
/** @format int32 */
|
||||
duplicateAction?: number
|
||||
fileId?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputImportOutput, any>({
|
||||
path: `/api/admin/dict/import-data`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.FormData,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/dict/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: DictAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/dict/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/dict/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: DictUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/dict/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/dict/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/dict/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/dict/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
187
src/api/admin/DictType.ts
Normal file
@ -0,0 +1,187 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
DictTypeAddInput,
|
||||
DictTypeUpdateInput,
|
||||
PageInputDictTypeGetPageInput,
|
||||
ResultOutputDictTypeGetOutput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputDictTypeGetPageOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class DictTypeApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/dict-type/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputDictTypeGetOutput, any>({
|
||||
path: `/api/admin/dict-type/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/dict-type/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputDictTypeGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputDictTypeGetPageOutput, any>({
|
||||
path: `/api/admin/dict-type/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/dict-type/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: DictTypeAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/dict-type/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/dict-type/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: DictTypeUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict-type/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/dict-type/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict-type/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/dict-type/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict-type/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/dict-type/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict-type/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags dict-type
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/dict-type/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/dict-type/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
387
src/api/admin/Doc.ts
Normal file
@ -0,0 +1,387 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
DocAddGroupInput,
|
||||
DocAddImageInput,
|
||||
DocAddMenuInput,
|
||||
DocUpdateContentInput,
|
||||
DocUpdateGroupInput,
|
||||
DocUpdateMenuInput,
|
||||
ResultOutputDocGetContentOutput,
|
||||
ResultOutputDocGetGroupOutput,
|
||||
ResultOutputDocGetMenuOutput,
|
||||
ResultOutputIEnumerableObject,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListDocListOutput,
|
||||
ResultOutputListString,
|
||||
ResultOutputString,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class DocApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetGroup
|
||||
* @summary 查询分组
|
||||
* @request GET:/api/admin/doc/get-group
|
||||
* @secure
|
||||
*/
|
||||
getGroup = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputDocGetGroupOutput, any>({
|
||||
path: `/api/admin/doc/get-group`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetMenu
|
||||
* @summary 查询菜单
|
||||
* @request GET:/api/admin/doc/get-menu
|
||||
* @secure
|
||||
*/
|
||||
getMenu = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputDocGetMenuOutput, any>({
|
||||
path: `/api/admin/doc/get-menu`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetContent
|
||||
* @summary 查询文档内容
|
||||
* @request GET:/api/admin/doc/get-content
|
||||
* @secure
|
||||
*/
|
||||
getContent = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputDocGetContentOutput, any>({
|
||||
path: `/api/admin/doc/get-content`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetList
|
||||
* @summary 查询文档列表
|
||||
* @request GET:/api/admin/doc/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
key?: string
|
||||
/** @format date-time */
|
||||
start?: string
|
||||
/** @format date-time */
|
||||
end?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListDocListOutput, any>({
|
||||
path: `/api/admin/doc/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetImageList
|
||||
* @summary 查询图片列表
|
||||
* @request GET:/api/admin/doc/get-image-list
|
||||
* @secure
|
||||
*/
|
||||
getImageList = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListString, any>({
|
||||
path: `/api/admin/doc/get-image-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name AddGroup
|
||||
* @summary 新增分组
|
||||
* @request POST:/api/admin/doc/add-group
|
||||
* @secure
|
||||
*/
|
||||
addGroup = (data: DocAddGroupInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/doc/add-group`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name AddMenu
|
||||
* @summary 新增菜单
|
||||
* @request POST:/api/admin/doc/add-menu
|
||||
* @secure
|
||||
*/
|
||||
addMenu = (data: DocAddMenuInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/doc/add-menu`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name AddImage
|
||||
* @summary 新增图片
|
||||
* @request POST:/api/admin/doc/add-image
|
||||
* @secure
|
||||
*/
|
||||
addImage = (data: DocAddImageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/doc/add-image`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name UpdateGroup
|
||||
* @summary 修改分组
|
||||
* @request PUT:/api/admin/doc/update-group
|
||||
* @secure
|
||||
*/
|
||||
updateGroup = (data: DocUpdateGroupInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/update-group`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name UpdateMenu
|
||||
* @summary 修改菜单
|
||||
* @request PUT:/api/admin/doc/update-menu
|
||||
* @secure
|
||||
*/
|
||||
updateMenu = (data: DocUpdateMenuInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/update-menu`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name UpdateContent
|
||||
* @summary 修改文档内容
|
||||
* @request PUT:/api/admin/doc/update-content
|
||||
* @secure
|
||||
*/
|
||||
updateContent = (data: DocUpdateContentInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/update-content`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name Delete
|
||||
* @summary 彻底删除文档
|
||||
* @request DELETE:/api/admin/doc/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name DeleteImage
|
||||
* @summary 彻底删除图片
|
||||
* @request DELETE:/api/admin/doc/delete-image
|
||||
* @secure
|
||||
*/
|
||||
deleteImage = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
documentId?: number
|
||||
url?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/delete-image`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name SoftDelete
|
||||
* @summary 删除文档
|
||||
* @request DELETE:/api/admin/doc/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/doc/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name GetPlainList
|
||||
* @summary 查询精简文档列表
|
||||
* @request GET:/api/admin/doc/get-plain-list
|
||||
* @secure
|
||||
*/
|
||||
getPlainList = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputIEnumerableObject, any>({
|
||||
path: `/api/admin/doc/get-plain-list`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags doc
|
||||
* @name UploadImage
|
||||
* @summary 上传文档图片
|
||||
* @request POST:/api/admin/doc/upload-image
|
||||
* @secure
|
||||
*/
|
||||
uploadImage = (
|
||||
data: {
|
||||
/**
|
||||
* 上传文件
|
||||
* @format binary
|
||||
*/
|
||||
File?: File
|
||||
/**
|
||||
* 文档编号
|
||||
* @format int64
|
||||
*/
|
||||
Id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/doc/upload-image`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.FormData,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
140
src/api/admin/File.ts
Normal file
@ -0,0 +1,140 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
FileDeleteInput,
|
||||
PageInputFileGetPageInput,
|
||||
ResultOutputFileEntity,
|
||||
ResultOutputListFileEntity,
|
||||
ResultOutputPageOutputFileGetPageOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class FileApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags file
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/file/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputFileGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputFileGetPageOutput, any>({
|
||||
path: `/api/admin/file/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags file
|
||||
* @name Delete
|
||||
* @summary 删除
|
||||
* @request POST:/api/admin/file/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (data: FileDeleteInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/file/delete`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags file
|
||||
* @name UploadFile
|
||||
* @summary 上传文件
|
||||
* @request POST:/api/admin/file/upload-file
|
||||
* @secure
|
||||
*/
|
||||
uploadFile = (
|
||||
data: {
|
||||
/**
|
||||
* 文件
|
||||
* @format binary
|
||||
*/
|
||||
file: File
|
||||
},
|
||||
query?: {
|
||||
/**
|
||||
* 文件目录
|
||||
* @default ""
|
||||
*/
|
||||
fileDirectory?: string
|
||||
/**
|
||||
* 文件重命名
|
||||
* @default true
|
||||
*/
|
||||
fileReName?: boolean
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputFileEntity, any>({
|
||||
path: `/api/admin/file/upload-file`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.FormData,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags file
|
||||
* @name UploadFiles
|
||||
* @summary 上传多文件
|
||||
* @request POST:/api/admin/file/upload-files
|
||||
* @secure
|
||||
*/
|
||||
uploadFiles = (
|
||||
data: {
|
||||
/** 文件列表 */
|
||||
files: File[]
|
||||
},
|
||||
query?: {
|
||||
/**
|
||||
* 文件目录
|
||||
* @default ""
|
||||
*/
|
||||
fileDirectory?: string
|
||||
/**
|
||||
* 文件重命名
|
||||
* @default true
|
||||
*/
|
||||
fileReName?: boolean
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListFileEntity, any>({
|
||||
path: `/api/admin/file/upload-files`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.FormData,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
55
src/api/admin/LoginLog.ts
Normal file
@ -0,0 +1,55 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { LoginLogAddInput, PageInputLoginLogGetPageInput, ResultOutputInt64, ResultOutputPageOutputLoginLogGetPageOutput } from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class LoginLogApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags login-log
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/login-log/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputLoginLogGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputLoginLogGetPageOutput, any>({
|
||||
path: `/api/admin/login-log/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags login-log
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/login-log/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: LoginLogAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/login-log/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
254
src/api/admin/Msg.ts
Normal file
@ -0,0 +1,254 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
MsgAddInput,
|
||||
MsgAddMsgUserListInput,
|
||||
MsgUpdateInput,
|
||||
PageInputMsgGetPageInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListMsgGetMsgUserListOutput,
|
||||
ResultOutputMsgGetOutput,
|
||||
ResultOutputPageOutputMsgGetPageOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class MsgApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/msg/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputMsgGetOutput, any>({
|
||||
path: `/api/admin/msg/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/msg/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputMsgGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputMsgGetPageOutput, any>({
|
||||
path: `/api/admin/msg/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name GetMsgUserList
|
||||
* @summary 查询消息用户列表
|
||||
* @request GET:/api/admin/msg/get-msg-user-list
|
||||
* @secure
|
||||
*/
|
||||
getMsgUserList = (
|
||||
query?: {
|
||||
/**
|
||||
* 消息Id
|
||||
* @format int64
|
||||
*/
|
||||
MsgId?: number
|
||||
/** 姓名 */
|
||||
Name?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListMsgGetMsgUserListOutput, any>({
|
||||
path: `/api/admin/msg/get-msg-user-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name AddMsgUser
|
||||
* @summary 添加消息用户
|
||||
* @request POST:/api/admin/msg/add-msg-user
|
||||
* @secure
|
||||
*/
|
||||
addMsgUser = (data: MsgAddMsgUserListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/add-msg-user`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name RemoveMsgUser
|
||||
* @summary 移除消息用户
|
||||
* @request POST:/api/admin/msg/remove-msg-user
|
||||
* @secure
|
||||
*/
|
||||
removeMsgUser = (data: MsgAddMsgUserListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/remove-msg-user`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/msg/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: MsgAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/msg/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/msg/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: MsgUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/msg/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/msg/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/msg/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/msg/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
191
src/api/admin/MsgType.ts
Normal file
@ -0,0 +1,191 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
MsgTypeAddInput,
|
||||
MsgTypeUpdateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListMsgTypeGetListOutput,
|
||||
ResultOutputMsgTypeGetOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class MsgTypeApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/msg-type/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputMsgTypeGetOutput, any>({
|
||||
path: `/api/admin/msg-type/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/msg-type/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
/** 名称 */
|
||||
Name?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListMsgTypeGetListOutput, any>({
|
||||
path: `/api/admin/msg-type/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/msg-type/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: MsgTypeAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/msg-type/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/msg-type/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: MsgTypeUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg-type/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/msg-type/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg-type/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/msg-type/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg-type/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/msg-type/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg-type/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags msg-type
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/msg-type/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/msg-type/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
60
src/api/admin/OperationLog.ts
Normal file
@ -0,0 +1,60 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import {
|
||||
OperationLogAddInput,
|
||||
PageInputOperationLogGetPageInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputOperationLogGetPageOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class OperationLogApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags operation-log
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/operation-log/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputOperationLogGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputOperationLogGetPageOutput, any>({
|
||||
path: `/api/admin/operation-log/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags operation-log
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/operation-log/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: OperationLogAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/operation-log/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
172
src/api/admin/Org.ts
Normal file
@ -0,0 +1,172 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
OrgAddInput,
|
||||
OrgUpdateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListOrgGetListOutput,
|
||||
ResultOutputListOrgGetSimpleListWithPathOutput,
|
||||
ResultOutputOrgGetOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class OrgApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/org/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputOrgGetOutput, any>({
|
||||
path: `/api/admin/org/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/org/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
key?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListOrgGetListOutput, any>({
|
||||
path: `/api/admin/org/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name GetSimpleListWithPath
|
||||
* @summary 获取部门路径列表
|
||||
* @request GET:/api/admin/org/get-simple-list-with-path
|
||||
* @secure
|
||||
*/
|
||||
getSimpleListWithPath = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputListOrgGetSimpleListWithPathOutput, any>({
|
||||
path: `/api/admin/org/get-simple-list-with-path`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/org/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: OrgAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/org/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/org/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: OrgUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/org/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/org/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/org/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags org
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/org/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/org/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
}
|
350
src/api/admin/Permission.ts
Normal file
@ -0,0 +1,350 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PermissionAddDotInput,
|
||||
PermissionAddGroupInput,
|
||||
PermissionAddMenuInput,
|
||||
PermissionAssignInput,
|
||||
PermissionGetListInput,
|
||||
PermissionUpdateDotInput,
|
||||
PermissionUpdateGroupInput,
|
||||
PermissionUpdateMenuInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListInt64,
|
||||
ResultOutputListPermissionGetListOutput,
|
||||
ResultOutputListPermissionGetPermissionListOutput,
|
||||
ResultOutputPermissionGetDotOutput,
|
||||
ResultOutputPermissionGetGroupOutput,
|
||||
ResultOutputPermissionGetMenuOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class PermissionApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetGroup
|
||||
* @summary 查询分组
|
||||
* @request GET:/api/admin/permission/get-group
|
||||
* @secure
|
||||
*/
|
||||
getGroup = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPermissionGetGroupOutput, any>({
|
||||
path: `/api/admin/permission/get-group`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetMenu
|
||||
* @summary 查询菜单
|
||||
* @request GET:/api/admin/permission/get-menu
|
||||
* @secure
|
||||
*/
|
||||
getMenu = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPermissionGetMenuOutput, any>({
|
||||
path: `/api/admin/permission/get-menu`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetDot
|
||||
* @summary 查询权限点
|
||||
* @request GET:/api/admin/permission/get-dot
|
||||
* @secure
|
||||
*/
|
||||
getDot = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPermissionGetDotOutput, any>({
|
||||
path: `/api/admin/permission/get-dot`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetList
|
||||
* @summary 查询权限列表
|
||||
* @request POST:/api/admin/permission/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (data: PermissionGetListInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputListPermissionGetListOutput, any>({
|
||||
path: `/api/admin/permission/get-list`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetPermissionList
|
||||
* @summary 查询授权权限列表
|
||||
* @request GET:/api/admin/permission/get-permission-list
|
||||
* @secure
|
||||
*/
|
||||
getPermissionList = (
|
||||
query?: {
|
||||
platform?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListPermissionGetPermissionListOutput, any>({
|
||||
path: `/api/admin/permission/get-permission-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name GetRolePermissionList
|
||||
* @summary 查询角色权限列表
|
||||
* @request GET:/api/admin/permission/get-role-permission-list
|
||||
* @secure
|
||||
*/
|
||||
getRolePermissionList = (
|
||||
query?: {
|
||||
/**
|
||||
* @format int64
|
||||
* @default 0
|
||||
*/
|
||||
roleId?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListInt64, any>({
|
||||
path: `/api/admin/permission/get-role-permission-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name AddGroup
|
||||
* @summary 新增分组
|
||||
* @request POST:/api/admin/permission/add-group
|
||||
* @secure
|
||||
*/
|
||||
addGroup = (data: PermissionAddGroupInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/permission/add-group`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name AddMenu
|
||||
* @summary 新增菜单
|
||||
* @request POST:/api/admin/permission/add-menu
|
||||
* @secure
|
||||
*/
|
||||
addMenu = (data: PermissionAddMenuInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/permission/add-menu`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name AddDot
|
||||
* @summary 新增权限点
|
||||
* @request POST:/api/admin/permission/add-dot
|
||||
* @secure
|
||||
*/
|
||||
addDot = (data: PermissionAddDotInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/permission/add-dot`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name UpdateGroup
|
||||
* @summary 修改分组
|
||||
* @request PUT:/api/admin/permission/update-group
|
||||
* @secure
|
||||
*/
|
||||
updateGroup = (data: PermissionUpdateGroupInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/update-group`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name UpdateMenu
|
||||
* @summary 修改菜单
|
||||
* @request PUT:/api/admin/permission/update-menu
|
||||
* @secure
|
||||
*/
|
||||
updateMenu = (data: PermissionUpdateMenuInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/update-menu`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name UpdateDot
|
||||
* @summary 修改权限点
|
||||
* @request PUT:/api/admin/permission/update-dot
|
||||
* @secure
|
||||
*/
|
||||
updateDot = (data: PermissionUpdateDotInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/update-dot`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/permission/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/permission/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags permission
|
||||
* @name Assign
|
||||
* @summary 保存角色权限
|
||||
* @request POST:/api/admin/permission/assign
|
||||
* @secure
|
||||
*/
|
||||
assign = (data: PermissionAssignInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/permission/assign`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
347
src/api/admin/Pkg.ts
Normal file
@ -0,0 +1,347 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputPkgGetPageInput,
|
||||
PageInputPkgGetPkgTenantListInput,
|
||||
PkgAddInput,
|
||||
PkgAddPkgTenantListInput,
|
||||
PkgSetPkgPermissionsInput,
|
||||
PkgUpdateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListInt64,
|
||||
ResultOutputListPkgGetListOutput,
|
||||
ResultOutputListPkgGetPkgTenantListOutput,
|
||||
ResultOutputPageOutputPkgGetPageOutput,
|
||||
ResultOutputPageOutputPkgGetPkgTenantListOutput,
|
||||
ResultOutputPkgGetOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class PkgApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/pkg/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPkgGetOutput, any>({
|
||||
path: `/api/admin/pkg/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/pkg/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
/** 名称 */
|
||||
Name?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListPkgGetListOutput, any>({
|
||||
path: `/api/admin/pkg/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/pkg/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputPkgGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputPkgGetPageOutput, any>({
|
||||
path: `/api/admin/pkg/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name GetPkgTenantList
|
||||
* @summary 查询套餐租户列表
|
||||
* @request GET:/api/admin/pkg/get-pkg-tenant-list
|
||||
* @secure
|
||||
*/
|
||||
getPkgTenantList = (
|
||||
query?: {
|
||||
/** 租户名 */
|
||||
TenantName?: string
|
||||
/**
|
||||
* 套餐Id
|
||||
* @format int64
|
||||
*/
|
||||
PkgId?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListPkgGetPkgTenantListOutput, any>({
|
||||
path: `/api/admin/pkg/get-pkg-tenant-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name GetPkgTenantPage
|
||||
* @summary 查询套餐租户分页
|
||||
* @request POST:/api/admin/pkg/get-pkg-tenant-page
|
||||
* @secure
|
||||
*/
|
||||
getPkgTenantPage = (data: PageInputPkgGetPkgTenantListInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputPkgGetPkgTenantListOutput, any>({
|
||||
path: `/api/admin/pkg/get-pkg-tenant-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name GetPkgPermissionList
|
||||
* @summary 查询套餐权限列表
|
||||
* @request GET:/api/admin/pkg/get-pkg-permission-list
|
||||
* @secure
|
||||
*/
|
||||
getPkgPermissionList = (
|
||||
query?: {
|
||||
/**
|
||||
* 套餐编号
|
||||
* @format int64
|
||||
*/
|
||||
pkgId?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListInt64, any>({
|
||||
path: `/api/admin/pkg/get-pkg-permission-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name SetPkgPermissions
|
||||
* @summary 设置套餐权限
|
||||
* @request POST:/api/admin/pkg/set-pkg-permissions
|
||||
* @secure
|
||||
*/
|
||||
setPkgPermissions = (data: PkgSetPkgPermissionsInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/set-pkg-permissions`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name AddPkgTenant
|
||||
* @summary 添加套餐租户
|
||||
* @request POST:/api/admin/pkg/add-pkg-tenant
|
||||
* @secure
|
||||
*/
|
||||
addPkgTenant = (data: PkgAddPkgTenantListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/add-pkg-tenant`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name RemovePkgTenant
|
||||
* @summary 移除套餐租户
|
||||
* @request POST:/api/admin/pkg/remove-pkg-tenant
|
||||
* @secure
|
||||
*/
|
||||
removePkgTenant = (data: PkgAddPkgTenantListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/remove-pkg-tenant`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/pkg/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: PkgAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/pkg/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/pkg/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: PkgUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/pkg/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/pkg/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/pkg/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags pkg
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/pkg/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/pkg/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
250
src/api/admin/PrintTemplate.ts
Normal file
@ -0,0 +1,250 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputPrintTemplateGetPageInput,
|
||||
PrintTemplateAddInput,
|
||||
PrintTemplateSetEnableInput,
|
||||
PrintTemplateUpdateInput,
|
||||
PrintTemplateUpdateTemplateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputPrintTemplateGetPageOutput,
|
||||
ResultOutputPrintTemplateGetOutput,
|
||||
ResultOutputPrintTemplateGetUpdateTemplateOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class PrintTemplateApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/print-template/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPrintTemplateGetOutput, any>({
|
||||
path: `/api/admin/print-template/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name GetUpdateTemplate
|
||||
* @summary 查询修改模板
|
||||
* @request GET:/api/admin/print-template/get-update-template
|
||||
* @secure
|
||||
*/
|
||||
getUpdateTemplate = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputPrintTemplateGetUpdateTemplateOutput, any>({
|
||||
path: `/api/admin/print-template/get-update-template`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/print-template/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputPrintTemplateGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputPrintTemplateGetPageOutput, any>({
|
||||
path: `/api/admin/print-template/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/print-template/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: PrintTemplateAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/print-template/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/print-template/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: PrintTemplateUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name UpdateTemplate
|
||||
* @summary 修改模板
|
||||
* @request PUT:/api/admin/print-template/update-template
|
||||
* @secure
|
||||
*/
|
||||
updateTemplate = (data: PrintTemplateUpdateTemplateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/update-template`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name SetEnable
|
||||
* @summary 设置启用
|
||||
* @request POST:/api/admin/print-template/set-enable
|
||||
* @secure
|
||||
*/
|
||||
setEnable = (data: PrintTemplateSetEnableInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/set-enable`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/print-template/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/print-template/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/print-template/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags print-template
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/print-template/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/print-template/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
229
src/api/admin/Region.ts
Normal file
@ -0,0 +1,229 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputRegionGetPageInput,
|
||||
RegionAddInput,
|
||||
RegionGetListInput,
|
||||
RegionLevel,
|
||||
RegionSetEnableInput,
|
||||
RegionSetHotInput,
|
||||
RegionUpdateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListRegionGetChildListOutput,
|
||||
ResultOutputPageOutputRegionGetPageOutput,
|
||||
ResultOutputRegionGetOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class RegionApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/region/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputRegionGetOutput, any>({
|
||||
path: `/api/admin/region/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name GetChildList
|
||||
* @summary 查询下级列表
|
||||
* @request POST:/api/admin/region/get-child-list
|
||||
* @secure
|
||||
*/
|
||||
getChildList = (data: RegionGetListInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputListRegionGetChildListOutput, any>({
|
||||
path: `/api/admin/region/get-child-list`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/region/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputRegionGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputRegionGetPageOutput, any>({
|
||||
path: `/api/admin/region/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/region/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: RegionAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/region/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/region/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: RegionUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/region/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/region/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name SetEnable
|
||||
* @summary 设置启用
|
||||
* @request POST:/api/admin/region/set-enable
|
||||
* @secure
|
||||
*/
|
||||
setEnable = (data: RegionSetEnableInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/set-enable`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name SetHot
|
||||
* @summary 设置热门
|
||||
* @request POST:/api/admin/region/set-hot
|
||||
* @secure
|
||||
*/
|
||||
setHot = (data: RegionSetHotInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/set-hot`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags region
|
||||
* @name SyncData
|
||||
* @summary 同步数据
|
||||
* @request POST:/api/admin/region/sync-data
|
||||
* @secure
|
||||
*/
|
||||
syncData = (data: RegionLevel, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/region/sync-data`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
298
src/api/admin/Role.ts
Normal file
@ -0,0 +1,298 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputRoleGetPageInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListRoleGetListOutput,
|
||||
ResultOutputListRoleGetRoleUserListOutput,
|
||||
ResultOutputPageOutputRoleGetPageOutput,
|
||||
ResultOutputRoleGetOutput,
|
||||
RoleAddInput,
|
||||
RoleAddRoleUserListInput,
|
||||
RoleSetDataScopeInput,
|
||||
RoleUpdateInput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class RoleApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/role/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputRoleGetOutput, any>({
|
||||
path: `/api/admin/role/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request GET:/api/admin/role/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (
|
||||
query?: {
|
||||
/** 名称 */
|
||||
Name?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListRoleGetListOutput, any>({
|
||||
path: `/api/admin/role/get-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/role/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputRoleGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputRoleGetPageOutput, any>({
|
||||
path: `/api/admin/role/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name GetRoleUserList
|
||||
* @summary 查询角色用户列表
|
||||
* @request GET:/api/admin/role/get-role-user-list
|
||||
* @secure
|
||||
*/
|
||||
getRoleUserList = (
|
||||
query?: {
|
||||
/** 姓名 */
|
||||
Name?: string
|
||||
/**
|
||||
* 角色Id
|
||||
* @format int64
|
||||
*/
|
||||
RoleId?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputListRoleGetRoleUserListOutput, any>({
|
||||
path: `/api/admin/role/get-role-user-list`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name AddRoleUser
|
||||
* @summary 添加角色用户
|
||||
* @request POST:/api/admin/role/add-role-user
|
||||
* @secure
|
||||
*/
|
||||
addRoleUser = (data: RoleAddRoleUserListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/add-role-user`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name RemoveRoleUser
|
||||
* @summary 移除角色用户
|
||||
* @request POST:/api/admin/role/remove-role-user
|
||||
* @secure
|
||||
*/
|
||||
removeRoleUser = (data: RoleAddRoleUserListInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/remove-role-user`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/role/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: RoleAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/role/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/role/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: RoleUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/role/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/role/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/role/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/role/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags role
|
||||
* @name SetDataScope
|
||||
* @summary 设置数据权限
|
||||
* @request POST:/api/admin/role/set-data-scope
|
||||
* @secure
|
||||
*/
|
||||
setDataScope = (data: RoleSetDataScopeInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/role/set-data-scope`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
153
src/api/admin/Room.ts
Normal file
@ -0,0 +1,153 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
RoomAddInput,
|
||||
RoomUpdateInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputListRoomGetListOutput,
|
||||
ResultOutputRoomGetOutput,
|
||||
PageInputRoomGetPageInput,
|
||||
ResultOutputPageOutputRoomGetPageOutput
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class RoomApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/room/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputRoomGetOutput, any>({
|
||||
path: `/api/admin/room/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name GetList
|
||||
* @summary 查询分页
|
||||
* @request GET:/api/admin/room/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputRoomGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputRoomGetPageOutput, any>({
|
||||
path: `/api/admin/room/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/room/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: RoomAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/room/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/room/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: RoomUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/room/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/room/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/room/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags room
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/room/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/room/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
}
|
181
src/api/admin/SiteMsg.ts
Normal file
@ -0,0 +1,181 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputSiteMsgGetPageInput,
|
||||
ResultOutputBoolean,
|
||||
ResultOutputPageOutputSiteMsgGetPageOutput,
|
||||
ResultOutputSiteMsgGetContentOutput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class SiteMsgApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name GetContent
|
||||
* @summary 获得内容
|
||||
* @request GET:/api/admin/site-msg/get-content
|
||||
* @secure
|
||||
*/
|
||||
getContent = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputSiteMsgGetContentOutput, any>({
|
||||
path: `/api/admin/site-msg/get-content`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/site-msg/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputSiteMsgGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputSiteMsgGetPageOutput, any>({
|
||||
path: `/api/admin/site-msg/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name IsUnread
|
||||
* @summary 是否未读
|
||||
* @request GET:/api/admin/site-msg/is-unread
|
||||
* @secure
|
||||
*/
|
||||
isUnread = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputBoolean, any>({
|
||||
path: `/api/admin/site-msg/is-unread`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name SetAllRead
|
||||
* @summary 全部标为已读
|
||||
* @request POST:/api/admin/site-msg/set-all-read
|
||||
* @secure
|
||||
*/
|
||||
setAllRead = (params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/site-msg/set-all-read`,
|
||||
method: 'POST',
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name SetRead
|
||||
* @summary 标为已读
|
||||
* @request POST:/api/admin/site-msg/set-read
|
||||
* @secure
|
||||
*/
|
||||
setRead = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/site-msg/set-read`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name BatchSetRead
|
||||
* @summary 批量标为已读
|
||||
* @request POST:/api/admin/site-msg/batch-set-read
|
||||
* @secure
|
||||
*/
|
||||
batchSetRead = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/site-msg/batch-set-read`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/site-msg/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/site-msg/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags site-msg
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request POST:/api/admin/site-msg/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/site-msg/batch-soft-delete`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
287
src/api/admin/Task.ts
Normal file
@ -0,0 +1,287 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputTaskGetPageInput,
|
||||
ResultOutputPageOutputTaskGetPageOutput,
|
||||
ResultOutputString,
|
||||
ResultOutputTaskGetOutput,
|
||||
TaskAddInput,
|
||||
TaskUpdateInput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class TaskApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name GetAlerEmail
|
||||
* @summary 查询报警邮件
|
||||
* @request GET:/api/admin/task/get-aler-email
|
||||
* @secure
|
||||
*/
|
||||
getAlerEmail = (
|
||||
query?: {
|
||||
id?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/task/get-aler-email`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/task/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
id?: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputTaskGetOutput, any>({
|
||||
path: `/api/admin/task/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/task/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputTaskGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputTaskGetPageOutput, any>({
|
||||
path: `/api/admin/task/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/task/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: TaskAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/task/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/task/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: TaskUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Pause
|
||||
* @summary 暂停任务
|
||||
* @request POST:/api/admin/task/pause
|
||||
* @secure
|
||||
*/
|
||||
pause = (
|
||||
query: {
|
||||
id: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/pause`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Resume
|
||||
* @summary 启动任务
|
||||
* @request POST:/api/admin/task/resume
|
||||
* @secure
|
||||
*/
|
||||
resume = (
|
||||
query: {
|
||||
id: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/resume`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Run
|
||||
* @summary 执行任务
|
||||
* @request POST:/api/admin/task/run
|
||||
* @secure
|
||||
*/
|
||||
run = (
|
||||
query: {
|
||||
id: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/run`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name Delete
|
||||
* @summary 删除任务
|
||||
* @request DELETE:/api/admin/task/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query: {
|
||||
id: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name BatchRun
|
||||
* @summary 批量执行任务
|
||||
* @request PUT:/api/admin/task/batch-run
|
||||
* @secure
|
||||
*/
|
||||
batchRun = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/batch-run`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name BatchPause
|
||||
* @summary 批量暂停任务
|
||||
* @request PUT:/api/admin/task/batch-pause
|
||||
* @secure
|
||||
*/
|
||||
batchPause = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/batch-pause`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name BatchResume
|
||||
* @summary 批量启动任务
|
||||
* @request PUT:/api/admin/task/batch-resume
|
||||
* @secure
|
||||
*/
|
||||
batchResume = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/batch-resume`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task
|
||||
* @name BatchDelete
|
||||
* @summary 批量删除任务
|
||||
* @request PUT:/api/admin/task/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: string[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/task/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
36
src/api/admin/TaskLog.ts
Normal file
@ -0,0 +1,36 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { PageInputTaskLogGetPageInput, ResultOutputPageOutputTaskLog } from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class TaskLogApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags task-log
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/task-log/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputTaskLogGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputTaskLog, any>({
|
||||
path: `/api/admin/task-log/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
213
src/api/admin/Tenant.ts
Normal file
@ -0,0 +1,213 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInputTenantGetPageInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputTenantGetPageOutput,
|
||||
ResultOutputTenantGetOutput,
|
||||
ResultOutputTokenInfo,
|
||||
TenantAddInput,
|
||||
TenantSetEnableInput,
|
||||
TenantUpdateInput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class TenantApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/tenant/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputTenantGetOutput, any>({
|
||||
path: `/api/admin/tenant/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/tenant/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputTenantGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputTenantGetPageOutput, any>({
|
||||
path: `/api/admin/tenant/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/tenant/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: TenantAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/tenant/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/tenant/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: TenantUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/tenant/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/tenant/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/tenant/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/tenant/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/tenant/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/tenant/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/tenant/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name SetEnable
|
||||
* @summary 设置启用
|
||||
* @request POST:/api/admin/tenant/set-enable
|
||||
* @secure
|
||||
*/
|
||||
setEnable = (data: TenantSetEnableInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/tenant/set-enable`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags tenant
|
||||
* @name OneClickLogin
|
||||
* @summary 一键登录
|
||||
* @request POST:/api/admin/tenant/one-click-login
|
||||
* @secure
|
||||
*/
|
||||
oneClickLogin = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
tenantId?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/tenant/one-click-login`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
495
src/api/admin/User.ts
Normal file
@ -0,0 +1,495 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
PageInput,
|
||||
PageInputUserGetPageInput,
|
||||
ResultOutputInt64,
|
||||
ResultOutputPageOutputUserGetDeletedUserPageOutput,
|
||||
ResultOutputPageOutputUserGetPageOutput,
|
||||
ResultOutputString,
|
||||
ResultOutputTokenInfo,
|
||||
ResultOutputUserGetBasicOutput,
|
||||
ResultOutputUserGetOutput,
|
||||
ResultOutputUserGetPermissionOutput,
|
||||
UserAddInput,
|
||||
UserAddMemberInput,
|
||||
UserBatchSetOrgInput,
|
||||
UserChangePasswordInput,
|
||||
UserResetPasswordInput,
|
||||
UserRestoreInput,
|
||||
UserSetEnableInput,
|
||||
UserSetManagerInput,
|
||||
UserUpdateBasicInput,
|
||||
UserUpdateInput,
|
||||
UserUpdateMemberInput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class UserApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name Get
|
||||
* @summary 查询用户
|
||||
* @request GET:/api/admin/user/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputUserGetOutput, any>({
|
||||
path: `/api/admin/user/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name GetPage
|
||||
* @summary 查询分页
|
||||
* @request POST:/api/admin/user/get-page
|
||||
* @secure
|
||||
*/
|
||||
getPage = (data: PageInputUserGetPageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputUserGetPageOutput, any>({
|
||||
path: `/api/admin/user/get-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name GetDeletedPage
|
||||
* @summary 查询已删除分页列表
|
||||
* @request POST:/api/admin/user/get-deleted-page
|
||||
* @secure
|
||||
*/
|
||||
getDeletedPage = (data: PageInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputPageOutputUserGetDeletedUserPageOutput, any>({
|
||||
path: `/api/admin/user/get-deleted-page`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name GetBasic
|
||||
* @summary 查询用户基本信息
|
||||
* @request GET:/api/admin/user/get-basic
|
||||
* @secure
|
||||
*/
|
||||
getBasic = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputUserGetBasicOutput, any>({
|
||||
path: `/api/admin/user/get-basic`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name GetPermission
|
||||
* @summary 查询用户权限信息
|
||||
* @request GET:/api/admin/user/get-permission
|
||||
* @secure
|
||||
*/
|
||||
getPermission = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputUserGetPermissionOutput, any>({
|
||||
path: `/api/admin/user/get-permission`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name Add
|
||||
* @summary 新增用户
|
||||
* @request POST:/api/admin/user/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: UserAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/user/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name Update
|
||||
* @summary 修改用户
|
||||
* @request PUT:/api/admin/user/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: UserUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name AddMember
|
||||
* @summary 新增会员
|
||||
* @request POST:/api/admin/user/add-member
|
||||
* @secure
|
||||
*/
|
||||
addMember = (data: UserAddMemberInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/user/add-member`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name UpdateMember
|
||||
* @summary 修改会员
|
||||
* @request PUT:/api/admin/user/update-member
|
||||
* @secure
|
||||
*/
|
||||
updateMember = (data: UserUpdateMemberInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/update-member`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name UpdateBasic
|
||||
* @summary 更新用户基本信息
|
||||
* @request PUT:/api/admin/user/update-basic
|
||||
* @secure
|
||||
*/
|
||||
updateBasic = (data: UserUpdateBasicInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/update-basic`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name ChangePassword
|
||||
* @summary 修改用户密码
|
||||
* @request PUT:/api/admin/user/change-password
|
||||
* @secure
|
||||
*/
|
||||
changePassword = (data: UserChangePasswordInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/change-password`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name ResetPassword
|
||||
* @summary 重置密码
|
||||
* @request POST:/api/admin/user/reset-password
|
||||
* @secure
|
||||
*/
|
||||
resetPassword = (data: UserResetPasswordInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/user/reset-password`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name SetManager
|
||||
* @summary 设置主管
|
||||
* @request POST:/api/admin/user/set-manager
|
||||
* @secure
|
||||
*/
|
||||
setManager = (data: UserSetManagerInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/set-manager`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name SetEnable
|
||||
* @summary 设置启用
|
||||
* @request POST:/api/admin/user/set-enable
|
||||
* @secure
|
||||
*/
|
||||
setEnable = (data: UserSetEnableInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/set-enable`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name Restore
|
||||
* @summary 恢复
|
||||
* @request POST:/api/admin/user/restore
|
||||
* @secure
|
||||
*/
|
||||
restore = (data: UserRestoreInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/restore`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name BatchSetOrg
|
||||
* @summary 批量设置部门
|
||||
* @request PUT:/api/admin/user/batch-set-org
|
||||
* @secure
|
||||
*/
|
||||
batchSetOrg = (data: UserBatchSetOrgInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/batch-set-org`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name Delete
|
||||
* @summary 彻底删除用户
|
||||
* @request DELETE:/api/admin/user/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除用户
|
||||
* @request PUT:/api/admin/user/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name SoftDelete
|
||||
* @summary 删除用户
|
||||
* @request DELETE:/api/admin/user/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除用户
|
||||
* @request PUT:/api/admin/user/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name AvatarUpload
|
||||
* @summary 上传头像
|
||||
* @request POST:/api/admin/user/avatar-upload
|
||||
* @secure
|
||||
*/
|
||||
avatarUpload = (
|
||||
data: {
|
||||
/** @format binary */
|
||||
file?: File
|
||||
},
|
||||
query?: {
|
||||
/** @default false */
|
||||
autoUpdate?: boolean
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputString, any>({
|
||||
path: `/api/admin/user/avatar-upload`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.FormData,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name OneClickLogin
|
||||
* @summary 一键登录用户
|
||||
* @request GET:/api/admin/user/one-click-login
|
||||
* @secure
|
||||
*/
|
||||
oneClickLogin = (
|
||||
query: {
|
||||
userName: string
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputTokenInfo, any>({
|
||||
path: `/api/admin/user/one-click-login`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags user
|
||||
* @name ForceOffline
|
||||
* @summary 强制用户下线
|
||||
* @request POST:/api/admin/user/force-offline
|
||||
* @secure
|
||||
*/
|
||||
forceOffline = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/user/force-offline`,
|
||||
method: 'POST',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
}
|
206
src/api/admin/View.ts
Normal file
@ -0,0 +1,206 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { AxiosResponse } from 'axios'
|
||||
import {
|
||||
ResultOutputInt64,
|
||||
ResultOutputListViewGetListOutput,
|
||||
ResultOutputViewGetOutput,
|
||||
ViewAddInput,
|
||||
ViewGetListInput,
|
||||
ViewSyncInput,
|
||||
ViewUpdateInput,
|
||||
} from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class ViewApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name Get
|
||||
* @summary 查询
|
||||
* @request GET:/api/admin/view/get
|
||||
* @secure
|
||||
*/
|
||||
get = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<ResultOutputViewGetOutput, any>({
|
||||
path: `/api/admin/view/get`,
|
||||
method: 'GET',
|
||||
query: query,
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name GetList
|
||||
* @summary 查询列表
|
||||
* @request POST:/api/admin/view/get-list
|
||||
* @secure
|
||||
*/
|
||||
getList = (data: ViewGetListInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputListViewGetListOutput, any>({
|
||||
path: `/api/admin/view/get-list`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name Add
|
||||
* @summary 新增
|
||||
* @request POST:/api/admin/view/add
|
||||
* @secure
|
||||
*/
|
||||
add = (data: ViewAddInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputInt64, any>({
|
||||
path: `/api/admin/view/add`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name Update
|
||||
* @summary 修改
|
||||
* @request PUT:/api/admin/view/update
|
||||
* @secure
|
||||
*/
|
||||
update = (data: ViewUpdateInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/update`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name Delete
|
||||
* @summary 彻底删除
|
||||
* @request DELETE:/api/admin/view/delete
|
||||
* @secure
|
||||
*/
|
||||
delete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name BatchDelete
|
||||
* @summary 批量彻底删除
|
||||
* @request PUT:/api/admin/view/batch-delete
|
||||
* @secure
|
||||
*/
|
||||
batchDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/batch-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name SoftDelete
|
||||
* @summary 删除
|
||||
* @request DELETE:/api/admin/view/soft-delete
|
||||
* @secure
|
||||
*/
|
||||
softDelete = (
|
||||
query?: {
|
||||
/** @format int64 */
|
||||
id?: number
|
||||
},
|
||||
params: RequestParams = {}
|
||||
) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/soft-delete`,
|
||||
method: 'DELETE',
|
||||
query: query,
|
||||
secure: true,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name BatchSoftDelete
|
||||
* @summary 批量删除
|
||||
* @request PUT:/api/admin/view/batch-soft-delete
|
||||
* @secure
|
||||
*/
|
||||
batchSoftDelete = (data: number[], params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/batch-soft-delete`,
|
||||
method: 'PUT',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags view
|
||||
* @name Sync
|
||||
* @summary 同步
|
||||
* @request POST:/api/admin/view/sync
|
||||
* @secure
|
||||
*/
|
||||
sync = (data: ViewSyncInput, params: RequestParams = {}) =>
|
||||
this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/view/sync`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
...params,
|
||||
})
|
||||
}
|
53
src/api/admin/WebSocket.ts
Normal file
@ -0,0 +1,53 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import { ResultOutputBoolean, ResultOutputObject, WebSocketPreConnectInput } from './data-contracts'
|
||||
import { ContentType, HttpClient, RequestParams } from './http-client'
|
||||
|
||||
export class WebSocketApi<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags web-socket
|
||||
* @name PreConnect
|
||||
* @summary 获取websocket分区
|
||||
* @request POST:/api/admin/web-socket/pre-connect
|
||||
* @secure
|
||||
*/
|
||||
preConnect = (data: WebSocketPreConnectInput, params: RequestParams = {}) =>
|
||||
this.request<ResultOutputObject, any>({
|
||||
path: `/api/admin/web-socket/pre-connect`,
|
||||
method: 'POST',
|
||||
body: data,
|
||||
secure: true,
|
||||
type: ContentType.Json,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
/**
|
||||
* No description
|
||||
*
|
||||
* @tags web-socket
|
||||
* @name IsUseIm
|
||||
* @summary 是否使用im
|
||||
* @request GET:/api/admin/web-socket/is-use-im
|
||||
* @secure
|
||||
*/
|
||||
isUseIm = (params: RequestParams = {}) =>
|
||||
this.request<ResultOutputBoolean, any>({
|
||||
path: `/api/admin/web-socket/is-use-im`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
...params,
|
||||
})
|
||||
}
|
6596
src/api/admin/data-contracts.ts
Normal file
128
src/api/admin/enum-contracts.ts
Normal file
@ -0,0 +1,128 @@
|
||||
/** 账号类型 */
|
||||
export const AccountType = {
|
||||
UserName: { name: 'UserName', value: 1, desc: '账号' },
|
||||
Email: { name: 'Email', value: 2, desc: '邮箱' },
|
||||
Phone: { name: 'Phone', value: 3, desc: '手机号' },
|
||||
AAD: { name: 'AAD', value: 4, desc: 'AAD' },
|
||||
}
|
||||
|
||||
/** 密码加密类型 */
|
||||
export const PasswordEncryptType = {
|
||||
MD5Encrypt32: { name: 'MD5Encrypt32', value: 0, desc: '32位MD5加密' },
|
||||
PasswordHasher: { name: 'PasswordHasher', value: 1, desc: '标准标识密码哈希' },
|
||||
}
|
||||
|
||||
/** 用户状态 */
|
||||
export const UserStatus = {
|
||||
WaitChangePasssword: { name: 'WaitChangePasssword', value: 2, desc: '待修改密码' },
|
||||
WaitActive: { name: 'WaitActive', value: 3, desc: '待激活' },
|
||||
}
|
||||
|
||||
/** 性别 */
|
||||
export const Sex = {
|
||||
Unknown: { name: 'Unknown', value: 0, desc: '未知' },
|
||||
Male: { name: 'Male', value: 1, desc: '男' },
|
||||
Female: { name: 'Female', value: 2, desc: '女' },
|
||||
}
|
||||
|
||||
/** 角色类型 */
|
||||
export const RoleType = {
|
||||
Group: { name: 'Group', value: 1, desc: '分组' },
|
||||
Role: { name: 'Role', value: 2, desc: '角色' },
|
||||
}
|
||||
|
||||
/** 地区级别 */
|
||||
export const RegionLevel = {
|
||||
Province: { name: 'Province', value: 1, desc: '省份' },
|
||||
City: { name: 'City', value: 2, desc: '城市' },
|
||||
County: { name: 'County', value: 3, desc: '县/区' },
|
||||
Town: { name: 'Town', value: 4, desc: '镇/乡' },
|
||||
Vilage: { name: 'Vilage', value: 5, desc: '村/社区' },
|
||||
}
|
||||
|
||||
/** 权限类型 */
|
||||
export const PermissionType = {
|
||||
Group: { name: 'Group', value: 1, desc: '分组' },
|
||||
Menu: { name: 'Menu', value: 2, desc: '菜单' },
|
||||
Dot: { name: 'Dot', value: 3, desc: '权限点' },
|
||||
}
|
||||
|
||||
/** 消息状态 */
|
||||
export const MsgStatusEnum = {
|
||||
Draft: { name: 'Draft', value: 1, desc: '草稿' },
|
||||
Published: { name: 'Published', value: 2, desc: '已发布' },
|
||||
Scheduled: { name: 'Scheduled', value: 3, desc: '定时发布' },
|
||||
Revoked: { name: 'Revoked', value: 4, desc: '已撤销' },
|
||||
Archived: { name: 'Archived', value: 5, desc: '已归档' },
|
||||
}
|
||||
|
||||
/** 文档类型 */
|
||||
export const DocType = {
|
||||
Group: { name: 'Group', value: 1, desc: '分组' },
|
||||
Markdown: { name: 'Markdown', value: 2, desc: 'Markdown文档' },
|
||||
}
|
||||
|
||||
/** 缓存类型 */
|
||||
export const CacheType = {
|
||||
Memory: { name: 'Memory', value: 0, desc: '内存缓存' },
|
||||
Redis: { name: 'Redis', value: 1, desc: 'Redis缓存' },
|
||||
}
|
||||
|
||||
/** 租户类型 */
|
||||
export const TenantType = {
|
||||
Platform: { name: 'Platform', value: 1, desc: '平台' },
|
||||
Tenant: { name: 'Tenant', value: 2, desc: '租户' },
|
||||
}
|
||||
|
||||
/** 数据范围 */
|
||||
export const DataScope = {
|
||||
All: { name: 'All', value: 1, desc: '全部' },
|
||||
DeptWithChild: { name: 'DeptWithChild', value: 2, desc: '本部门和下级部门' },
|
||||
Dept: { name: 'Dept', value: 3, desc: '本部门' },
|
||||
Self: { name: 'Self', value: 4, desc: '本人数据' },
|
||||
Custom: { name: 'Custom', value: 5, desc: '指定部门' },
|
||||
}
|
||||
|
||||
/** 用户类型 */
|
||||
export const UserType = {
|
||||
Member: { name: 'Member', value: 0, desc: '会员' },
|
||||
DefaultUser: { name: 'DefaultUser', value: 1, desc: '普通用户' },
|
||||
TenantAdmin: { name: 'TenantAdmin', value: 10, desc: '租户管理员' },
|
||||
PlatformAdmin: { name: 'PlatformAdmin', value: 100, desc: '平台管理员' },
|
||||
}
|
||||
|
||||
/** 接口版本 */
|
||||
export const ApiVersion = {
|
||||
V1: { name: 'V1', value: 1, desc: 'V1 版本' },
|
||||
V2: { name: 'V2', value: 2, desc: 'V2 版本' },
|
||||
}
|
||||
|
||||
/** 内容类型 */
|
||||
export const ContentTypeEnum = {
|
||||
FormData: { name: 'FormData', value: 0, desc: '表单数据' },
|
||||
Json: { name: 'Json', value: 1, desc: 'Json格式' },
|
||||
}
|
||||
|
||||
/** 状态码枚举 */
|
||||
export const StatusCodes = {
|
||||
Status0NotOk: { name: 'Status0NotOk', value: 0, desc: '操作失败' },
|
||||
Status1Ok: { name: 'Status1Ok', value: 1, desc: '操作成功' },
|
||||
Status401Unauthorized: { name: 'Status401Unauthorized', value: 401, desc: '未登录' },
|
||||
Status403Forbidden: { name: 'Status403Forbidden', value: 403, desc: '权限不足' },
|
||||
Status404NotFound: { name: 'Status404NotFound', value: 404, desc: '资源不存在' },
|
||||
Status500InternalServerError: { name: 'Status500InternalServerError', value: 500, desc: '系统内部错误' },
|
||||
}
|
||||
|
||||
/** 排序方式 */
|
||||
export const SortOrder = {
|
||||
Asc: { name: 'Asc', value: 0, desc: '' },
|
||||
Desc: { name: 'Desc', value: 1, desc: '' },
|
||||
}
|
||||
|
||||
/** 应用程序类型 */
|
||||
export const AppType = {
|
||||
Controllers: { name: 'Controllers', value: 0, desc: '' },
|
||||
ControllersWithViews: { name: 'ControllersWithViews', value: 1, desc: '' },
|
||||
MVC: { name: 'MVC', value: 2, desc: '' },
|
||||
}
|
||||
|
465
src/api/admin/http-client.ts
Normal file
@ -0,0 +1,465 @@
|
||||
/* eslint-disable */
|
||||
/* tslint:disable */
|
||||
// @ts-nocheck
|
||||
/*
|
||||
* ---------------------------------------------------------------
|
||||
* ## THIS FILE WAS GENERATED VIA SWAGGER-TYPESCRIPT-API ##
|
||||
* ## ##
|
||||
* ## AUTHOR: acacode ##
|
||||
* ## SOURCE: https://github.com/acacode/swagger-typescript-api ##
|
||||
* ---------------------------------------------------------------
|
||||
*/
|
||||
|
||||
import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, HeadersDefaults, RawAxiosRequestHeaders, ResponseType } from 'axios'
|
||||
import { ElLoading, ElMessage, LoadingOptions } from 'element-plus'
|
||||
import { useUserInfo } from '/@/stores/userInfo'
|
||||
|
||||
export type QueryParamsType = Record<string | number, any>
|
||||
|
||||
export interface FullRequestParams extends Omit<AxiosRequestConfig, 'data' | 'params' | 'url' | 'responseType'> {
|
||||
/** set parameter to `true` for call `securityWorker` for this request */
|
||||
secure?: boolean
|
||||
/** request path */
|
||||
path: string
|
||||
/** content type of request body */
|
||||
type?: ContentType
|
||||
/** query params */
|
||||
query?: QueryParamsType
|
||||
/** format of response (i.e. response.json() -> format: "json") */
|
||||
format?: ResponseType
|
||||
/** request body */
|
||||
body?: unknown
|
||||
/** 显示错误消息 */
|
||||
showErrorMessage?: boolean
|
||||
/** 显示成功消息 */
|
||||
showSuccessMessage?: boolean
|
||||
/** 登录访问 */
|
||||
login?: boolean
|
||||
/** 加载中 */
|
||||
loading?: boolean
|
||||
/** 加载中选项 */
|
||||
loadingOptions?: LoadingOptions
|
||||
/** 取消重复请求 */
|
||||
cancelRepeatRequest?: boolean
|
||||
/** 返回整个响应对象 */
|
||||
returnResponse?: boolean
|
||||
}
|
||||
|
||||
export type RequestParams = Omit<FullRequestParams, 'body' | 'method' | 'query' | 'path'>
|
||||
|
||||
export interface ApiConfig<SecurityDataType = unknown> extends Omit<AxiosRequestConfig, 'data' | 'cancelToken'> {
|
||||
securityWorker?: (securityData: SecurityDataType | null) => Promise<AxiosRequestConfig | void> | AxiosRequestConfig | void
|
||||
secure?: boolean
|
||||
format?: ResponseType
|
||||
}
|
||||
|
||||
export enum ContentType {
|
||||
Json = 'application/json',
|
||||
FormData = 'multipart/form-data',
|
||||
UrlEncoded = 'application/x-www-form-urlencoded',
|
||||
Text = 'text/plain',
|
||||
}
|
||||
|
||||
export interface LoadingInstance {
|
||||
target: any
|
||||
count: number
|
||||
}
|
||||
|
||||
const pendingMap = new Map()
|
||||
|
||||
const loadingInstance: LoadingInstance = {
|
||||
target: null,
|
||||
count: 0,
|
||||
}
|
||||
|
||||
export class HttpClient<SecurityDataType = unknown> {
|
||||
public instance: AxiosInstance
|
||||
private securityData: SecurityDataType | null = null
|
||||
private securityWorker?: ApiConfig<SecurityDataType>['securityWorker']
|
||||
private secure?: boolean
|
||||
private format?: ResponseType
|
||||
|
||||
constructor({ securityWorker, secure, format, ...axiosConfig }: ApiConfig<SecurityDataType> = {}) {
|
||||
this.instance = axios.create({ ...axiosConfig, timeout: 60000, baseURL: axiosConfig.baseURL || import.meta.env.VITE_API_URL })
|
||||
this.secure = secure
|
||||
this.format = format
|
||||
this.securityWorker = securityWorker
|
||||
}
|
||||
|
||||
public setSecurityData = (data: SecurityDataType | null) => {
|
||||
this.securityData = data
|
||||
}
|
||||
|
||||
protected mergeRequestParams(params1: AxiosRequestConfig, params2?: AxiosRequestConfig): AxiosRequestConfig {
|
||||
const method = params1.method || (params2 && params2.method)
|
||||
|
||||
return {
|
||||
...this.instance.defaults,
|
||||
...params1,
|
||||
...(params2 || {}),
|
||||
headers: {
|
||||
...((method && this.instance.defaults.headers[method.toLowerCase() as keyof HeadersDefaults]) || {}),
|
||||
...(params1.headers || {}),
|
||||
...((params2 && params2.headers) || {}),
|
||||
} as RawAxiosRequestHeaders,
|
||||
}
|
||||
}
|
||||
|
||||
protected stringifyFormItem(formItem: unknown) {
|
||||
if (typeof formItem === 'object' && formItem !== null) {
|
||||
return JSON.stringify(formItem)
|
||||
} else {
|
||||
return `${formItem}`
|
||||
}
|
||||
}
|
||||
|
||||
protected createFormData(input: Record<string, unknown>): FormData {
|
||||
return Object.keys(input || {}).reduce((formData, key) => {
|
||||
const property = input[key]
|
||||
const propertyContent: any[] = property instanceof Array ? property : [property]
|
||||
|
||||
for (const formItem of propertyContent) {
|
||||
const isFileType = formItem instanceof Blob || formItem instanceof File
|
||||
formData.append(key, isFileType ? formItem : this.stringifyFormItem(formItem))
|
||||
}
|
||||
|
||||
return formData
|
||||
}, new FormData())
|
||||
}
|
||||
|
||||
/**
|
||||
* 错误处理
|
||||
* @param {*} error
|
||||
*/
|
||||
protected errorHandle(error: any) {
|
||||
if (!error) {
|
||||
return
|
||||
}
|
||||
if (axios.isCancel(error)) return console.error('请求重复已被自动取消:' + error.message)
|
||||
let message = ''
|
||||
if (error.response) {
|
||||
switch (error.response.status) {
|
||||
case 302:
|
||||
message = '接口重定向'
|
||||
break
|
||||
case 400:
|
||||
message = '参数不正确'
|
||||
break
|
||||
case 401:
|
||||
message = '您还没有登录'
|
||||
break
|
||||
case 403:
|
||||
message = '您没有权限操作'
|
||||
break
|
||||
case 404:
|
||||
message = '请求地址出错:' + error.response.config.url
|
||||
break
|
||||
case 408:
|
||||
message = '请求超时'
|
||||
break
|
||||
case 409:
|
||||
message = '系统已存在相同数据'
|
||||
break
|
||||
case 429:
|
||||
message = '访问过于频繁'
|
||||
break
|
||||
case 500:
|
||||
message = '服务器内部错误'
|
||||
break
|
||||
case 501:
|
||||
message = '服务未实现'
|
||||
break
|
||||
case 502:
|
||||
message = '网关错误'
|
||||
break
|
||||
case 503:
|
||||
message = '服务不可用'
|
||||
break
|
||||
case 504:
|
||||
message = '服务暂时无法访问,请稍后再试'
|
||||
break
|
||||
case 505:
|
||||
message = 'HTTP版本不受支持'
|
||||
break
|
||||
default:
|
||||
message = '异常问题,请联系网站管理员'
|
||||
break
|
||||
}
|
||||
}
|
||||
if (error.message.includes('timeout')) message = '请求超时'
|
||||
if (error.message.includes('Network')) message = window.navigator.onLine ? '服务端异常' : '您已断网'
|
||||
|
||||
if (message) {
|
||||
ElMessage.error({ message, grouping: true })
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新token接口
|
||||
* @param string refreshToken
|
||||
*/
|
||||
protected async refreshApi(refreshToken: string) {
|
||||
return this.request<AxiosResponse, any>({
|
||||
path: `/api/admin/auth/refresh`,
|
||||
method: 'GET',
|
||||
secure: true,
|
||||
format: 'json',
|
||||
login: false,
|
||||
query: {
|
||||
token: refreshToken,
|
||||
},
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 刷新token
|
||||
* @param {*} config
|
||||
*/
|
||||
protected async refreshToken(config: any) {
|
||||
const storesUseUserInfo = useUserInfo()
|
||||
const token = storesUseUserInfo.getToken()
|
||||
if (!token) {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(config)
|
||||
}
|
||||
|
||||
if (window.tokenRefreshing) {
|
||||
window.requests = window.requests ? window.requests : []
|
||||
return new Promise((resolve) => {
|
||||
window.requests.push(() => {
|
||||
resolve(this.instance(config))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
window.tokenRefreshing = true
|
||||
|
||||
return this.refreshApi(token)
|
||||
.then((res) => {
|
||||
if (res?.success) {
|
||||
storesUseUserInfo.setTokenInfo(res.data)
|
||||
if (window.requests?.length > 0) {
|
||||
window.requests.forEach((apiRequest) => apiRequest())
|
||||
window.requests = []
|
||||
}
|
||||
return this.instance(config)
|
||||
} else {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(res)
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(error)
|
||||
})
|
||||
.finally(() => {
|
||||
window.tokenRefreshing = false
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 储存每个请求的唯一cancel回调, 以此为标识
|
||||
*/
|
||||
protected addPending(config: AxiosRequestConfig) {
|
||||
const pendingKey = this.getPendingKey(config)
|
||||
config.cancelToken =
|
||||
config.cancelToken ||
|
||||
new axios.CancelToken((cancel) => {
|
||||
if (!pendingMap.has(pendingKey)) {
|
||||
pendingMap.set(pendingKey, cancel)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除重复的请求
|
||||
*/
|
||||
protected removePending(config: AxiosRequestConfig) {
|
||||
const pendingKey = this.getPendingKey(config)
|
||||
if (pendingMap.has(pendingKey)) {
|
||||
const cancelToken = pendingMap.get(pendingKey)
|
||||
cancelToken(pendingKey)
|
||||
pendingMap.delete(pendingKey)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成每个请求的唯一key
|
||||
*/
|
||||
protected getPendingKey(config: AxiosRequestConfig) {
|
||||
let { data, headers } = config
|
||||
headers = headers as RawAxiosRequestHeaders
|
||||
const { url, method, params } = config
|
||||
if (typeof data === 'string') data = JSON.parse(data)
|
||||
return [url, method, headers && headers.Authorization ? headers.Authorization : '', JSON.stringify(params), JSON.stringify(data)].join('&')
|
||||
}
|
||||
|
||||
/**
|
||||
* 关闭Loading层实例
|
||||
*/
|
||||
protected closeLoading(loading: boolean = false) {
|
||||
if (loading && loadingInstance.count > 0) loadingInstance.count--
|
||||
if (loadingInstance.count === 0) {
|
||||
loadingInstance.target.close()
|
||||
loadingInstance.target = null
|
||||
}
|
||||
}
|
||||
|
||||
public request = async <T = any, _E = any>({
|
||||
secure,
|
||||
path,
|
||||
type,
|
||||
query,
|
||||
format,
|
||||
body,
|
||||
showErrorMessage = true,
|
||||
showSuccessMessage = false,
|
||||
login = true,
|
||||
loading = false,
|
||||
loadingOptions = {
|
||||
background: 'rgba(0,0,0,0.5)',
|
||||
},
|
||||
cancelRepeatRequest = false,
|
||||
returnResponse = false,
|
||||
...params
|
||||
}: FullRequestParams): Promise<T> => {
|
||||
const secureParams =
|
||||
((typeof secure === 'boolean' ? secure : this.secure) && this.securityWorker && (await this.securityWorker(this.securityData))) || {}
|
||||
const requestParams = this.mergeRequestParams(params, secureParams)
|
||||
const responseFormat = format || this.format || undefined
|
||||
|
||||
if (type === ContentType.FormData && body && body !== null && typeof body === 'object') {
|
||||
body = this.createFormData(body as Record<string, unknown>)
|
||||
}
|
||||
|
||||
if (type === ContentType.Text && body && body !== null && typeof body !== 'string') {
|
||||
body = JSON.stringify(body)
|
||||
}
|
||||
|
||||
// 请求拦截
|
||||
this.instance.interceptors.request.use(
|
||||
async (config) => {
|
||||
this.removePending(config)
|
||||
cancelRepeatRequest && this.addPending(config)
|
||||
|
||||
if (loading) {
|
||||
loadingInstance.count++
|
||||
if (loadingInstance.count === 1) {
|
||||
loadingInstance.target = ElLoading.service(loadingOptions)
|
||||
}
|
||||
}
|
||||
|
||||
const storesUseUserInfo = useUserInfo()
|
||||
const tokenInfo = storesUseUserInfo.getTokenInfo()
|
||||
|
||||
if (tokenInfo && tokenInfo.accessToken) {
|
||||
// 判断 accessToken 是否快失效
|
||||
const now = new Date().getTime()
|
||||
const expiresAt = new Date(tokenInfo.accessTokenExpiresAt).getTime()
|
||||
const maxThreshold = tokenInfo.accessTokenLifeTime * 0.5
|
||||
// 确保阈值不超过 5 分钟且不超过 accessTokenLifeTime 的一半
|
||||
const threshold = Math.min(5 * 60 * 1000, maxThreshold)
|
||||
if (expiresAt - now < threshold) {
|
||||
//加锁
|
||||
if (!window.tokenRefreshing) {
|
||||
window.tokenRefreshing = true
|
||||
try {
|
||||
const res = await this.refreshApi(tokenInfo.accessToken)
|
||||
if (res?.success) {
|
||||
storesUseUserInfo.setTokenInfo(res.data)
|
||||
//处理等待队列中的请求
|
||||
if (window.requests?.length > 0) {
|
||||
window.requests.forEach((apiRequest) => apiRequest())
|
||||
window.requests = []
|
||||
}
|
||||
} else {
|
||||
storesUseUserInfo.clear()
|
||||
return Promise.reject(res)
|
||||
}
|
||||
} catch (error) {
|
||||
// 清空等待队列
|
||||
window.requests = []
|
||||
return Promise.reject(error)
|
||||
} finally {
|
||||
// 解锁
|
||||
window.tokenRefreshing = false
|
||||
}
|
||||
} else {
|
||||
// 如果正在刷新,则将当前请求加入等待队列
|
||||
if (config.url !== '/api/admin/auth/refresh') {
|
||||
window.requests = window.requests ? window.requests : []
|
||||
return new Promise((resolve) => {
|
||||
window.requests.push(() => {
|
||||
resolve(this.instance(config))
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const accessToken = storesUseUserInfo.getToken()
|
||||
config.headers!['Authorization'] = `Bearer ${accessToken}`
|
||||
return config
|
||||
},
|
||||
(error) => {
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
// 响应拦截
|
||||
this.instance.interceptors.response.use(
|
||||
(res) => {
|
||||
this.removePending(res.config)
|
||||
loading && this.closeLoading(loading)
|
||||
|
||||
if (res.config?.responseType == 'blob') {
|
||||
return res
|
||||
}
|
||||
|
||||
const data = res.data
|
||||
if (data.success) {
|
||||
if (showSuccessMessage) {
|
||||
ElMessage.success({ message: data.msg ? data.msg : '操作成功', grouping: true })
|
||||
}
|
||||
} else {
|
||||
if (showErrorMessage) {
|
||||
ElMessage.error({ message: data.msg ? data.msg : '操作失败', grouping: true })
|
||||
}
|
||||
// return Promise.reject(res)
|
||||
}
|
||||
|
||||
return res
|
||||
},
|
||||
async (error) => {
|
||||
error.config && this.removePending(error.config)
|
||||
loading && this.closeLoading(loading)
|
||||
|
||||
//刷新token
|
||||
if (login && error?.response?.status === 401) {
|
||||
return this.refreshToken(error.config)
|
||||
}
|
||||
|
||||
//错误处理
|
||||
if (showErrorMessage) {
|
||||
this.errorHandle(error)
|
||||
}
|
||||
|
||||
return Promise.reject(error)
|
||||
}
|
||||
)
|
||||
|
||||
return this.instance
|
||||
.request({
|
||||
...requestParams,
|
||||
headers: {
|
||||
...(requestParams.headers || {}),
|
||||
...(type && type !== ContentType.FormData ? { 'Content-Type': type } : {}),
|
||||
} as RawAxiosRequestHeaders,
|
||||
params: query,
|
||||
responseType: responseFormat,
|
||||
data: body,
|
||||
url: path,
|
||||
})
|
||||
.then((response) => (returnResponse ? response : response.data))
|
||||
}
|
||||
}
|
9
src/assets/icons/bottom.svg
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649432954"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1700"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M195 131.2c-11 0-20 9-20 20v619.2c0 11 9 20 20 20s20-9 20-20V151.2c0-11-8.9-20-20-20zM513 429.9c-11 0-20 9-20 20v320.5c0 11 9 20 20 20s20-9 20-20V449.9c0-11-8.9-20-20-20zM831.1 271.1c-11 0-20 9-20 20v479.4c0 11 9 20 20 20s20-9 20-20V291.1c0-11.1-9-20-20-20z"
|
||||
p-id="1701"></path>
|
||||
<path d="M968 897.7H58.1c-11 0-20 9-20 20s9 20 20 20H968c11 0 20-9 20-20s-9-20-20-20z" p-id="1702"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 741 B |
1
src/assets/icons/customSize.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742746024557" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1618" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M99.29697 844.024242h825.40606v80.678788H99.29697zM37.236364 757.139394h31.030303c18.618182 0 24.824242 6.206061 24.824242 24.824242v198.59394c0 18.618182-6.206061 24.824242-24.824242 24.824242H37.236364c-18.618182 0-24.824242-6.206061-24.824243-24.824242v-198.59394c0-12.412121 12.412121-24.824242 24.824243-24.824242z m0 0" p-id="1619"></path><path d="M949.527273 757.139394h31.030303c18.618182 0 24.824242 6.206061 24.824242 24.824242v198.59394c0 18.618182-6.206061 24.824242-24.824242 24.824242h-31.030303c-18.618182 0-24.824242-6.206061-24.824243-24.824242v-198.59394c0-12.412121 6.206061-24.824242 24.824243-24.824242z m0 0M477.866667 645.430303l434.424242-434.424242c12.412121-12.412121 12.412121-24.824242 0-37.236364L763.345455 24.824242c-12.412121-12.412121-24.824242-12.412121-37.236364 0l-434.424243 440.630303-6.20606 6.206061-31.030303 173.769697c0 6.206061 0 18.618182 6.20606 24.824242 6.206061 6.206061 12.412121 6.206061 24.824243 6.206061l179.975757-24.824242c6.206061 0 12.412121 0 12.412122-6.206061z m0 0" p-id="1620"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
8
src/assets/icons/distributeHor.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649639774"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1436"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M179.2 569.6h268.8v-96h-268.8v-140.8l-179.2 192 179.2 192v-147.2z m844.8-44.8l-179.2-192v140.8H576v96h268.8v140.8l179.2-185.6z m-896-384h768v128h64v-192h-896v192h64v-128z m768 768h-768v-128h-64v192h896v-192h-64v128z"
|
||||
p-id="1437"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 590 B |
8
src/assets/icons/distributeVer.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649643706"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1593"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M461.118012 178.086957l0 267.13043401 95.403727-1e-8 0-267.130434 139.925466 0-190.807453-178.086957-190.807454 178.086957 146.285714 0z m50.881988 833.192546l190.807453-178.086956-139.925465 1e-8 0-267.130435-95.403727-1e-8L467.478261 833.192547l-139.92546601 0 184.44720501 178.086956z m381.614907-884.074534l0 763.229814-127.204969 1e-8 0 63.60248399 190.807453 0 0-890.434783-190.807453 0 0 63.602485 127.204969 0z m-763.229814 763.229814l0-763.229814 127.204969 0 0-63.602485-190.807453 0 0 890.434783 190.807453 0 0-63.60248399-127.204969-1e-8z"
|
||||
p-id="1594"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 925 B |
11
src/assets/icons/export.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742820587871"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1618"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M606.71 838.93a4.87 4.87 0 0 1-4.92 4.92H173a4.87 4.87 0 0 1-4.92-4.92V172.25a4.87 4.87 0 0 1 4.92-4.92h428.79a4.87 4.87 0 0 1 4.92 4.92v102.89h60.52V172.25a65.51 65.51 0 0 0-65.44-65.44H173a65.51 65.51 0 0 0-65.44 65.44v666.68A65.51 65.51 0 0 0 173 904.37h428.79a65.51 65.51 0 0 0 65.44-65.44V714.1h-60.52z"
|
||||
p-id="1619"></path>
|
||||
<path
|
||||
d="M712.04 294.25l-40.07 45.37 153.78 135.8H438.76v60.53h379.32L673.33 649.44l37.35 47.63 242.32-190-240.96-212.82z"
|
||||
p-id="1620"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 835 B |
8
src/assets/icons/horizontal.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649406972"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1502"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M1012.622222 512c0 17.066667-17.066667 34.133333-34.133333 34.133333h-261.688889v147.911111c0 17.066667-17.066667 34.133333-34.133333 34.133334s-34.133333-17.066667-34.133334-34.133334V546.133333H375.466667v335.644445c0 17.066667-17.066667 34.133333-34.133334 34.133333s-34.133333-17.066667-34.133333-34.133333V546.133333H45.511111C22.755556 546.133333 11.377778 529.066667 11.377778 512s17.066667-34.133333 34.133333-34.133333h267.377778V125.155556c0-17.066667 17.066667-34.133333 34.133333-34.133334s34.133333 17.066667 34.133334 34.133334v352.711111h273.066666V324.266667c0-17.066667 17.066667-34.133333 34.133334-34.133334s34.133333 17.066667 34.133333 34.133334v153.6h261.688889c17.066667 0 28.444444 17.066667 28.444444 34.133333z"
|
||||
p-id="1503"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
src/assets/icons/hot.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1714459829707" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2536" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M702.08 558.72a469.12 469.12 0 0 0-50.56-210.56 776.64 776.64 0 0 0-105.6-186.56A778.24 778.24 0 0 0 467.2 86.4c-10.88-9.6-37.76-27.2-58.88-44.16S384 28.16 384 50.88c22.72 248-217.92 433.28-261.44 540.16-83.2 208.32 27.2 366.4 224 397.12 26.24 4.16 29.44-4.8 9.92-20.16a192 192 0 0 1-75.52-224c29.44-86.08 103.04-111.04 131.52-250.56 4.48-22.4 22.08-27.52 40.64-11.2a768 768 0 0 1 173.44 234.88c25.92 74.88 38.4 151.36-101.44 248.96-20.48 14.4 8.64 27.52 35.2 24.96C746.88 972.8 930.56 800 928 653.44c0-53.76-51.2-168-112.32-256-13.76-19.52-28.8-16.32-32 6.4-6.08 64-8.32 110.72-56 164.16-15.04 18.88-26.88 13.44-25.6-9.28z" p-id="2537"></path></svg>
|
After Width: | Height: | Size: 958 B |
1
src/assets/icons/json.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742741578617" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1588" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M355.398 139.327c-15.858 0-30.395 2.643-43.611 7.929-18.501 10.572-33.699 24.448-45.593 41.628-11.894 17.18-17.841 37.664-17.841 61.451v99.115c0 15.858-1.322 31.717-3.965 47.575-2.643 15.858-6.608 30.395-11.894 43.611-13.215 29.074-31.717 52.861-55.504 71.363 23.788 18.501 42.289 42.289 55.504 71.363 5.286 13.215 9.251 27.752 11.894 43.611 2.643 15.858 3.965 31.717 3.965 47.575v99.115c0 15.858 2.643 30.395 7.929 43.611 5.286 13.215 12.555 25.109 21.805 35.681 9.251 10.572 20.484 18.502 33.699 23.788 13.215 5.286 27.752 7.929 43.611 7.929h7.929V960h-7.929c-23.788-2.643-46.254-7.929-67.398-15.858s-40.307-20.484-57.487-37.664-29.735-36.342-37.664-57.487c-7.929-21.145-13.215-40.968-15.858-59.469v-3.965a254.735 254.735 0 0 1 0-63.434V658.69c0-15.858-2.643-30.395-7.929-43.611-5.286-13.215-13.215-23.788-23.788-31.717v-3.965c-7.929-7.929-18.501-14.537-31.717-19.823v-3.965c-13.215-5.286-27.752-7.929-43.611-7.929H65.98v-71.363h3.965c15.858 0 30.395-2.643 43.611-7.929 26.431-13.215 44.932-33.038 55.504-59.469 5.286-13.215 7.929-27.752 7.929-43.611v-63.434a254.735 254.735 0 0 1 0-63.434c2.643-21.145 7.929-42.289 15.858-63.434 7.929-21.145 19.823-40.307 35.681-57.487s35.021-30.395 57.487-39.646S331.611 64 355.398 64h7.929v75.327h-7.929z m309.239 745.346c15.858 0 30.395-2.643 43.611-7.929 18.501-10.572 33.699-24.448 45.593-41.628s17.841-37.664 17.841-61.451V674.55c0-15.858 1.322-31.717 3.965-47.575 2.643-15.858 6.608-30.395 11.894-43.611 13.215-29.074 31.717-52.861 55.504-71.363-23.788-18.501-42.289-42.289-55.504-71.363-5.286-13.215-9.251-27.752-11.894-43.611-2.643-15.858-3.965-31.717-3.965-47.575v-99.115c0-15.858-2.643-30.395-7.929-43.611-5.286-13.215-12.555-25.109-21.805-35.681-9.251-10.572-20.484-18.501-33.699-23.788s-27.752-7.929-43.611-7.929h-3.965V67.965h3.965c23.788-2.643 46.254 0.661 67.398 9.912s40.307 22.466 57.487 39.646 29.735 36.342 37.664 57.487c7.929 21.145 13.215 40.968 15.858 59.469v3.965a254.735 254.735 0 0 1 0 63.434v63.434c0 15.858 2.643 30.395 7.929 43.611 5.286 13.215 13.215 23.788 23.788 31.717v3.965c7.929 7.929 18.502 14.537 31.717 19.823v3.965c13.215 5.286 27.752 7.929 43.611 7.929h7.929v71.363h-7.929c-15.858 0-30.395 2.643-43.611 7.929-26.431 13.215-44.932 33.038-55.504 59.469-5.286 13.215-7.929 27.752-7.929 43.611v63.434a254.735 254.735 0 0 1 0 63.434c-2.643 23.788-7.929 44.932-15.858 63.434-7.929 21.145-20.484 40.307-37.664 57.487s-36.342 29.734-57.487 37.664-43.611 11.894-67.398 11.894h-3.965v-71.363h3.963z" p-id="1589"></path></svg>
|
After Width: | Height: | Size: 2.8 KiB |
11
src/assets/icons/left.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649422234"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1376"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M926.2 225.9H277c-11.5 0-20.9-9.4-20.9-20.9 0-11.5 9.4-20.9 20.9-20.9h649.2c11.5 0 20.9 9.4 20.9 20.9 0 11.5-9.3 20.9-20.9 20.9zM613.1 540.7H277c-11.5 0-20.9-9.4-20.9-20.9 0-11.5 9.4-20.9 20.9-20.9h336c11.5 0 20.9 9.4 20.9 20.9 0.1 11.6-9.3 20.9-20.8 20.9zM779.6 855.6H277c-11.5 0-20.9-9.4-20.9-20.9 0-11.5 9.4-20.9 20.9-20.9h502.6c11.5 0 20.9 9.4 20.9 20.9 0 11.5-9.3 20.9-20.9 20.9z"
|
||||
p-id="1377"></path>
|
||||
<path
|
||||
d="M116 987c-11.5 0-20.9-9.4-20.9-20.9V73.6c0-11.5 9.4-20.9 20.9-20.9s20.9 9.4 20.9 20.9v892.5c0 11.5-9.3 20.9-20.9 20.9z"
|
||||
p-id="1378"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 918 B |
8
src/assets/icons/more.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1747576403127"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1799"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path
|
||||
d="M448 191.004444a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m0 320a64 64 0 1 0 128 0 64 64 0 0 0-128 0z m0 320a64 64 0 1 0 128 0 64 64 0 0 0-128 0z"
|
||||
fill-opacity=".65" p-id="1800"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 511 B |
1
src/assets/icons/qq.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1727688134168" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8813" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16"><path d="M135.72096 579.80928c-31.86688 76.7488-37.09952 149.9648-11.43296 163.584 17.63328 9.49248 45.3632-12.032 71.2704-51.44576 10.3424 42.93632 35.64032 81.73568 71.8848 112.9984-38.0672 14.35136-62.87872 37.82144-62.87872 64.34304 0 43.65824 67.25632 78.93504 150.21056 78.93504 74.8032 0 136.832-28.70784 148.26496-66.4064a426.30656 426.30656 0 0 1 17.87904 0c11.43808 37.69856 73.58976 66.4064 148.39296 66.4064 82.944 0 150.21056-35.39456 150.21056-78.93504 0-26.5216-24.81152-49.99168-62.88384-64.34816 36.2496-31.1296 61.66528-70.05696 71.8848-112.99328 25.9072 39.40864 53.51424 60.81536 71.15264 51.45088 25.66144-13.6192 20.55168-86.9632-11.43808-163.58912-25.04704-60.32896-59.1104-104.72448-85.0176-114.58048 0.36864-3.76832 0.60928-7.7824 0.60928-11.55072 0-23.23456-6.31808-44.88192-17.152-62.39744 0.24576-1.33632 0.24576-2.79552 0.24576-4.13696 0-10.7008-2.55488-20.79744-6.8096-29.43488-6.56896-156.7744-106.42432-281.20576-268.07296-281.20576S250.4192 200.9344 243.968 357.71392a67.56864 67.56864 0 0 0-6.8096 29.43488c0 1.3312 0.12288 2.79552 0.12288 4.13184-10.7008 17.51552-17.02912 39.04512-17.02912 62.39744 0 3.8912 0.12288 7.65952 0.4864 11.55584-25.78432 9.85088-59.96544 54.2464-85.0176 114.57536z" p-id="8814"></path></svg>
|
After Width: | Height: | Size: 1.5 KiB |
1
src/assets/icons/recycle.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1745160499480" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1739" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M927.232 224.256h-200.704V160.768c0-52.736-42.496-95.744-95.232-95.744H393.216c-52.736 0-95.744 43.008-95.744 95.744v64H96.768c-17.408 0-31.744 14.336-31.744 31.744 0 17.92 14.336 31.744 31.744 31.744H926.72c17.408 0 31.744-14.336 31.744-31.744 0.512-17.92-13.312-32.256-31.232-32.256zM361.472 160.768c0-17.408 14.336-31.744 31.744-31.744h238.08c17.408 0 31.232 13.824 31.232 31.744v64H361.472V160.768zM757.76 958.976H266.752c-57.856 0-104.96-43.008-104.96-95.744V383.488c-0.512-11.776 6.144-22.528 16.896-28.672s24.576-6.144 35.84 0c10.752 6.144 17.408 16.896 16.896 28.672v479.232c0 17.408 15.872 31.744 34.816 31.744h491.52c9.216 0 18.432-3.584 24.576-9.216 6.656-6.144 10.24-14.336 10.24-22.528V385.024c-0.512-11.776 6.144-22.528 16.896-28.672s24.576-6.144 35.84 0c10.752 6.144 17.408 16.896 16.896 28.672v478.208c0.512 52.736-46.592 95.744-104.448 95.744z" p-id="1740"></path><path d="M496.64 788.992l3.584-90.624s-97.792-3.584-116.224-6.656c-5.12 6.656-24.576 54.784-13.824 73.728 5.632 9.728 12.8 19.456 25.088 22.016l101.376 7.168v-5.632z m-140.8-53.76c5.12-47.104 59.392-110.08 59.392-110.08l35.328 22.528-43.52-93.184-103.936-4.096 33.792 20.992s-18.944 30.72-27.648 46.08c-8.704 15.36 1.024 29.696 1.024 29.696l45.568 88.064z m314.88-198.656l-78.848 41.984s45.568 88.064 52.224 105.984c8.192 1.536 58.88-5.632 69.632-24.576 5.632-9.728 10.24-20.992 6.144-33.28l-44.544-93.184-4.608 3.072z m24.576 151.552c-42.496 18.944-122.88 2.56-122.88 2.56l1.536-42.496-57.344 84.992 48.64 94.208 1.024-40.448s35.328 1.536 52.736 1.024c17.408 0 24.576-15.36 24.576-15.36l51.712-84.48z m-325.12-179.2l75.264 48.64s52.224-84.48 64-99.328c-3.072-8.192-34.304-49.152-55.296-49.152-11.264 0-23.04 1.536-31.232 11.264L365.568 505.856l4.608 3.072z m115.712-97.28c37.376 28.16 64 107.52 64 107.52l-36.864 19.968 100.864 8.192 55.808-90.112-34.816 19.456s-16.384-32.256-25.6-47.104c-8.704-15.36-25.6-13.824-25.6-13.824l-97.792-4.096z" p-id="1741"></path></svg>
|
After Width: | Height: | Size: 2.2 KiB |
11
src/assets/icons/right.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649426690"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1538"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M101.8 225.9H751c11.5 0 20.9-9.4 20.9-20.9 0-11.5-9.4-20.9-20.9-20.9H101.8c-11.5 0-20.9 9.4-20.9 20.9 0 11.5 9.3 20.9 20.9 20.9zM414.9 540.7h336c11.5 0 20.9-9.4 20.9-20.9 0-11.5-9.4-20.9-20.9-20.9h-336c-11.5 0-20.9 9.4-20.9 20.9 0 11.6 9.4 20.9 20.9 20.9zM248.4 855.6H751c11.5 0 20.9-9.4 20.9-20.9 0-11.5-9.4-20.9-20.9-20.9H248.4c-11.5 0-20.9 9.4-20.9 20.9 0 11.5 9.3 20.9 20.9 20.9z"
|
||||
p-id="1539"></path>
|
||||
<path
|
||||
d="M912 987c11.5 0 20.9-9.4 20.9-20.9V73.6c0-11.5-9.4-20.9-20.9-20.9-11.5 0-20.9 9.4-20.9 20.9v892.5c0 11.5 9.3 20.9 20.9 20.9z"
|
||||
p-id="1540"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 923 B |
11
src/assets/icons/rotate.svg
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742658243556"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1467"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M785.792 949.888V339.541333H42.666667v610.346667h743.125333zM85.333333 382.208h657.749334v524.970667H85.333333V382.208z"
|
||||
p-id="1468"></path>
|
||||
<path
|
||||
d="M638.08 245.76l-102.954667-75.221333 72.149334-107.477334 32.170666 23.509334-32.256 48.128c128.597333-35.328 269.013333 21.504 338.773334 147.541333a327.082667 327.082667 0 0 1 24.405333 259.456h-41.813333a285.525333 285.525333 0 0 0 16.725333-135.594667 282.197333 282.197333 0 0 0-33.365333-103.381333A269.226667 269.226667 0 0 0 842.666667 221.013333a258.176 258.176 0 0 0-90.709334-46.208 251.989333 251.989333 0 0 0-140.885333 1.28l49.493333 36.181334-22.528 33.578666z"
|
||||
p-id="1469"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 1010 B |
8
src/assets/icons/save.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742820619537"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1780"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M814.805 128a51.179 51.179 0 0 1 51.179 51.179V844.01a51.179 51.179 0 0 1-51.179 51.157H201.173a51.179 51.179 0 0 1-51.178-51.157V179.179A51.179 51.179 0 0 1 201.173 128h613.654zM329.024 434.837a51.093 51.093 0 0 1-51.179-51.093V179.157h-76.672v664.854h613.76V179.179H738.22v204.48a51.179 51.179 0 0 1-51.179 51.178H329.024z m0-51.093h357.995V179.157H329.024v204.587z m357.91 204.501a25.557 25.557 0 1 1 0.085 51.072H329.024a25.536 25.536 0 1 1 0-51.072h357.91z"
|
||||
p-id="1781"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 836 B |
8
src/assets/icons/top.svg
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649402589"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1345"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path
|
||||
d="M6 42c0 22.091 17.909 40 40 40h932c22.091 0 40-17.909 40-40s-17.909-40-40-40H46C23.909 2 6 19.909 6 42z m156 206v734c0 22.091 17.909 40 40 40s40-17.909 40-40V248c0-22.091-17.909-40-40-40s-40 17.909-40 40z m310 0v529.963c0 22.091 17.909 40 40 40s40-17.909 40-40V248c0-22.091-17.909-40-40-40s-40 17.909-40 40z m310 0v734c0 22.091 17.909 40 40 40s40-17.909 40-40V248c0-22.091-17.909-40-40-40s-40 17.909-40 40z"
|
||||
p-id="1346"></path>
|
||||
</svg>
|
After Width: | Height: | Size: 781 B |
7
src/assets/icons/vertical.svg
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742649436235"
|
||||
class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1862"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32">
|
||||
<path d="M896 756.992v64H129.216v-64H896zM704 480v64H321.216v-64H704z m192-268.8v64H129.216v-64H896z" p-id="1863">
|
||||
</path>
|
||||
</svg>
|
After Width: | Height: | Size: 461 B |
BIN
src/assets/imgs/lockscreen.jpg
Normal file
After Width: | Height: | Size: 100 KiB |
BIN
src/assets/imgs/login/bg-login.jpg
Normal file
After Width: | Height: | Size: 103 KiB |
1
src/assets/login-main.svg
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/assets/logo-mini.png
Normal file
After Width: | Height: | Size: 70 KiB |
85
src/assets/svgs/401.svg
Normal file
@ -0,0 +1,85 @@
|
||||
<svg height="350" viewBox="0 0 586 659.29778" width="450" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<circle cx="332.47856" cy="254" fill="#f2f2f2" r="254.00001" />
|
||||
<path
|
||||
d="M498.46363,113.58835H33.17063c-.99774-.02133-1.78931-.84746-1.76797-1.84521,.02069-.96771,.80026-1.74727,1.76797-1.76796H498.46363c.99774,.02133,1.78931,.84746,1.76794,1.84521-.02069,.96771-.80023,1.74727-1.76794,1.76796Z"
|
||||
fill="#cacaca" />
|
||||
<rect fill="#fff" height="34.98639" rx="17.49318" ry="17.49318" width="163.61147" x="193.77441" y="174.47256" />
|
||||
<path
|
||||
d="M128.17493,244.44534H422.98542c9.66122,0,17.49316,7.83197,17.49316,17.49319h0c0,9.66122-7.83194,17.49319-17.49316,17.49319H128.17493c-9.66122,0-17.49318-7.83197-17.49318-17.49319h0c0-9.66122,7.83196-17.49319,17.49318-17.49319Z"
|
||||
fill="#fff" />
|
||||
<path
|
||||
d="M128.17493,314.41812H422.98542c9.66122,0,17.49316,7.83197,17.49316,17.49319h0c0,9.66122-7.83194,17.49319-17.49316,17.49319H128.17493c-9.66122,0-17.49318-7.83197-17.49318-17.49319h0c0-9.66122,7.83196-17.49319,17.49318-17.49319Z"
|
||||
fill="#fff" />
|
||||
<path
|
||||
d="M91.64085,657.75932l-.69385-.06793c-23.54068-2.42871-44.82135-15.08929-58.18845-34.61835-3.66138-5.44159-6.62299-11.32251-8.815-17.50409l-.21069-.58966,.62375-.05048c7.44699-.59924,15.09732-1.86292,18.49585-2.46417l-21.91473-7.42511-.1355-.65033c-1.29926-6.10406,1.24612-12.38458,6.4285-15.86176,5.19641-3.64447,12.08731-3.76111,17.40405-.29449,2.38599,1.52399,4.88162,3.03339,7.29489,4.49359,8.29321,5.01636,16.8688,10.20337,23.29828,17.30121,9.74951,10.97778,14.02298,25.76984,11.63,40.25562l4.7829,17.47595Z"
|
||||
fill="#f2f2f2" />
|
||||
<polygon fill="#a0616a"
|
||||
points="171.30016 646.86102 182.10017 646.85999 187.23916 605.198 171.29716 605.19897 171.30016 646.86102" />
|
||||
<path
|
||||
d="M170.9192,658.12816l33.21436-.00122v-.41998c-.00049-7.13965-5.78833-12.92737-12.92798-12.92773h-.00079l-6.06702-4.60278-11.3197,4.60345-2.89941,.00012,.00055,13.34814Z"
|
||||
fill="#2f2e41" />
|
||||
<polygon fill="#a0616a"
|
||||
points="84.74116 616.94501 93.38016 623.42603 122.49316 593.185 109.74116 583.61902 84.74116 616.94501" />
|
||||
<path
|
||||
d="M77.67448,625.72966l26.569,19.93188,.25208-.336c4.2843-5.71136,3.12799-13.81433-2.58279-18.09937l-.00064-.00049-2.09079-7.32275-11.81735-3.11102-2.31931-1.73993-8.01019,10.67767Z"
|
||||
fill="#2f2e41" />
|
||||
<path
|
||||
d="M120.64463,451.35271s.59625,16.26422,1.3483,29.30737c.12335,2.13916-4.88821,4.46301-4.75842,6.7901,.08609,1.54395,1.02808,3.04486,1.1156,4.65472,.09235,1.69897-1.20822,3.20282-1.1156,4.95984,.09052,1.71667,1.57422,3.6853,1.66373,5.44244,.96317,18.9093,4.45459,41.54633,.9584,47.87439-1.72299,3.11871-23.68533,46.32446-23.68533,46.32446,0,0,12.23666,18.35498,15.73285,12.23663,4.61771-8.08099,40.20615-45.88745,40.20615-53.10712,0-7.21088,8.23346-61.25323,8.23346-61.25323l5.74103,31.98169,2.63239,6.33655-.82715,3.71997,1.70117,5.02045,.09192,4.96838,1.65619,9.22614s-4.98199,71.88159-2.17633,73.88312c2.81439,2.01038,16.44086,5.62018,18.04901,2.01038,1.59955-3.6098,12.0108-75.01947,12.0108-75.01947,0,0,1.6781-32.72424,3.49622-63.14111,.1048-1.76556,1.34607-3.89825,1.4422-5.63763,.11365-2.01898-.67297-4.64111-.56818-6.599,.11365-2.24628,1.11005-3.82831,1.20618-5.97852,.74292-16.6156-3.42761-36.84912-4.7561-38.84192-4.01202-6.01343-7.62177-10.82074-7.62177-10.82074,0,0-54.03558-17.75403-68.47485,.28625l-3.30185,25.37585Z"
|
||||
fill="#2f2e41" />
|
||||
<path
|
||||
d="M174.53779,284.10378l-21.4209-4.28418-9.9964,13.56656h0c-18.65262,18.34058-18.93359,34.52753-15.60379,60.47382v36.41553l-2.41,24.41187s-8.53156,17.84521,.26788,22.00006,66.59857,3.80066,72.117,2.14209,.73517-3.69482-.71399-11.4245c-2.72211-14.51929-.90131-7.51562-.71399-12.13849,2.68585-66.31363-3.57013-93.5379-4.20544-100.69376l-10.89398-19.75858-6.42639-10.71042Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M287.43909,337.57097c-2.23248,4.23007-7.47144,5.84943-11.70148,3.61694-.45099-.23804-.88013-.51541-1.28229-.82895l-46.26044,29.37308,.13336-15.9924,44.93842-26.07846c3.20093-3.58887,8.70514-3.90332,12.29401-.70239,3.00305,2.67844,3.7796,7.0657,1.87842,10.61218Z"
|
||||
fill="#a0616a" />
|
||||
<path
|
||||
d="M157.62488,302.62425l-5.26666-.55807c-4.86633-.50473-9.64093,1.57941-12.57947,5.491-1.12549,1.48346-1.9339,3.18253-2.37491,4.99164l-.00317,.01447c-1.32108,5.44534,.75095,11.15201,5.25803,14.48117l18.19031,13.41101c12.76544,17.24899,36.75653,28.69272,64.89832,37.98978l43.74274-27.16666-15.47186-18.73843-30.00336,16.0798-44.59833-34.52374-.0257-.02075-16.97424-10.936-4.79169-.5152Z"
|
||||
fill="#3f3d56" />
|
||||
<circle cx="167.29993" cy="248.60526" fill="#a0616a" r="24.9798" />
|
||||
<path
|
||||
d="M167.8769,273.59047c-.20135,.00662-.4032,.01108-.6048,.01657-.0863,.22388-.17938,.44583-.2868,.66357l.8916-.68015Z"
|
||||
fill="#2f2e41" />
|
||||
<path d="M174.73243,249.29823c.03918,.24612,.09912,.48846,.17914,.72449-.03302-.24731-.09308-.49026-.17914-.72449Z"
|
||||
fill="#2f2e41" />
|
||||
<path
|
||||
d="M192.59852,224.6942c-1.0282,3.19272-1.94586-.85715-5.32825-.12869-4.06885,.87625-8.80377,.57532-12.13586-1.91879-4.96478-3.64273-11.39874-4.62335-17.22333-2.62509-5.70154,2.01706-15.25348,3.43933-16.73907,9.30179-.51642,2.03781-.7215,4.24933-1.97321,5.9382-1.09436,1.47662-2.82166,2.31854-4.26608,3.45499-4.87726,3.83743-1.14954,14.73981,1.15881,20.50046,2.30838,5.76065,7.60355,9.95721,13.42526,12.10678,5.63281,2.07977,11.7464,2.44662,17.75531,2.28317,1.04517-2.7106,.59363-5.84137-.26874-8.65134-.93359-3.04199-2.31592-5.97791-2.70593-9.13599s.46643-6.74527,3.11444-8.50986c2.4339-1.62192,6.39465-.63388,7.32062,1.98843-.54028-3.27841,2.7807-6.4509,6.20508-7.00882,3.67651-.599,7.35291,.72833,11.01886,1.38901s2.36475-14.77301,.64209-18.98425Z"
|
||||
fill="#2f2e41" />
|
||||
<circle cx="281.3585" cy="285.71051" fill="hsl(var(--primary))" r="51.12006"
|
||||
transform="translate(-26.58509 542.54478) rotate(-85.26884)" />
|
||||
<path
|
||||
d="M294.78675,264.41051l-13.42828,13.42828-13.42828-13.42828c-2.17371-2.17374-5.69806-2.17374-7.87177,0s-2.17371,5.69803,0,7.87177l13.42828,13.42828-13.42828,13.42828c-2.17169,2.17575-2.1684,5.70007,.00739,7.87177,2.17285,2.16879,5.69153,2.16879,7.86438-.00003l13.42828-13.42828,13.42828,13.42828c2.17578,2.17169,5.70007,2.1684,7.87177-.00735,2.16882-2.17288,2.16882-5.6915,0-7.86438l-13.42828-13.42828,13.42828-13.42828c2.17371-2.17374,2.17371-5.69803,0-7.87177s-5.69806-2.17374-7.87177,0h0Z"
|
||||
fill="#fff" />
|
||||
<path
|
||||
d="M261.21387,242.74385c1.5069,4.53946-.95154,9.44101-5.49097,10.94791-.48401,.16064-.9812,.27823-1.4859,.35141l-10.83051,53.71692-11.44788-11.16785,12.29266-50.48209c-.37366-4.7944,3.21008-8.98395,8.00452-9.3576,4.01166-.31265,7.71509,2.16425,8.95807,5.9913Z"
|
||||
fill="#a0616a" />
|
||||
<path
|
||||
d="M146.12519,312.22478l-4.04883,3.41412c-3.73322,3.16214-5.53476,8.05035-4.74649,12.87888,.29129,1.83917,.95773,3.59879,1.95786,5.16949l.00824,.0123c3.01477,4.72311,8.5672,7.17865,14.08978,6.23117l22.27075-3.84171c21.28461,2.72995,46.15155-6.65967,72.34302-20.53055l10.67969-50.37274-24.23297-1.80811-9.16821,32.78271-55.78815,8.28149-.03278,.00415-19.64294,4.67767-3.68896,3.1011Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M272.93684,658.99046l-271.75,.30731c-.65759-.00214-1.18896-.53693-1.18683-1.19452,.00211-.6546,.53223-1.18469,1.18683-1.18683l271.75-.30731c.65759,.00214,1.18896,.53693,1.18683,1.19452-.00208,.6546-.53223,1.18469-1.18683,1.18683Z"
|
||||
fill="#cacaca" />
|
||||
<g>
|
||||
<ellipse cx="56.77685" cy="82.05834" fill="#3f3d56" rx="8.45661" ry="8.64507" />
|
||||
<ellipse cx="85.9906" cy="82.05834" fill="#3f3d56" rx="8.45661" ry="8.64507" />
|
||||
<ellipse cx="115.20435" cy="82.05834" fill="#3f3d56" rx="8.45661" ry="8.64507" />
|
||||
<path
|
||||
d="M148.51577,88.89113c-.25977,0-.51904-.10059-.71484-.30078l-5.70605-5.83301c-.38037-.38867-.38037-1.00977,0-1.39844l5.70605-5.83252c.38721-.39453,1.021-.40088,1.41406-.01562,.39502,.38623,.40186,1.01953,.01562,1.41406l-5.02197,5.1333,5.02197,5.13379c.38623,.39453,.37939,1.02783-.01562,1.41406-.19434,.19043-.44678,.28516-.69922,.28516Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M158.10415,88.89113c-.25244,0-.50488-.09473-.69922-.28516-.39502-.38623-.40186-1.01904-.01562-1.41406l5.02148-5.13379-5.02148-5.1333c-.38623-.39453-.37939-1.02783,.01562-1.41406,.39404-.38672,1.02783-.37939,1.41406,.01562l5.70557,5.83252c.38037,.38867,.38037,1.00977,0,1.39844l-5.70557,5.83301c-.1958,.2002-.45508,.30078-.71484,.30078Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M456.61398,74.41416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M430.61398,74.41416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M481.11398,74.91416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z"
|
||||
fill="#3f3d56" />
|
||||
<path
|
||||
d="M321.19229,78.95414h-84.81c-1.48004,0-2.67004,1.20001-2.67004,2.67004s1.19,2.66998,2.67004,2.66998h84.81c1.46997,0,2.66998-1.20001,2.66998-2.66998s-1.20001-2.67004-2.66998-2.67004Z"
|
||||
fill="#3f3d56" />
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 9.1 KiB |
90
src/assets/svgs/404.svg
Normal file
@ -0,0 +1,90 @@
|
||||
<svg height="350" viewBox="0 0 860 571" width="450" xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<path
|
||||
d="M605.66974,324.95306c-7.66934-12.68446-16.7572-26.22768-30.98954-30.36953-16.482-4.7965-33.4132,4.73193-47.77473,14.13453a1392.15692,1392.15692,0,0,0-123.89338,91.28311l.04331.49238q46.22556-3.1878,92.451-6.37554c22.26532-1.53546,45.29557-3.2827,64.97195-13.8156,7.46652-3.99683,14.74475-9.33579,23.20555-9.70782,10.51175-.46217,19.67733,6.87923,26.8802,14.54931,42.60731,45.371,54.937,114.75409,102.73817,154.61591A1516.99453,1516.99453,0,0,0,605.66974,324.95306Z"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M867.57068,709.78146c-4.71167-5.94958-6.6369-7.343-11.28457-13.34761q-56.7644-73.41638-106.70791-151.79237-33.92354-53.23-64.48275-108.50439-14.54864-26.2781-28.29961-52.96872-10.67044-20.6952-20.8646-41.63793c-1.94358-3.98782-3.8321-7.99393-5.71122-12.00922-4.42788-9.44232-8.77341-18.93047-13.43943-28.24449-5.31686-10.61572-11.789-21.74485-21.55259-28.877a29.40493,29.40493,0,0,0-15.31855-5.89458c-7.948-.51336-15.28184,2.76855-22.17568,6.35295-50.43859,26.301-97.65922,59.27589-140.3696,96.79771A730.77816,730.77816,0,0,0,303.32241,496.24719c-1.008,1.43927-3.39164.06417-2.37419-1.38422q6.00933-8.49818,12.25681-16.81288A734.817,734.817,0,0,1,500.80465,303.06436q18.24824-11.82581,37.18269-22.54245c6.36206-3.60275,12.75188-7.15967,19.25136-10.49653,6.37146-3.27274,13.13683-6.21547,20.41563-6.32547,24.7701-.385,37.59539,27.66695,46.40506,46.54248q4.15283,8.9106,8.40636,17.76626,16.0748,33.62106,33.38729,66.628,10.68453,20.379,21.83683,40.51955,34.7071,62.71816,73.77854,122.897c34.5059,53.1429,68.73651,100.08874,108.04585,149.78472C870.59617,709.21309,868.662,711.17491,867.57068,709.78146Z"
|
||||
fill="#e4e4e4" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M414.91613,355.804c-1.43911-1.60428-2.86927-3.20856-4.31777-4.81284-11.42244-12.63259-23.6788-25.11847-39.3644-32.36067a57.11025,57.11025,0,0,0-23.92679-5.54622c-8.56213.02753-16.93178,2.27348-24.84306,5.41792-3.74034,1.49427-7.39831,3.1902-11.00078,4.99614-4.11634,2.07182-8.15927,4.28118-12.1834,6.50883q-11.33112,6.27044-22.36816,13.09089-21.9606,13.57221-42.54566,29.21623-10.67111,8.11311-20.90174,16.75788-9.51557,8.03054-18.64618,16.492c-1.30169,1.20091-3.24527-.74255-1.94358-1.94347,1.60428-1.49428,3.22691-2.97938,4.84955-4.44613q6.87547-6.21546,13.9712-12.19257,12.93921-10.91827,26.54851-20.99312,21.16293-15.67614,43.78288-29.22541,11.30361-6.76545,22.91829-12.96259c2.33794-1.24675,4.70318-2.466,7.09572-3.6211a113.11578,113.11578,0,0,1,16.86777-6.86632,60.0063,60.0063,0,0,1,25.476-2.50265,66.32706,66.32706,0,0,1,23.50512,8.1314c15.40091,8.60812,27.34573,21.919,38.97,34.90915C418.03337,355.17141,416.09875,357.12405,414.91613,355.804Z"
|
||||
fill="#e4e4e4" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M730.47659,486.71092l36.90462-13.498,18.32327-6.70183c5.96758-2.18267,11.92082-4.66747,18.08988-6.23036a28.53871,28.53871,0,0,1,16.37356.20862,37.73753,37.73753,0,0,1,12.771,7.91666,103.63965,103.63965,0,0,1,10.47487,11.18643c3.98932,4.79426,7.91971,9.63877,11.86772,14.46706q24.44136,29.89094,48.56307,60.04134,24.12117,30.14991,47.91981,60.556,23.85681,30.48041,47.38548,61.21573,2.88229,3.76518,5.75966,7.53415c1.0598,1.38809,3.44949.01962,2.37472-1.38808Q983.582,650.9742,959.54931,620.184q-24.09177-30.86383-48.51647-61.46586-24.42421-30.60141-49.17853-60.93743-6.16706-7.55761-12.35445-15.09858c-3.47953-4.24073-6.91983-8.52718-10.73628-12.47427-7.00539-7.24516-15.75772-13.64794-26.23437-13.82166-6.15972-.10214-12.121,1.85248-17.844,3.92287-6.16968,2.232-12.32455,4.50571-18.48633,6.75941l-37.16269,13.59243-9.29067,3.3981c-1.64875.603-.93651,3.2619.73111,2.652Z"
|
||||
fill="#e4e4e4" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M366.37741,334.52609c-18.75411-9.63866-42.77137-7.75087-60.00508,4.29119a855.84708,855.84708,0,0,1,97.37056,22.72581C390.4603,353.75916,380.07013,341.5635,366.37741,334.52609Z"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M306.18775,338.7841l-3.61042,2.93462c1.22123-1.02713,2.4908-1.99013,3.795-2.90144C306.31073,338.80665,306.24935,338.79473,306.18775,338.7841Z"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M831.54929,486.84576c-3.6328-4.42207-7.56046-9.05222-12.99421-10.84836l-5.07308.20008A575.436,575.436,0,0,0,966.74929,651.418Q899.14929,569.13192,831.54929,486.84576Z"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M516.08388,450.36652A37.4811,37.4811,0,0,0,531.015,471.32518c2.82017,1.92011,6.15681,3.76209,7.12158,7.03463a8.37858,8.37858,0,0,1-.87362,6.1499,24.88351,24.88351,0,0,1-3.86126,5.04137l-.13667.512c-6.99843-4.14731-13.65641-9.3934-17.52227-16.55115s-4.40553-16.53895.34116-23.14544"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M749.08388,653.36652A37.4811,37.4811,0,0,0,764.015,674.32518c2.82017,1.92011,6.15681,3.76209,7.12158,7.03463a8.37858,8.37858,0,0,1-.87362,6.1499,24.88351,24.88351,0,0,1-3.86126,5.04137l-.13667.512c-6.99843-4.14731-13.65641-9.3934-17.52227-16.55115s-4.40553-16.53895.34116-23.14544"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M284.08388,639.36652A37.4811,37.4811,0,0,0,299.015,660.32518c2.82017,1.92011,6.15681,3.76209,7.12158,7.03463a8.37858,8.37858,0,0,1-.87362,6.1499,24.88351,24.88351,0,0,1-3.86126,5.04137l-.13667.512c-6.99843-4.14731-13.65641-9.3934-17.52227-16.55115s-4.40553-16.53895.34116-23.14544"
|
||||
fill="#f2f2f2" transform="translate(-169.93432 -164.42601)" />
|
||||
<circle cx="649.24878" cy="51" fill="hsl(var(--primary))" r="51" />
|
||||
<path
|
||||
d="M911.21851,176.29639c-24.7168-3.34094-52.93512,10.01868-59.34131,34.12353a21.59653,21.59653,0,0,0-41.09351,2.10871l2.82972,2.02667a372.27461,372.27461,0,0,0,160.65881-.72638C957.07935,195.76,935.93537,179.63727,911.21851,176.29639Z"
|
||||
fill="#f0f0f0" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M805.21851,244.29639c-24.7168-3.34094-52.93512,10.01868-59.34131,34.12353a21.59653,21.59653,0,0,0-41.09351,2.10871l2.82972,2.02667a372.27461,372.27461,0,0,0,160.65881-.72638C851.07935,263.76,829.93537,247.63727,805.21851,244.29639Z"
|
||||
fill="#f0f0f0" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M1020.94552,257.15423a.98189.98189,0,0,1-.30176-.04688C756.237,173.48919,523.19942,184.42376,374.26388,208.32122c-20.26856,3.251-40.59131,7.00586-60.40381,11.16113-5.05811,1.05957-10.30567,2.19532-15.59668,3.37793-6.31885,1.40723-12.55371,2.85645-18.53223,4.30567q-3.873.917-7.59472,1.84863c-3.75831.92773-7.57178,1.89453-11.65967,2.957-4.56787,1.17774-9.209,2.41309-13.79737,3.67188a.44239.44239,0,0,1-.05127.01465l.00049.001c-5.18261,1.415-10.33789,2.8711-15.32324,4.3252-2.69824.77929-5.30371,1.54785-7.79932,2.30664-.2788.07715-.52587.15136-.77636.22754l-.53614.16308c-.31054.09473-.61718.1875-.92382.27539l-.01953.00586.00048.001-.81152.252c-.96777.293-1.91211.5791-2.84082.86426-24.54492,7.56641-38.03809,12.94922-38.17139,13.00195a1,1,0,1,1-.74414-1.85644c.13428-.05274,13.69336-5.46289,38.32764-13.05762.93213-.28613,1.87891-.57226,2.84961-.86621l.7539-.23438c.02588-.00976.05176-.01757.07813-.02539.30518-.08691.60986-.17968.91943-.27343l.53711-.16309c.26758-.08105.53125-.16113.80127-.23535,2.47852-.75391,5.09278-1.52441,7.79785-2.30664,4.98731-1.45508,10.14746-2.91113,15.334-4.32813.01611-.00586.03271-.00976.04883-.01464v-.001c4.60449-1.2627,9.26269-2.50293,13.84521-3.68457,4.09424-1.06348,7.915-2.03223,11.67969-2.96192q3.73755-.93017,7.60937-1.85253c5.98536-1.45118,12.23291-2.90235,18.563-4.3125,5.29932-1.1836,10.55567-2.32227,15.62207-3.38282,19.84326-4.16211,40.19776-7.92285,60.49707-11.17871C523.09591,182.415,756.46749,171.46282,1021.2463,255.2011a.99974.99974,0,0,1-.30078,1.95313Z"
|
||||
fill="#ccc" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M432.92309,584.266a6.72948,6.72948,0,0,0-1.7-2.67,6.42983,6.42983,0,0,0-.92-.71c-2.61-1.74-6.51-2.13-8.99,0a5.81012,5.81012,0,0,0-.69.71q-1.11,1.365-2.28,2.67c-1.28,1.46-2.59,2.87-3.96,4.24-.39.38-.78.77-1.18,1.15-.23.23-.46.45-.69.67-.88.84-1.78,1.65-2.69,2.45-.48.43-.96.85-1.45,1.26-.73.61-1.46,1.22-2.2,1.81-.07.05-.14.1-.21.16-.02.01-.03.03-.05.04-.01,0-.02,0-.03.02a.17861.17861,0,0,0-.07.05c-.22.15-.37.25-.48.34.04-.01995.08-.05.12-.07-.18.14-.37.28-.55.42-1.75,1.29-3.54,2.53-5.37,3.69a99.21022,99.21022,0,0,1-14.22,7.55c-.33.13-.67.27-1.01.4a85.96993,85.96993,0,0,1-40.85,6.02q-2.13008-.165-4.26-.45c-1.64-.24-3.27-.53-4.89-.86a97.93186,97.93186,0,0,1-18.02-5.44,118.65185,118.65185,0,0,1-20.66-12.12c-1-.71-2.01-1.42-3.02-2.11,1.15-2.82,2.28-5.64,3.38-8.48.55-1.37,1.08-2.74,1.6-4.12,4.09-10.63,7.93-21.36,11.61-32.13q5.58-16.365,10.53-32.92.51-1.68.99-3.36,2.595-8.745,4.98-17.53c.15-.56994.31-1.12994.45-1.7q.68994-2.52,1.35-5.04c1-3.79-1.26-8.32-5.24-9.23a7.63441,7.63441,0,0,0-9.22,5.24c-.43,1.62-.86,3.23-1.3,4.85q-3.165,11.74494-6.66,23.41-.51,1.68-1.02,3.36-7.71,25.41-16.93,50.31-1.11,3.015-2.25,6.01c-.37.98-.74,1.96-1.12,2.94-.73,1.93-1.48,3.86-2.23,5.79-.43006,1.13-.87006,2.26-1.31,3.38-.29.71-.57,1.42-.85,2.12a41.80941,41.80941,0,0,0-8.81-2.12l-.48-.06a27.397,27.397,0,0,0-7.01.06,23.91419,23.91419,0,0,0-17.24,10.66c-4.77,7.51-4.71,18.25,1.98,24.63,6.89,6.57,17.32,6.52,25.43,2.41a28.35124,28.35124,0,0,0,10.52-9.86,50.56939,50.56939,0,0,0,2.74-4.65c.21.14.42.28.63.43.8.56,1.6,1.13,2.39,1.69a111.73777,111.73777,0,0,0,14.51,8.91,108.35887,108.35887,0,0,0,34.62,10.47c.27.03.53.07.8.1,1.33.17,2.67.3,4.01.41a103.78229,103.78229,0,0,0,55.58-11.36q2.175-1.125,4.31-2.36,3.315-1.92,6.48-4.08c1.15-.78,2.27-1.57,3.38-2.4a101.04244,101.04244,0,0,0,13.51-11.95q2.35491-2.475,4.51-5.11005a8.0612,8.0612,0,0,0,2.2-5.3A7.5644,7.5644,0,0,0,432.92309,584.266Zm-165.59,23.82c.21-.15.42-.31.62-.47C267.89312,607.766,267.60308,607.936,267.33312,608.086Zm3.21-3.23c-.23.26-.44.52-.67.78a23.36609,23.36609,0,0,1-2.25,2.2c-.11.1-.23.2-.35.29a.00976.00976,0,0,0-.01.01,3.80417,3.80417,0,0,0-.42005.22q-.645.39-1.31994.72a17.00459,17.00459,0,0,1-2.71.75,16.79925,16.79925,0,0,1-2.13.02h-.02a14.82252,14.82252,0,0,1-1.45-.4c-.24-.12-.47-.25994-.7-.4-.09-.08-.17005-.16-.22-.21a2.44015,2.44015,0,0,1-.26995-.29.0098.0098,0,0,0-.01-.01c-.11005-.2-.23005-.4-.34-.6a.031.031,0,0,1-.01-.02c-.08-.25-.15-.51-.21-.77a12.51066,12.51066,0,0,1,.01-1.37,13.4675,13.4675,0,0,1,.54-1.88,11.06776,11.06776,0,0,1,.69-1.26c.02-.04.12-.2.23-.38.01-.01.01-.01.01-.02.15-.17.3-.35.46-.51.27-.3.56-.56.85-.83a18.02212,18.02212,0,0,1,1.75-1.01,19.48061,19.48061,0,0,1,2.93-.79,24.98945,24.98945,0,0,1,4.41.04,30.30134,30.30134,0,0,1,4.1,1.01,36.94452,36.94452,0,0,1-2.77,4.54C270.6231,604.746,270.58312,604.806,270.54308,604.856Zm-11.12-3.29a2.18029,2.18029,0,0,1-.31.38995A1.40868,1.40868,0,0,1,259.42309,601.566Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M402.86309,482.136q-.13494,4.71-.27,9.42-.285,10.455-.59,20.92-.315,11.775-.66,23.54-.165,6.07507-.34,12.15-.465,16.365-.92,32.72c-.03,1.13-.07,2.25-.1,3.38q-.225,8.11506-.45,16.23-.255,8.805-.5,17.61-.18,6.59994-.37,13.21-1.34994,47.895-2.7,95.79a7.64844,7.64844,0,0,1-7.5,7.5,7.56114,7.56114,0,0,1-7.5-7.5q.75-26.94,1.52-53.88.675-24.36,1.37-48.72.225-8.025.45-16.06.345-12.09.68-24.18c.03-1.13.07-2.25.1-3.38.02-.99.05-1.97.08-2.96q.66-23.475,1.32-46.96.27-9.24.52-18.49.3-10.545.6-21.08c.09-3.09.17005-6.17.26-9.26a7.64844,7.64844,0,0,1,7.5-7.5A7.56116,7.56116,0,0,1,402.86309,482.136Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M814.29118,484.2172a893.23753,893.23753,0,0,1-28.16112,87.94127c-3.007,7.94641-6.08319,15.877-9.3715,23.71185l.75606-1.7916a54.58274,54.58274,0,0,1-5.58953,10.61184q-.22935.32119-.46685.63642,1.16559-1.49043.4428-.589c-.25405.30065-.5049.60219-.7676.89546a23.66436,23.66436,0,0,1-2.2489,2.20318q-.30139.25767-.61188.5043l.93783-.729c-.10884.25668-.87275.59747-1.11067.74287a18.25362,18.25362,0,0,1-2.40479,1.21853l1.7916-.75606a19.0859,19.0859,0,0,1-4.23122,1.16069l1.9938-.26791a17.02055,17.02055,0,0,1-4.29785.046l1.99379.2679a14.0022,14.0022,0,0,1-3.40493-.917l1.79159.75606a12.01175,12.01175,0,0,1-1.67882-.89614c-.27135-.17688-1.10526-.80852-.01487.02461,1.13336.86595.14562.07434-.08763-.15584-.19427-.19171-.36962-.4-.55974-.595-.88208-.90454.99637,1.55662.39689.49858a18.18179,18.18179,0,0,1-.87827-1.63672l.75606,1.7916a11.92493,11.92493,0,0,1-.728-2.65143l.26791,1.9938a13.65147,13.65147,0,0,1-.00316-3.40491l-.2679,1.9938a15.96371,15.96371,0,0,1,.99486-3.68011l-.75606,1.7916a16.72914,16.72914,0,0,1,1.17794-2.29848,6.72934,6.72934,0,0,1,.72851-1.0714c.04915.01594-1.26865,1.51278-.56937.757.1829-.19767.354-.40592.539-.602.29617-.31382.61354-.60082.92561-.89791,1.04458-.99442-1.46188.966-.25652.17907a19.0489,19.0489,0,0,1,2.74925-1.49923l-1.79159.75606a20.31136,20.31136,0,0,1,4.99523-1.33984l-1.9938.2679a25.62828,25.62828,0,0,1,6.46062.07647l-1.9938-.2679a33.21056,33.21056,0,0,1,7.89178,2.2199l-1.7916-.75606c5.38965,2.31383,10.16308,5.74926,14.928,9.118a111.94962,111.94962,0,0,0,14.50615,8.9065,108.38849,108.38849,0,0,0,34.62226,10.47371,103.93268,103.93268,0,0,0,92.58557-36.75192,8.07773,8.07773,0,0,0,2.1967-5.3033,7.63232,7.63232,0,0,0-2.1967-5.3033c-2.75154-2.52586-7.94926-3.239-10.6066,0a95.63575,95.63575,0,0,1-8.10664,8.72692q-2.01736,1.914-4.14232,3.70983-1.21364,1.02588-2.46086,2.01121c-.3934.31081-1.61863,1.13807.26309-.19744-.43135.30614-.845.64036-1.27058.95478a99.26881,99.26881,0,0,1-20.33215,11.56478l1.79159-.75606a96.8364,96.8364,0,0,1-24.17119,6.62249l1.99379-.2679a97.64308,97.64308,0,0,1-25.75362-.03807l1.99379.2679a99.79982,99.79982,0,0,1-24.857-6.77027l1.7916.75607a116.02515,116.02515,0,0,1-21.7364-12.59112,86.87725,86.87725,0,0,0-11.113-6.99417,42.8238,42.8238,0,0,0-14.43784-4.38851c-9.43884-1.11076-19.0571,2.56562-24.24624,10.72035-4.77557,7.50482-4.71394,18.24362,1.97369,24.62519,6.8877,6.5725,17.31846,6.51693,25.43556,2.40567,7.81741-3.95946,12.51288-12.18539,15.815-19.94186,7.43109-17.45514,14.01023-35.31364,20.1399-53.263q9.09651-26.63712,16.49855-53.81332.91661-3.36581,1.80683-6.73869c1.001-3.78869-1.26094-8.32-5.23829-9.22589a7.63317,7.63317,0,0,0-9.22589,5.23829Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M889.12382,482.13557l-2.69954,95.79311-2.68548,95.29418-1.5185,53.88362a7.56465,7.56465,0,0,0,7.5,7.5,7.64923,7.64923,0,0,0,7.5-7.5l2.69955-95.79311,2.68548-95.29418,1.51849-53.88362a7.56465,7.56465,0,0,0-7.5-7.5,7.64923,7.64923,0,0,0-7.5,7.5Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M629.52566,700.36106h2.32885V594.31942h54.32863v-2.32291H631.85451V547.25214H673.8102q-.92256-1.17339-1.89893-2.31694H631.85451V515.38231c-.7703-.32846-1.54659-.64493-2.32885-.9435V544.9352h-45.652V507.07c-.78227.03583-1.55258.08959-2.3289.15527v37.71h-36.4201V516.68409c-.78227.34636-1.55258.71061-2.31694,1.0928V544.9352h-30.6158v2.31694h30.6158v44.74437h-30.6158v2.32291h30.6158V700.36106h2.31694V594.31942a36.41283,36.41283,0,0,1,36.4201,36.42007v69.62157h2.3289V594.31942h45.652Zm-84.401-108.36455V547.25214h36.4201v44.74437Zm38.749,0V547.25214h.91362a44.74135,44.74135,0,0,1,44.73842,44.74437Z"
|
||||
opacity="0.2" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M615.30309,668.566a63.05854,63.05854,0,0,1-20.05,33.7c-.74.64-1.48,1.26-2.25,1.87q-2.805.25506-5.57.52c-1.53.14-3.04.29-4.54.43l-.27.03-.19-1.64-.76-6.64a37.623,37.623,0,0,1-3.3-32.44c2.64-7.12,7.42-13.41,12.12-19.65,6.49-8.62,12.8-17.14,13.03-27.65a60.54415,60.54415,0,0,1,7.9,13.33,16.432,16.432,0,0,0-5.12,3.76995c-.41.45-.82,1.08-.54,1.62006.24.46.84.57,1.36.62994,1.25.13,2.51.26,3.76.39,1,.11,2,.21,3,.32a63.99025,63.99025,0,0,1,2.45,12.18A61.18851,61.18851,0,0,1,615.30309,668.566Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M648.50311,642.356c-5.9,4.29-9.35,10.46-12.03,17.26a16.62776,16.62776,0,0,0-7.17,4.58c-.41.45-.82,1.08-.54,1.62006.24.46.84.57,1.36.62994,1.25.13,2.51.26,3.76.39-2.68,8.04-5.14,16.36-9.88,23.15a36.98942,36.98942,0,0,1-12.03,10.91,38.49166,38.49166,0,0,1-4.02,1.99q-7.62.585-14.95,1.25-2.805.25506-5.57.52c-1.53.14-3.04.29-4.54.43q-.015-.825,0-1.65a63.30382,63.30382,0,0,1,15.25-39.86c.45-.52.91-1.03,1.38-1.54a61.7925,61.7925,0,0,1,16.81-12.7A62.65425,62.65425,0,0,1,648.50311,642.356Z"
|
||||
fill="hsl(var(--primary))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M589.16308,699.526l-1.15,3.4-.58,1.73c-1.53.14-3.04.29-4.54.43l-.27.03c-1.66.17-3.31.34-4.96.51-.43-.5-.86-1.01-1.28-1.53a62.03045,62.03045,0,0,1,8.07-87.11c-1.32,6.91.22,13.53,2.75,20.1-.27.11-.53.22-.78.34a16.432,16.432,0,0,0-5.12,3.76995c-.41.45-.82,1.08-.54,1.62006.24.46.84.57,1.36.62994,1.25.13,2.51.26,3.76.39,1,.11,2,.21,3,.32q.705.075,1.41.15c.07.15.13.29.2.44,2.85,6.18,5.92,12.39,7.65,18.83a43.66591,43.66591,0,0,1,1.02,4.91A37.604,37.604,0,0,1,589.16308,699.526Z"
|
||||
fill="hsl(var(--primary))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M689.82123,554.48655c-8.60876-16.79219-21.94605-30.92088-37.63219-41.30357a114.2374,114.2374,0,0,0-52.5626-18.37992q-3.69043-.33535-7.399-.39281c-2.92141-.04371-46.866,12.63176-61.58712,22.98214a114.29462,114.29462,0,0,0-35.333,39.527,102.49972,102.49972,0,0,0-12.12557,51.6334,113.56387,113.56387,0,0,0,14.70268,51.47577,110.47507,110.47507,0,0,0,36.44425,38.74592C549.66655,708.561,565.07375,734.51,583.1831,735.426c18.24576.923,39.05418-23.55495,55.6951-30.98707a104.42533,104.42533,0,0,0,41.72554-34.005,110.24964,110.24964,0,0,0,19.599-48.94777c2.57368-18.08313,1.37415-36.73271-4.80123-54.01627a111.85969,111.85969,0,0,0-5.58024-12.9833c-1.77961-3.50519-6.996-4.7959-10.26142-2.69063a7.67979,7.67979,0,0,0-2.69064,10.26142q1.56766,3.08773,2.91536,6.27758l-.75606-1.7916a101.15088,101.15088,0,0,1,6.87641,25.53816l-.26791-1.99379a109.2286,109.2286,0,0,1-.06613,28.68252l.26791-1.9938a109.73379,109.73379,0,0,1-7.55462,27.67419l.75606-1.79159a104.212,104.212,0,0,1-6.67151,13.09835q-1.92308,3.18563-4.08062,6.22159c-.63172.8881-1.28287,1.761-1.939,2.63114-.85625,1.13555,1.16691-1.48321.28228-.36941-.15068.18972-.30049.3801-.45182.5693q-.68121.85165-1.3818,1.68765a93.61337,93.61337,0,0,1-10.17647,10.38359q-1.36615,1.19232-2.77786,2.33115c-.46871.37832-.932.77269-1.42079,1.12472.01861-.0134,1.57956-1.19945.65556-.511-.2905.21644-.57851.43619-.86961.65184q-2.90994,2.1558-5.97433,4.092a103.48509,103.48509,0,0,1-14.75565,7.7131l1.7916-.75606a109.21493,109.21493,0,0,1-27.59663,7.55154l1.9938-.26791a108.15361,108.15361,0,0,1-28.58907.0506l1.99379.2679a99.835,99.835,0,0,1-25.09531-6.78448l1.79159.75607a93.64314,93.64314,0,0,1-13.41605-6.99094q-3.17437-2-6.18358-4.24743c-.2862-.21359-.56992-.43038-.855-.64549-.9155-.69088.65765.50965.67021.51787a19.16864,19.16864,0,0,1-1.535-1.22469q-1.45353-1.18358-2.86136-2.4218a101.98931,101.98931,0,0,1-10.49319-10.70945q-1.21308-1.43379-2.37407-2.91054c-.33524-.4263-.9465-1.29026.40424.5289-.17775-.23939-.36206-.47414-.54159-.71223q-.64657-.85751-1.27568-1.72793-2.203-3.048-4.18787-6.24586a109.29037,109.29037,0,0,1-7.8054-15.10831l.75606,1.7916a106.58753,106.58753,0,0,1-7.34039-26.837l.26791,1.9938a97.86589,97.86589,0,0,1-.04843-25.63587l-.2679,1.9938A94.673,94.673,0,0,1,505.27587,570.55l-.75606,1.7916a101.55725,101.55725,0,0,1,7.19519-13.85624q2.0655-3.32328,4.37767-6.4847.52528-.71832,1.06244-1.42786c.324-.4279,1.215-1.49333-.30537.38842.14906-.18449.29252-.37428.43942-.56041q1.26882-1.60756,2.59959-3.1649A107.40164,107.40164,0,0,1,530.772,536.21508q1.47408-1.29171,2.99464-2.52906.6909-.56218,1.39108-1.11284c.18664-.14673.37574-.29073.56152-.43858-1.99743,1.58953-.555.43261-.10157.09288q3.13393-2.34833,6.43534-4.46134a103.64393,103.64393,0,0,1,15.38655-8.10791l-1.7916.75606c7.76008-3.25839,42.14086-10.9492,48.394-10.10973l-1.99379-.26791A106.22471,106.22471,0,0,1,628.768,517.419l-1.7916-.75606a110.31334,110.31334,0,0,1,12.6002,6.32922q3.04344,1.78405,5.96742,3.76252,1.38351.93658,2.73809,1.915.677.48917,1.34626.98885c.24789.185.49386.37253.74135.558,1.03924.779-1.43148-1.1281-.34209-.26655a110.84261,110.84261,0,0,1,10.36783,9.2532q2.401,2.445,4.63686,5.04515,1.14659,1.33419,2.24643,2.70757c.36436.45495,1.60506,2.101.08448.08457.37165.49285.74744.98239,1.11436,1.47884a97.97718,97.97718,0,0,1,8.39161,13.53807c1.79317,3.49775,6.98675,4.80186,10.26142,2.69064A7.67666,7.67666,0,0,0,689.82123,554.48655Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path
|
||||
d="M602.43116,676.88167a3.77983,3.77983,0,0,1-2.73939-6.55137c.09531-.37882.16368-.65085.259-1.02968q-.05115-.12366-.1029-.24717c-3.47987-8.29769-25.685,14.83336-26.645,22.63179a30.029,30.029,0,0,0,.52714,10.32752A120.39223,120.39223,0,0,1,562.77838,652.01a116.20247,116.20247,0,0,1,.72078-12.96332q.59712-5.293,1.65679-10.51055a121.78667,121.78667,0,0,1,24.1515-51.61646c6.87378.38364,12.898-.66348,13.47967-13.98532.10346-2.36972,1.86113-4.42156,2.24841-6.756-.65621.08607-1.32321.13985-1.97941.18285-.20444.0107-.41958.02149-.624.03228l-.07709.00346a3.745,3.745,0,0,1-3.07566-6.10115q.425-.52305.85054-1.04557c.43036-.53793.87143-1.06507,1.30171-1.60292a1.865,1.865,0,0,0,.13986-.16144c.49494-.61322.98971-1.21564,1.48465-1.82885a10.82911,10.82911,0,0,0-3.55014-3.43169c-4.95941-2.90463-11.80146-.89293-15.38389,3.59313-3.59313,4.486-4.27083,10.77947-3.023,16.3843a43.39764,43.39764,0,0,0,6.003,13.3828c-.269.34429-.54872.67779-.81765,1.02209a122.57366,122.57366,0,0,0-12.79359,20.2681c1.0163-7.93863-11.41159-36.60795-16.21776-42.68052-5.773-7.29409-17.61108-4.11077-18.62815,5.13562q-.01476.13428-.02884.26849,1.07082.60411,2.0964,1.28237a5.12707,5.12707,0,0,1-2.06713,9.33031l-.10452.01613c-9.55573,13.64367,21.07745,49.1547,28.74518,41.18139a125.11045,125.11045,0,0,0-6.73449,31.69282,118.66429,118.66429,0,0,0,.08607,19.15986l-.03231-.22593C558.90163,648.154,529.674,627.51374,521.139,629.233c-4.91675.99041-9.75952.76525-9.01293,5.72484q.01788.11874.03635.2375a34.4418,34.4418,0,0,1,3.862,1.86105q1.07082.60423,2.09639,1.28237a5.12712,5.12712,0,0,1-2.06712,9.33039l-.10464.01606c-.07528.01079-.13987.02157-.21507.03237-4.34967,14.96631,27.90735,39.12,47.5177,31.43461h.01081a125.07484,125.07484,0,0,0,8.402,24.52806H601.679c.10765-.3335.20443-.67779.3013-1.01129a34.102,34.102,0,0,1-8.30521-.49477c2.22693-2.73257,4.45377-5.48664,6.6807-8.21913a1.86122,1.86122,0,0,0,.13986-.16135c1.12956-1.39849,2.26992-2.78627,3.39948-4.18476l.00061-.00173a49.95232,49.95232,0,0,0-1.46367-12.72495Zm-34.37066-67.613.0158-.02133-.0158.04282Zm-6.64832,59.93237-.25822-.58084c.01079-.41957.01079-.83914,0-1.26942,0-.11845-.0215-.23672-.0215-.35508.09678.74228.18285,1.48464.29042,2.22692Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<circle cx="95.24878" cy="439" fill="hsl(var(--foreground))" r="11" />
|
||||
<circle cx="227.24878" cy="559" fill="hsl(var(--foreground))" r="11" />
|
||||
<circle cx="728.24878" cy="559" fill="hsl(var(--foreground))" r="11" />
|
||||
<circle cx="755.24878" cy="419" fill="hsl(var(--foreground))" r="11" />
|
||||
<circle cx="723.24878" cy="317" fill="hsl(var(--foreground))" r="11" />
|
||||
<path d="M434.1831,583.426a10.949,10.949,0,1,1-.21-2.16A10.9921,10.9921,0,0,1,434.1831,583.426Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<circle cx="484.24878" cy="349" fill="hsl(var(--foreground))" r="11" />
|
||||
<path d="M545.1831,513.426a10.949,10.949,0,1,1-.21-2.16A10.9921,10.9921,0,0,1,545.1831,513.426Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<path d="M403.1831,481.426a10.949,10.949,0,1,1-.21-2.16A10.9921,10.9921,0,0,1,403.1831,481.426Z"
|
||||
fill="hsl(var(--foreground))" transform="translate(-169.93432 -164.42601)" />
|
||||
<circle cx="599.24878" cy="443" fill="hsl(var(--foreground))" r="11" />
|
||||
<circle cx="426.24878" cy="338" fill="hsl(var(--foreground))" r="16" />
|
||||
<path
|
||||
d="M1028.875,735.26666l-857.75.30733a1.19068,1.19068,0,1,1,0-2.38136l857.75-.30734a1.19069,1.19069,0,0,1,0,2.38137Z"
|
||||
fill="#cacaca" transform="translate(-169.93432 -164.42601)" />
|
||||
</svg>
|
After Width: | Height: | Size: 24 KiB |
1
src/assets/svgs/hiprint/barcode.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742572800421" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="977" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M152.25 801.23h-48c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h48c4.42 0 8 3.58 8 8v560.02c0 4.42-3.58 8-8 8zM472.31 801.23h-48c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h48c4.42 0 8 3.58 8 8v560.02c0 4.42-3.58 8-8 8zM384.19 801.23c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8s8 3.58 8 8v560.02c0 4.42-3.58 8-8 8zM568.41 801.23h-48c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h48c4.42 0 8 3.58 8 8v560.02c0 4.42-3.58 8-8 8zM920.4 801.23h-48c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h48c4.42 0 8 3.58 8 8v560.02c0 4.42-3.59 8-8 8zM648.14 801.23h-16c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h16c4.42 0 8 3.58 8 8v560.02c0 4.42-3.59 8-8 8zM311.85 801.23h-112c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v560.02c0 4.42-3.58 8-8 8zM824.37 801.23h-112c-4.42 0-8-3.58-8-8V233.21c0-4.42 3.58-8 8-8h112c4.42 0 8 3.58 8 8v560.02c0 4.42-3.58 8-8 8z" fill="#515151" p-id="978"></path></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
src/assets/svgs/hiprint/emptyTable.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742614262568" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1134" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M1000.96 404.992v-248.32c0-21.504-17.408-39.424-38.912-39.424H62.976c-21.504 0-39.424 17.92-38.912 39.424v710.144c0 22.016 17.408 39.424 38.912 39.424h899.072c21.504 0 39.424-17.92 38.912-39.424V404.992z m-39.424-248.32v208.896h-609.28V156.672h609.28z m-648.192 0v208.896H62.464V156.672h250.88z m0 248.32v208.896H62.464V404.992h250.88z m-250.88 248.32h250.88v213.504H62.464V653.312z m899.072 214.016h-609.28V653.824h609.28v213.504z m0-253.44h-609.28V404.992h609.28v208.896z" fill="#515151" p-id="1135"></path></svg>
|
After Width: | Height: | Size: 846 B |
1
src/assets/svgs/hiprint/hline.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg t="1742570427705" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2698" width="32" height="32"><path d="M63.6 489.6h896.7v44.8H63.6z" p-id="2699"></path></svg>
|
After Width: | Height: | Size: 208 B |
1
src/assets/svgs/hiprint/html.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742632887371" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1162" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M868.8 105.6 155.2 105.6c-28.8 0-51.2 25.6-48 54.4l75.2 600c1.6 17.6 12.8 32 28.8 38.4l281.6 118.4c11.2 4.8 25.6 4.8 36.8 0l281.6-118.4c16-6.4 27.2-20.8 28.8-38.4l75.2-600C920 129.6 897.6 105.6 868.8 105.6zM865.6 179.2l-70.4 558.4c-1.6 8-6.4 16-14.4 19.2l-259.2 108.8c-6.4 3.2-12.8 3.2-19.2 0l-259.2-108.8c-8-3.2-12.8-11.2-14.4-19.2L158.4 179.2c-1.6-14.4 9.6-27.2 24-27.2l659.2 0C856 153.6 867.2 166.4 865.6 179.2z" fill="#515151" p-id="1163"></path><path d="M716.8 252.8 331.2 252.8c-28.8 0-51.2 25.6-48 54.4l17.6 136c3.2 24 24 41.6 48 41.6l294.4 0c14.4 0 25.6 12.8 24 27.2l-9.6 80c-1.6 8-6.4 16-14.4 19.2l-120 51.2c-6.4 3.2-12.8 3.2-19.2 0l-120-51.2c-8-3.2-12.8-11.2-14.4-19.2l-3.2-28.8c-1.6-12.8-14.4-22.4-27.2-20.8-12.8 1.6-22.4 14.4-20.8 27.2l4.8 41.6c1.6 17.6 12.8 32 28.8 38.4l142.4 60.8c11.2 4.8 25.6 4.8 36.8 0l142.4-60.8c16-6.4 27.2-20.8 28.8-38.4l14.4-121.6c3.2-28.8-19.2-54.4-48-54.4l-300.8 0c-12.8 0-22.4-9.6-24-20.8l-11.2-88c-1.6-14.4 9.6-27.2 24-27.2l358.4 0c11.2 0 20.8-8 24-19.2l0 0C742.4 267.2 731.2 252.8 716.8 252.8z" fill="#515151" p-id="1164"></path></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
src/assets/svgs/hiprint/image.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742824830074" class="icon" viewBox="0 0 1152 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1648" xmlns:xlink="http://www.w3.org/1999/xlink" width="36" height="32"><path d="M871.125 433.75a119.85 119.85 0 1 0 0-239.66 119.85 119.85 0 0 0 0 239.66z m209.622-399.318H102.272c-38.955 0-69.93 31.701-69.93 70.656v817.067c0 38.954 30.975 70.656 69.93 70.656h978.475c38.954 0 69.93-31.702 69.93-70.656V105.088c0-38.955-30.976-70.656-69.93-70.656z m-257.28 493.44a42.837 42.837 0 0 0-31.958-15.488c-12.714 0-21.674 5.973-31.957 14.208l-46.677 39.467c-9.728 6.997-17.494 11.733-28.672 11.733a41.301 41.301 0 0 1-27.478-10.24 338.09 338.09 0 0 1-10.752-10.24L511.701 412.075a55.04 55.04 0 0 0-41.685-18.774c-16.725 0-32.213 8.278-41.941 19.499L112.213 793.643V143.53c2.475-16.982 15.702-29.227 32.683-29.227h892.928c17.237 0 31.19 12.757 32.213 29.952l0.726 649.899L823.38 527.872z" fill="#515151" p-id="1649"></path></svg>
|
After Width: | Height: | Size: 1.0 KiB |
1
src/assets/svgs/hiprint/longText.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742574120913" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1232" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M813.333333 85.333333a104.064 104.064 0 0 1 103.509334 93.354667l0.490666 10.645333v624a104 104 0 0 1-93.354666 103.509334l-10.645334 0.490666H189.333333a104 104 0 0 1-103.509333-93.354666L85.333333 813.333333V189.333333a104.064 104.064 0 0 1 93.354667-103.509333L189.333333 85.333333h624z m0 52.010667H189.333333a52.010667 52.010667 0 0 0-51.413333 44.330667l-0.576 7.658666v624c0 26.133333 19.2 47.765333 44.330667 51.413334l7.658666 0.597333h624a51.989333 51.989333 0 0 0 51.413334-44.373333l0.597333-7.637334V189.333333a52.010667 52.010667 0 0 0-52.010667-52.010666z m9.152 570.410667v49.92H258.133333v-49.92h564.352z m-293.034666-425.173334l29.952 87.04-32.426667 24.64-3.093333-4.992c-19.050667-30.784-29.610667-42.026667-35.114667-46.272-4.16-3.072-26.197333-8.234667-59.989333-8.234666-14.976 0-22.464 0.426667-26.197334 0.661333a69.973333 69.973333 0 0 0-0.426666 5.824v226.133333c0 0.853333 0 1.493333 2.176 2.666667 2.944 1.386667 6.144 2.24 9.386666 2.496l6.08 0.256h46.421334v42.602667h-174.549334v-42.666667h43.669334c11.498667 0 15.146667-1.770667 16.064-2.346667 0.661333-0.341333 1.173333-0.746667 1.408-1.493333l0.170666-1.664V340.096a49.706667 49.706667 0 0 0-0.426666-4.906667 216.746667 216.746667 0 0 0-17.194667-0.512c-32.704 0-54.762667 4.416-61.333333 8.085334-5.738667 3.242667-15.637333 12.224-30.933334 36.437333l-5.994666 9.813333-2.986667 5.162667-36.117333-24.298667 33.706666-87.274666H529.429333zM817.92 509.418667v49.92H509.269333v-49.92H817.92z m0-182.784v49.92h-207.744v-49.92h207.765333z" fill="#515151" p-id="1233"></path></svg>
|
After Width: | Height: | Size: 1.9 KiB |
1
src/assets/svgs/hiprint/oval.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742572503889" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2838" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M512 42.666667C252.793333 42.666667 42.666667 252.793333 42.666667 512s210.126667 469.333333 469.333333 469.333333 469.333333-210.126667 469.333333-469.333333S771.206667 42.666667 512 42.666667z m0 896c-235.64 0-426.666667-191.026667-426.666667-426.666667s191.026667-426.666667 426.666667-426.666667 426.666667 191.026667 426.666667 426.666667-191.026667 426.666667-426.666667 426.666667z" fill="#5C5C66" p-id="2839"></path></svg>
|
After Width: | Height: | Size: 761 B |
1
src/assets/svgs/hiprint/qrcode.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742573495841" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1007" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M737.673809 863.903745 737.673809 800.13335 672.503531 800.13335 672.503531 863.949794ZM834.943157 863.949794c15.954367 0 29.006637-13.053294 29.006637-29.006637l0-34.808784-62.461587 0 0 63.769372M415.311891 223.865627l0 191.447287L223.864604 415.312914 223.864604 223.865627 415.311891 223.865627M450.120674 160.050206 189.05582 160.050206c-15.953344 0-29.006637 13.053294-29.006637 29.006637l0 261.063831c0 15.954367 13.053294 29.006637 29.006637 29.006637l261.063831 0c15.953344 0 29.006637-13.053294 29.006637-29.006637L479.126288 189.056843C479.127312 173.1035 466.074018 160.050206 450.120674 160.050206L450.120674 160.050206zM319.588759 319.589782m-31.907711 0a31.181 31.181 0 1 0 63.815421 0 31.181 31.181 0 1 0-63.815421 0ZM800.134373 223.865627l0 191.447287L608.688109 415.312914 608.688109 223.865627 800.134373 223.865627M834.943157 160.050206 573.879326 160.050206c-15.954367 0-29.006637 13.053294-29.006637 29.006637l0 261.063831c0 15.954367 13.053294 29.006637 29.006637 29.006637l261.063831 0c15.954367 0 29.006637-13.053294 29.006637-29.006637L863.949794 189.056843C863.950817 173.1035 850.897523 160.050206 834.943157 160.050206L834.943157 160.050206zM704.411241 319.589782m-31.907711 0a31.181 31.181 0 1 0 63.815421 0 31.181 31.181 0 1 0-63.815421 0ZM415.311891 608.687086l0 191.447287L223.864604 800.134373 223.864604 608.687086 415.311891 608.687086M450.120674 544.871665 189.05582 544.871665c-15.953344 0-29.006637 13.053294-29.006637 29.006637l0 261.063831c0 15.954367 13.053294 29.006637 29.006637 29.006637l261.063831 0c15.954367 0 29.006637-13.053294 29.006637-29.006637L479.126288 573.878303C479.127312 557.924959 466.074018 544.871665 450.120674 544.871665L450.120674 544.871665zM319.588759 704.410218m-31.907711 0a31.181 31.181 0 1 0 63.815421 0 31.181 31.181 0 1 0-63.815421 0ZM834.943157 544.871665l-35.579333 0 0 127.630842-63.815421 0L735.548402 544.871665 573.879326 544.871665c-15.954367 0-29.006637 13.053294-29.006637 29.006637l0 261.063831c0 15.954367 13.053294 29.006637 29.006637 29.006637l34.808784 0 0-63.815421 0-63.815421 0-63.815421 63.815421 0 0 63.815421L863.950817 736.317928l0-162.439626C863.950817 557.924959 850.897523 544.871665 834.943157 544.871665z" fill="#515151" p-id="1008"></path></svg>
|
After Width: | Height: | Size: 2.5 KiB |
1
src/assets/svgs/hiprint/rect.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742572377664" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1823" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M928 896H96a53.393333 53.393333 0 0 1-53.333333-53.333333V181.333333a53.393333 53.393333 0 0 1 53.333333-53.333333h832a53.393333 53.393333 0 0 1 53.333333 53.333333v661.333334a53.393333 53.393333 0 0 1-53.333333 53.333333zM96 170.666667a10.666667 10.666667 0 0 0-10.666667 10.666666v661.333334a10.666667 10.666667 0 0 0 10.666667 10.666666h832a10.666667 10.666667 0 0 0 10.666667-10.666666V181.333333a10.666667 10.666667 0 0 0-10.666667-10.666666z" fill="#5C5C66" p-id="1824"></path></svg>
|
After Width: | Height: | Size: 820 B |
1
src/assets/svgs/hiprint/table.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742614649517" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1131" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M122.368 165.888h778.24c-9.216 0-16.384-7.168-16.384-16.384v713.728c0-9.216 7.168-16.384 16.384-16.384h-778.24c9.216 0 16.384 7.168 16.384 16.384V150.016c0 8.192-6.656 15.872-16.384 15.872z m-32.768 684.544c0 26.112 20.992 47.104 47.104 47.104h750.08c26.112 0 47.104-20.992 47.104-47.104V162.304c0-26.112-20.992-47.104-47.104-47.104H136.704c-26.112 0-47.104 20.992-47.104 47.104v688.128z" fill="#515151" p-id="1132"></path><path d="M249.344 347.648h49.152v499.2h-49.152zM584.704 347.648h49.152v499.2h-49.152zM137.728 165.888h746.496v181.76H137.728z" fill="#515151" p-id="1133"></path><path d="M137.728 481.792h746.496v49.152H137.728zM137.728 664.576h746.496v49.152H137.728z" fill="#515151" p-id="1134"></path></svg>
|
After Width: | Height: | Size: 1.0 KiB |
1
src/assets/svgs/hiprint/text.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742574116722" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1069" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M747.24 345.95c-11.47 0-20.76-9.3-20.76-20.76v-20.76H297.51v20.76c0 11.46-9.29 20.76-20.76 20.76S256 336.65 256 325.19v-41.51c0-11.46 9.29-20.76 20.76-20.76h470.49c11.47 0 20.76 9.3 20.76 20.76v41.51c-0.01 11.46-9.3 20.76-20.77 20.76z" fill="#515151" p-id="1070"></path><path d="M512 761.08c-11.47 0-20.76-9.3-20.76-20.76V283.68c0-11.46 9.29-20.76 20.76-20.76 11.47 0 20.76 9.3 20.76 20.76v456.65c0 11.45-9.29 20.75-20.76 20.75z" fill="#515151" p-id="1071"></path><path d="M581.19 761.08H442.81c-11.47 0-20.76-9.3-20.76-20.76s9.29-20.76 20.76-20.76h138.38c11.47 0 20.76 9.3 20.76 20.76s-9.29 20.76-20.76 20.76z" fill="#515151" p-id="1072"></path></svg>
|
After Width: | Height: | Size: 983 B |
1
src/assets/svgs/hiprint/vline.svg
Normal file
@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1742572284188" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2613" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M480 128h64v768h-64z" p-id="2614"></path></svg>
|
After Width: | Height: | Size: 378 B |