init
16
.editorconfig
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# http://editorconfig.org
|
||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
|
end_of_line = lf
|
||||||
|
charset = utf-8
|
||||||
|
trim_trailing_whitespace = true
|
||||||
|
insert_final_newline = true
|
||||||
|
|
||||||
|
[*.md]
|
||||||
|
trim_trailing_whitespace = false
|
||||||
|
|
||||||
|
[Makefile]
|
||||||
|
indent_style = tab
|
8
.eslintignore
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
/lambda/
|
||||||
|
/scripts
|
||||||
|
/config
|
||||||
|
.history
|
||||||
|
public
|
||||||
|
dist
|
||||||
|
.umi
|
||||||
|
mock
|
8
.eslintrc.js
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
module.exports = {
|
||||||
|
extends: [require.resolve('@umijs/fabric/dist/eslint')],
|
||||||
|
globals: {
|
||||||
|
ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: true,
|
||||||
|
page: true,
|
||||||
|
REACT_APP_ENV: true,
|
||||||
|
},
|
||||||
|
};
|
23
.prettierignore
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
**/*.svg
|
||||||
|
package.json
|
||||||
|
.umi
|
||||||
|
.umi-production
|
||||||
|
/dist
|
||||||
|
.dockerignore
|
||||||
|
.DS_Store
|
||||||
|
.eslintignore
|
||||||
|
*.png
|
||||||
|
*.toml
|
||||||
|
docker
|
||||||
|
.editorconfig
|
||||||
|
Dockerfile*
|
||||||
|
.gitignore
|
||||||
|
.prettierignore
|
||||||
|
LICENSE
|
||||||
|
.eslintcache
|
||||||
|
*.lock
|
||||||
|
yarn-error.log
|
||||||
|
.history
|
||||||
|
CNAME
|
||||||
|
/build
|
||||||
|
/public
|
5
.prettierrc.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
const fabric = require('@umijs/fabric');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
...fabric.prettier,
|
||||||
|
};
|
5
.stylelintrc.js
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
const fabric = require('@umijs/fabric');
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
...fabric.stylelint,
|
||||||
|
};
|
60
README1.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# Ant Design Pro
|
||||||
|
|
||||||
|
This project is initialized with [Ant Design Pro](https://pro.ant.design). Follow is the quick guide for how to use.
|
||||||
|
|
||||||
|
## Environment Prepare
|
||||||
|
|
||||||
|
Install `node_modules`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
or
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn
|
||||||
|
```
|
||||||
|
|
||||||
|
## Provided Scripts
|
||||||
|
|
||||||
|
Ant Design Pro provides some useful script to help you quick start and build with web project, code style check and test.
|
||||||
|
|
||||||
|
Scripts provided in `package.json`. It's safe to modify or add additional script:
|
||||||
|
|
||||||
|
### Start project
|
||||||
|
|
||||||
|
正常启动请运行
|
||||||
|
npm start:dev
|
||||||
|
|
||||||
|
Mock测试模式请运行
|
||||||
|
npm start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Build project
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Check code style
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run lint
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also use script to auto fix some lint error:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run lint:fix
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test code
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm test
|
||||||
|
```
|
||||||
|
|
||||||
|
## More
|
||||||
|
|
||||||
|
You can view full document on our [official website](https://pro.ant.design). And welcome any feedback in our [github](https://github.com/ant-design/ant-design-pro).
|
15
config/config.dev.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// https://umijs.org/config/
|
||||||
|
import { defineConfig } from 'umi';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
plugins: [
|
||||||
|
// https://github.com/zthxxx/react-dev-inspector
|
||||||
|
'react-dev-inspector/plugins/umi/react-inspector',
|
||||||
|
],
|
||||||
|
// https://github.com/zthxxx/react-dev-inspector#inspector-loader-props
|
||||||
|
inspectorConfig: {
|
||||||
|
exclude: [],
|
||||||
|
babelPlugins: [],
|
||||||
|
babelOptions: {},
|
||||||
|
},
|
||||||
|
});
|
76
config/config.ts
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
// https://umijs.org/config/
|
||||||
|
import { defineConfig } from 'umi';
|
||||||
|
import { join } from 'path';
|
||||||
|
import defaultSettings from './defaultSettings';
|
||||||
|
import routes from './routes';
|
||||||
|
import proxy from './proxy';
|
||||||
|
|
||||||
|
const { REACT_APP_ENV } = process.env;
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
hash: true,
|
||||||
|
antd: {},
|
||||||
|
dva: {
|
||||||
|
hmr: true,
|
||||||
|
},
|
||||||
|
layout: {
|
||||||
|
// https://umijs.org/zh-CN/plugins/plugin-layout
|
||||||
|
locale: false,
|
||||||
|
siderWidth: 208,
|
||||||
|
...defaultSettings,
|
||||||
|
},
|
||||||
|
// https://umijs.org/zh-CN/plugins/plugin-locale
|
||||||
|
locale: {
|
||||||
|
default: 'zh-CN',
|
||||||
|
antd: false,
|
||||||
|
// default true, when it is true, will use `navigator.language` overwrite default
|
||||||
|
baseNavigator: true,
|
||||||
|
},
|
||||||
|
dynamicImport: {
|
||||||
|
loading: '@ant-design/pro-layout/es/PageLoading',
|
||||||
|
},
|
||||||
|
targets: {
|
||||||
|
ie: 11,
|
||||||
|
},
|
||||||
|
// umi routes: https://umijs.org/docs/routing
|
||||||
|
routes,
|
||||||
|
// Theme for antd: https://ant.design/docs/react/customize-theme-cn
|
||||||
|
theme: {
|
||||||
|
'primary-color': defaultSettings.primaryColor,
|
||||||
|
// 'root-entry-name': 'variable',
|
||||||
|
},
|
||||||
|
// esbuild is father build tools
|
||||||
|
// https://umijs.org/plugins/plugin-esbuild
|
||||||
|
esbuild: {},
|
||||||
|
title: false,
|
||||||
|
ignoreMomentLocale: true,
|
||||||
|
proxy: proxy[REACT_APP_ENV || 'dev'],
|
||||||
|
manifest: {
|
||||||
|
basePath: '/',
|
||||||
|
},
|
||||||
|
// Fast Refresh 热更新
|
||||||
|
fastRefresh: {},
|
||||||
|
openAPI: [
|
||||||
|
{
|
||||||
|
requestLibPath: "import { request } from 'umi'",
|
||||||
|
// 或者使用在线的版本
|
||||||
|
// schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json"
|
||||||
|
schemaPath: join(__dirname, 'oneapi.json'),
|
||||||
|
mock: false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
requestLibPath: "import { request } from 'umi'",
|
||||||
|
schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json',
|
||||||
|
projectName: 'swagger',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
nodeModulesTransform: {
|
||||||
|
type: 'none',
|
||||||
|
},
|
||||||
|
mfsu: {},
|
||||||
|
webpack5: {},
|
||||||
|
exportStatic: {},
|
||||||
|
externals: {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
24
config/defaultSettings.ts
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
import { Settings as LayoutSettings } from '@ant-design/pro-layout';
|
||||||
|
|
||||||
|
const Settings: LayoutSettings & {
|
||||||
|
pwa?: boolean;
|
||||||
|
logo?: string;
|
||||||
|
tabsLayout?: boolean;
|
||||||
|
} = {
|
||||||
|
navTheme: 'light',
|
||||||
|
headerTheme: 'light',
|
||||||
|
primaryColor: '#722ED1',
|
||||||
|
layout: 'top',
|
||||||
|
splitMenus: true,
|
||||||
|
contentWidth: 'Fluid',
|
||||||
|
fixedHeader: true,
|
||||||
|
fixSiderbar: true,
|
||||||
|
colorWeak: false,
|
||||||
|
title: 'Salpa',
|
||||||
|
pwa: false,
|
||||||
|
logo: 'https://gw.alipayobjects.com/zos/rmsportal/樽海鞘_图案.svg',
|
||||||
|
iconfontUrl: '',
|
||||||
|
tabsLayout: true,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Settings;
|
593
config/oneapi.json
Normal file
@ -0,0 +1,593 @@
|
|||||||
|
{
|
||||||
|
"openapi": "3.0.1",
|
||||||
|
"info": {
|
||||||
|
"title": "Ant Design Pro",
|
||||||
|
"version": "1.0.0"
|
||||||
|
},
|
||||||
|
"servers": [
|
||||||
|
{
|
||||||
|
"url": "http://localhost:8000/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "https://localhost:8000/"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"paths": {
|
||||||
|
"/api/currentUser": {
|
||||||
|
"get": {
|
||||||
|
"tags": ["api"],
|
||||||
|
"description": "获取当前的用户",
|
||||||
|
"operationId": "currentUser",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/CurrentUser"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-swagger-router-controller": "api"
|
||||||
|
},
|
||||||
|
"/api/login/captcha": {
|
||||||
|
"post": {
|
||||||
|
"description": "发送验证码",
|
||||||
|
"operationId": "getFakeCaptcha",
|
||||||
|
"tags": ["login"],
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "phone",
|
||||||
|
"in": "query",
|
||||||
|
"description": "手机号",
|
||||||
|
"schema": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/FakeCaptcha"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/api/login/outLogin": {
|
||||||
|
"post": {
|
||||||
|
"description": "登录接口",
|
||||||
|
"operationId": "outLogin",
|
||||||
|
"tags": ["login"],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-swagger-router-controller": "api"
|
||||||
|
},
|
||||||
|
"/api/login/account": {
|
||||||
|
"post": {
|
||||||
|
"tags": ["login"],
|
||||||
|
"description": "登录接口",
|
||||||
|
"operationId": "login",
|
||||||
|
"requestBody": {
|
||||||
|
"description": "登录系统",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/LoginParams"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": true
|
||||||
|
},
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/LoginResult"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-codegen-request-body-name": "body"
|
||||||
|
},
|
||||||
|
"x-swagger-router-controller": "api"
|
||||||
|
},
|
||||||
|
"/api/notices": {
|
||||||
|
"summary": "getNotices",
|
||||||
|
"description": "NoticeIconItem",
|
||||||
|
"get": {
|
||||||
|
"tags": ["api"],
|
||||||
|
"operationId": "getNotices",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/NoticeIconList"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"/api/rule": {
|
||||||
|
"get": {
|
||||||
|
"tags": ["rule"],
|
||||||
|
"description": "获取规则列表",
|
||||||
|
"operationId": "rule",
|
||||||
|
"parameters": [
|
||||||
|
{
|
||||||
|
"name": "current",
|
||||||
|
"in": "query",
|
||||||
|
"description": "当前的页码",
|
||||||
|
"schema": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pageSize",
|
||||||
|
"in": "query",
|
||||||
|
"description": "页面的容量",
|
||||||
|
"schema": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/RuleList"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"post": {
|
||||||
|
"tags": ["rule"],
|
||||||
|
"description": "新建规则",
|
||||||
|
"operationId": "addRule",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/RuleListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"put": {
|
||||||
|
"tags": ["rule"],
|
||||||
|
"description": "新建规则",
|
||||||
|
"operationId": "updateRule",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/RuleListItem"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"delete": {
|
||||||
|
"tags": ["rule"],
|
||||||
|
"description": "删除规则",
|
||||||
|
"operationId": "removeRule",
|
||||||
|
"responses": {
|
||||||
|
"200": {
|
||||||
|
"description": "Success",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"type": "object"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"401": {
|
||||||
|
"description": "Error",
|
||||||
|
"content": {
|
||||||
|
"application/json": {
|
||||||
|
"schema": {
|
||||||
|
"$ref": "#/components/schemas/ErrorResponse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"x-swagger-router-controller": "api"
|
||||||
|
},
|
||||||
|
"/swagger": {
|
||||||
|
"x-swagger-pipe": "swagger_raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"components": {
|
||||||
|
"schemas": {
|
||||||
|
"CurrentUser": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"avatar": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"userid": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"email": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"signature": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"group": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"tags": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"key": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"label": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notifyCount": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"unreadCount": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"country": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"access": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"geographic": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"province": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"city": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"label": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"key": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"address": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"phone": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"LoginResult": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"status": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"currentAuthority": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"PageParams": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"current": {
|
||||||
|
"type": "number"
|
||||||
|
},
|
||||||
|
"pageSize": {
|
||||||
|
"type": "number"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"RuleListItem": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"key": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"disabled": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"href": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"avatar": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"owner": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"desc": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"callNo": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"updatedAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "datetime"
|
||||||
|
},
|
||||||
|
"createdAt": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "datetime"
|
||||||
|
},
|
||||||
|
"progress": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"RuleList": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/RuleListItem"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"total": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "列表的内容总数",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"FakeCaptcha": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"code": {
|
||||||
|
"type": "integer",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"LoginParams": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"username": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"password": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"autoLogin": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ErrorResponse": {
|
||||||
|
"required": ["errorCode"],
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"errorCode": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "业务约定的错误码"
|
||||||
|
},
|
||||||
|
"errorMessage": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "业务上的错误信息"
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "业务上的请求是否成功"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"NoticeIconList": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"data": {
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"$ref": "#/components/schemas/NoticeIconItem"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"total": {
|
||||||
|
"type": "integer",
|
||||||
|
"description": "列表的内容总数",
|
||||||
|
"format": "int32"
|
||||||
|
},
|
||||||
|
"success": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"NoticeIconItemType": {
|
||||||
|
"title": "NoticeIconItemType",
|
||||||
|
"description": "已读未读列表的枚举",
|
||||||
|
"type": "string",
|
||||||
|
"properties": {},
|
||||||
|
"enum": ["notification", "message", "event"]
|
||||||
|
},
|
||||||
|
"NoticeIconItem": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"id": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"extra": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "any"
|
||||||
|
},
|
||||||
|
"key": { "type": "string" },
|
||||||
|
"read": {
|
||||||
|
"type": "boolean"
|
||||||
|
},
|
||||||
|
"avatar": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"title": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"datetime": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date"
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"extensions": {
|
||||||
|
"x-is-enum": true
|
||||||
|
},
|
||||||
|
"$ref": "#/components/schemas/NoticeIconItemType"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
38
config/proxy.ts
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/**
|
||||||
|
* 在生产环境 代理是无法生效的,所以这里没有生产环境的配置
|
||||||
|
* -------------------------------
|
||||||
|
* The agent cannot take effect in the production environment
|
||||||
|
* so there is no configuration of the production environment
|
||||||
|
* For details, please see
|
||||||
|
* https://pro.ant.design/docs/deploy
|
||||||
|
*/
|
||||||
|
export default {
|
||||||
|
dev: {
|
||||||
|
'/api/': {
|
||||||
|
// target: 'http://192.168.103.172:8080',
|
||||||
|
target: 'http://192.168.2.58:8080',
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: { '^/api': '' },
|
||||||
|
},
|
||||||
|
'/profile/avatar/': {
|
||||||
|
// target: 'http://192.168.103.172:8080',
|
||||||
|
target: 'http://192.168.113.251:8080',
|
||||||
|
|
||||||
|
changeOrigin: true,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
test: {
|
||||||
|
'/api/': {
|
||||||
|
target: 'http://192.168.1.217:8080',
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: { '^/api': '' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pre: {
|
||||||
|
'/api/': {
|
||||||
|
target: 'your pre url',
|
||||||
|
changeOrigin: true,
|
||||||
|
pathRewrite: { '^': '' },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
317
config/routes.ts
Normal file
@ -0,0 +1,317 @@
|
|||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2022/02/22
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default [
|
||||||
|
{
|
||||||
|
path: '/user',
|
||||||
|
layout: false,
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
path: '/user/login',
|
||||||
|
layout: false,
|
||||||
|
name: 'login',
|
||||||
|
component: './User/login'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/user',
|
||||||
|
redirect: '/user/login'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'register-result',
|
||||||
|
icon: 'smile',
|
||||||
|
path: '/user/register-result',
|
||||||
|
component: './User/register-result'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'register',
|
||||||
|
icon: 'smile',
|
||||||
|
path: '/user/register',
|
||||||
|
component: './User/register'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
component: '404'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'account',
|
||||||
|
icon: 'user',
|
||||||
|
path: '/account',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
path: '/account',
|
||||||
|
redirect: '/account/center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'center',
|
||||||
|
icon: 'smile',
|
||||||
|
path: '/account/center',
|
||||||
|
component: './account/center',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.account.center'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'settings',
|
||||||
|
icon: 'smile',
|
||||||
|
path: '/account/settings',
|
||||||
|
component: './account/settings',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.account.settings'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'system',
|
||||||
|
icon: 'BugOutlined',
|
||||||
|
path: '/system',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
redirect: '/system/user'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'user',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/user',
|
||||||
|
component: 'system/user/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.user'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'menu',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/menu',
|
||||||
|
component: 'system/menu/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.menu'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'role',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/role',
|
||||||
|
component: 'system/role/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.role'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'dept',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/dept',
|
||||||
|
component: 'system/dept/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.dept'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'post',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/post',
|
||||||
|
component: 'system/post/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.post'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'dict',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/dict',
|
||||||
|
component: 'system/dict/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.dict'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'dictData',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/dictData/index/:id?',
|
||||||
|
component: 'system/dictData/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.dictData'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'config',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/config',
|
||||||
|
component: 'system/config/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.config'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'notice',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/system/notice',
|
||||||
|
component: 'system/notice/index',
|
||||||
|
access: 'authorize',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
title: 'menu.title.notice'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'log',
|
||||||
|
icon: 'BugOutlined',
|
||||||
|
path: '/system/log/',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
redirect: '/system/log/operlog'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'model',
|
||||||
|
path: '/model',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
name: 'modelChildren',
|
||||||
|
icon: 'BugOutlined',
|
||||||
|
path: '/model/modelChildren',
|
||||||
|
component: 'pdManer/pages/getstore/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: false,
|
||||||
|
access:'authorize',
|
||||||
|
title:'menu.title.modelChildren'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'OnlinInquiry',
|
||||||
|
path: '/OnlinInquiry',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
name: 'OnlinInquiryChildren',
|
||||||
|
path: '/OnlinInquiry/OnlinInquiryChildren',
|
||||||
|
component: 'OnlinInquiry/src/entryPointFactory',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: false,
|
||||||
|
access:'authorize',
|
||||||
|
title:'menu.title.OnlinInquiryChildren'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
// {
|
||||||
|
// name: 'pdmaner',
|
||||||
|
// icon: 'BugOutlined',
|
||||||
|
// path: '/getstore',
|
||||||
|
// component: '@/pdManer/pages/getstore/index',
|
||||||
|
// keppAlive: true
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
name: 'modelMonitor',
|
||||||
|
icon: 'BugOutlined',
|
||||||
|
path: '/modelMonitor',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
name: 'theme',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/modelMonitor/theme',
|
||||||
|
component: 'modelMonitor/theme/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'modelMonitor',
|
||||||
|
title: 'menu.title.theme'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'databasir',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/modelMonitor/databasir',
|
||||||
|
component: 'modelMonitor/databasir/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'modelMonitor',
|
||||||
|
title: 'menu.title.databasir',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'dataextension',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/modelMonitor/dataextension',
|
||||||
|
component: 'modelMonitor/dataextension/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'modelMonitor',
|
||||||
|
title: 'menu.title.dataextension'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'subjectdetails',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/modelMonitor/subjectdetails',
|
||||||
|
component: 'modelMonitor/subjectdetails/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'modelMonitor',
|
||||||
|
title: 'menu.title.subjectdetails'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'alarmmanage',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/modelMonitor/alarmmanage',
|
||||||
|
component: 'modelMonitor/alarmmanage/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'modelMonitor',
|
||||||
|
title: 'menu.title.alarmmanage'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'textpage',
|
||||||
|
icon: 'BugOutlined',
|
||||||
|
path: '/textpage',
|
||||||
|
component: '@/layouts/TabsLayout',
|
||||||
|
routes: [
|
||||||
|
{
|
||||||
|
name: 'sbhzl',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/textpage/sbhzl',
|
||||||
|
component: 'textpage/sbhzl/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'textpage',
|
||||||
|
title: 'menu.title.sbhzl'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'test2',
|
||||||
|
icon: 'PartitionOutlined',
|
||||||
|
path: '/textpage/test2',
|
||||||
|
component: 'textpage/test2/index',
|
||||||
|
wrappers: ['@/components/KeepAlive'],
|
||||||
|
keppAlive: true,
|
||||||
|
access: 'textpage',
|
||||||
|
title: 'menu.title.test2'
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/',
|
||||||
|
redirect: '/model/modelChildren'
|
||||||
|
// redirect:'/modelMonitor/theme'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
component: './404'
|
||||||
|
}
|
||||||
|
]
|
10
jest.config.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
module.exports = {
|
||||||
|
testURL: 'http://localhost:8000',
|
||||||
|
testEnvironment: './tests/PuppeteerEnvironment',
|
||||||
|
verbose: false,
|
||||||
|
extraSetupFiles: ['./tests/setupTests.js'],
|
||||||
|
globals: {
|
||||||
|
ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: false,
|
||||||
|
localStorage: null,
|
||||||
|
},
|
||||||
|
};
|
10
jsconfig.json
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"emitDecoratorMetadata": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"@/*": ["./src/*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
175
mock/listTableList.ts
Normal file
@ -0,0 +1,175 @@
|
|||||||
|
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||||
|
import { Request, Response } from 'express';
|
||||||
|
import moment from 'moment';
|
||||||
|
import { parse } from 'url';
|
||||||
|
|
||||||
|
// mock tableListDataSource
|
||||||
|
const genList = (current: number, pageSize: number) => {
|
||||||
|
const tableListDataSource: API.RuleListItem[] = [];
|
||||||
|
|
||||||
|
for (let i = 0; i < pageSize; i += 1) {
|
||||||
|
const index = (current - 1) * 10 + i;
|
||||||
|
tableListDataSource.push({
|
||||||
|
key: index,
|
||||||
|
disabled: i % 6 === 0,
|
||||||
|
href: 'https://ant.design',
|
||||||
|
avatar: [
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png',
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png',
|
||||||
|
][i % 2],
|
||||||
|
name: `TradeCode ${index}`,
|
||||||
|
owner: '曲丽丽',
|
||||||
|
desc: '这是一段描述',
|
||||||
|
callNo: Math.floor(Math.random() * 1000),
|
||||||
|
status: Math.floor(Math.random() * 10) % 4,
|
||||||
|
updatedAt: moment().format('YYYY-MM-DD'),
|
||||||
|
createdAt: moment().format('YYYY-MM-DD'),
|
||||||
|
progress: Math.ceil(Math.random() * 100),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
tableListDataSource.reverse();
|
||||||
|
return tableListDataSource;
|
||||||
|
};
|
||||||
|
|
||||||
|
let tableListDataSource = genList(1, 100);
|
||||||
|
|
||||||
|
function getRule(req: Request, res: Response, u: string) {
|
||||||
|
let realUrl = u;
|
||||||
|
if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') {
|
||||||
|
realUrl = req.url;
|
||||||
|
}
|
||||||
|
const { current = 1, pageSize = 10 } = req.query;
|
||||||
|
const params = parse(realUrl, true).query as unknown as API.PageParams &
|
||||||
|
API.RuleListItem & {
|
||||||
|
sorter: any;
|
||||||
|
filter: any;
|
||||||
|
};
|
||||||
|
|
||||||
|
let dataSource = [...tableListDataSource].slice(
|
||||||
|
((current as number) - 1) * (pageSize as number),
|
||||||
|
(current as number) * (pageSize as number),
|
||||||
|
);
|
||||||
|
if (params.sorter) {
|
||||||
|
const sorter = JSON.parse(params.sorter);
|
||||||
|
dataSource = dataSource.sort((prev, next) => {
|
||||||
|
let sortNumber = 0;
|
||||||
|
Object.keys(sorter).forEach((key) => {
|
||||||
|
if (sorter[key] === 'descend') {
|
||||||
|
if (prev[key] - next[key] > 0) {
|
||||||
|
sortNumber += -1;
|
||||||
|
} else {
|
||||||
|
sortNumber += 1;
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (prev[key] - next[key] > 0) {
|
||||||
|
sortNumber += 1;
|
||||||
|
} else {
|
||||||
|
sortNumber += -1;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return sortNumber;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (params.filter) {
|
||||||
|
const filter = JSON.parse(params.filter as any) as {
|
||||||
|
[key: string]: string[];
|
||||||
|
};
|
||||||
|
if (Object.keys(filter).length > 0) {
|
||||||
|
dataSource = dataSource.filter((item) => {
|
||||||
|
return Object.keys(filter).some((key) => {
|
||||||
|
if (!filter[key]) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (filter[key].includes(`${item[key]}`)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (params.name) {
|
||||||
|
dataSource = dataSource.filter((data) => data?.name?.includes(params.name || ''));
|
||||||
|
}
|
||||||
|
const result = {
|
||||||
|
data: dataSource,
|
||||||
|
total: tableListDataSource.length,
|
||||||
|
success: true,
|
||||||
|
pageSize,
|
||||||
|
current: parseInt(`${params.current}`, 10) || 1,
|
||||||
|
};
|
||||||
|
|
||||||
|
return res.json(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
function postRule(req: Request, res: Response, u: string, b: Request) {
|
||||||
|
let realUrl = u;
|
||||||
|
if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') {
|
||||||
|
realUrl = req.url;
|
||||||
|
}
|
||||||
|
|
||||||
|
const body = (b && b.body) || req.body;
|
||||||
|
const { method, name, desc, key } = body;
|
||||||
|
|
||||||
|
switch (method) {
|
||||||
|
/* eslint no-case-declarations:0 */
|
||||||
|
case 'delete':
|
||||||
|
tableListDataSource = tableListDataSource.filter((item) => key.indexOf(item.key) === -1);
|
||||||
|
break;
|
||||||
|
case 'post':
|
||||||
|
(() => {
|
||||||
|
const i = Math.ceil(Math.random() * 10000);
|
||||||
|
const newRule: API.RuleListItem = {
|
||||||
|
key: tableListDataSource.length,
|
||||||
|
href: 'https://ant.design',
|
||||||
|
avatar: [
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png',
|
||||||
|
'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png',
|
||||||
|
][i % 2],
|
||||||
|
name,
|
||||||
|
owner: '曲丽丽',
|
||||||
|
desc,
|
||||||
|
callNo: Math.floor(Math.random() * 1000),
|
||||||
|
status: Math.floor(Math.random() * 10) % 2,
|
||||||
|
updatedAt: moment().format('YYYY-MM-DD'),
|
||||||
|
createdAt: moment().format('YYYY-MM-DD'),
|
||||||
|
progress: Math.ceil(Math.random() * 100),
|
||||||
|
};
|
||||||
|
tableListDataSource.unshift(newRule);
|
||||||
|
return res.json(newRule);
|
||||||
|
})();
|
||||||
|
return;
|
||||||
|
|
||||||
|
case 'update':
|
||||||
|
(() => {
|
||||||
|
let newRule = {};
|
||||||
|
tableListDataSource = tableListDataSource.map((item) => {
|
||||||
|
if (item.key === key) {
|
||||||
|
newRule = { ...item, desc, name };
|
||||||
|
return { ...item, desc, name };
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
});
|
||||||
|
return res.json(newRule);
|
||||||
|
})();
|
||||||
|
return;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
const result = {
|
||||||
|
list: tableListDataSource,
|
||||||
|
pagination: {
|
||||||
|
total: tableListDataSource.length,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
res.json(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'GET /api/rule': getRule,
|
||||||
|
'POST /api/rule': postRule,
|
||||||
|
};
|
107
mock/notices.ts
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
import { Request, Response } from 'express';
|
||||||
|
|
||||||
|
const getNotices = (req: Request, res: Response) => {
|
||||||
|
res.json({
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
id: '000000001',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png',
|
||||||
|
title: '你收到了 14 份新周报',
|
||||||
|
datetime: '2017-08-09',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000002',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png',
|
||||||
|
title: '你推荐的 曲妮妮 已通过第三轮面试',
|
||||||
|
datetime: '2017-08-08',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000003',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png',
|
||||||
|
title: '这种模板可以区分多种通知类型',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
read: true,
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000004',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png',
|
||||||
|
title: '左侧图标用于区分不同的类型',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000005',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png',
|
||||||
|
title: '内容不要超过两行字,超出时自动截断',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000006',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg',
|
||||||
|
title: '曲丽丽 评论了你',
|
||||||
|
description: '描述信息描述信息描述信息',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
type: 'message',
|
||||||
|
clickClose: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000007',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg',
|
||||||
|
title: '朱偏右 回复了你',
|
||||||
|
description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
type: 'message',
|
||||||
|
clickClose: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000008',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg',
|
||||||
|
title: '标题',
|
||||||
|
description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像',
|
||||||
|
datetime: '2017-08-07',
|
||||||
|
type: 'message',
|
||||||
|
clickClose: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000009',
|
||||||
|
title: '任务名称',
|
||||||
|
description: '任务需要在 2017-01-12 20:00 前启动',
|
||||||
|
extra: '未开始',
|
||||||
|
status: 'todo',
|
||||||
|
type: 'event',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000010',
|
||||||
|
title: '第三方紧急代码变更',
|
||||||
|
description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务',
|
||||||
|
extra: '马上到期',
|
||||||
|
status: 'urgent',
|
||||||
|
type: 'event',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000011',
|
||||||
|
title: '信息安全考试',
|
||||||
|
description: '指派竹尔于 2017-01-09 前完成更新并发布',
|
||||||
|
extra: '已耗时 8 天',
|
||||||
|
status: 'doing',
|
||||||
|
type: 'event',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000012',
|
||||||
|
title: 'ABCD 版本发布',
|
||||||
|
description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务',
|
||||||
|
extra: '进行中',
|
||||||
|
status: 'processing',
|
||||||
|
type: 'event',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'GET /api/notices': getNotices,
|
||||||
|
};
|
5
mock/route.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export default {
|
||||||
|
'/api/auth_routes': {
|
||||||
|
'/form/advanced-form': { authority: ['admin', 'user'] },
|
||||||
|
},
|
||||||
|
};
|
539
mock/user.ts
Normal file
@ -0,0 +1,539 @@
|
|||||||
|
import { Request, Response } from 'express';
|
||||||
|
import captchapng from 'captchapng3';
|
||||||
|
|
||||||
|
const waitTime = (time: number = 100) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
setTimeout(() => {
|
||||||
|
resolve(true);
|
||||||
|
}, time);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
async function getFakeCaptcha(req: Request, res: Response) {
|
||||||
|
await waitTime(2000);
|
||||||
|
return res.json('captcha-xxx');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function guid () {
|
||||||
|
return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
|
||||||
|
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
|
||||||
|
return v.toString(16);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function getCaptchaImage(req: Request, res: Response) {
|
||||||
|
await waitTime(1000);
|
||||||
|
let rand = (Math.random() * 9000 + 1000).toFixed();
|
||||||
|
var p = new captchapng(100, 30, rand);
|
||||||
|
const img = p.getBase64();
|
||||||
|
res.status(200).send({
|
||||||
|
code: 200,
|
||||||
|
msg: 'success',
|
||||||
|
img: img,
|
||||||
|
uuid: guid()
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 当前用户的权限,如果为空代表没登录
|
||||||
|
* current user access, if is '', user need login
|
||||||
|
* 如果是 pro 的预览,默认是有权限的
|
||||||
|
*/
|
||||||
|
let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : '';
|
||||||
|
|
||||||
|
const getAccess = () => {
|
||||||
|
return access;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 代码中会兼容本地 service mock 以及部署站点的静态数据
|
||||||
|
export default {
|
||||||
|
// 支持值为 Object 和 Array
|
||||||
|
'GET /api/getInfo': (req: Request, res: Response) => {
|
||||||
|
if (!getAccess()) {
|
||||||
|
res.status(401).send({
|
||||||
|
data: {
|
||||||
|
isLogin: false,
|
||||||
|
},
|
||||||
|
errorCode: '401',
|
||||||
|
errorMessage: '请先登录!',
|
||||||
|
success: true,
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
res.send({
|
||||||
|
msg: "操作成功",
|
||||||
|
code: 200,
|
||||||
|
permissions: ["*:*:*"],
|
||||||
|
roles: ["admin"],
|
||||||
|
user: {
|
||||||
|
searchValue: null,
|
||||||
|
createBy: "admin",
|
||||||
|
createTime: "2021-09-09 17:25:28",
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
remark: "管理员",
|
||||||
|
params: {},
|
||||||
|
userId: 1,
|
||||||
|
deptId: 103,
|
||||||
|
userName: "admin",
|
||||||
|
nickName: "若依",
|
||||||
|
email: "ry@163.com",
|
||||||
|
phonenumber: "15888888888",
|
||||||
|
sex: "1",
|
||||||
|
avatar: "/static/img/profile.473f5971.jpg",
|
||||||
|
status: "0",
|
||||||
|
delFlag: "0",
|
||||||
|
loginIp: "61.140.198.155",
|
||||||
|
loginDate: "2021-11-11T14:03:07.723+0800",
|
||||||
|
dept: {
|
||||||
|
searchValue: null,
|
||||||
|
createBy: null,
|
||||||
|
createTime: null,
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
remark: null,
|
||||||
|
params: {},
|
||||||
|
deptId: 103,
|
||||||
|
parentId: 101,
|
||||||
|
ancestors: null,
|
||||||
|
deptName: "研发部门",
|
||||||
|
orderNum: "1",
|
||||||
|
leader: "若依",
|
||||||
|
phone: null,
|
||||||
|
email: null,
|
||||||
|
status: "0",
|
||||||
|
delFlag: null,
|
||||||
|
parentName: null,
|
||||||
|
children: []
|
||||||
|
},
|
||||||
|
roles: [
|
||||||
|
{
|
||||||
|
searchValue: null,
|
||||||
|
createBy: null,
|
||||||
|
createTime: null,
|
||||||
|
updateBy: null,
|
||||||
|
updateTime: null,
|
||||||
|
remark: null,
|
||||||
|
params: {},
|
||||||
|
roleId: 1,
|
||||||
|
roleName: "超级管理员",
|
||||||
|
roleKey: "admin",
|
||||||
|
roleSort: "1",
|
||||||
|
dataScope: "1",
|
||||||
|
menuCheckStrictly: false,
|
||||||
|
deptCheckStrictly: false,
|
||||||
|
status: "0",
|
||||||
|
delFlag: null,
|
||||||
|
flag: false,
|
||||||
|
menuIds: null,
|
||||||
|
deptIds: null,
|
||||||
|
admin: true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
roleIds: null,
|
||||||
|
postIds: null,
|
||||||
|
roleId: null,
|
||||||
|
admin: true
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// GET POST 可省略
|
||||||
|
'GET /api/users': [
|
||||||
|
{
|
||||||
|
key: '1',
|
||||||
|
name: 'John Brown',
|
||||||
|
age: 32,
|
||||||
|
address: 'New York No. 1 Lake Park',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: '2',
|
||||||
|
name: 'Jim Green',
|
||||||
|
age: 42,
|
||||||
|
address: 'London No. 1 Lake Park',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: '3',
|
||||||
|
name: 'Joe Black',
|
||||||
|
age: 32,
|
||||||
|
address: 'Sidney No. 1 Lake Park',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
'POST /api/login': async (req: Request, res: Response) => {
|
||||||
|
const { password, username, type } = req.body;
|
||||||
|
await waitTime(2000);
|
||||||
|
if (password === 'admin123' && username === 'admin') {
|
||||||
|
res.send({
|
||||||
|
code: 200,
|
||||||
|
type,
|
||||||
|
currentAuthority: 'admin',
|
||||||
|
token: guid()
|
||||||
|
});
|
||||||
|
access = 'admin';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (password === '123456' && username === 'user') {
|
||||||
|
res.send({
|
||||||
|
code: 200,
|
||||||
|
type,
|
||||||
|
currentAuthority: 'user',
|
||||||
|
token: guid()
|
||||||
|
});
|
||||||
|
access = 'user';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (type === 'mobile') {
|
||||||
|
res.send({
|
||||||
|
code: 200,
|
||||||
|
type,
|
||||||
|
currentAuthority: 'admin',
|
||||||
|
token: guid()
|
||||||
|
});
|
||||||
|
access = 'admin';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send({
|
||||||
|
status: 'error',
|
||||||
|
type,
|
||||||
|
currentAuthority: 'guest',
|
||||||
|
});
|
||||||
|
access = 'guest';
|
||||||
|
},
|
||||||
|
'POST /api/logout': (req: Request, res: Response) => {
|
||||||
|
access = '';
|
||||||
|
res.send({ data: {}, success: true });
|
||||||
|
},
|
||||||
|
|
||||||
|
'GET /api/getRouters': {
|
||||||
|
msg: "操作成功",
|
||||||
|
code: 200,
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name: "System",
|
||||||
|
path: "/system",
|
||||||
|
hidden: false,
|
||||||
|
redirect: "noRedirect",
|
||||||
|
component: "Layout",
|
||||||
|
alwaysShow: true,
|
||||||
|
meta: {
|
||||||
|
title: "系统管理",
|
||||||
|
icon: "system",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: "User",
|
||||||
|
path: "user",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/user/index",
|
||||||
|
meta: {
|
||||||
|
title: "用户管理",
|
||||||
|
icon: "user",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Role",
|
||||||
|
path: "role",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/role/index",
|
||||||
|
meta: {
|
||||||
|
title: "角色管理",
|
||||||
|
icon: "peoples",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Menu",
|
||||||
|
path: "menu",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/menu/index",
|
||||||
|
meta: {
|
||||||
|
title: "菜单管理",
|
||||||
|
icon: "tree-table",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Dept",
|
||||||
|
path: "dept",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/dept/index",
|
||||||
|
meta: {
|
||||||
|
title: "部门管理",
|
||||||
|
icon: "tree",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Post",
|
||||||
|
path: "post",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/post/index",
|
||||||
|
meta: {
|
||||||
|
title: "岗位管理",
|
||||||
|
icon: "post",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Dict",
|
||||||
|
path: "dict",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/dict/index",
|
||||||
|
meta: {
|
||||||
|
title: "字典管理",
|
||||||
|
icon: "dict",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Config",
|
||||||
|
path: "config",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/config/index",
|
||||||
|
meta: {
|
||||||
|
title: "参数设置",
|
||||||
|
icon: "edit",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Notice",
|
||||||
|
path: "notice",
|
||||||
|
hidden: false,
|
||||||
|
component: "system/notice/index",
|
||||||
|
meta: {
|
||||||
|
title: "通知公告",
|
||||||
|
icon: "message",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Log",
|
||||||
|
path: "log",
|
||||||
|
hidden: false,
|
||||||
|
redirect: "noRedirect",
|
||||||
|
component: "ParentView",
|
||||||
|
alwaysShow: true,
|
||||||
|
meta: {
|
||||||
|
title: "日志管理",
|
||||||
|
icon: "log",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: "Operlog",
|
||||||
|
path: "operlog",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/operlog/index",
|
||||||
|
meta: {
|
||||||
|
title: "操作日志",
|
||||||
|
icon: "form",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Logininfor",
|
||||||
|
path: "logininfor",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/logininfor/index",
|
||||||
|
meta: {
|
||||||
|
title: "登录日志",
|
||||||
|
icon: "logininfor",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Monitor",
|
||||||
|
path: "/monitor",
|
||||||
|
hidden: false,
|
||||||
|
redirect: "noRedirect",
|
||||||
|
component: "Layout",
|
||||||
|
alwaysShow: true,
|
||||||
|
meta: {
|
||||||
|
title: "系统监控",
|
||||||
|
icon: "monitor",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: "Online",
|
||||||
|
path: "online",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/online/index",
|
||||||
|
meta: {
|
||||||
|
title: "在线用户",
|
||||||
|
icon: "online",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Job",
|
||||||
|
path: "job",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/job/index",
|
||||||
|
meta: {
|
||||||
|
title: "定时任务",
|
||||||
|
icon: "job",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Druid",
|
||||||
|
path: "druid",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/druid/index",
|
||||||
|
meta: {
|
||||||
|
title: "数据监控",
|
||||||
|
icon: "druid",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Server",
|
||||||
|
path: "server",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/server/index",
|
||||||
|
meta: {
|
||||||
|
title: "服务监控",
|
||||||
|
icon: "server",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Cache",
|
||||||
|
path: "cache",
|
||||||
|
hidden: false,
|
||||||
|
component: "monitor/cache/index",
|
||||||
|
meta: {
|
||||||
|
title: "缓存监控",
|
||||||
|
icon: "redis",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Tool",
|
||||||
|
path: "/tool",
|
||||||
|
hidden: false,
|
||||||
|
redirect: "noRedirect",
|
||||||
|
component: "Layout",
|
||||||
|
alwaysShow: true,
|
||||||
|
meta: {
|
||||||
|
title: "系统工具",
|
||||||
|
icon: "tool",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
},
|
||||||
|
children: [
|
||||||
|
{
|
||||||
|
name: "Build",
|
||||||
|
path: "build",
|
||||||
|
hidden: false,
|
||||||
|
component: "tool/build/index",
|
||||||
|
meta: {
|
||||||
|
title: "表单构建",
|
||||||
|
icon: "build",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Gen",
|
||||||
|
path: "gen",
|
||||||
|
hidden: false,
|
||||||
|
component: "tool/gen/index",
|
||||||
|
meta: {
|
||||||
|
title: "代码生成",
|
||||||
|
icon: "code",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "Swagger",
|
||||||
|
path: "swagger",
|
||||||
|
hidden: false,
|
||||||
|
component: "tool/swagger/index",
|
||||||
|
meta: {
|
||||||
|
title: "系统接口",
|
||||||
|
icon: "swagger",
|
||||||
|
noCache: false,
|
||||||
|
link: null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
'POST /api/register': (req: Request, res: Response) => {
|
||||||
|
res.send({ status: 'ok', currentAuthority: 'user', success: true });
|
||||||
|
},
|
||||||
|
'GET /api/500': (req: Request, res: Response) => {
|
||||||
|
res.status(500).send({
|
||||||
|
timestamp: 1513932555104,
|
||||||
|
status: 500,
|
||||||
|
error: 'error',
|
||||||
|
message: 'error',
|
||||||
|
path: '/base/category/list',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'GET /api/404': (req: Request, res: Response) => {
|
||||||
|
res.status(404).send({
|
||||||
|
timestamp: 1513932643431,
|
||||||
|
status: 404,
|
||||||
|
error: 'Not Found',
|
||||||
|
message: 'No message available',
|
||||||
|
path: '/base/category/list/2121212',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'GET /api/403': (req: Request, res: Response) => {
|
||||||
|
res.status(403).send({
|
||||||
|
timestamp: 1513932555104,
|
||||||
|
status: 403,
|
||||||
|
error: 'Forbidden',
|
||||||
|
message: 'Forbidden',
|
||||||
|
path: '/base/category/list',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
'GET /api/401': (req: Request, res: Response) => {
|
||||||
|
res.status(401).send({
|
||||||
|
timestamp: 1513932555104,
|
||||||
|
status: 401,
|
||||||
|
error: 'Unauthorized',
|
||||||
|
message: 'Unauthorized',
|
||||||
|
path: '/base/category/list',
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
'GET /api/login/captcha': getFakeCaptcha,
|
||||||
|
|
||||||
|
'GET /api/captchaImage': getCaptchaImage,
|
||||||
|
};
|
46678
package-lock.json
generated
Normal file
252
package.json
Normal file
@ -0,0 +1,252 @@
|
|||||||
|
{
|
||||||
|
"name": "ant-design-pro",
|
||||||
|
"version": "5.0.0",
|
||||||
|
"private": true,
|
||||||
|
"description": "An out-of-box UI solution for enterprise applications",
|
||||||
|
"scripts": {
|
||||||
|
"analyze": "cross-env ANALYZE=1 umi build",
|
||||||
|
"build": "umi build",
|
||||||
|
"deploy": "npm run build && npm run gh-pages",
|
||||||
|
"dev": "npm run start:dev",
|
||||||
|
"docker-hub:build": "docker build -f Dockerfile.hub -t ant-design-pro ./",
|
||||||
|
"docker-prod:build": "docker-compose -f ./docker/docker-compose.yml build",
|
||||||
|
"docker-prod:dev": "docker-compose -f ./docker/docker-compose.yml up",
|
||||||
|
"docker:build": "docker-compose -f ./docker/docker-compose.dev.yml build",
|
||||||
|
"docker:dev": "docker-compose -f ./docker/docker-compose.dev.yml up",
|
||||||
|
"docker:push": "npm run docker-hub:build && npm run docker:tag && docker push antdesign/ant-design-pro",
|
||||||
|
"docker:tag": "docker tag ant-design-pro antdesign/ant-design-pro",
|
||||||
|
"gh-pages": "gh-pages -d dist",
|
||||||
|
"i18n-remove": "pro i18n-remove --locale=zh-CN --write",
|
||||||
|
"postinstall": "umi g tmp",
|
||||||
|
"lint": "umi g tmp && npm run lint:js && npm run lint:style && npm run lint:prettier && npm run tsc",
|
||||||
|
"lint-staged": "lint-staged",
|
||||||
|
"lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ",
|
||||||
|
"lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src && npm run lint:style",
|
||||||
|
"lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src",
|
||||||
|
"lint:prettier": "prettier -c --write \"src/**/*\" --end-of-line auto",
|
||||||
|
"lint:style": "stylelint --fix \"src/**/*.less\" --syntax less",
|
||||||
|
"openapi": "umi openapi",
|
||||||
|
"precommit": "lint-staged",
|
||||||
|
"prettier": "prettier -c --write \"src/**/*\"",
|
||||||
|
"serve": "umi-serve",
|
||||||
|
"start": "cross-env UMI_ENV=dev umi dev",
|
||||||
|
"start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev umi dev",
|
||||||
|
"start:no-mock": "cross-env MOCK=none UMI_ENV=dev umi dev",
|
||||||
|
"start:no-ui": "cross-env UMI_UI=none UMI_ENV=dev umi dev",
|
||||||
|
"start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev umi dev",
|
||||||
|
"start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev umi dev",
|
||||||
|
"pretest": "node ./tests/beforeTest",
|
||||||
|
"test": "umi test",
|
||||||
|
"test:all": "node ./tests/run-tests.js",
|
||||||
|
"test:component": "umi test ./src/components",
|
||||||
|
"tsc": "tsc --noEmit"
|
||||||
|
},
|
||||||
|
"lint-staged": {
|
||||||
|
"**/*.less": "stylelint --syntax less",
|
||||||
|
"**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js",
|
||||||
|
"**/*.{js,jsx,tsx,ts,less,md,json}": [
|
||||||
|
"prettier --write"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"browserslist": [
|
||||||
|
"> 1%",
|
||||||
|
"last 2 versions",
|
||||||
|
"not ie <= 10"
|
||||||
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"@ant-design/charts": "^0.9.4",
|
||||||
|
"@ant-design/icons": "^4.5.0",
|
||||||
|
"@ant-design/pro-components": "^1.1.1",
|
||||||
|
"@ant-design/pro-descriptions": "^1.6.8",
|
||||||
|
"@ant-design/pro-form": "^1.18.3",
|
||||||
|
"@ant-design/pro-layout": "^6.15.3",
|
||||||
|
"@ant-design/pro-table": "^2.30.8",
|
||||||
|
"@antv/data-set": "^0.11.0",
|
||||||
|
"@antv/l7": "^2.3.7",
|
||||||
|
"@antv/l7-maps": "^2.3.7",
|
||||||
|
"@antv/l7-react": "^2.1.9",
|
||||||
|
"@antv/x6": "^1.32.3",
|
||||||
|
"@antv/x6-react-shape": "^1.6.0",
|
||||||
|
"@babel/core": "^7.16.0",
|
||||||
|
"@pmmmwh/react-refresh-webpack-plugin": "^0.5.3",
|
||||||
|
"@reduxjs/toolkit": "^1.8.0",
|
||||||
|
"@svgr/webpack": "^5.5.0",
|
||||||
|
"@testing-library/jest-dom": "^5.16.4",
|
||||||
|
"@testing-library/react": "^13.3.0",
|
||||||
|
"@testing-library/user-event": "^13.5.0",
|
||||||
|
"@umijs/route-utils": "^1.0.36",
|
||||||
|
"ahooks": "^2.0.0",
|
||||||
|
"antd": "^4.14.0",
|
||||||
|
"babel-loader": "^8.2.3",
|
||||||
|
"babel-plugin-named-asset-import": "^0.3.8",
|
||||||
|
"bfj": "^7.0.2",
|
||||||
|
"bizcharts": "^3.5.3-beta.0",
|
||||||
|
"bizcharts-plugin-slider": "^2.1.1-beta.1",
|
||||||
|
"browserslist": "^4.18.1",
|
||||||
|
"btoa": "^1.2.1",
|
||||||
|
"camelcase": "^6.2.1",
|
||||||
|
"captchapng3": "^1.0.7",
|
||||||
|
"case-sensitive-paths-webpack-plugin": "^2.4.0",
|
||||||
|
"classnames": "^2.2.6",
|
||||||
|
"core-js": "^3.25.0",
|
||||||
|
"crypto": "^1.0.1",
|
||||||
|
"dot": "^1.1.3",
|
||||||
|
"dotenv": "^10.0.0",
|
||||||
|
"dotenv-expand": "^5.1.0",
|
||||||
|
"eslint-config-react-app": "^7.0.1",
|
||||||
|
"eslint-webpack-plugin": "^3.1.1",
|
||||||
|
"file-loader": "^6.2.0",
|
||||||
|
"fs-extra": "^10.0.0",
|
||||||
|
"g2": "^2.3.13",
|
||||||
|
"gg-editor": "^2.0.2",
|
||||||
|
"html-webpack-plugin": "^5.5.0",
|
||||||
|
"html2canvas": "^1.4.1",
|
||||||
|
"i18next": "^19.9.1",
|
||||||
|
"i18next-browser-languagedetector": "^6.0.1",
|
||||||
|
"identity-obj-proxy": "^3.0.0",
|
||||||
|
"jest": "^27.4.3",
|
||||||
|
"jest-resolve": "^27.4.2",
|
||||||
|
"jest-watch-typeahead": "^1.0.0",
|
||||||
|
"jquery": "^3.6.0",
|
||||||
|
"lodash": "^4.17.11",
|
||||||
|
"lodash-decorators": "^6.0.0",
|
||||||
|
"marked": "^2.1.3",
|
||||||
|
"mini-css-extract-plugin": "^2.4.5",
|
||||||
|
"moment": "^2.25.3",
|
||||||
|
"numeral": "^2.0.6",
|
||||||
|
"nzh": "^1.0.3",
|
||||||
|
"omit.js": "^2.0.2",
|
||||||
|
"polished": "^4.1.1",
|
||||||
|
"postcss": "^8.4.4",
|
||||||
|
"postcss-flexbugs-fixes": "^5.0.2",
|
||||||
|
"postcss-normalize": "^10.0.1",
|
||||||
|
"postcss-preset-env": "^7.0.1",
|
||||||
|
"prompts": "^2.4.2",
|
||||||
|
"prop-types": "^15.8.1",
|
||||||
|
"qs": "^6.9.0",
|
||||||
|
"react": "^17.0.0",
|
||||||
|
"react-ace": "^10.1.0",
|
||||||
|
"react-app-polyfill": "^3.0.0",
|
||||||
|
"react-color": "^2.19.3",
|
||||||
|
"react-cropper": "^2.1.8",
|
||||||
|
"react-dev-inspector": "^1.6.0",
|
||||||
|
"react-dev-utils": "^12.0.1",
|
||||||
|
"react-dom": "^17.0.2",
|
||||||
|
"react-fittext": "^1.0.0",
|
||||||
|
"react-helmet-async": "^1.2.2",
|
||||||
|
"react-hotkeys-hook": "^3.4.0",
|
||||||
|
"react-i18next": "^11.15.3",
|
||||||
|
"react-intl": "^5.24.6",
|
||||||
|
"react-redux": "^7.2.6",
|
||||||
|
"react-refresh": "^0.11.0",
|
||||||
|
"react-resize-detector": "^6.7.6",
|
||||||
|
"react-router": "^4.3.1",
|
||||||
|
"react-router-dom": "^6.3.0",
|
||||||
|
"react-scripts": "^5.0.1",
|
||||||
|
"react-sortable-hoc": "^2.0.0",
|
||||||
|
"react-window": "^1.8.6",
|
||||||
|
"redux": "^4.2.0",
|
||||||
|
"redux-logger": "^3.0.6",
|
||||||
|
"redux-thunk": "^2.4.1",
|
||||||
|
"resolve": "^1.20.0",
|
||||||
|
"resolve-url-loader": "^4.0.0",
|
||||||
|
"sass-loader": "^12.3.0",
|
||||||
|
"semver": "^7.3.5",
|
||||||
|
"sortablejs": "^1.15.0",
|
||||||
|
"source-map-loader": "^3.0.0",
|
||||||
|
"split.js": "^1.6.4",
|
||||||
|
"sql-formatter": "^4.0.2",
|
||||||
|
"style-loader": "^3.3.1",
|
||||||
|
"styled-components": "^5.3.3",
|
||||||
|
"tailwindcss": "^3.0.2",
|
||||||
|
"terser-webpack-plugin": "^5.2.5",
|
||||||
|
"umi": "^3.5.34",
|
||||||
|
"umi-plugin-keep-alive": "^0.0.1-beta.18",
|
||||||
|
"umi-request": "^1.0.8",
|
||||||
|
"umi-serve": "^1.9.10",
|
||||||
|
"uuid": "8.3.2",
|
||||||
|
"web-vitals": "^2.1.4",
|
||||||
|
"webpack": "^5.64.4",
|
||||||
|
"webpack-dev-server": "^4.6.0",
|
||||||
|
"webpack-manifest-plugin": "^4.0.2",
|
||||||
|
"workbox-webpack-plugin": "^6.4.1",
|
||||||
|
"xterm": "^4.18.0"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@ant-design/pro-cli": "^2.0.2",
|
||||||
|
"@babel/cli": "^7.17.10",
|
||||||
|
"@babel/plugin-proposal-class-properties": "^7.17.12",
|
||||||
|
"@babel/plugin-proposal-decorators": "^7.18.2",
|
||||||
|
"@babel/plugin-proposal-export-default-from": "^7.17.12",
|
||||||
|
"@babel/plugin-proposal-export-namespace-from": "^7.17.12",
|
||||||
|
"@babel/plugin-proposal-optional-chaining": "^7.17.12",
|
||||||
|
"@babel/polyfill": "^7.12.1",
|
||||||
|
"@babel/preset-env": "^7.18.2",
|
||||||
|
"@babel/preset-react": "^7.17.12",
|
||||||
|
"@types/classnames": "^2.2.7",
|
||||||
|
"@types/express": "^4.17.0",
|
||||||
|
"@types/history": "^4.7.2",
|
||||||
|
"@types/jest": "^26.0.0",
|
||||||
|
"@types/lodash": "^4.14.144",
|
||||||
|
"@types/qs": "^6.5.3",
|
||||||
|
"@types/react": "^17.0.0",
|
||||||
|
"@types/react-dom": "^17.0.0",
|
||||||
|
"@types/react-helmet": "^6.1.0",
|
||||||
|
"@types/redux-logger": "^3.0.9",
|
||||||
|
"@types/styled-components": "^5.1.20",
|
||||||
|
"@types/uuid": "^8.3.4",
|
||||||
|
"@umijs/fabric": "^2.6.2",
|
||||||
|
"@umijs/max": "^4.0.0-rc.22",
|
||||||
|
"@umijs/openapi": "^1.1.14",
|
||||||
|
"@umijs/plugin-blocks": "^2.0.5",
|
||||||
|
"@umijs/plugin-esbuild": "^1.0.1",
|
||||||
|
"@umijs/plugin-openapi": "^1.2.0",
|
||||||
|
"@umijs/preset-ant-design-pro": "^1.2.0",
|
||||||
|
"@umijs/preset-dumi": "^1.1.7",
|
||||||
|
"@umijs/preset-react": "^1.8.17",
|
||||||
|
"@umijs/yorkie": "^2.0.3",
|
||||||
|
"autoprefixer": "^10.4.7",
|
||||||
|
"babel-eslint": "^10.1.0",
|
||||||
|
"babel-plugin-import": "^1.13.5",
|
||||||
|
"babel-plugin-styled-components": "^2.0.7",
|
||||||
|
"carlo": "^0.9.46",
|
||||||
|
"copy-webpack-plugin": "^11.0.0",
|
||||||
|
"cross-env": "^7.0.0",
|
||||||
|
"cross-port-killer": "^1.1.1",
|
||||||
|
"cssnano": "^5.1.12",
|
||||||
|
"detect-installer": "^1.0.1",
|
||||||
|
"enzyme": "^3.11.0",
|
||||||
|
"eslint": "^7.1.0",
|
||||||
|
"express": "^4.17.1",
|
||||||
|
"extract-text-webpack-plugin": "^3.0.2",
|
||||||
|
"gh-pages": "^3.0.0",
|
||||||
|
"hoist-non-react-statics": "^3.3.2",
|
||||||
|
"imports-loader": "^4.0.0",
|
||||||
|
"jest-styled-components": "^7.0.8",
|
||||||
|
"jsdom-global": "^3.0.2",
|
||||||
|
"lint-staged": "^10.0.0",
|
||||||
|
"loader-utils": "^2.0.2",
|
||||||
|
"mockjs": "^1.0.1-beta3",
|
||||||
|
"monaco-editor": "^0.28.1",
|
||||||
|
"monaco-editor-webpack-plugin": "^4.2.0",
|
||||||
|
"open-browser-webpack-plugin": "^0.0.5",
|
||||||
|
"optimize-css-assets-webpack-plugin": "^6.0.1",
|
||||||
|
"prettier": "^2.3.2",
|
||||||
|
"pro-download": "1.0.1",
|
||||||
|
"puppeteer-core": "^8.0.0",
|
||||||
|
"react-monaco-editor": "^0.46.0",
|
||||||
|
"resize-observer-polyfill": "^1.5.1",
|
||||||
|
"script-ext-html-webpack-plugin": "^2.1.5",
|
||||||
|
"stylelint": "^13.0.0",
|
||||||
|
"stylelint-config-styled-components": "^0.1.1",
|
||||||
|
"typescript": "^4.2.2",
|
||||||
|
"url-loader": "^4.1.1",
|
||||||
|
"webpack-cli": "^4.10.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
},
|
||||||
|
"gitHooks": {
|
||||||
|
"commit-msg": "fabric verify-commit"
|
||||||
|
}
|
||||||
|
}
|
1
public/CNAME
Normal file
@ -0,0 +1 @@
|
|||||||
|
preview.pro.ant.design
|
BIN
public/favicon.ico
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
public/icons/icon-128x128.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
public/icons/icon-192x192.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
public/icons/icon-512x512.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
459
public/icon神州新桥logo.svg
Normal file
@ -0,0 +1,459 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 41.4 42.2" style="enable-background:new 0 0 41.4 42.2;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{display:none;}
|
||||||
|
.st1{fill:#84D0E9;}
|
||||||
|
.st2{fill:#2BB1DC;}
|
||||||
|
.st3{fill:#1481BC;}
|
||||||
|
</style>
|
||||||
|
<g id="图层_1" class="st0">
|
||||||
|
|
||||||
|
<image style="display:inline;overflow:visible;" width="466" height="156" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdIAAACcCAIAAABEJ73JAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA
|
||||||
|
GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAX7JJREFUeNrsnemzFMeZ7iuruvts
|
||||||
|
bAIECIEAsUsChBBabHns8BKzfZhv9++8Eb4xdoxjxrY82tCGVjYBAoGEJMRy4GzdXZX3V/V0ZWcv
|
||||||
|
Z+8DHJSv8VF3dVVWZlblk0+++S7GWhsFCRIkSJAHJXHogiBBggQJsBskSJAgAXaDBAkSJEiA3SBB
|
||||||
|
ggQJsBskSJAgQQLsBgkSJEiA3SBBggQJsBskSJAgQQLsBgkSJEiA3SBBggQJEmA3SJAgQQLsBgkS
|
||||||
|
JEiQALtBggQJEmA3SJAgQQLsBgkSJEiQALtBggQJEmA3SJAgQYIE2A0SJEiQALtBggQJEiTAbpAg
|
||||||
|
QYIE2A0SJEiQALtBggQJEiTAbpAgQYIE2A0SJEiQIAF2gwQJEuRRk8rPq7mWfzb/YExk2seK/+T/
|
||||||
|
1VFb/GQWX3Z+VfGfVgnW/WStaZVvFl1wkAf7juhNMOYhXruccmaryfLLfNR6O8DuagHdEk1zEDSz
|
||||||
|
nGMGfMe8QFdmwNwgQX7uYjTb/DxITAmCbcJpPLpbnGMix3mXBrItMp2XwEfHoE0ng7arAoKXz79W
|
||||||
|
L5eZreaz9clgueqgevjB9//SWPbPjfP+/HS7xvaw0W41RL/ji6K3/W4biG6QIEF+ZmxXU6qNWjrW
|
||||||
|
2ENK43hvyU+XgpPljN2GdiP+G5lutF+1+oZHn/POxrZaXb6q+NTSGPTC+ebD5cKLvftC2rVaWPPP
|
||||||
|
SrebPw3bQUhtaqN6Ziea2a16NtlMs+LBefqARTw/D7LdPUxsosSYNUm8aSgZq5jERGFLLUiQwHbt
|
||||||
|
z6zJTq+aKxOmU3u7nl6833j/p+lvJhv1LMvyw3HUn6DOV64tWXMO3lxvqrEZS5K9a6qvbxnds6Yy
|
||||||
|
FEcVE/QNjxBbf9R0owtvRS9/XyyXfBRaFywZfi4zjf9hOs1uTKcXxuunb09fulevW9uG3RJEo4XN
|
||||||
|
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" transform="matrix(0.5 0 0 0.5 -31.6256 48.9837)">
|
||||||
|
</image>
|
||||||
|
</g>
|
||||||
|
<g id="图标">
|
||||||
|
</g>
|
||||||
|
<g id="图层_3">
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M22.6,6.2c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9c0.7,7.6-3.2,10.7-3.2,10.7h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C31.5,5.3,22.6,6.2,22.6,6.2z"/>
|
||||||
|
<path class="st2" d="M12.7,0.3c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9c0.7,7.6-3.2,10.7-3.2,10.7h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C21.6-0.6,12.7,0.3,12.7,0.3z"/>
|
||||||
|
<path class="st3" d="M3.3,5.8c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9C6.9,38.8,3,41.9,3,41.9h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C12.2,4.9,3.3,5.8,3.3,5.8z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 34 KiB |
BIN
public/jar/chiner-java.jar
Normal file
1
public/logo.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" version="1.1" viewBox="0 0 200 200"><title>Group 28 Copy 5</title><desc>Created with Sketch.</desc><defs><linearGradient id="linearGradient-1" x1="62.102%" x2="108.197%" y1="0%" y2="37.864%"><stop offset="0%" stop-color="#4285EB"/><stop offset="100%" stop-color="#2EC7FF"/></linearGradient><linearGradient id="linearGradient-2" x1="69.644%" x2="54.043%" y1="0%" y2="108.457%"><stop offset="0%" stop-color="#29CDFF"/><stop offset="37.86%" stop-color="#148EFF"/><stop offset="100%" stop-color="#0A60FF"/></linearGradient><linearGradient id="linearGradient-3" x1="69.691%" x2="16.723%" y1="-12.974%" y2="117.391%"><stop offset="0%" stop-color="#FA816E"/><stop offset="41.473%" stop-color="#F74A5C"/><stop offset="100%" stop-color="#F51D2C"/></linearGradient><linearGradient id="linearGradient-4" x1="68.128%" x2="30.44%" y1="-35.691%" y2="114.943%"><stop offset="0%" stop-color="#FA8E7D"/><stop offset="51.264%" stop-color="#F74A5C"/><stop offset="100%" stop-color="#F51D2C"/></linearGradient></defs><g id="Page-1" fill="none" fill-rule="evenodd" stroke="none" stroke-width="1"><g id="logo" transform="translate(-20.000000, -20.000000)"><g id="Group-28-Copy-5" transform="translate(20.000000, 20.000000)"><g id="Group-27-Copy-3"><g id="Group-25" fill-rule="nonzero"><g id="2"><path id="Shape" fill="url(#linearGradient-1)" d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C99.2571609,26.9692191 101.032305,26.9692191 102.20193,28.1378823 L129.985225,55.8983314 C134.193707,60.1033528 141.017005,60.1033528 145.225487,55.8983314 C149.433969,51.69331 149.433969,44.8756232 145.225487,40.6706018 L108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z"/><path id="Shape" fill="url(#linearGradient-2)" d="M91.5880863,4.17652823 L4.17996544,91.5127728 C-0.519240605,96.2081146 -0.519240605,103.791885 4.17996544,108.487227 L91.5880863,195.823472 C96.2872923,200.518814 103.877304,200.518814 108.57651,195.823472 L145.225487,159.204632 C149.433969,154.999611 149.433969,148.181924 145.225487,143.976903 C141.017005,139.771881 134.193707,139.771881 129.985225,143.976903 L102.20193,171.737352 C101.032305,172.906015 99.2571609,172.906015 98.0875359,171.737352 L28.285908,101.993122 C27.1162831,100.824459 27.1162831,99.050775 28.285908,97.8821118 L98.0875359,28.1378823 C100.999864,25.6271836 105.751642,20.541824 112.729652,19.3524487 C117.915585,18.4685261 123.585219,20.4140239 129.738554,25.1889424 C125.624663,21.0784292 118.571995,14.0340304 108.58055,4.05574592 C103.862049,-0.537986846 96.2692618,-0.500797906 91.5880863,4.17652823 Z"/></g><path id="Shape" fill="url(#linearGradient-3)" d="M153.685633,135.854579 C157.894115,140.0596 164.717412,140.0596 168.925894,135.854579 L195.959977,108.842726 C200.659183,104.147384 200.659183,96.5636133 195.960527,91.8688194 L168.690777,64.7181159 C164.472332,60.5180858 157.646868,60.5241425 153.435895,64.7316526 C149.227413,68.936674 149.227413,75.7543607 153.435895,79.9593821 L171.854035,98.3623765 C173.02366,99.5310396 173.02366,101.304724 171.854035,102.473387 L153.685633,120.626849 C149.47715,124.83187 149.47715,131.649557 153.685633,135.854579 Z"/></g><ellipse id="Combined-Shape" cx="100.519" cy="100.437" fill="url(#linearGradient-4)" rx="23.6" ry="23.581"/></g></g></g></g></svg>
|
After Width: | Height: | Size: 3.8 KiB |
5
public/pro_icon.svg
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<svg width="42" height="42" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<g>
|
||||||
|
<path fill="#070707" d="m6.717392,13.773912l5.6,0c2.8,0 4.7,1.9 4.7,4.7c0,2.8 -2,4.7 -4.9,4.7l-2.5,0l0,4.3l-2.9,0l0,-13.7zm2.9,2.2l0,4.9l1.9,0c1.6,0 2.6,-0.9 2.6,-2.4c0,-1.6 -0.9,-2.4 -2.6,-2.4l-1.9,0l0,-0.1zm8.9,11.5l2.7,0l0,-5.7c0,-1.4 0.8,-2.3 2.2,-2.3c0.4,0 0.8,0.1 1,0.2l0,-2.4c-0.2,-0.1 -0.5,-0.1 -0.8,-0.1c-1.2,0 -2.1,0.7 -2.4,2l-0.1,0l0,-1.9l-2.7,0l0,10.2l0.1,0zm11.7,0.1c-3.1,0 -5,-2 -5,-5.3c0,-3.3 2,-5.3 5,-5.3s5,2 5,5.3c0,3.4 -1.9,5.3 -5,5.3zm0,-2.1c1.4,0 2.2,-1.1 2.2,-3.2c0,-2 -0.8,-3.2 -2.2,-3.2c-1.4,0 -2.2,1.2 -2.2,3.2c0,2.1 0.8,3.2 2.2,3.2z" class="st0" id="Ant-Design-Pro"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 677 B |
1
public/static/database/Hive.svg
Normal file
After Width: | Height: | Size: 19 KiB |
15
public/static/database/MariaDB.svg
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 789.1 195.64" height="48">
|
||||||
|
<defs>
|
||||||
|
<style>.cls-1{fill:#003545;}</style>
|
||||||
|
</defs>
|
||||||
|
<title>MDB-HLogo_RGB</title>
|
||||||
|
<path class="cls-1" d="M378.08,70l18.52,71.5h-14L370.26,90l-23.17,51.5H335.3l-23.07-51.2-12.68,51.2H285.89L304.21,70h12.08l24.95,55.36L366.1,70Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M449.27,97.64V89.32h13.47v52.19H449.27v-8.42c-3.56,6-10.89,9.51-19.8,9.51-18.62,0-29-13.08-29-28.23,0-14.55,9.9-26.24,27-26.24C437.29,88.13,445.41,91.5,449.27,97.64Zm-34.46,17.43c0,9.6,6,17.82,17.72,17.82,11.29,0,17.43-8,17.43-17.53s-6.33-17.62-18-17.62C420.65,97.74,414.81,105.86,414.81,115.07Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M493.13,141.51H479.66V89.32h13.47V101c3.56-8,10.79-12.87,18.81-12.87a24.2,24.2,0,0,1,8.42,1.39l-2.87,9.9a29.66,29.66,0,0,0-7.13-1c-9.71,0-17.23,7.33-17.23,18.12Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M527.09,75.55a6.86,6.86,0,0,1,7.23-7,7.1,7.1,0,0,1,7.33,7.23c0,3.47-2.38,6.93-7.33,6.93A6.93,6.93,0,0,1,527.09,75.55Zm.59,13.77h13.47v38.13c0,2.37.5,4.06,2.48,4.06a14.37,14.37,0,0,0,2.57-.3l2.08,9.8a23.72,23.72,0,0,1-8.91,1.59c-5.65,0-11.69-1.69-11.69-14.46Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M601.36,97.64V89.32h13.46v52.19H601.36v-8.42c-3.57,6-10.9,9.51-19.81,9.51-18.62,0-29-13.08-29-28.23,0-14.55,9.91-26.24,27-26.24C589.37,88.13,597.49,91.5,601.36,97.64Zm-34.47,17.43c0,9.6,6,17.82,17.73,17.82,11.29,0,17.43-8,17.43-17.53s-6.34-17.62-18-17.62C572.74,97.74,566.89,105.86,566.89,115.07Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M635.51,70H667.8c27.13,0,40.7,14.95,40.5,35.75.2,21.59-14.76,35.75-38.13,35.75H635.51Zm8.91,6.34v58.92H669c21.59,0,29.81-14.56,29.81-29.71,0-17.13-10.3-29.21-29.81-29.21Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M763.35,141.51h-41V70h36.94c14.16,0,27.63,2.67,27.43,18.52,0,11.19-6.93,14.26-14.26,15.45,10.4.89,16.64,7.52,16.64,18.22C789.19,138.24,775.13,141.51,763.35,141.51Zm-3.07-40.31c14.16,0,17.33-5.44,17.33-12.38,0-10.39-6.34-12.77-17.33-12.77H730.87V101.2Zm.39,6h-29.8v28.23H762c8.72,0,17.93-2.88,17.93-13.87C779.89,108.93,769.29,107.24,760.67,107.24Z" transform="translate(0 -3.38)"></path>
|
||||||
|
<path class="cls-1" d="M299.2,4.34a4.35,4.35,0,0,0-2.92-1c-2.9,0-6.65,2-8.66,3-.35.19-.62.33-.81.41A27.32,27.32,0,0,1,276,9.53c-3.86.12-7.19.35-11.5.8C238.82,13,227.43,32.6,216.42,51.6c-6,10.32-12.18,21-20.67,29.28a54.92,54.92,0,0,1-5.59,4.74c-8.78,6.54-19.81,11.17-28.43,14.47-8.26,3.15-17.28,6-26,8.74-8,2.51-15.51,4.89-22.44,7.46-3.13,1.16-5.79,2-8.13,2.83-6.31,2.1-10.87,3.62-17.51,8.17-2.59,1.77-5.19,3.69-7,5.14A73.46,73.46,0,0,0,66.8,147.05a86.62,86.62,0,0,1-11.6,14c-1.4,1.37-3.89,2-7.62,2-4.37,0-9.67-.9-15.28-1.85-5.77-1-11.75-2-16.87-2-4.17,0-7.35.67-9.74,2.06,0,0-4,2.34-5.69,5.36l1.66.75a34.71,34.71,0,0,1,7.1,5.07,35.39,35.39,0,0,0,7.37,5.25,6.61,6.61,0,0,1,2.27,1.51c-.7,1-1.73,2.35-2.8,3.76-5.92,7.74-9.37,12.63-7.39,15.29a6.09,6.09,0,0,0,3,.71c12.9,0,19.82-3.36,28.59-7.6,2.54-1.23,5.16-2.5,8.16-3.8,5.12-2.22,10.64-5.76,16.48-9.52,7.74-5,15.74-10.11,23.49-12.6a64,64,0,0,1,19.71-2.77c8.23,0,16.83,1.1,25.15,2.17,6.21.79,12.63,1.61,18.93,2,2.45.15,4.72.22,6.92.22a77.2,77.2,0,0,0,8.83-.47l.7-.24c4.42-2.72,6.49-8.55,8.5-14.18,1.29-3.63,2.37-6.89,4.05-9a2.79,2.79,0,0,1,.34-.28.4.4,0,0,1,.5.09s0,.05,0,.15c-1.06,22.06-9.9,36.05-18.88,48.49l-6,6.43s8.39,0,13.16-1.84c17.42-5.21,30.58-16.69,40.15-35a149.42,149.42,0,0,0,6.32-14.44c.16-.41,1.68-1.17,1.53.95,0,.63-.09,1.32-.14,2h0c0,.43-.06.87-.08,1.31-.25,3-1,9.57-1,9.57l5.38-2.88c13-8.22,23-24.74,30.56-50.47,3.16-10.72,5.47-21.37,7.51-30.76,2.44-11.23,4.55-20.93,7-24.68,3.78-5.89,9.55-9.87,15.13-13.73l2.28-1.58c7-4.93,14-10.62,15.54-21.22l0-.24C301.22,7.29,300.27,5.27,299.2,4.34Z" transform="translate(0 -3.38)"></path>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 3.9 KiB |
1
public/static/database/MySQL.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="1645770420428" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1363" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M1017.6 521.6c-3.2-3.2-6.4-6.4-6.4-9.6-6.4-12.8-16-22.4-28.8-32-9.6-6.4-28.8-16-32-25.6 6.4 0 12.8-3.2 19.2-3.2 9.6-3.2 16-3.2 25.6-3.2 3.2 0 9.6-3.2 12.8-3.2v-3.2c-3.2-6.4-9.6-12.8-12.8-19.2-12.8-12.8-28.8-25.6-44.8-38.4-9.6-6.4-19.2-9.6-28.8-16-3.2-3.2-9.6-3.2-9.6-6.4-3.2-6.4-6.4-16-9.6-22.4-6.4-16-16-35.2-22.4-54.4-3.2-12.8-6.4-25.6-12.8-35.2-28.8-51.2-57.6-83.2-102.4-115.2-9.6-6.4-22.4-9.6-35.2-12.8h-19.2c-3.2-3.2-9.6-6.4-12.8-9.6-16-9.6-54.4-35.2-67.2-3.2-6.4 19.2 9.6 38.4 16 48 3.2 6.4 9.6 16 12.8 22.4 3.2 6.4 3.2 9.6 3.2 16 6.4 12.8 9.6 28.8 16 41.6l9.6 19.2c3.2 3.2 6.4 6.4 6.4 9.6-3.2 6.4-3.2 16-6.4 22.4-9.6 35.2-6.4 76.8 6.4 102.4 3.2 6.4 16 25.6 28.8 19.2 12.8-6.4 9.6-22.4 12.8-38.4 0-3.2 0-6.4 3.2-9.6 3.2 9.6 6.4 16 9.6 25.6 9.6 16 22.4 32 35.2 41.6 6.4 6.4 12.8 16 19.2 19.2l-6.4-6.4c-6.4-6.4-9.6-12.8-12.8-19.2-12.8-19.2-22.4-35.2-28.8-54.4-3.2-9.6-9.6-19.2-12.8-28.8-3.2-3.2-3.2-9.6-3.2-9.6-3.2 6.4-9.6 12.8-12.8 19.2-6.4 12.8-6.4 28.8-6.4 44.8-9.6-3.2-12.8-12.8-16-22.4-6.4-22.4-9.6-57.6-3.2-83.2 3.2-6.4 9.6-25.6 6.4-32-3.2-6.4-6.4-9.6-9.6-12.8l-9.6-19.2c-6.4-16-9.6-35.2-16-54.4-3.2-6.4-9.6-16-12.8-22.4-6.4-9.6-9.6-12.8-16-22.4 0-3.2-3.2-9.6 0-12.8 0-3.2 3.2-3.2 3.2-3.2 3.2-3.2 12.8 0 16 3.2 9.6 3.2 19.2 9.6 25.6 16 3.2 3.2 6.4 9.6 12.8 9.6h6.4c9.6 3.2 19.2 0 25.6 3.2 12.8 6.4 25.6 12.8 38.4 22.4 35.2 25.6 64 60.8 83.2 105.6 3.2 6.4 3.2 12.8 6.4 22.4 6.4 16 12.8 28.8 19.2 44.8 6.4 12.8 9.6 28.8 19.2 41.6 3.2 6.4 19.2 9.6 28.8 12.8l19.2 9.6c9.6 6.4 19.2 12.8 25.6 19.2 3.2 3.2 19.2 9.6 19.2 16-22.4 0-38.4 3.2-51.2 9.6-6.4-3.2-12.8-3.2-12.8 3.2 3.2 3.2 3.2 6.4 3.2 9.6 3.2 6.4 9.6 12.8 12.8 19.2 6.4 6.4 12.8 9.6 16 12.8 9.6 6.4 22.4 12.8 32 19.2 6.4 3.2 12.8 9.6 19.2 12.8 3.2 3.2 3.2 6.4 9.6 6.4-3.2 0-3.2-3.2-3.2-6.4z" fill="#02608A" p-id="1364"></path><path d="M713.6 166.4c-3.2 0-6.4 0-9.6 3.2 3.2 0 12.8 25.6 16 25.6 3.2-3.2 6.4-9.6 6.4-12.8 0-6.4-3.2-9.6-9.6-12.8 0-3.2 0-3.2-3.2-3.2zM198.4 518.4l-57.6 201.6-57.6-201.6H32c-9.6 86.4-19.2 176-22.4 275.2h44.8c0-73.6 0-137.6 6.4-208l57.6 208h38.4l57.6-208c6.4 73.6 6.4 137.6 9.6 208h48c-3.2-83.2-12.8-172.8-22.4-275.2H198.4zM390.4 588.8c-6.4 60.8-9.6 112-28.8 163.2 0-12.8-3.2-19.2-9.6-44.8l-32-118.4H275.2l44.8 156.8c6.4 22.4 9.6 38.4 9.6 48 0 9.6 0 16-3.2 19.2-6.4 6.4-16 9.6-28.8 9.6h-16v35.2c6.4 3.2 16 6.4 22.4 6.4 25.6 0 48-16 67.2-54.4 25.6-44.8 48-118.4 64-220.8h-44.8z" fill="#02608A" p-id="1365"></path><path d="M953.6 748.8v-230.4h-48v272h115.2v-41.6zM832 771.2c3.2-3.2 6.4-6.4 9.6-12.8 19.2-25.6 28.8-60.8 28.8-112 0-89.6-32-134.4-92.8-134.4-32 0-54.4 12.8-70.4 35.2-19.2 25.6-28.8 60.8-28.8 112 0 48 9.6 83.2 25.6 105.6 16 19.2 38.4 28.8 67.2 28.8 12.8 0 22.4-3.2 32-3.2l57.6 38.4 16-32-44.8-25.6z m-54.4-25.6c-16 0-28.8-6.4-35.2-22.4-9.6-16-12.8-41.6-12.8-73.6 0-60.8 16-89.6 48-89.6 16 0 28.8 6.4 35.2 22.4 9.6 16 12.8 38.4 12.8 73.6 0 60.8-16 89.6-48 89.6zM633.6 656s-35.2-22.4-51.2-32c-19.2-12.8-32-25.6-32-41.6 0-9.6 6.4-16 12.8-25.6 6.4-6.4 16-9.6 28.8-9.6 16 0 32 6.4 44.8 16l9.6-35.2c-19.2-12.8-38.4-19.2-60.8-19.2s-38.4 6.4-54.4 19.2c-12.8 12.8-25.6 38.4-25.6 60.8 0 25.6 9.6 41.6 28.8 57.6 0 0 32 22.4 51.2 32 19.2 12.8 28.8 25.6 28.8 41.6 0 12.8-3.2 22.4-12.8 28.8-9.6 6.4-19.2 3.2-28.8 3.2-16 0-32-6.4-51.2-16l-9.6 32c22.4 16 44.8 25.6 67.2 25.6 25.6 0 44.8-6.4 60.8-22.4 16-16 22.4-35.2 22.4-57.6 0-25.6-9.6-41.6-28.8-57.6z" fill="#E58E01" p-id="1366"></path></svg>
|
After Width: | Height: | Size: 3.7 KiB |
1
public/static/database/Oracle.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="1650692654847" class="icon" viewBox="0 0 8165 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="988" xmlns:xlink="http://www.w3.org/1999/xlink" width="255.15625" height="48"><defs><style type="text/css"></style></defs><path d="M3398.499037 666.115306h520.24153l-274.800972-442.904953-504.499351 800.60224-229.885787 0.187407 614.069914-961.397353A143.303803 143.303803 0 0 1 3643.564782 0.008746c48.350978 0 92.703942 22.801172 118.878438 60.907239l616.193859 963.084015-230.073194-0.187407-107.883901-178.973581h-527.175585l-114.942893-178.723706z m2386.751699 178.911113V10.00378h-195.090574v916.669574c0 25.362399 10.307379 49.600357 28.423379 67.716357 19.115503 18.928096 44.352964 29.360413 71.464494 29.360413h888.995824l114.693017-178.661236H5785.250736z m-3225.2726-149.425762a342.829673 342.829673 0 0 0 0-685.596877H1706.777029v1013.808813h194.903167V188.665016h644.867113a163.856092 163.856092 0 0 1 164.043499 164.105968 163.98103 163.98103 0 0 1-164.043499 164.168437l-549.414537-0.187407 581.77346 507.060579h283.234282l-391.430527-328.399343 89.268149 0.187407zM506.935641 1023.812593a506.873172 506.873172 0 1 1 0-1013.808813h589.269735a506.935641 506.935641 0 0 1 506.873173 506.935641 506.935641 506.935641 0 0 1-506.873173 507.060579l-589.269735-0.187407z m576.151253-178.661236a328.086998 328.086998 0 0 0 328.149467-328.211936 328.086998 328.086998 0 0 0-328.149467-328.211936H519.991655a328.274405 328.274405 0 0 0 0 656.423872h563.095239z m3702.285608 178.661236a506.935641 506.935641 0 1 1 0-1013.808813h700.277084l-114.755487 178.723705h-572.340646a328.274405 328.274405 0 1 0 0 656.423872h702.838312l-114.505611 178.661236h-601.576121z m2384.752692-178.661236a328.086998 328.086998 0 0 1-315.593205-238.506504h833.335977l114.755486-178.723705-948.341339-0.062469a328.211936 328.211936 0 0 1 315.843081-239.193663l572.028302 0.062469 114.942893-178.723705h-700.277084a506.935641 506.935641 0 0 0 0 1013.808813h601.576121l114.505611-178.661236h-702.775843zM7961.482027 117.950149a89.455556 89.455556 0 1 1 179.036051 0 89.455556 89.455556 0 1 1-179.036051 0z m89.580494 114.318204l0 0z m-10.744661-181.597278c17.553779 0 24.800179 0.187407 33.420895 3.435793 22.488827 7.558745 24.800179 28.235972 24.800179 35.794717a49.975171 49.975171 0 0 1-1.374317 10.494785 34.795213 34.795213 0 0 1-15.867117 21.926607c-1.311848 0.999503-2.061476 1.624193-5.747145 2.99851l29.672758 53.098619h-28.673254l-25.987089-48.850729h-17.303903v48.78826h-24.987586V50.671075h32.046579z m8.933061 57.721323c7.683683-0.124938 16.241931-0.687159 21.239448-7.996028a18.990565 18.990565 0 0 0 2.873572-10.932068 16.86662 16.86662 0 0 0-9.62022-15.492303c-5.747145-2.248883-11.619227-2.248883-23.425861-2.248883h-7.058993v36.669282h15.992054z" fill="#d81e06" p-id="989"></path></svg>
|
After Width: | Height: | Size: 2.9 KiB |
1
public/static/database/PostgreSQL.svg
Normal file
After Width: | Height: | Size: 14 KiB |
1
public/static/database/Sqlserver.svg
Normal file
After Width: | Height: | Size: 24 KiB |
1
public/static/database/clickhouse.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg height="2222" viewBox="0 0 9 8" width="2500" xmlns="http://www.w3.org/2000/svg"><path d="m0 7h1v1h-1z" fill="#f00"/><path d="m0 0h1v7h-1zm2 0h1v8h-1zm2 0h1v8h-1zm2 0h1v8h-1zm2 3.25h1v1.5h-1z" fill="#fc0"/></svg>
|
After Width: | Height: | Size: 216 B |
1
public/static/database/default.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="1652175124881" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="42276" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M64 154.944a411.52 154.944 0 1 0 823.04 0 411.52 154.944 0 1 0-823.04 0Z" fill="#434343" p-id="42277"></path><path d="M477.632 709.12c-225.024 0-412.608-62.72-412.608-104.704v209.216c0 76.032 184.768 137.344 412.608 137.344s412.608-61.376 412.608-137.344V604.416c0 41.984-187.584 104.704-412.608 104.704z" fill="#434343" p-id="42278"></path><path d="M479.616 387.264C254.592 387.264 67.008 323.136 67.008 280.128v214.144c0 77.696 184.768 140.544 412.608 140.544s412.608-62.848 412.608-140.544V280.128c0 43.008-187.584 107.136-412.608 107.136z" fill="#434343" p-id="42279"></path></svg>
|
After Width: | Height: | Size: 961 B |
BIN
public/static/database/dm8.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
public/static/database/druid.jpg
Normal file
After Width: | Height: | Size: 20 KiB |
1
public/static/database/elasticsearch.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M255.96 134.393c0-21.521-13.373-40.117-33.223-47.43a75.239 75.239 0 0 0 1.253-13.791c0-39.909-32.386-72.295-72.295-72.295-23.193 0-44.923 11.074-58.505 30.088-6.686-5.224-14.835-7.94-23.402-7.94-21.104 0-38.446 17.133-38.446 38.446 0 4.597.836 9.194 2.298 13.373C13.582 81.739 0 100.962 0 122.274c0 21.522 13.373 40.327 33.431 47.64-.835 4.388-1.253 8.985-1.253 13.79 0 39.7 32.386 72.087 72.086 72.087 23.402 0 44.924-11.283 58.505-30.088 6.686 5.223 15.044 8.149 23.611 8.149 21.104 0 38.446-17.134 38.446-38.446 0-4.597-.836-9.194-2.298-13.373 19.64-7.104 33.431-26.327 33.431-47.64z" fill="#FFF"/><path d="M100.085 110.364l57.043 26.119 57.669-50.565a64.312 64.312 0 0 0 1.253-12.746c0-35.52-28.834-64.355-64.355-64.355-21.313 0-41.162 10.447-53.072 27.998l-9.612 49.73 11.074 23.82z" fill="#F4BD19"/><path d="M40.953 170.75c-.835 4.179-1.253 8.567-1.253 12.955 0 35.52 29.043 64.564 64.564 64.564 21.522 0 41.372-10.656 53.49-28.208l9.403-49.729-12.746-24.238-57.251-26.118-56.207 50.774z" fill="#3CBEB1"/><path d="M40.536 71.918l39.073 9.194 8.775-44.506c-5.432-4.179-11.91-6.268-18.805-6.268-16.925 0-30.924 13.79-30.924 30.924 0 3.552.627 7.313 1.88 10.656z" fill="#E9478C"/><path d="M37.192 81.32c-17.551 5.642-29.67 22.567-29.67 40.954 0 17.97 11.074 34.059 27.79 40.327l54.953-49.73-10.03-21.52-43.043-10.03z" fill="#2C458F"/><path d="M167.784 219.852c5.432 4.18 11.91 6.478 18.596 6.478 16.925 0 30.924-13.79 30.924-30.924 0-3.761-.627-7.314-1.88-10.657l-39.073-9.193-8.567 44.296z" fill="#95C63D"/><path d="M175.724 165.317l43.043 10.03c17.551-5.85 29.67-22.566 29.67-40.954 0-17.97-11.074-33.849-27.79-40.326l-56.415 49.311 11.492 21.94z" fill="#176655"/></svg>
|
After Width: | Height: | Size: 1.8 KiB |
BIN
public/static/database/ibmdb2.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/static/database/ignite.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
public/static/database/kylin.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
public/static/database/kyuubi.png
Normal file
After Width: | Height: | Size: 40 KiB |
1
public/static/database/presto.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><rect width="256" height="256" rx="18"/><path d="M230.118 128.531c0 7.047-5.713 12.76-12.761 12.76-7.047 0-12.76-5.713-12.76-12.76 0-7.048 5.713-12.761 12.76-12.761 7.048 0 12.761 5.713 12.761 12.761" fill="#669CFE"/><path d="M203.806 154.531c0 7.047-5.713 12.76-12.761 12.76-7.048 0-12.761-5.713-12.761-12.76 0-7.048 5.713-12.761 12.761-12.761 7.048 0 12.761 5.713 12.761 12.761" fill="#3FE7FE"/><path d="M177.451 181.072c0 7.048-5.713 12.761-12.76 12.761-7.048 0-12.761-5.713-12.761-12.761 0-7.047 5.713-12.76 12.761-12.76 7.047 0 12.76 5.713 12.76 12.76" fill="#FFF"/><path d="M202.993 102.336c0 6.597-5.348 11.944-11.944 11.944-6.597 0-11.945-5.347-11.945-11.944s5.348-11.945 11.945-11.945c6.596 0 11.944 5.348 11.944 11.945" fill="#669CFE"/><path d="M176.738 128.298c0 6.597-5.348 11.945-11.944 11.945-6.597 0-11.945-5.348-11.945-11.945s5.348-11.945 11.945-11.945c6.596 0 11.944 5.348 11.944 11.945" fill="#3FE7FE"/><path d="M150.569 154.642c0 6.597-5.347 11.945-11.944 11.945s-11.945-5.348-11.945-11.945 5.348-11.944 11.945-11.944 11.944 5.347 11.944 11.944" fill="#FFF"/><path d="M175.743 76.235c0 5.991-4.857 10.849-10.849 10.849s-10.849-4.858-10.849-10.849c0-5.992 4.857-10.849 10.849-10.849s10.849 4.857 10.849 10.849" fill="#669CFE"/><path d="M149.522 102.191c0 5.991-4.858 10.849-10.85 10.849-5.991 0-10.849-4.858-10.849-10.849 0-5.992 4.858-10.85 10.849-10.85 5.992 0 10.85 4.858 10.85 10.85" fill="#3FE7FE"/><path d="M123.253 128.618c0 5.992-4.857 10.849-10.849 10.849s-10.849-4.857-10.849-10.849c0-5.991 4.857-10.849 10.849-10.849s10.849 4.858 10.849 10.849" fill="#FFF"/><path d="M148.618 50.008c0 5.386-4.366 9.752-9.752 9.752-5.386 0-9.752-4.366-9.752-9.752 0-5.387 4.366-9.753 9.752-9.753 5.386 0 9.752 4.366 9.752 9.753" fill="#669CFE"/><path d="M122.297 76.089c0 5.386-4.366 9.753-9.752 9.753-5.386 0-9.752-4.367-9.752-9.753s4.366-9.752 9.752-9.752c5.386 0 9.752 4.366 9.752 9.752" fill="#3FE7FE"/><path d="M96.06 102.471c0 5.386-4.367 9.752-9.753 9.752s-9.752-4.366-9.752-9.752c0-5.386 4.366-9.753 9.752-9.753 5.386 0 9.753 4.367 9.753 9.753" fill="#FFF"/><path d="M95.06 154.721a8.67 8.67 0 1 1-17.338-.002 8.67 8.67 0 0 1 17.338.002M121.185 180.846a8.67 8.67 0 1 1-17.338-.002 8.67 8.67 0 0 1 17.338.002M147.268 206.929a8.669 8.669 0 0 1-8.669 8.669 8.669 8.669 0 0 1-8.669-8.669 8.669 8.669 0 0 1 8.669-8.669 8.669 8.669 0 0 1 8.669 8.669M95.185 206.929a8.67 8.67 0 1 1-17.339 0 8.67 8.67 0 0 1 17.339 0M42.601 206.929a8.67 8.67 0 1 1-17.337 0 8.67 8.67 0 0 1 17.337 0M68.726 180.804a8.67 8.67 0 1 1-17.337 0 8.67 8.67 0 0 1 17.337 0" fill="#6A9EFE"/><path d="M95.172 50.032a9.06 9.06 0 0 1-18.118 0 9.06 9.06 0 1 1 18.118 0" fill="#3FE7FE"/><path d="M68.799 76.538a9.06 9.06 0 1 1-18.12 0 9.06 9.06 0 0 1 18.12 0M41.174 49.663a7.31 7.31 0 1 1-14.62 0 7.31 7.31 0 0 1 14.62 0" fill="#FFF"/></svg>
|
After Width: | Height: | Size: 2.9 KiB |
1
public/static/database/redis.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg width="2500" height="2148" viewBox="0 0 256 220" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M245.97 168.943c-13.662 7.121-84.434 36.22-99.501 44.075-15.067 7.856-23.437 7.78-35.34 2.09-11.902-5.69-87.216-36.112-100.783-42.597C3.566 169.271 0 166.535 0 163.951v-25.876s98.05-21.345 113.879-27.024c15.828-5.679 21.32-5.884 34.79-.95 13.472 4.936 94.018 19.468 107.331 24.344l-.006 25.51c.002 2.558-3.07 5.364-10.024 8.988" fill="#912626"/><path d="M245.965 143.22c-13.661 7.118-84.431 36.218-99.498 44.072-15.066 7.857-23.436 7.78-35.338 2.09-11.903-5.686-87.214-36.113-100.78-42.594-13.566-6.485-13.85-10.948-.524-16.166 13.326-5.22 88.224-34.605 104.055-40.284 15.828-5.677 21.319-5.884 34.789-.948 13.471 4.934 83.819 32.935 97.13 37.81 13.316 4.881 13.827 8.9.166 16.02" fill="#C6302B"/><path d="M245.97 127.074c-13.662 7.122-84.434 36.22-99.501 44.078-15.067 7.853-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.112-100.783-42.597C3.566 127.402 0 124.67 0 122.085V96.206s98.05-21.344 113.879-27.023c15.828-5.679 21.32-5.885 34.79-.95C162.142 73.168 242.688 87.697 256 92.574l-.006 25.513c.002 2.557-3.07 5.363-10.024 8.987" fill="#912626"/><path d="M245.965 101.351c-13.661 7.12-84.431 36.218-99.498 44.075-15.066 7.854-23.436 7.777-35.338 2.087-11.903-5.686-87.214-36.112-100.78-42.594-13.566-6.483-13.85-10.947-.524-16.167C23.151 83.535 98.05 54.148 113.88 48.47c15.828-5.678 21.319-5.884 34.789-.949 13.471 4.934 83.819 32.933 97.13 37.81 13.316 4.88 13.827 8.9.166 16.02" fill="#C6302B"/><path d="M245.97 83.653c-13.662 7.12-84.434 36.22-99.501 44.078-15.067 7.854-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.113-100.783-42.595C3.566 83.98 0 81.247 0 78.665v-25.88s98.05-21.343 113.879-27.021c15.828-5.68 21.32-5.884 34.79-.95C162.142 29.749 242.688 44.278 256 49.155l-.006 25.512c.002 2.555-3.07 5.361-10.024 8.986" fill="#912626"/><path d="M245.965 57.93c-13.661 7.12-84.431 36.22-99.498 44.074-15.066 7.854-23.436 7.777-35.338 2.09C99.227 98.404 23.915 67.98 10.35 61.497-3.217 55.015-3.5 50.55 9.825 45.331 23.151 40.113 98.05 10.73 113.88 5.05c15.828-5.679 21.319-5.883 34.789-.948 13.471 4.935 83.819 32.934 97.13 37.811 13.316 4.876 13.827 8.897.166 16.017" fill="#C6302B"/><path d="M159.283 32.757l-22.01 2.285-4.927 11.856-7.958-13.23-25.415-2.284 18.964-6.839-5.69-10.498 17.755 6.944 16.738-5.48-4.524 10.855 17.067 6.391M131.032 90.275L89.955 73.238l58.86-9.035-17.783 26.072M74.082 39.347c17.375 0 31.46 5.46 31.46 12.194 0 6.736-14.085 12.195-31.46 12.195s-31.46-5.46-31.46-12.195c0-6.734 14.085-12.194 31.46-12.194" fill="#FFF"/><path d="M185.295 35.998l34.836 13.766-34.806 13.753-.03-27.52" fill="#621B1C"/><path d="M146.755 51.243l38.54-15.245.03 27.519-3.779 1.478-34.791-13.752" fill="#9A2928"/></svg>
|
After Width: | Height: | Size: 2.7 KiB |
1
public/static/database/trino.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.1 62.45"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#dd00a1;}.cls-3{fill:#f9d8d2;}.cls-4{fill:#10110e;}.cls-5{fill:#e5e5e5;}.cls-6{fill:#8accce;opacity:0.2;isolation:isolate;}.cls-7{fill:#515151;}</style></defs><path class="cls-1" d="M14.24,55.36c.92-.61-1.49-.38-1.69-.79a15,15,0,0,1-2.82-.51C8,53.62,3.9,50.85,3.47,48.25s0-7.65,1.83-10.61A17,17,0,0,1,9.73,33S6.16,24.51,5.85,18.1,6,.21,10.24,0s3.49,10.48,2.82,17.43a89.47,89.47,0,0,0-.21,13.89,19.45,19.45,0,0,1,5.51-.92,21.2,21.2,0,0,1,4.9.46S24.58,21,29,14.86,38,2.4,41,4.19s-.81,8.19-3.46,11.52-7.25,8.33-8.78,11a47.26,47.26,0,0,0-2.65,5.51,15,15,0,0,1,6.4,6.32c2.07,4.28,2.27,9.59,1.15,11.83a8.1,8.1,0,0,1-5.61,4c-1.32.1-6.91,1.48-6.91,1.48Z" transform="translate(0 0)"/><path class="cls-2" d="M24,30.94s3.33-8.7,6.32-13.6,7-8.59,8.26-7.84S36,14.85,32.66,19.32a112.3,112.3,0,0,0-7.44,12.37Z" transform="translate(0 0)"/><path class="cls-2" d="M10.64,32.44l.95-.75s-.13-8.7,0-14S12,5.78,10.23,5.85,7.23,11,7.92,18.23A86.92,86.92,0,0,0,10.64,32.44Z" transform="translate(0 0)"/><circle class="cls-3" cx="7.65" cy="49.17" r="1.94"/><circle class="cls-3" cx="30.57" cy="49.17" r="1.94"/><path class="cls-4" d="M22.33,49a.19.19,0,0,0-.25,0h0s-.57,1-1.41,1.06a2.11,2.11,0,0,1-1.5-.7V48c.54-.29,1.41-1.19,1.41-1.5a1.4,1.4,0,0,0-1.5-1.09c-1,0-1.7.65-1.7,1.19s1.1,1.23,1.41,1.44v1.45a1.77,1.77,0,0,1-1.3.7c-.8,0-1.4-1.08-1.4-1.09a.19.19,0,0,0-.25-.08h0a.18.18,0,0,0-.08.23h0c0,.06.71,1.29,1.73,1.29a2.07,2.07,0,0,0,1.5-.72,2.46,2.46,0,0,0,1.59.73h.14a2.47,2.47,0,0,0,1.71-1.25.18.18,0,0,0,0-.25A.24.24,0,0,0,22.33,49Z" transform="translate(0 0)"/><path class="cls-5" d="M9.73,33S7,26,6.42,22.29s-1-9.78-.3-13.85A46.3,46.3,0,0,1,7.31,2.85S6,12.34,6.49,16.49,9.73,33,9.73,33Z" transform="translate(0 0)"/><path class="cls-5" d="M23.26,30.85s2-10.59,4.91-14.76S34.73,6.9,36.52,5.62l1.82-1.28S31,12,28.17,18.34,23.26,30.85,23.26,30.85Z" transform="translate(0 0)"/><path class="cls-4" d="M11.6,42.85a1.52,1.52,0,1,0,1.52,1.52h0a1.52,1.52,0,0,0-1.5-1.52Zm.4,1.41a.42.42,0,1,1,.42-.42h0a.42.42,0,0,1-.41.43h0Z" transform="translate(0 0)"/><path class="cls-4" d="M26.55,42.85a1.52,1.52,0,1,0,1.51,1.53h0a1.52,1.52,0,0,0-1.51-1.53ZM27,44.26a.42.42,0,0,1-.43-.41h0a.43.43,0,0,1,.41-.43.42.42,0,0,1,.43.41h0a.41.41,0,0,1-.4.42h0Z" transform="translate(0 0)"/><ellipse class="cls-6" cx="19.36" cy="44.95" rx="14.1" ry="10.16"/><path class="cls-1" d="M36.43,39.3V32.58a2.46,2.46,0,0,0,1.91-2.29,2.65,2.65,0,0,0-5.27,0A2.48,2.48,0,0,0,35,32.58v6.55h-.2c-2-6.94-7.91-11.28-15.63-11.28S5.51,32.15,3.55,39.13H2.88A2.76,2.76,0,0,0,0,41.71v5.14a2.75,2.75,0,0,0,2.88,2.59h.91a13,13,0,0,0,3.59,5.11L6.09,55.72A.78.78,0,0,0,6,56.82l0,0H6c2.93,3.53,7.72,5.6,13.13,5.6s10.21-2,13.14-5.6a.79.79,0,0,0-.09-1.11h0l-1.3-1.19a13,13,0,0,0,3.59-5.08h1a2.74,2.74,0,0,0,2.87-2.6V41.71A2.58,2.58,0,0,0,36.43,39.3Zm-17.26-4c7.14,0,12.94,4.7,12.94,10.47,0,6.25-6.51,9-12.94,9S6.23,52,6.23,45.72C6.23,40,12,35.25,19.17,35.25Z" transform="translate(0 0)"/><path class="cls-7" d="M36.91,45.16H35v-1a18.61,18.61,0,0,0-.39-3.79h.82a1.35,1.35,0,0,1,1.44,1.25h0Z" transform="translate(0 0)"/><path class="cls-7" d="M35.47,48.18h-1A16.13,16.13,0,0,0,34.89,46h2v.85a1.34,1.34,0,0,1-1.36,1.32h-.06Z" transform="translate(0 0)"/><path class="cls-7" d="M19.17,61.1c-4.79,0-9.06-1.72-11.74-4.78l1.3-1.21a17.87,17.87,0,0,0,10.4,3,17.73,17.73,0,0,0,10.4-3l1.35,1.21C28.23,59.38,24,61.1,19.17,61.1Z" transform="translate(0 0)"/><path class="cls-7" d="M2.88,40.42h.85a19.33,19.33,0,0,0-.38,3.79,8.34,8.34,0,0,0,0,1H1.49v-3.5a1.27,1.27,0,0,1,1.24-1.29Z" transform="translate(0 0)"/><path d="M19.17,34.39a17.66,17.66,0,0,0-4.79.69V29.85a17.23,17.23,0,0,1,4.79-.64,17.3,17.3,0,0,1,4.8.64v5.26A15.91,15.91,0,0,0,19.17,34.39Z" transform="translate(0 0)"/><path class="cls-7" d="M1.44,46h2a17.56,17.56,0,0,0,.43,2.16h-1a1.35,1.35,0,0,1-1.44-1.25h0V46Z" transform="translate(0 0)"/><ellipse class="cls-7" cx="35.71" cy="30.29" rx="1.2" ry="1.08"/></svg>
|
After Width: | Height: | Size: 3.9 KiB |
BIN
public/static/img/profile.473f5971.jpg
Normal file
After Width: | Height: | Size: 79 KiB |
459
public/szxqlogo.svg
Normal file
@ -0,0 +1,459 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 41.4 42.2" style="enable-background:new 0 0 41.4 42.2;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{display:none;}
|
||||||
|
.st1{fill:#84D0E9;}
|
||||||
|
.st2{fill:#2BB1DC;}
|
||||||
|
.st3{fill:#1481BC;}
|
||||||
|
</style>
|
||||||
|
<g id="图层_1" class="st0">
|
||||||
|
|
||||||
|
<image style="display:inline;overflow:visible;" width="466" height="156" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdIAAACcCAIAAABEJ73JAAAACXBIWXMAABYlAAAWJQFJUiTwAAAA
|
||||||
|
GXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAX7JJREFUeNrsnemzFMeZ7iuruvts
|
||||||
|
bAIECIEAsUsChBBabHns8BKzfZhv9++8Eb4xdoxjxrY82tCGVjYBAoGEJMRy4GzdXZX3V/V0ZWcv
|
||||||
|
Z+8DHJSv8VF3dVVWZlblk0+++S7GWhsFCRIkSJAHJXHogiBBggQJsBskSJAgAXaDBAkSJEiA3SBB
|
||||||
|
ggQJsBskSJAgQQLsBgkSJEiA3SBBggQJsBskSJAgQQLsBgkSJEiA3SBBggQJEmA3SJAgQQLsBgkS
|
||||||
|
JEiQALtBggQJEmA3SJAgQQLsBgkSJEiQALtBggQJEmA3SJAgQYIE2A0SJEiQALtBggQJEiTAbpAg
|
||||||
|
QYIE2A0SJEiQALtBggQJEiTAbpAgQYIE2A0SJEiQIAF2gwQJEuRRk8rPq7mWfzb/YExk2seK/+T/
|
||||||
|
1VFb/GQWX3Z+VfGfVgnW/WStaZVvFl1wkAf7juhNMOYhXruccmaryfLLfNR6O8DuagHdEk1zEDSz
|
||||||
|
nGMGfMe8QFdmwNwgQX7uYjTb/DxITAmCbcJpPLpbnGMix3mXBrItMp2XwEfHoE0ng7arAoKXz79W
|
||||||
|
L5eZreaz9clgueqgevjB9//SWPbPjfP+/HS7xvaw0W41RL/ji6K3/W4biG6QIEF+ZmxXU6qNWjrW
|
||||||
|
2ENK43hvyU+XgpPljN2GdiP+G5lutF+1+oZHn/POxrZaXb6q+NTSGPTC+ebD5cKLvftC2rVaWPPP
|
||||||
|
SrebPw3bQUhtaqN6Ziea2a16NtlMs+LBefqARTw/D7LdPUxsosSYNUm8aSgZq5jERGFLLUiQwHbt
|
||||||
|
z6zJTq+aKxOmU3u7nl6833j/p+lvJhv1LMvyw3HUn6DOV64tWXMO3lxvqrEZS5K9a6qvbxnds6Yy
|
||||||
|
FEcVE/QNjxBbf9R0owtvRS9/XyyXfBRaFywZfi4zjf9hOs1uTKcXxuunb09fulevW9uG3RJEo4XN
|
||||||
|
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" transform="matrix(0.5 0 0 0.5 -31.6256 48.9837)">
|
||||||
|
</image>
|
||||||
|
</g>
|
||||||
|
<g id="图标">
|
||||||
|
</g>
|
||||||
|
<g id="图层_3">
|
||||||
|
<g>
|
||||||
|
<path class="st1" d="M22.6,6.2c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9c0.7,7.6-3.2,10.7-3.2,10.7h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C31.5,5.3,22.6,6.2,22.6,6.2z"/>
|
||||||
|
<path class="st2" d="M12.7,0.3c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9c0.7,7.6-3.2,10.7-3.2,10.7h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C21.6-0.6,12.7,0.3,12.7,0.3z"/>
|
||||||
|
<path class="st3" d="M3.3,5.8c0,0-5,6-2.3,13.4c1.2,3,5,8,5.3,11.9C6.9,38.8,3,41.9,3,41.9h15.9c0,0,4.4-5.2,3-10.6
|
||||||
|
c-0.9-5-3.4-7.7-4.9-10.5c-0.8-1.6-3.3-3.7,1.3-15C12.2,4.9,3.3,5.8,3.3,5.8z"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 34 KiB |
772
public/xlogo.svg
Normal file
@ -0,0 +1,772 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 22.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 384.3 107.2" style="enable-background:new 0 0 384.3 107.2;" xml:space="preserve">
|
||||||
|
<g>
|
||||||
|
|
||||||
|
<image style="overflow:visible;" width="1208" height="336" id="qurJ8U_1_" xlink:href="data:image/png;base64,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
|
||||||
|
H/2fAAMAf69+LpPrqNsAAAAASUVORK5CYII=" transform="matrix(0.3181 0 0 0.3181 -0.1011 0)">
|
||||||
|
</image>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 58 KiB |
860
public/樽海鞘_图案.svg
Normal file
@ -0,0 +1,860 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 26.2.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||||
|
viewBox="0 0 188.16 104.88" style="enable-background:new 0 0 188.16 104.88;" xml:space="preserve">
|
||||||
|
<style type="text/css">
|
||||||
|
.st0{clip-path:url(#SVGID_00000011005318758800827250000011057430084231322519_);}
|
||||||
|
</style>
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<rect id="SVGID_1_" width="188.16" height="104.88"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_00000052804745015154638170000012213085671327136956_">
|
||||||
|
<use xlink:href="#SVGID_1_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<g style="clip-path:url(#SVGID_00000052804745015154638170000012213085671327136956_);">
|
||||||
|
<g>
|
||||||
|
<defs>
|
||||||
|
<rect id="SVGID_00000168819797670722599790000013148437931894726560_" width="188.16" height="104.88"/>
|
||||||
|
</defs>
|
||||||
|
<clipPath id="SVGID_00000094585513345185356800000001731322396342632333_">
|
||||||
|
<use xlink:href="#SVGID_00000168819797670722599790000013148437931894726560_" style="overflow:visible;"/>
|
||||||
|
</clipPath>
|
||||||
|
<g style="clip-path:url(#SVGID_00000094585513345185356800000001731322396342632333_);">
|
||||||
|
|
||||||
|
<image style="overflow:visible;" width="784" height="437" xlink:href="data:image/png;base64,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
|
||||||
|
AABJRU5ErkJggg==" transform="matrix(0.24 0 0 0.24 0 0)">
|
||||||
|
</image>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 64 KiB |
1
public/樽海鞘_图案蓝色.svg
Normal file
After Width: | Height: | Size: 20 KiB |
77
src/access.ts
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2022/02/15
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
import type { MenuDataItem } from "@umijs/route-utils";
|
||||||
|
import { getMatchMenuItem } from "./services/session";
|
||||||
|
import { checkRole, matchPermission } from "./utils/permission";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see https://umijs.org/zh-CN/plugins/plugin-access
|
||||||
|
* */
|
||||||
|
export default function access (initialState: { currentUser: API.CurrentUser | undefined, menus: MenuDataItem[] | undefined }) {
|
||||||
|
const { currentUser, menus } = initialState || {};
|
||||||
|
return {
|
||||||
|
canAdmin: currentUser && currentUser.access === 'admin',
|
||||||
|
hasPerms: (perm: string) => {
|
||||||
|
return matchPermission(currentUser?.permissions, perm);
|
||||||
|
},
|
||||||
|
hasNoPerms: (perm: string) => {
|
||||||
|
return !matchPermission(currentUser?.permissions, perm);
|
||||||
|
},
|
||||||
|
roleFiler: (route: {authority: string[]}) => {
|
||||||
|
return checkRole(currentUser?.roles, route.authority);
|
||||||
|
},
|
||||||
|
authorize: (route: any) => {
|
||||||
|
if(menus) {
|
||||||
|
const items = getMatchMenuItem(route.path, menus);
|
||||||
|
if(!items || items.length === 0){
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}, // initialState 中包含了的路由才有权限访问
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export function setSessionToken (
|
||||||
|
access_token: string | undefined,
|
||||||
|
refresh_token: string | undefined,
|
||||||
|
expireTime: number,
|
||||||
|
): void {
|
||||||
|
if (access_token) {
|
||||||
|
localStorage.setItem('access_token', access_token);
|
||||||
|
} else {
|
||||||
|
localStorage.removeItem('access_token');
|
||||||
|
}
|
||||||
|
if (refresh_token) {
|
||||||
|
localStorage.setItem('refresh_token', refresh_token);
|
||||||
|
} else {
|
||||||
|
localStorage.removeItem('refresh_token');
|
||||||
|
}
|
||||||
|
localStorage.setItem('expireTime', `${expireTime}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getAccessToken () {
|
||||||
|
return localStorage.getItem('access_token');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getRefreshToken () {
|
||||||
|
return localStorage.getItem('refresh_token');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function getTokenExpireTime () {
|
||||||
|
return localStorage.getItem('expireTime');
|
||||||
|
}
|
||||||
|
|
||||||
|
export function clearSessionToken () {
|
||||||
|
sessionStorage.removeItem('user');
|
||||||
|
localStorage.removeItem('access_token');
|
||||||
|
localStorage.removeItem('refresh_token');
|
||||||
|
localStorage.removeItem('expireTime');
|
||||||
|
}
|
124
src/app.tsx
Normal file
@ -0,0 +1,124 @@
|
|||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2022/02/15
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
import RightContent from '@/components/RightContent'
|
||||||
|
import type { Settings as LayoutSettings } from '@ant-design/pro-layout'
|
||||||
|
import { PageLoading } from '@ant-design/pro-layout'
|
||||||
|
import type { RunTimeLayoutConfig } from 'umi'
|
||||||
|
import { history, Link } from 'umi'
|
||||||
|
// import Footer from '@/components/Footer';
|
||||||
|
import { BookOutlined, LinkOutlined } from '@ant-design/icons'
|
||||||
|
import defaultSettings from '../config/defaultSettings'
|
||||||
|
import iconStyle from '../public/樽海鞘_图案.svg'
|
||||||
|
import { getRoutersInfo, getUserInfo } from './services/session'
|
||||||
|
const isDev = process.env.NODE_ENV === 'development'
|
||||||
|
const loginPath = '/user/login'
|
||||||
|
/** 获取用户信息比较慢的时候会展示一个 loading */
|
||||||
|
export const initialStateConfig = {
|
||||||
|
loading: <PageLoading />
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see https://umijs.org/zh-CN/plugins/plugin-initial-state
|
||||||
|
* */
|
||||||
|
export async function getInitialState(): Promise<{
|
||||||
|
settings?: Partial<LayoutSettings>
|
||||||
|
currentUser?: API.CurrentUser
|
||||||
|
loading?: boolean
|
||||||
|
fetchUserInfo?: () => Promise<API.CurrentUser | undefined>
|
||||||
|
}> {
|
||||||
|
const fetchUserInfo = async () => {
|
||||||
|
try {
|
||||||
|
console.log(1111111111111111111111111111111)
|
||||||
|
const resp = await getUserInfo()
|
||||||
|
if (resp === undefined || resp.code !== 200) {
|
||||||
|
history.push(loginPath)
|
||||||
|
} else {
|
||||||
|
return { ...resp.user, permissions: resp.permissions } as API.CurrentUser
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
history.push(loginPath)
|
||||||
|
}
|
||||||
|
return undefined
|
||||||
|
}
|
||||||
|
// 如果是登录页面,不执行
|
||||||
|
if (history.location.pathname !== loginPath) {
|
||||||
|
console.log(222222222222222222222222222222)
|
||||||
|
const currentUser = await fetchUserInfo()
|
||||||
|
return {
|
||||||
|
settings: defaultSettings,
|
||||||
|
currentUser,
|
||||||
|
fetchUserInfo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
fetchUserInfo,
|
||||||
|
settings: defaultSettings
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// ProLayout 支持的api https://procomponents.ant.design/components/layout
|
||||||
|
export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => {
|
||||||
|
return {
|
||||||
|
rightContentRender: () => <RightContent />,
|
||||||
|
waterMarkProps: {
|
||||||
|
content: initialState?.currentUser?.userName
|
||||||
|
},
|
||||||
|
// footerRender: () => <Footer />,
|
||||||
|
onPageChange: () => {
|
||||||
|
const { location } = history
|
||||||
|
// 如果没有登录,重定向到 login
|
||||||
|
if (!initialState?.currentUser && location.pathname !== loginPath) {
|
||||||
|
history.push(loginPath)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
links: isDev
|
||||||
|
? [
|
||||||
|
<Link key="openapi" to="/umi/plugin/openapi" target="_blank">
|
||||||
|
<LinkOutlined />
|
||||||
|
<span>OpenAPI 文档</span>
|
||||||
|
</Link>,
|
||||||
|
<Link key="docs" to="/~docs">
|
||||||
|
<BookOutlined />
|
||||||
|
<span>业务组件文档</span>
|
||||||
|
</Link>
|
||||||
|
]
|
||||||
|
: [],
|
||||||
|
menuHeaderRender: undefined,
|
||||||
|
menu: {
|
||||||
|
// 每当 initialState?.currentUser?.userid 发生修改时重新执行 request
|
||||||
|
params: {
|
||||||
|
userId: initialState?.currentUser?.userId
|
||||||
|
},
|
||||||
|
request: async () => {
|
||||||
|
if (!initialState?.currentUser?.userId) {
|
||||||
|
return []
|
||||||
|
}
|
||||||
|
// initialState.currentUser 中包含了所有用户信息
|
||||||
|
const menus = await getRoutersInfo()
|
||||||
|
setInitialState((preInitialState: any) => ({
|
||||||
|
...preInitialState,
|
||||||
|
menus
|
||||||
|
}))
|
||||||
|
return menus
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 自定义 403 页面
|
||||||
|
// unAccessible: <div>unAccessible</div>,
|
||||||
|
// 增加一个 loading 的状态
|
||||||
|
childrenRender: (children, props) => {
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{children}
|
||||||
|
{!props.location?.pathname?.includes('/login')}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
},
|
||||||
|
...initialState?.settings,
|
||||||
|
logo: <img src={iconStyle} />
|
||||||
|
}
|
||||||
|
}
|
39
src/components/Footer/index.tsx
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { useIntl } from 'umi';
|
||||||
|
import { GithubOutlined } from '@ant-design/icons';
|
||||||
|
import { DefaultFooter } from '@ant-design/pro-layout';
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
const intl = useIntl();
|
||||||
|
const defaultMessage = intl.formatMessage({
|
||||||
|
id: 'app.copyright.produced',
|
||||||
|
defaultMessage: '蚂蚁集团体验技术部出品',
|
||||||
|
});
|
||||||
|
|
||||||
|
const currentYear = new Date().getFullYear();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<DefaultFooter
|
||||||
|
copyright={`${currentYear} ${defaultMessage}`}
|
||||||
|
links={[
|
||||||
|
{
|
||||||
|
key: 'Ant Design Pro',
|
||||||
|
title: 'Ant Design Pro',
|
||||||
|
href: 'https://pro.ant.design',
|
||||||
|
blankTarget: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'github',
|
||||||
|
title: <GithubOutlined />,
|
||||||
|
href: 'https://github.com/ant-design/ant-design-pro',
|
||||||
|
blankTarget: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
key: 'Ant Design',
|
||||||
|
title: 'Ant Design',
|
||||||
|
href: 'https://ant.design',
|
||||||
|
blankTarget: true,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
17
src/components/HeaderDropdown/index.less
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
.container > * {
|
||||||
|
background-color: @popover-bg;
|
||||||
|
border-radius: 4px;
|
||||||
|
box-shadow: @shadow-1-down;
|
||||||
|
z-index: 99999;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: @screen-xs) {
|
||||||
|
.container {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.container > * {
|
||||||
|
border-radius: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
17
src/components/HeaderDropdown/index.tsx
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
import type { DropDownProps } from 'antd/es/dropdown';
|
||||||
|
import { Dropdown } from 'antd';
|
||||||
|
import React from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
export type HeaderDropdownProps = {
|
||||||
|
overlayClassName?: string;
|
||||||
|
overlay: React.ReactNode | (() => React.ReactNode) | any;
|
||||||
|
placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight' | 'bottomCenter';
|
||||||
|
} & Omit<DropDownProps, 'overlay'>;
|
||||||
|
|
||||||
|
const HeaderDropdown: React.FC<HeaderDropdownProps> = ({ overlayClassName: cls, ...restProps }) => (
|
||||||
|
<Dropdown overlayClassName={classNames(styles.container, cls)} {...restProps} />
|
||||||
|
);
|
||||||
|
|
||||||
|
export default HeaderDropdown;
|
26
src/components/HeaderSearch/index.less
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
.headerSearch {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
z-index: 999;
|
||||||
|
.input {
|
||||||
|
width: 0;
|
||||||
|
min-width: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
background: transparent;
|
||||||
|
border-radius: 0;
|
||||||
|
transition: width 0.3s, margin-left 0.3s;
|
||||||
|
:global(.ant-select-selection) {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
input {
|
||||||
|
box-shadow: none !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.show {
|
||||||
|
width: 210px;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
101
src/components/HeaderSearch/index.tsx
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
import { SearchOutlined } from '@ant-design/icons';
|
||||||
|
import { AutoComplete, Input } from 'antd';
|
||||||
|
import useMergedState from 'rc-util/es/hooks/useMergedState';
|
||||||
|
import type { AutoCompleteProps } from 'antd/es/auto-complete';
|
||||||
|
import React, { useRef } from 'react';
|
||||||
|
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
export type HeaderSearchProps = {
|
||||||
|
onSearch?: (value?: string) => void;
|
||||||
|
onChange?: (value?: string) => void;
|
||||||
|
onVisibleChange?: (b: boolean) => void;
|
||||||
|
className?: string;
|
||||||
|
placeholder?: string;
|
||||||
|
options: AutoCompleteProps['options'];
|
||||||
|
defaultVisible?: boolean;
|
||||||
|
visible?: boolean;
|
||||||
|
defaultValue?: string;
|
||||||
|
value?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
const HeaderSearch: React.FC<HeaderSearchProps> = (props) => {
|
||||||
|
const {
|
||||||
|
className,
|
||||||
|
defaultValue,
|
||||||
|
onVisibleChange,
|
||||||
|
placeholder,
|
||||||
|
visible,
|
||||||
|
defaultVisible,
|
||||||
|
...restProps
|
||||||
|
} = props;
|
||||||
|
|
||||||
|
const inputRef = useRef<Input | null>(null);
|
||||||
|
|
||||||
|
const [value, setValue] = useMergedState<string | undefined>(defaultValue, {
|
||||||
|
value: props.value,
|
||||||
|
onChange: props.onChange,
|
||||||
|
});
|
||||||
|
|
||||||
|
const [searchMode, setSearchMode] = useMergedState(defaultVisible ?? false, {
|
||||||
|
value: props.visible,
|
||||||
|
onChange: onVisibleChange,
|
||||||
|
});
|
||||||
|
|
||||||
|
const inputClass = classNames(styles.input, {
|
||||||
|
[styles.show]: searchMode,
|
||||||
|
});
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={classNames(className, styles.headerSearch)}
|
||||||
|
onClick={() => {
|
||||||
|
setSearchMode(true);
|
||||||
|
if (searchMode && inputRef.current) {
|
||||||
|
inputRef.current.focus();
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
onTransitionEnd={({ propertyName }) => {
|
||||||
|
if (propertyName === 'width' && !searchMode) {
|
||||||
|
if (onVisibleChange) {
|
||||||
|
onVisibleChange(searchMode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<SearchOutlined
|
||||||
|
key="Icon"
|
||||||
|
style={{
|
||||||
|
cursor: 'pointer',
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<AutoComplete
|
||||||
|
key="AutoComplete"
|
||||||
|
className={inputClass}
|
||||||
|
value={value}
|
||||||
|
options={restProps.options}
|
||||||
|
onChange={setValue}
|
||||||
|
>
|
||||||
|
<Input
|
||||||
|
size="small"
|
||||||
|
ref={inputRef}
|
||||||
|
defaultValue={defaultValue}
|
||||||
|
aria-label={placeholder}
|
||||||
|
placeholder={placeholder}
|
||||||
|
onKeyDown={(e) => {
|
||||||
|
if (e.key === 'Enter') {
|
||||||
|
if (restProps.onSearch) {
|
||||||
|
restProps.onSearch(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
onBlur={() => {
|
||||||
|
setSearchMode(false);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</AutoComplete>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default HeaderSearch;
|
78
src/components/IconSelector/Category.tsx
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
import * as React from 'react';
|
||||||
|
import { message } from 'antd';
|
||||||
|
import { injectIntl } from 'react-intl';
|
||||||
|
import CopyableIcon from './CopyableIcon';
|
||||||
|
import type { ThemeType } from './index';
|
||||||
|
import type { CategoriesKeys } from './fields';
|
||||||
|
import styles from './style.less';
|
||||||
|
|
||||||
|
interface CategoryProps {
|
||||||
|
title: CategoriesKeys;
|
||||||
|
icons: string[];
|
||||||
|
theme: ThemeType;
|
||||||
|
newIcons: string[];
|
||||||
|
intl: any;
|
||||||
|
onSelect: (name: string) => any;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface CategoryState {
|
||||||
|
justCopied: string | null;
|
||||||
|
}
|
||||||
|
|
||||||
|
class Category extends React.Component<CategoryProps, CategoryState> {
|
||||||
|
copyId?: number;
|
||||||
|
|
||||||
|
state = {
|
||||||
|
justCopied: null,
|
||||||
|
};
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
window.clearTimeout(this.copyId);
|
||||||
|
}
|
||||||
|
|
||||||
|
onSelect = (name: string) => {
|
||||||
|
const { onSelect } = this.props;
|
||||||
|
if (onSelect) {
|
||||||
|
onSelect(name);
|
||||||
|
}
|
||||||
|
message.success(
|
||||||
|
<span>
|
||||||
|
<code className="copied-code">{name}</code> selected 🎉
|
||||||
|
</span>,
|
||||||
|
);
|
||||||
|
this.setState({ justCopied: name }, () => {
|
||||||
|
this.copyId = window.setTimeout(() => {
|
||||||
|
this.setState({ justCopied: null });
|
||||||
|
}, 2000);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {
|
||||||
|
icons,
|
||||||
|
title,
|
||||||
|
newIcons,
|
||||||
|
theme,
|
||||||
|
intl: { messages },
|
||||||
|
} = this.props;
|
||||||
|
const items = icons.map((name) => (
|
||||||
|
<CopyableIcon
|
||||||
|
key={name}
|
||||||
|
name={name}
|
||||||
|
theme={theme}
|
||||||
|
isNew={newIcons.indexOf(name) >= 0}
|
||||||
|
justCopied={this.state.justCopied}
|
||||||
|
onSelect={this.onSelect}
|
||||||
|
/>
|
||||||
|
));
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h3>{messages[`app.docs.components.icon.category.${title}`]}</h3>
|
||||||
|
<ul className={styles.anticonsList}>{items}</ul>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default injectIntl(Category);
|
46
src/components/IconSelector/CopyableIcon.tsx
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import * as React from 'react';
|
||||||
|
import { Badge } from 'antd';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import * as AntdIcons from '@ant-design/icons';
|
||||||
|
import type { ThemeType } from './index';
|
||||||
|
import styles from './style.less';
|
||||||
|
|
||||||
|
const allIcons: Record<string, any> = AntdIcons;
|
||||||
|
|
||||||
|
export interface CopyableIconProps {
|
||||||
|
name: string;
|
||||||
|
isNew: boolean;
|
||||||
|
theme: ThemeType;
|
||||||
|
justCopied: string | null;
|
||||||
|
onSelect: (name: string) => any;
|
||||||
|
}
|
||||||
|
|
||||||
|
const CopyableIcon: React.FC<CopyableIconProps> = ({
|
||||||
|
name,
|
||||||
|
isNew,
|
||||||
|
justCopied,
|
||||||
|
theme,
|
||||||
|
onSelect,
|
||||||
|
}) => {
|
||||||
|
const className = classNames({
|
||||||
|
copied: justCopied === name,
|
||||||
|
[theme]: !!theme,
|
||||||
|
});
|
||||||
|
return (
|
||||||
|
<li
|
||||||
|
className={className}
|
||||||
|
onClick={() => {
|
||||||
|
if (onSelect) {
|
||||||
|
onSelect(name);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{ React.createElement(allIcons[name], { className: styles.anticon }) }
|
||||||
|
<span className={styles.anticonTitle}>
|
||||||
|
<Badge dot={isNew}>{name}</Badge>
|
||||||
|
</span>
|
||||||
|
</li>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default CopyableIcon;
|
248
src/components/IconSelector/IconPicSearcher.tsx
Normal file
@ -0,0 +1,248 @@
|
|||||||
|
import React, { Component } from 'react';
|
||||||
|
import { Upload, Tooltip, Popover, Modal, Progress, message, Spin, Result } from 'antd';
|
||||||
|
import { injectIntl } from 'react-intl';
|
||||||
|
import * as AntdIcons from '@ant-design/icons';
|
||||||
|
|
||||||
|
const allIcons: {
|
||||||
|
[key: string]: any;
|
||||||
|
} = AntdIcons;
|
||||||
|
|
||||||
|
const { Dragger } = Upload;
|
||||||
|
interface AntdIconClassifier {
|
||||||
|
load: Function;
|
||||||
|
predict: Function;
|
||||||
|
}
|
||||||
|
declare global {
|
||||||
|
interface Window {
|
||||||
|
antdIconClassifier: AntdIconClassifier;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PicSearcherProps {
|
||||||
|
intl: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface PicSearcherState {
|
||||||
|
loading: boolean;
|
||||||
|
modalVisible: boolean;
|
||||||
|
popoverVisible: boolean;
|
||||||
|
icons: string[];
|
||||||
|
fileList: any[];
|
||||||
|
error: boolean;
|
||||||
|
modelLoaded: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface iconObject {
|
||||||
|
type: string;
|
||||||
|
score: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
class PicSearcher extends Component<PicSearcherProps, PicSearcherState> {
|
||||||
|
state = {
|
||||||
|
loading: false,
|
||||||
|
modalVisible: false,
|
||||||
|
popoverVisible: false,
|
||||||
|
icons: [],
|
||||||
|
fileList: [],
|
||||||
|
error: false,
|
||||||
|
modelLoaded: false,
|
||||||
|
};
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
this.loadModel();
|
||||||
|
this.setState({ popoverVisible: !localStorage.getItem('disableIconTip') });
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
document.removeEventListener('paste', this.onPaste);
|
||||||
|
}
|
||||||
|
|
||||||
|
loadModel = () => {
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.onload = async () => {
|
||||||
|
await window.antdIconClassifier.load();
|
||||||
|
this.setState({ modelLoaded: true });
|
||||||
|
document.addEventListener('paste', this.onPaste);
|
||||||
|
};
|
||||||
|
script.src = 'https://cdn.jsdelivr.net/gh/lewis617/antd-icon-classifier@0.0/dist/main.js';
|
||||||
|
document.head.appendChild(script);
|
||||||
|
};
|
||||||
|
|
||||||
|
onPaste = (event: ClipboardEvent) => {
|
||||||
|
const items = event.clipboardData && event.clipboardData.items;
|
||||||
|
let file = null;
|
||||||
|
if (items && items.length) {
|
||||||
|
for (let i = 0; i < items.length; i += 1) {
|
||||||
|
if (items[i].type.indexOf('image') !== -1) {
|
||||||
|
file = items[i].getAsFile();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (file) this.uploadFile(file);
|
||||||
|
};
|
||||||
|
|
||||||
|
uploadFile = (file: File) => {
|
||||||
|
this.setState(() => ({ loading: true }));
|
||||||
|
const reader: FileReader = new FileReader();
|
||||||
|
reader.onload = () => {
|
||||||
|
this.toImage(reader.result).then(this.predict);
|
||||||
|
this.setState(() => ({
|
||||||
|
fileList: [{ uid: 1, name: file.name, status: 'done', url: reader.result }],
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
reader.readAsDataURL(file);
|
||||||
|
};
|
||||||
|
|
||||||
|
toImage = (url: any) =>
|
||||||
|
new Promise((resolve) => {
|
||||||
|
const img = new Image();
|
||||||
|
img.setAttribute('crossOrigin', 'anonymous');
|
||||||
|
img.src = url;
|
||||||
|
img.onload = function onload() {
|
||||||
|
resolve(img);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
predict = (imgEl: any) => {
|
||||||
|
try {
|
||||||
|
let icons = window.antdIconClassifier.predict(imgEl);
|
||||||
|
// if (gtag && icons.length >= 1) {
|
||||||
|
// gtag('event', 'icon', {
|
||||||
|
// event_category: 'search-by-image',
|
||||||
|
// event_label: icons[0].className,
|
||||||
|
// });
|
||||||
|
// }
|
||||||
|
icons = icons.map((i: any) => ({ score: i.score, type: i.className.replace(/\s/g, '-') }));
|
||||||
|
this.setState(() => ({ icons, loading: false, error: false }));
|
||||||
|
} catch (err) {
|
||||||
|
this.setState(() => ({ loading: false, error: true }));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
toggleModal = () => {
|
||||||
|
this.setState((prev) => ({
|
||||||
|
modalVisible: !prev.modalVisible,
|
||||||
|
popoverVisible: false,
|
||||||
|
fileList: [],
|
||||||
|
icons: [],
|
||||||
|
}));
|
||||||
|
if (!localStorage.getItem('disableIconTip')) {
|
||||||
|
localStorage.setItem('disableIconTip', 'true');
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
onCopied = (text: string) => {
|
||||||
|
message.success(
|
||||||
|
<span>
|
||||||
|
<code className="copied-code">{text}</code> copied 🎉
|
||||||
|
</span>,
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {
|
||||||
|
intl: { messages },
|
||||||
|
} = this.props;
|
||||||
|
const { modalVisible, popoverVisible, icons, fileList, loading, modelLoaded, error } =
|
||||||
|
this.state;
|
||||||
|
return (
|
||||||
|
<div className="icon-pic-searcher">
|
||||||
|
<Popover
|
||||||
|
content={messages[`app.docs.components.icon.pic-searcher.intro`]}
|
||||||
|
visible={popoverVisible}
|
||||||
|
>
|
||||||
|
<AntdIcons.CameraOutlined className="icon-pic-btn" onClick={this.toggleModal} />
|
||||||
|
</Popover>
|
||||||
|
<Modal
|
||||||
|
title={messages[`app.docs.components.icon.pic-searcher.title`]}
|
||||||
|
visible={modalVisible}
|
||||||
|
onCancel={this.toggleModal}
|
||||||
|
footer={null}
|
||||||
|
>
|
||||||
|
{modelLoaded || (
|
||||||
|
<Spin
|
||||||
|
spinning={!modelLoaded}
|
||||||
|
tip={messages['app.docs.components.icon.pic-searcher.modelloading']}
|
||||||
|
>
|
||||||
|
<div style={{ height: 100 }} />
|
||||||
|
</Spin>
|
||||||
|
)}
|
||||||
|
{modelLoaded && (
|
||||||
|
<Dragger
|
||||||
|
accept="image/jpeg, image/png"
|
||||||
|
listType="picture"
|
||||||
|
customRequest={(o: any) => this.uploadFile(o.file)}
|
||||||
|
fileList={fileList}
|
||||||
|
showUploadList={{ showPreviewIcon: false, showRemoveIcon: false }}
|
||||||
|
>
|
||||||
|
<p className="ant-upload-drag-icon">
|
||||||
|
<AntdIcons.InboxOutlined />
|
||||||
|
</p>
|
||||||
|
<p className="ant-upload-text">
|
||||||
|
{messages['app.docs.components.icon.pic-searcher.upload-text']}
|
||||||
|
</p>
|
||||||
|
<p className="ant-upload-hint">
|
||||||
|
{messages['app.docs.components.icon.pic-searcher.upload-hint']}
|
||||||
|
</p>
|
||||||
|
</Dragger>
|
||||||
|
)}
|
||||||
|
<Spin spinning={loading} tip={messages['app.docs.components.icon.pic-searcher.matching']}>
|
||||||
|
<div className="icon-pic-search-result">
|
||||||
|
{icons.length > 0 && (
|
||||||
|
<div className="result-tip">
|
||||||
|
{messages['app.docs.components.icon.pic-searcher.result-tip']}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
<table>
|
||||||
|
{icons.length > 0 && (
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th className="col-icon">
|
||||||
|
{messages['app.docs.components.icon.pic-searcher.th-icon']}
|
||||||
|
</th>
|
||||||
|
<th>{messages['app.docs.components.icon.pic-searcher.th-score']}</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
)}
|
||||||
|
<tbody>
|
||||||
|
{icons.map((icon: iconObject) => {
|
||||||
|
const { type } = icon;
|
||||||
|
const iconName = `${type
|
||||||
|
.split('-')
|
||||||
|
.map((str) => `${str[0].toUpperCase()}${str.slice(1)}`)
|
||||||
|
.join('')}Outlined`;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<tr key={iconName}>
|
||||||
|
<td className="col-icon">
|
||||||
|
{/* <CopyToClipboard text={`<${iconName} />`} onCopy={this.onCopied}> */}
|
||||||
|
<Tooltip title={icon.type} placement="right">
|
||||||
|
{React.createElement(allIcons[iconName])}
|
||||||
|
</Tooltip>
|
||||||
|
{/* </CopyToClipboard> */}
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<Progress percent={Math.ceil(icon.score * 100)} />
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
{error && (
|
||||||
|
<Result
|
||||||
|
status="500"
|
||||||
|
title="503"
|
||||||
|
subTitle={messages['app.docs.components.icon.pic-searcher.server-error']}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
</Spin>
|
||||||
|
</Modal>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default injectIntl(PicSearcher);
|
221
src/components/IconSelector/fields.ts
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
import * as AntdIcons from '@ant-design/icons/lib/icons';
|
||||||
|
|
||||||
|
const all = Object.keys(AntdIcons)
|
||||||
|
.map((n) => n.replace(/(Outlined|Filled|TwoTone)$/, ''))
|
||||||
|
.filter((n, i, arr) => arr.indexOf(n) === i);
|
||||||
|
|
||||||
|
const direction = [
|
||||||
|
'StepBackward',
|
||||||
|
'StepForward',
|
||||||
|
'FastBackward',
|
||||||
|
'FastForward',
|
||||||
|
'Shrink',
|
||||||
|
'ArrowsAlt',
|
||||||
|
'Down',
|
||||||
|
'Up',
|
||||||
|
'Left',
|
||||||
|
'Right',
|
||||||
|
'CaretUp',
|
||||||
|
'CaretDown',
|
||||||
|
'CaretLeft',
|
||||||
|
'CaretRight',
|
||||||
|
'UpCircle',
|
||||||
|
'DownCircle',
|
||||||
|
'LeftCircle',
|
||||||
|
'RightCircle',
|
||||||
|
'DoubleRight',
|
||||||
|
'DoubleLeft',
|
||||||
|
'VerticalLeft',
|
||||||
|
'VerticalRight',
|
||||||
|
'VerticalAlignTop',
|
||||||
|
'VerticalAlignMiddle',
|
||||||
|
'VerticalAlignBottom',
|
||||||
|
'Forward',
|
||||||
|
'Backward',
|
||||||
|
'Rollback',
|
||||||
|
'Enter',
|
||||||
|
'Retweet',
|
||||||
|
'Swap',
|
||||||
|
'SwapLeft',
|
||||||
|
'SwapRight',
|
||||||
|
'ArrowUp',
|
||||||
|
'ArrowDown',
|
||||||
|
'ArrowLeft',
|
||||||
|
'ArrowRight',
|
||||||
|
'PlayCircle',
|
||||||
|
'UpSquare',
|
||||||
|
'DownSquare',
|
||||||
|
'LeftSquare',
|
||||||
|
'RightSquare',
|
||||||
|
'Login',
|
||||||
|
'Logout',
|
||||||
|
'MenuFold',
|
||||||
|
'MenuUnfold',
|
||||||
|
'BorderBottom',
|
||||||
|
'BorderHorizontal',
|
||||||
|
'BorderInner',
|
||||||
|
'BorderOuter',
|
||||||
|
'BorderLeft',
|
||||||
|
'BorderRight',
|
||||||
|
'BorderTop',
|
||||||
|
'BorderVerticle',
|
||||||
|
'PicCenter',
|
||||||
|
'PicLeft',
|
||||||
|
'PicRight',
|
||||||
|
'RadiusBottomleft',
|
||||||
|
'RadiusBottomright',
|
||||||
|
'RadiusUpleft',
|
||||||
|
'RadiusUpright',
|
||||||
|
'Fullscreen',
|
||||||
|
'FullscreenExit',
|
||||||
|
];
|
||||||
|
|
||||||
|
const suggestion = [
|
||||||
|
'Question',
|
||||||
|
'QuestionCircle',
|
||||||
|
'Plus',
|
||||||
|
'PlusCircle',
|
||||||
|
'Pause',
|
||||||
|
'PauseCircle',
|
||||||
|
'Minus',
|
||||||
|
'MinusCircle',
|
||||||
|
'PlusSquare',
|
||||||
|
'MinusSquare',
|
||||||
|
'Info',
|
||||||
|
'InfoCircle',
|
||||||
|
'Exclamation',
|
||||||
|
'ExclamationCircle',
|
||||||
|
'Close',
|
||||||
|
'CloseCircle',
|
||||||
|
'CloseSquare',
|
||||||
|
'Check',
|
||||||
|
'CheckCircle',
|
||||||
|
'CheckSquare',
|
||||||
|
'ClockCircle',
|
||||||
|
'Warning',
|
||||||
|
'IssuesClose',
|
||||||
|
'Stop',
|
||||||
|
];
|
||||||
|
|
||||||
|
const editor = [
|
||||||
|
'Edit',
|
||||||
|
'Form',
|
||||||
|
'Copy',
|
||||||
|
'Scissor',
|
||||||
|
'Delete',
|
||||||
|
'Snippets',
|
||||||
|
'Diff',
|
||||||
|
'Highlight',
|
||||||
|
'AlignCenter',
|
||||||
|
'AlignLeft',
|
||||||
|
'AlignRight',
|
||||||
|
'BgColors',
|
||||||
|
'Bold',
|
||||||
|
'Italic',
|
||||||
|
'Underline',
|
||||||
|
'Strikethrough',
|
||||||
|
'Redo',
|
||||||
|
'Undo',
|
||||||
|
'ZoomIn',
|
||||||
|
'ZoomOut',
|
||||||
|
'FontColors',
|
||||||
|
'FontSize',
|
||||||
|
'LineHeight',
|
||||||
|
'Dash',
|
||||||
|
'SmallDash',
|
||||||
|
'SortAscending',
|
||||||
|
'SortDescending',
|
||||||
|
'Drag',
|
||||||
|
'OrderedList',
|
||||||
|
'UnorderedList',
|
||||||
|
'RadiusSetting',
|
||||||
|
'ColumnWidth',
|
||||||
|
'ColumnHeight',
|
||||||
|
];
|
||||||
|
|
||||||
|
const data = [
|
||||||
|
'AreaChart',
|
||||||
|
'PieChart',
|
||||||
|
'BarChart',
|
||||||
|
'DotChart',
|
||||||
|
'LineChart',
|
||||||
|
'RadarChart',
|
||||||
|
'HeatMap',
|
||||||
|
'Fall',
|
||||||
|
'Rise',
|
||||||
|
'Stock',
|
||||||
|
'BoxPlot',
|
||||||
|
'Fund',
|
||||||
|
'Sliders',
|
||||||
|
];
|
||||||
|
|
||||||
|
const logo = [
|
||||||
|
'Android',
|
||||||
|
'Apple',
|
||||||
|
'Windows',
|
||||||
|
'Ie',
|
||||||
|
'Chrome',
|
||||||
|
'Github',
|
||||||
|
'Aliwangwang',
|
||||||
|
'Dingding',
|
||||||
|
'WeiboSquare',
|
||||||
|
'WeiboCircle',
|
||||||
|
'TaobaoCircle',
|
||||||
|
'Html5',
|
||||||
|
'Weibo',
|
||||||
|
'Twitter',
|
||||||
|
'Wechat',
|
||||||
|
'Youtube',
|
||||||
|
'AlipayCircle',
|
||||||
|
'Taobao',
|
||||||
|
'Skype',
|
||||||
|
'Qq',
|
||||||
|
'MediumWorkmark',
|
||||||
|
'Gitlab',
|
||||||
|
'Medium',
|
||||||
|
'Linkedin',
|
||||||
|
'GooglePlus',
|
||||||
|
'Dropbox',
|
||||||
|
'Facebook',
|
||||||
|
'Codepen',
|
||||||
|
'CodeSandbox',
|
||||||
|
'CodeSandboxCircle',
|
||||||
|
'Amazon',
|
||||||
|
'Google',
|
||||||
|
'CodepenCircle',
|
||||||
|
'Alipay',
|
||||||
|
'AntDesign',
|
||||||
|
'AntCloud',
|
||||||
|
'Aliyun',
|
||||||
|
'Zhihu',
|
||||||
|
'Slack',
|
||||||
|
'SlackSquare',
|
||||||
|
'Behance',
|
||||||
|
'BehanceSquare',
|
||||||
|
'Dribbble',
|
||||||
|
'DribbbleSquare',
|
||||||
|
'Instagram',
|
||||||
|
'Yuque',
|
||||||
|
'Alibaba',
|
||||||
|
'Yahoo',
|
||||||
|
'Reddit',
|
||||||
|
'Sketch',
|
||||||
|
];
|
||||||
|
|
||||||
|
const datum = [...direction, ...suggestion, ...editor, ...data, ...logo];
|
||||||
|
|
||||||
|
const other = all.filter((n) => !datum.includes(n));
|
||||||
|
|
||||||
|
export const categories = {
|
||||||
|
direction,
|
||||||
|
suggestion,
|
||||||
|
editor,
|
||||||
|
data,
|
||||||
|
logo,
|
||||||
|
other,
|
||||||
|
};
|
||||||
|
|
||||||
|
export default categories;
|
||||||
|
|
||||||
|
export type Categories = typeof categories;
|
||||||
|
export type CategoriesKeys = keyof Categories;
|
162
src/components/IconSelector/index.tsx
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
import * as React from 'react';
|
||||||
|
import Icon, * as AntdIcons from '@ant-design/icons';
|
||||||
|
import { Radio, Input, Empty, Tabs, Row, Col } from 'antd';
|
||||||
|
import type { RadioChangeEvent } from 'antd/es/radio/interface';
|
||||||
|
import { injectIntl } from 'react-intl';
|
||||||
|
import debounce from 'lodash/debounce';
|
||||||
|
import Category from './Category';
|
||||||
|
import type { Categories, CategoriesKeys } from './fields';
|
||||||
|
import { categories } from './fields';
|
||||||
|
import { FilledIcon, OutlinedIcon, TwoToneIcon } from './themeIcons';
|
||||||
|
import { Fragment } from 'react';
|
||||||
|
|
||||||
|
const { TabPane } = Tabs;
|
||||||
|
|
||||||
|
export enum ThemeType {
|
||||||
|
Filled = 'Filled',
|
||||||
|
Outlined = 'Outlined',
|
||||||
|
TwoTone = 'TwoTone',
|
||||||
|
}
|
||||||
|
|
||||||
|
const allIcons: Record<string, any> = AntdIcons;
|
||||||
|
|
||||||
|
interface IconSelectorProps {
|
||||||
|
intl: any;
|
||||||
|
onSelect: any;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface IconSelectorState {
|
||||||
|
theme: ThemeType;
|
||||||
|
searchKey: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
class IconSelector extends React.PureComponent<IconSelectorProps, IconSelectorState> {
|
||||||
|
static categories: Categories = categories;
|
||||||
|
|
||||||
|
static newIconNames: string[] = [];
|
||||||
|
|
||||||
|
state: IconSelectorState = {
|
||||||
|
theme: ThemeType.Outlined,
|
||||||
|
searchKey: '',
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props: IconSelectorProps) {
|
||||||
|
super(props);
|
||||||
|
this.handleSearchIcon = debounce(this.handleSearchIcon, 300);
|
||||||
|
}
|
||||||
|
|
||||||
|
handleChangeTheme = (e: RadioChangeEvent) => {
|
||||||
|
this.setState({
|
||||||
|
theme: e.target.value as ThemeType,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
handleSearchIcon = (searchKey: string) => {
|
||||||
|
this.setState((prevState) => ({
|
||||||
|
...prevState,
|
||||||
|
searchKey,
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
getTitle(cate: string) {
|
||||||
|
const titles = {
|
||||||
|
direction: '方向性图标',
|
||||||
|
suggestion: '提示建议性图标',
|
||||||
|
editor: '编辑类图标',
|
||||||
|
data: '数据类图标',
|
||||||
|
logo: '品牌和标识',
|
||||||
|
other: '网站通用图标',
|
||||||
|
};
|
||||||
|
return titles[cate];
|
||||||
|
}
|
||||||
|
|
||||||
|
renderTabs() {
|
||||||
|
const { searchKey = '', theme } = this.state;
|
||||||
|
const { onSelect } = this.props;
|
||||||
|
|
||||||
|
const categoriesResult = Object.keys(categories)
|
||||||
|
.map((key: any) => {
|
||||||
|
let iconList = categories[key];
|
||||||
|
if (searchKey) {
|
||||||
|
const matchKey = searchKey
|
||||||
|
.replace(new RegExp(`^<([a-zA-Z]*)\\s/>$`, 'gi'), (_, name) => name)
|
||||||
|
.replace(/(Filled|Outlined|TwoTone)$/, '')
|
||||||
|
.toLowerCase();
|
||||||
|
iconList = iconList.filter((iconName: string) =>
|
||||||
|
iconName.toLowerCase().includes(matchKey),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
// CopyrightCircle is same as Copyright, don't show it
|
||||||
|
iconList = iconList.filter((icon: string) => icon !== 'CopyrightCircle');
|
||||||
|
return {
|
||||||
|
category: key,
|
||||||
|
icons: iconList
|
||||||
|
.map((iconName: ThemeType) => iconName + theme)
|
||||||
|
.filter((iconName: string | number) => allIcons[iconName]),
|
||||||
|
};
|
||||||
|
})
|
||||||
|
.filter(({ icons }) => !!icons.length)
|
||||||
|
.map(({ category, icons }) => (
|
||||||
|
<TabPane tab={this.getTitle(category)} key={category}>
|
||||||
|
<Category
|
||||||
|
key={category}
|
||||||
|
title={category as CategoriesKeys}
|
||||||
|
theme={theme}
|
||||||
|
icons={icons}
|
||||||
|
newIcons={IconSelector.newIconNames}
|
||||||
|
onSelect={(name) => {
|
||||||
|
if (onSelect) {
|
||||||
|
onSelect(name, allIcons[name]);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</TabPane>
|
||||||
|
));
|
||||||
|
return categoriesResult.length === 0 ? <Empty style={{ margin: '2em 0' }} /> : categoriesResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
const {
|
||||||
|
intl: { messages },
|
||||||
|
} = this.props;
|
||||||
|
return (
|
||||||
|
<Fragment>
|
||||||
|
<Row gutter={[16, 16]}>
|
||||||
|
<Col span={4}>
|
||||||
|
<Radio.Group
|
||||||
|
value={this.state.theme}
|
||||||
|
onChange={this.handleChangeTheme}
|
||||||
|
size="large"
|
||||||
|
buttonStyle="solid"
|
||||||
|
>
|
||||||
|
<Radio.Button value={ThemeType.Outlined}>
|
||||||
|
<Icon component={OutlinedIcon} /> {messages['app.docs.components.icon.outlined']}
|
||||||
|
</Radio.Button>
|
||||||
|
<Radio.Button value={ThemeType.Filled}>
|
||||||
|
<Icon component={FilledIcon} /> {messages['app.docs.components.icon.filled']}
|
||||||
|
</Radio.Button>
|
||||||
|
<Radio.Button value={ThemeType.TwoTone}>
|
||||||
|
<Icon component={TwoToneIcon} /> {messages['app.docs.components.icon.two-tone']}
|
||||||
|
</Radio.Button>
|
||||||
|
</Radio.Group>
|
||||||
|
</Col>
|
||||||
|
<Col span={18}>
|
||||||
|
<Input.Search
|
||||||
|
style={{ margin: '0 10px', flex: 1 }}
|
||||||
|
allowClear
|
||||||
|
onChange={(e) => this.handleSearchIcon(e.currentTarget.value)}
|
||||||
|
size="large"
|
||||||
|
autoFocus
|
||||||
|
// suffix={<IconPicSearcher />}
|
||||||
|
/>
|
||||||
|
</Col>
|
||||||
|
</Row>
|
||||||
|
<Row>
|
||||||
|
<Tabs defaultActiveKey="1">{this.renderTabs()}</Tabs>
|
||||||
|
</Row>
|
||||||
|
</Fragment>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default injectIntl(IconSelector);
|
81
src/components/IconSelector/style.less
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
.anticonsList {
|
||||||
|
margin: 6px 0;
|
||||||
|
overflow: hidden;
|
||||||
|
direction: ltr;
|
||||||
|
list-style: none;
|
||||||
|
li {
|
||||||
|
position: relative;
|
||||||
|
float: left;
|
||||||
|
width: 16.66%;
|
||||||
|
height: 60px;
|
||||||
|
margin: 30px 0;
|
||||||
|
padding: 4px 0 0;
|
||||||
|
overflow: hidden;
|
||||||
|
color: #555;
|
||||||
|
text-align: center;
|
||||||
|
list-style: none;
|
||||||
|
background-color: inherit;
|
||||||
|
border-radius: 3px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
|
||||||
|
.rtl & {
|
||||||
|
margin: 2px 0;
|
||||||
|
padding: 3px 0 0;
|
||||||
|
}
|
||||||
|
.anticon {
|
||||||
|
margin: 2px 0 3px;
|
||||||
|
font-size: 26px;
|
||||||
|
transition: transform 0.3s ease-in-out;
|
||||||
|
will-change: transform;
|
||||||
|
}
|
||||||
|
|
||||||
|
.anticonTitle {
|
||||||
|
display: block;
|
||||||
|
font-family: 'Lucida Console', Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-align: center;
|
||||||
|
transform: scale(0.83);
|
||||||
|
.ant-badge {
|
||||||
|
transition: color 0.3s ease-in-out;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #fff;
|
||||||
|
background-color: @primary-color;
|
||||||
|
.anticon {
|
||||||
|
transform: scale(1.4);
|
||||||
|
}
|
||||||
|
.ant-badge {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&.TwoTone:hover {
|
||||||
|
background-color: #8ecafe;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.copied:hover {
|
||||||
|
color: rgba(255, 255, 255, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
&::after {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
color: #fff;
|
||||||
|
line-height: 110px;
|
||||||
|
text-align: center;
|
||||||
|
opacity: 0;
|
||||||
|
transition: all 0.3s cubic-bezier(0.18, 0.89, 0.32, 1.28);
|
||||||
|
content: 'Copied!';
|
||||||
|
}
|
||||||
|
|
||||||
|
&.copied::after {
|
||||||
|
top: -10px;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
46
src/components/IconSelector/themeIcons.tsx
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import * as React from 'react';
|
||||||
|
|
||||||
|
export const FilledIcon: React.FC<JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>> = (
|
||||||
|
props,
|
||||||
|
) => {
|
||||||
|
const path =
|
||||||
|
'M864 64H160C107 64 64 107 64 160v' +
|
||||||
|
'704c0 53 43 96 96 96h704c53 0 96-43 96-96V16' +
|
||||||
|
'0c0-53-43-96-96-96z';
|
||||||
|
return (
|
||||||
|
<svg {...(props as any)} viewBox="0 0 1024 1024">
|
||||||
|
<path d={path} />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const OutlinedIcon: React.FC<JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>> = (
|
||||||
|
props,
|
||||||
|
) => {
|
||||||
|
const path =
|
||||||
|
'M864 64H160C107 64 64 107 64 160v7' +
|
||||||
|
'04c0 53 43 96 96 96h704c53 0 96-43 96-96V160c' +
|
||||||
|
'0-53-43-96-96-96z m-12 800H172c-6.6 0-12-5.4-' +
|
||||||
|
'12-12V172c0-6.6 5.4-12 12-12h680c6.6 0 12 5.4' +
|
||||||
|
' 12 12v680c0 6.6-5.4 12-12 12z';
|
||||||
|
return (
|
||||||
|
<svg {...(props as any)} viewBox="0 0 1024 1024">
|
||||||
|
<path d={path} />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const TwoToneIcon: React.FC<JSX.IntrinsicAttributes & React.SVGProps<SVGSVGElement>> = (
|
||||||
|
props,
|
||||||
|
) => {
|
||||||
|
const path =
|
||||||
|
'M16 512c0 273.932 222.066 496 496 49' +
|
||||||
|
'6s496-222.068 496-496S785.932 16 512 16 16 238.' +
|
||||||
|
'066 16 512z m496 368V144c203.41 0 368 164.622 3' +
|
||||||
|
'68 368 0 203.41-164.622 368-368 368z';
|
||||||
|
return (
|
||||||
|
<svg {...(props as any)} viewBox="0 0 1024 1024">
|
||||||
|
<path d={path} />
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
};
|
58
src/components/KeepAlive/index.tsx
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
/*
|
||||||
|
* @Author: wangYe
|
||||||
|
* @Date: 2020-12-18 13:25:08
|
||||||
|
* @Last Modified by: WhiteShader
|
||||||
|
* @Last Modified time: 2022-02-21 11:12:12
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
import React, { useEffect } from 'react';
|
||||||
|
import { KeepAlive, useIntl, useModel } from 'umi';
|
||||||
|
|
||||||
|
export default function KeepAlivePage(props: any) {
|
||||||
|
const intl = useIntl()
|
||||||
|
const { dispatch, tabList, showTabs, tarnslateX, tabsWidth, tabWidth } = useModel("system")
|
||||||
|
useEffect(() => {
|
||||||
|
// 去重
|
||||||
|
const localTablist = JSON.parse(JSON.stringify(tabList));
|
||||||
|
const isExit = localTablist.findIndex((item: any) => item.pathname === props.location.pathname);
|
||||||
|
// 需要计算translateX
|
||||||
|
if (isExit < 0) {
|
||||||
|
const obj = { ...props.location, title: intl.formatMessage({ id: props.route.title }), keepAliveName: props.route.name }
|
||||||
|
localTablist.push(obj);
|
||||||
|
let x = 0;
|
||||||
|
if (localTablist.length >= showTabs) {
|
||||||
|
const isBeyondDistance = ((showTabs as number) * (tabWidth as number)) - (tabsWidth as number) + 100;
|
||||||
|
x = isBeyondDistance + (localTablist.length - showTabs) * tabWidth
|
||||||
|
}
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tabList: localTablist, active: localTablist.length - 1, tarnslateX: x } });
|
||||||
|
} else {
|
||||||
|
const isBeyondDistance = ((showTabs as number) * (tabWidth as number)) - (tabsWidth as number) + 100;
|
||||||
|
const curClickIndex = tabList.findIndex(item => item.pathname === props.location.pathname) as number;
|
||||||
|
// 能展示多少个
|
||||||
|
const totalShowIndex = (showTabs as number) - 1;
|
||||||
|
if (curClickIndex > totalShowIndex) {
|
||||||
|
// 计算移动的距离
|
||||||
|
const x = (curClickIndex - totalShowIndex) * (tabWidth as number) + isBeyondDistance
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tarnslateX: x, active: isExit } })
|
||||||
|
} else {
|
||||||
|
// 计算隐藏了多少个
|
||||||
|
const transNum = Math.ceil(tarnslateX / tabWidth);
|
||||||
|
if (isExit < transNum) {
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tarnslateX: tabWidth * curClickIndex, active: isExit } })
|
||||||
|
} else {
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { active: isExit } })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
if (props.route.keppAlive) {
|
||||||
|
return (
|
||||||
|
<KeepAlive saveScrollPosition={props.route.saveScrollPosition ?? "screen"} name={props.route.name}>
|
||||||
|
{props.children}
|
||||||
|
</KeepAlive>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
return props.children
|
||||||
|
}
|
@ -0,0 +1,91 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
.tabItem {
|
||||||
|
z-index: 20;
|
||||||
|
padding: 0 20px;
|
||||||
|
white-space: nowrap;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
background-color: #fff;
|
||||||
|
border-style:solid;
|
||||||
|
border-width:1px;
|
||||||
|
border-color: @border-color-base;
|
||||||
|
border-radius: @border-radius-base;
|
||||||
|
// border-top-left-radius: @border-radius-base;
|
||||||
|
// border-top-right-radius: @border-radius-base;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 30px;
|
||||||
|
line-height: 30px;
|
||||||
|
text-align: center;
|
||||||
|
margin-left: 5px;
|
||||||
|
margin-top: 2px;
|
||||||
|
width: 120px;
|
||||||
|
position: relative;
|
||||||
|
cursor: pointer;
|
||||||
|
font-size: @font-size-sm;
|
||||||
|
color: @text-color ;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
// background: @layout-body-background;
|
||||||
|
color: @primary-color-hover;
|
||||||
|
font-weight: bolder;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
// display: block;
|
||||||
|
&+.tabItem {
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// &:before {
|
||||||
|
// content: '';
|
||||||
|
// display: block;
|
||||||
|
// position: absolute;
|
||||||
|
// top: 5px;
|
||||||
|
// bottom: 5px;
|
||||||
|
// left: 0;
|
||||||
|
// width: 1px;
|
||||||
|
// border-left: 1px solid #d9d9d9;
|
||||||
|
// z-index: 10;
|
||||||
|
// }
|
||||||
|
|
||||||
|
.closeIcon {
|
||||||
|
// display: none;
|
||||||
|
position: absolute;
|
||||||
|
right: 5px;
|
||||||
|
top: 5px;
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
border-radius: 50%;
|
||||||
|
color: rgba(0, 0, 0, 0.45);
|
||||||
|
transform: scale(0.8);
|
||||||
|
transition: 300ms;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background: #ccc; //@close-icon-hover;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.active {
|
||||||
|
color: @primary-color;
|
||||||
|
font-weight: bolder;
|
||||||
|
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
&+.tabItem {
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
115
src/components/KeepAliveTabs/components/SortableTab/index.tsx
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/*
|
||||||
|
* @Author: wangYe
|
||||||
|
* @Date: 2020-11-05 18:00:19
|
||||||
|
* @Last Modified by: WhiteShader
|
||||||
|
* @Last Modified time: 2022-02-21 11:12:12
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { SortableElement } from 'react-sortable-hoc';
|
||||||
|
import { CloseOutlined } from '@ant-design/icons';
|
||||||
|
import { useModel, useHistory, useAliveController } from 'umi'
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
interface ITab {
|
||||||
|
value: {
|
||||||
|
hash: string
|
||||||
|
key: string
|
||||||
|
title: string
|
||||||
|
pathname: string
|
||||||
|
query: Record<string, any>
|
||||||
|
search: string
|
||||||
|
state: any
|
||||||
|
keepAliveName: string
|
||||||
|
}
|
||||||
|
// index: number
|
||||||
|
tabIndex: number
|
||||||
|
}
|
||||||
|
|
||||||
|
const SortableTab = (props: ITab) => {
|
||||||
|
const history = useHistory()
|
||||||
|
const { value, tabIndex } = props;
|
||||||
|
const { active, dispatch, tabWidth, tarnslateX, showTabs, tabsWidth, tabList } = useModel("system");
|
||||||
|
const { dropScope } = useAliveController()
|
||||||
|
const closable = tabList.length > 1
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`${styles.tabItem} link-tab ${tabIndex === active ? styles.active : ''}`}
|
||||||
|
title={value.title}
|
||||||
|
onClick={() => {
|
||||||
|
// translate了 多少个
|
||||||
|
const tarnsNumber = Math.floor(tarnslateX / tabWidth)
|
||||||
|
// 隐藏了多少
|
||||||
|
const isBeyondDistance = tarnslateX - tarnsNumber * tabWidth;
|
||||||
|
if (tabIndex - tarnsNumber <= 0) {
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { active: tabIndex, tarnslateX: tarnslateX - isBeyondDistance } })
|
||||||
|
history.push({ ...value })
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// 是否在可视区域内
|
||||||
|
if ((tabIndex - tarnsNumber + 1) === showTabs) {
|
||||||
|
// 需要移动的距离计算
|
||||||
|
const x = (tabIndex + 1) * (tabWidth as number) - (tabsWidth - 100)
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { active: tabIndex, tarnslateX: x } })
|
||||||
|
history.push({ ...value })
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { active: tabIndex } })
|
||||||
|
history.push({ ...value })
|
||||||
|
|
||||||
|
}}>
|
||||||
|
{value.title}
|
||||||
|
{
|
||||||
|
closable && (
|
||||||
|
<div
|
||||||
|
className={styles.closeIcon}
|
||||||
|
onClick={(e) => {
|
||||||
|
e.stopPropagation()
|
||||||
|
const currentName = value.keepAliveName
|
||||||
|
// 如果关闭激活中的 KeepAlive Tab,需要先离开当前路由
|
||||||
|
// 触发 KeepAlive unactivated 后再进行 drop
|
||||||
|
const localTablist = JSON.parse(JSON.stringify(tabList))
|
||||||
|
localTablist.splice(tabIndex, 1)
|
||||||
|
let activeIndex: number = 0;
|
||||||
|
if (tabIndex < active) {
|
||||||
|
// 我在前面
|
||||||
|
activeIndex = active - 1;
|
||||||
|
dropScope(currentName)
|
||||||
|
} else if (tabIndex === active) {
|
||||||
|
// 点击后面当前窗口
|
||||||
|
if (active > 0) {
|
||||||
|
activeIndex = active - 1
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
history.push(tabList[activeIndex])
|
||||||
|
}, 10)
|
||||||
|
|
||||||
|
} else {
|
||||||
|
activeIndex = 0
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
history.push(localTablist[activeIndex])
|
||||||
|
}, 10)
|
||||||
|
}
|
||||||
|
const unlisten = history.listen(() => {
|
||||||
|
unlisten()
|
||||||
|
const dropTimer = setTimeout(() => {
|
||||||
|
clearTimeout(dropTimer)
|
||||||
|
dropScope(currentName)
|
||||||
|
}, 10)
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
activeIndex = active
|
||||||
|
dropScope(currentName)
|
||||||
|
}
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: localTablist, active: activeIndex, tarnslateX: 0 } })
|
||||||
|
}}>
|
||||||
|
<CloseOutlined />
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default SortableElement(SortableTab);
|
66
src/components/KeepAliveTabs/index.less
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
position: fixed;
|
||||||
|
top: @layout-trigger-height;
|
||||||
|
width: 100%;
|
||||||
|
z-index: 999;
|
||||||
|
background: #fff;
|
||||||
|
height: 38px;
|
||||||
|
// margin-left: -24px;
|
||||||
|
// width: calc(100% - 256px);
|
||||||
|
// width: 100%;
|
||||||
|
// margin-top: 5px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom:solid;
|
||||||
|
border-width:1px;
|
||||||
|
border-color: @border-color-base;
|
||||||
|
|
||||||
|
.tabList {
|
||||||
|
display: flex;
|
||||||
|
margin-top: 2px;
|
||||||
|
flex: 1;
|
||||||
|
overflow: hidden;
|
||||||
|
|
||||||
|
|
||||||
|
.linkTabs {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
// transform: translate(-50px, 0);
|
||||||
|
transition: all 0.5s;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabLeftMenu {
|
||||||
|
margin-top: 5px;
|
||||||
|
padding: 0 20px 0 5px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 30px;
|
||||||
|
z-index: 12;
|
||||||
|
width: 100px;
|
||||||
|
|
||||||
|
.tabMore {
|
||||||
|
color: @primary-color;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.boxShadow {
|
||||||
|
box-shadow: -7px 0 7px -7px #5E5E5E; //@tab-left-menu;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
&::before {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
:global {
|
||||||
|
.ant-dropdown-link {
|
||||||
|
line-height: 30px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
242
src/components/KeepAliveTabs/index.tsx
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
/*
|
||||||
|
* @Author: wangYe
|
||||||
|
* @Date: 2020-11-05 17:09:40
|
||||||
|
* @Last Modified by: WhiteShader
|
||||||
|
* @Last Modified time: 2022-02-21 11:12:12
|
||||||
|
*/
|
||||||
|
|
||||||
|
import { useEffect, useRef } from 'react';
|
||||||
|
import { SortableContainer } from 'react-sortable-hoc';
|
||||||
|
import { Dropdown, Menu, Divider } from 'antd';
|
||||||
|
import { DownOutlined, MoreOutlined } from '@ant-design/icons';
|
||||||
|
import { useModel, history, useAliveController } from 'umi'
|
||||||
|
import SortableTab from './components/SortableTab'
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
|
||||||
|
const SortableList = SortableContainer(() => {
|
||||||
|
const tabsRef = useRef<any>()
|
||||||
|
const { tabList, tarnslateX } = useModel("system");
|
||||||
|
return (
|
||||||
|
<div className={`${styles.tabList}`} ref={tabsRef} >
|
||||||
|
{/* <div className={styles.linkTabs} style={{ transform: `translateX(-${tarnslateX}px)` }}> */}
|
||||||
|
<div className={styles.linkTabs} style={{ transform: `translateX(-${tarnslateX}px)` }}>
|
||||||
|
{
|
||||||
|
tabList.map((value, index: number) => (
|
||||||
|
<SortableTab key={`item-${index}`} index={index} value={value} tabIndex={index} />
|
||||||
|
))
|
||||||
|
}
|
||||||
|
</div>
|
||||||
|
</div >
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
const KeepAliveTabs = () => {
|
||||||
|
const { initialState } = useModel<any>("@@initialState");
|
||||||
|
const { collapsed } = initialState;
|
||||||
|
const { tabList, dispatch, active, showTabs, tabsWidth, tabWidth, tarnslateX } = useModel("system");
|
||||||
|
const { dropScope, clear } = useAliveController();
|
||||||
|
|
||||||
|
const onSortEnd = ({ oldIndex, newIndex }: { oldIndex: number, newIndex: number }) => {
|
||||||
|
const dataSource = JSON.parse(JSON.stringify(tabList))
|
||||||
|
const activeItem = dataSource[active as number]
|
||||||
|
dataSource.splice(newIndex, 0, dataSource.splice(oldIndex, 1)[0]);
|
||||||
|
const movedActiveIndex = dataSource.findIndex((item: string) => item === activeItem)
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: dataSource, active: movedActiveIndex } })
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 当前的索引值active showTabs一排能展示多少个
|
||||||
|
// 计算应该在菜单展示的菜单有哪些
|
||||||
|
|
||||||
|
const arr: any[] = []
|
||||||
|
if (tabList.length > showTabs) {
|
||||||
|
// 前面隐藏的元素
|
||||||
|
const beforeTab = Math.floor(tarnslateX / tabWidth);
|
||||||
|
// 后面隐藏的元素
|
||||||
|
const afterTab = Math.floor(tarnslateX / tabWidth) + showTabs
|
||||||
|
tabList.forEach((item, index) => {
|
||||||
|
if (index < beforeTab) {
|
||||||
|
arr.push(item)
|
||||||
|
}
|
||||||
|
if (index >= afterTab) {
|
||||||
|
arr.push(item)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const menuMore = (
|
||||||
|
<Menu onClick={(e) => {
|
||||||
|
// 判断点击多余tab的展示移动距离是多少
|
||||||
|
// 计算超出了多少
|
||||||
|
// tabsWidth tabWidth showTabs 100是右边操作的距离目前写死
|
||||||
|
const isBeyondDistance = ((showTabs as number) * (tabWidth as number)) - (tabsWidth as number) + 100;
|
||||||
|
// TODO 找到当前点击的索引值
|
||||||
|
const curClickIndex = tabList?.findIndex(item => item.pathname === e.key) as number;
|
||||||
|
// 能展示多少个
|
||||||
|
const totalShowIndex = (showTabs as number) - 1;
|
||||||
|
if (curClickIndex > totalShowIndex) {
|
||||||
|
// 计算移动的距离
|
||||||
|
const x = (curClickIndex - totalShowIndex) * (tabWidth as number) + isBeyondDistance
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tarnslateX: x, active: curClickIndex } })
|
||||||
|
} else {
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tarnslateX: tabWidth * curClickIndex, active: curClickIndex } })
|
||||||
|
}
|
||||||
|
history.push({ ...tabList[curClickIndex] })
|
||||||
|
}}>
|
||||||
|
{
|
||||||
|
arr.map(item => {
|
||||||
|
return <Menu.Item key={item.pathname}> {item.title}</Menu.Item>
|
||||||
|
})
|
||||||
|
}
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
const menu = (
|
||||||
|
<Menu onClick={(e) => {
|
||||||
|
let activeIndex: number = 0;
|
||||||
|
const localTablist = JSON.parse(JSON.stringify(tabList))
|
||||||
|
switch (e.key) {
|
||||||
|
case "closeCurrent": {
|
||||||
|
const currentName = localTablist[active].keepAliveName
|
||||||
|
if (active > 0) {
|
||||||
|
activeIndex = active - 1
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
history.push(tabList[activeIndex])
|
||||||
|
}, 10)
|
||||||
|
} else {
|
||||||
|
activeIndex = 0
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
history.push(localTablist[activeIndex])
|
||||||
|
}, 10)
|
||||||
|
}
|
||||||
|
const unlisten = history.listen(() => {
|
||||||
|
unlisten()
|
||||||
|
const dropTimer = setTimeout(() => {
|
||||||
|
clearTimeout(dropTimer)
|
||||||
|
dropScope(currentName)
|
||||||
|
}, 10)
|
||||||
|
})
|
||||||
|
localTablist.splice(active, 1)
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: localTablist, active: activeIndex, tarnslateX: 0 } })
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "closeOther": {
|
||||||
|
const needDelete = localTablist.filter((item: any, index: number) => index !== active);
|
||||||
|
const needUpdate = localTablist.filter((item: any, index: number) => index === active);
|
||||||
|
needDelete.forEach((item: any) => dropScope(item.keepAliveName));
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: needUpdate, active: 0, tarnslateX: 0 } })
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "closeAll": {
|
||||||
|
const unlisten = history.listen(() => {
|
||||||
|
unlisten()
|
||||||
|
const dropTimer = setTimeout(() => {
|
||||||
|
clearTimeout(dropTimer)
|
||||||
|
clear()
|
||||||
|
}, 10)
|
||||||
|
})
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
history.push("/")
|
||||||
|
}, 10)
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: [], active: 0, tarnslateX: 0 } })
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "closeLeft": {
|
||||||
|
const needDelete = localTablist.filter((item: any, index: number) => index < active);
|
||||||
|
const needUpdate = localTablist.filter((item: any, index: number) => index >= active);
|
||||||
|
needDelete.forEach((item: any) => dropScope(item.keepAliveName));
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: needUpdate, active: 0, tarnslateX: 0 } })
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case "closeRight": {
|
||||||
|
const needDelete = localTablist.filter((item: any, index: number) => index > active);
|
||||||
|
const needUpdate = localTablist.filter((item: any, index: number) => index <= active);
|
||||||
|
needDelete.forEach((item: any) => dropScope(item.keepAliveName));
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabList: needUpdate, tarnslateX: 0 } })
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}}>
|
||||||
|
<Menu.Item key="closeCurrent">关闭当前标签</Menu.Item>
|
||||||
|
<Menu.Item key="closeOther">关闭其他标签</Menu.Item>
|
||||||
|
<Menu.Item key="closeAll">关闭全部标签</Menu.Item>
|
||||||
|
<Menu.Item key="closeLeft" disabled={active === 0}>关闭当前左边标签</Menu.Item>
|
||||||
|
<Menu.Item key="closeRight" disabled={active === tabList.length - 1}>关闭当前右边标签</Menu.Item>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
|
||||||
|
window.onresize = () => {
|
||||||
|
const width = document.getElementById("contentContainer") ? document.getElementById("contentContainer")!.getBoundingClientRect()!.width : 0;
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabsWidth: width, tarnslateX: 0 } })
|
||||||
|
}
|
||||||
|
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
const width = document.getElementById("contentContainer") ? document.getElementById("contentContainer")!.getBoundingClientRect()!.width : 0;
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { tabsWidth: width } })
|
||||||
|
}, 100);
|
||||||
|
return () => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
}
|
||||||
|
}, [collapsed])
|
||||||
|
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const timer = setTimeout(() => {
|
||||||
|
// 需要重新计算拿到当前tab的宽度
|
||||||
|
const itemWidth = document.getElementsByClassName("link-tab")[0] ? document.getElementsByClassName("link-tab")[0]!.getBoundingClientRect().width : 120;
|
||||||
|
//计算一排能展示多少个tab 需要减去操作占用的空间100
|
||||||
|
const isShowTabs = Math.ceil((tabsWidth as number - 100) / itemWidth);
|
||||||
|
if (itemWidth > 0 && tabWidth > 0) {
|
||||||
|
dispatch({ type: "CHANGESTATE", payload: { showTabs: isShowTabs, tabWidth: itemWidth } })
|
||||||
|
}
|
||||||
|
}, 100);
|
||||||
|
return () => {
|
||||||
|
clearTimeout(timer)
|
||||||
|
}
|
||||||
|
}, [tabsWidth])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
// <div className={styles.tabs} style={{ width: initialState?.collapsed ? "calc(100vw - 41px)" : "calc(100vw - 249px)" }}>
|
||||||
|
<div className={styles.tabs} id="contentContainer">
|
||||||
|
{tabList.length > 0 && <SortableList onSortEnd={onSortEnd} axis={'x'} distance={1} />}
|
||||||
|
<div className={`${styles.tabLeftMenu} ${tabList.length >= showTabs && styles.boxShadow}`}>
|
||||||
|
{
|
||||||
|
tabList.length > showTabs && (
|
||||||
|
<>
|
||||||
|
<Dropdown overlay={menuMore} className={styles.tabMore}>
|
||||||
|
<a className="ant-dropdown-link" onClick={e => e.preventDefault()}>
|
||||||
|
<MoreOutlined />
|
||||||
|
</a>
|
||||||
|
</Dropdown>
|
||||||
|
<Divider type='vertical' />
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
{
|
||||||
|
tabList.length > 1 && (
|
||||||
|
<Dropdown overlay={menu} className={styles.menuRight}>
|
||||||
|
<a className="ant-dropdown-link" onClick={e => e.preventDefault()}>
|
||||||
|
操作 <DownOutlined />
|
||||||
|
</a>
|
||||||
|
</Dropdown>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default KeepAliveTabs;
|
126
src/components/NoticeIcon/NoticeIcon.tsx
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
import { BellOutlined } from '@ant-design/icons';
|
||||||
|
import { Badge, Spin, Tabs } from 'antd';
|
||||||
|
import useMergedState from 'rc-util/es/hooks/useMergedState';
|
||||||
|
import React from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import type { NoticeIconTabProps } from './NoticeList';
|
||||||
|
import NoticeList from './NoticeList';
|
||||||
|
import HeaderDropdown from '../HeaderDropdown';
|
||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
const { TabPane } = Tabs;
|
||||||
|
|
||||||
|
export type NoticeIconProps = {
|
||||||
|
count?: number;
|
||||||
|
bell?: React.ReactNode;
|
||||||
|
className?: string;
|
||||||
|
loading?: boolean;
|
||||||
|
onClear?: (tabName: string, tabKey: string) => void;
|
||||||
|
onItemClick?: (item: API.NoticeIconItem, tabProps: NoticeIconTabProps) => void;
|
||||||
|
onViewMore?: (tabProps: NoticeIconTabProps, e: MouseEvent) => void;
|
||||||
|
onTabChange?: (tabTile: string) => void;
|
||||||
|
style?: React.CSSProperties;
|
||||||
|
onPopupVisibleChange?: (visible: boolean) => void;
|
||||||
|
popupVisible?: boolean;
|
||||||
|
clearText?: string;
|
||||||
|
viewMoreText?: string;
|
||||||
|
clearClose?: boolean;
|
||||||
|
emptyImage?: string;
|
||||||
|
children?: React.ReactElement<NoticeIconTabProps>[];
|
||||||
|
};
|
||||||
|
|
||||||
|
const NoticeIcon: React.FC<NoticeIconProps> & {
|
||||||
|
Tab: typeof NoticeList;
|
||||||
|
} = (props) => {
|
||||||
|
const getNotificationBox = (): React.ReactNode => {
|
||||||
|
const {
|
||||||
|
children,
|
||||||
|
loading,
|
||||||
|
onClear,
|
||||||
|
onTabChange,
|
||||||
|
onItemClick,
|
||||||
|
onViewMore,
|
||||||
|
clearText,
|
||||||
|
viewMoreText,
|
||||||
|
} = props;
|
||||||
|
if (!children) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
const panes: React.ReactNode[] = [];
|
||||||
|
React.Children.forEach(children, (child: React.ReactElement<NoticeIconTabProps>): void => {
|
||||||
|
if (!child) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const { list, title, count, tabKey, showClear, showViewMore } = child.props;
|
||||||
|
const len = list && list.length ? list.length : 0;
|
||||||
|
const msgCount = count || count === 0 ? count : len;
|
||||||
|
const tabTitle: string = msgCount > 0 ? `${title} (${msgCount})` : title;
|
||||||
|
panes.push(
|
||||||
|
<TabPane tab={tabTitle} key={tabKey}>
|
||||||
|
<NoticeList
|
||||||
|
clearText={clearText}
|
||||||
|
viewMoreText={viewMoreText}
|
||||||
|
list={list}
|
||||||
|
tabKey={tabKey}
|
||||||
|
onClear={(): void => onClear && onClear(title, tabKey)}
|
||||||
|
onClick={(item): void => onItemClick && onItemClick(item, child.props)}
|
||||||
|
onViewMore={(event): void => onViewMore && onViewMore(child.props, event)}
|
||||||
|
showClear={showClear}
|
||||||
|
showViewMore={showViewMore}
|
||||||
|
title={title}
|
||||||
|
/>
|
||||||
|
</TabPane>,
|
||||||
|
);
|
||||||
|
});
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Spin spinning={loading} delay={300}>
|
||||||
|
<Tabs className={styles.tabs} onChange={onTabChange}>
|
||||||
|
{panes}
|
||||||
|
</Tabs>
|
||||||
|
</Spin>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const { className, count, bell } = props;
|
||||||
|
|
||||||
|
const [visible, setVisible] = useMergedState<boolean>(false, {
|
||||||
|
value: props.popupVisible,
|
||||||
|
onChange: props.onPopupVisibleChange,
|
||||||
|
});
|
||||||
|
const noticeButtonClass = classNames(className, styles.noticeButton);
|
||||||
|
const notificationBox = getNotificationBox();
|
||||||
|
const NoticeBellIcon = bell || <BellOutlined className={styles.icon} />;
|
||||||
|
const trigger = (
|
||||||
|
<span className={classNames(noticeButtonClass, { opened: visible })}>
|
||||||
|
<Badge count={count} style={{ boxShadow: 'none' }} className={styles.badge}>
|
||||||
|
{NoticeBellIcon}
|
||||||
|
</Badge>
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
if (!notificationBox) {
|
||||||
|
return trigger;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<HeaderDropdown
|
||||||
|
placement="bottomRight"
|
||||||
|
overlay={notificationBox}
|
||||||
|
overlayClassName={styles.popover}
|
||||||
|
trigger={['click']}
|
||||||
|
visible={visible}
|
||||||
|
onVisibleChange={setVisible}
|
||||||
|
>
|
||||||
|
{trigger}
|
||||||
|
</HeaderDropdown>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
NoticeIcon.defaultProps = {
|
||||||
|
emptyImage: 'https://gw.alipayobjects.com/zos/rmsportal/wAhyIChODzsoKIOBHcBk.svg',
|
||||||
|
};
|
||||||
|
|
||||||
|
NoticeIcon.Tab = NoticeList;
|
||||||
|
|
||||||
|
export default NoticeIcon;
|
103
src/components/NoticeIcon/NoticeList.less
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
.list {
|
||||||
|
max-height: 400px;
|
||||||
|
overflow: auto;
|
||||||
|
&::-webkit-scrollbar {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
padding-right: 24px;
|
||||||
|
padding-left: 24px;
|
||||||
|
overflow: hidden;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s;
|
||||||
|
|
||||||
|
.meta {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.avatar {
|
||||||
|
margin-top: 4px;
|
||||||
|
background: @component-background;
|
||||||
|
}
|
||||||
|
.iconElement {
|
||||||
|
font-size: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.read {
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: 0;
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
background: @primary-1;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
.description {
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: @line-height-base;
|
||||||
|
}
|
||||||
|
.datetime {
|
||||||
|
margin-top: 4px;
|
||||||
|
font-size: 12px;
|
||||||
|
line-height: @line-height-base;
|
||||||
|
}
|
||||||
|
.extra {
|
||||||
|
float: right;
|
||||||
|
margin-top: -1.5px;
|
||||||
|
margin-right: 0;
|
||||||
|
color: @text-color-secondary;
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.loadMore {
|
||||||
|
padding: 8px 0;
|
||||||
|
color: @primary-6;
|
||||||
|
text-align: center;
|
||||||
|
cursor: pointer;
|
||||||
|
&.loadedAll {
|
||||||
|
color: rgba(0, 0, 0, 0.25);
|
||||||
|
cursor: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.notFound {
|
||||||
|
padding: 73px 0 88px;
|
||||||
|
color: @text-color-secondary;
|
||||||
|
text-align: center;
|
||||||
|
img {
|
||||||
|
display: inline-block;
|
||||||
|
height: 76px;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottomBar {
|
||||||
|
height: 46px;
|
||||||
|
color: @text-color;
|
||||||
|
line-height: 46px;
|
||||||
|
text-align: center;
|
||||||
|
border-top: 1px solid @border-color-split;
|
||||||
|
border-radius: 0 0 @border-radius-base @border-radius-base;
|
||||||
|
transition: all 0.3s;
|
||||||
|
div {
|
||||||
|
display: inline-block;
|
||||||
|
width: 50%;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s;
|
||||||
|
user-select: none;
|
||||||
|
|
||||||
|
&:only-child {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
&:not(:only-child):last-child {
|
||||||
|
border-left: 1px solid @border-color-split;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
113
src/components/NoticeIcon/NoticeList.tsx
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
import { Avatar, List } from 'antd';
|
||||||
|
|
||||||
|
import React from 'react';
|
||||||
|
import classNames from 'classnames';
|
||||||
|
import styles from './NoticeList.less';
|
||||||
|
|
||||||
|
export type NoticeIconTabProps = {
|
||||||
|
count?: number;
|
||||||
|
showClear?: boolean;
|
||||||
|
showViewMore?: boolean;
|
||||||
|
style?: React.CSSProperties;
|
||||||
|
title: string;
|
||||||
|
tabKey: API.NoticeIconItemType;
|
||||||
|
onClick?: (item: API.NoticeIconItem) => void;
|
||||||
|
onClear?: () => void;
|
||||||
|
emptyText?: string;
|
||||||
|
clearText?: string;
|
||||||
|
viewMoreText?: string;
|
||||||
|
list: API.NoticeIconItem[];
|
||||||
|
onViewMore?: (e: any) => void;
|
||||||
|
};
|
||||||
|
const NoticeList: React.FC<NoticeIconTabProps> = ({
|
||||||
|
list = [],
|
||||||
|
onClick,
|
||||||
|
onClear,
|
||||||
|
title,
|
||||||
|
onViewMore,
|
||||||
|
emptyText,
|
||||||
|
showClear = true,
|
||||||
|
clearText,
|
||||||
|
viewMoreText,
|
||||||
|
showViewMore = false,
|
||||||
|
}) => {
|
||||||
|
if (!list || list.length === 0) {
|
||||||
|
return (
|
||||||
|
<div className={styles.notFound}>
|
||||||
|
<img
|
||||||
|
src="https://gw.alipayobjects.com/zos/rmsportal/sAuJeJzSKbUmHfBQRzmZ.svg"
|
||||||
|
alt="not found"
|
||||||
|
/>
|
||||||
|
<div>{emptyText}</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<List<API.NoticeIconItem>
|
||||||
|
className={styles.list}
|
||||||
|
dataSource={list}
|
||||||
|
renderItem={(item, i) => {
|
||||||
|
const itemCls = classNames(styles.item, {
|
||||||
|
[styles.read]: item.read,
|
||||||
|
});
|
||||||
|
// eslint-disable-next-line no-nested-ternary
|
||||||
|
const leftIcon = item.avatar ? (
|
||||||
|
typeof item.avatar === 'string' ? (
|
||||||
|
<Avatar className={styles.avatar} src={item.avatar} />
|
||||||
|
) : (
|
||||||
|
<span className={styles.iconElement}>{item.avatar}</span>
|
||||||
|
)
|
||||||
|
) : null;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<List.Item
|
||||||
|
className={itemCls}
|
||||||
|
key={item.key || i}
|
||||||
|
onClick={() => {
|
||||||
|
onClick?.(item);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<List.Item.Meta
|
||||||
|
className={styles.meta}
|
||||||
|
avatar={leftIcon}
|
||||||
|
title={
|
||||||
|
<div className={styles.title}>
|
||||||
|
{item.title}
|
||||||
|
<div className={styles.extra}>{item.extra}</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
description={
|
||||||
|
<div>
|
||||||
|
<div className={styles.description}>{item.description}</div>
|
||||||
|
<div className={styles.datetime}>{item.datetime}</div>
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
</List.Item>
|
||||||
|
);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
<div className={styles.bottomBar}>
|
||||||
|
{showClear ? (
|
||||||
|
<div onClick={onClear}>
|
||||||
|
{clearText} {title}
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
|
{showViewMore ? (
|
||||||
|
<div
|
||||||
|
onClick={(e) => {
|
||||||
|
if (onViewMore) {
|
||||||
|
onViewMore(e);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{viewMoreText}
|
||||||
|
</div>
|
||||||
|
) : null}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default NoticeList;
|
35
src/components/NoticeIcon/index.less
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
.popover {
|
||||||
|
position: relative;
|
||||||
|
width: 336px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noticeButton {
|
||||||
|
display: inline-block;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s;
|
||||||
|
}
|
||||||
|
.icon {
|
||||||
|
padding: 4px;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge {
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tabs {
|
||||||
|
:global {
|
||||||
|
.ant-tabs-nav-list {
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-tabs-nav-scroll {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.ant-tabs-bar {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
153
src/components/NoticeIcon/index.tsx
Normal file
@ -0,0 +1,153 @@
|
|||||||
|
import { useEffect, useState } from 'react';
|
||||||
|
import { Tag, message } from 'antd';
|
||||||
|
import { groupBy } from 'lodash';
|
||||||
|
import moment from 'moment';
|
||||||
|
import { useModel, useRequest } from 'umi';
|
||||||
|
|
||||||
|
import NoticeIcon from './NoticeIcon';
|
||||||
|
import styles from './index.less';
|
||||||
|
import { getNotices } from '@/services/api';
|
||||||
|
|
||||||
|
export type GlobalHeaderRightProps = {
|
||||||
|
fetchingNotices?: boolean;
|
||||||
|
onNoticeVisibleChange?: (visible: boolean) => void;
|
||||||
|
onNoticeClear?: (tabName?: string) => void;
|
||||||
|
};
|
||||||
|
|
||||||
|
const getNoticeData = (notices: API.NoticeIconItem[]): Record<string, API.NoticeIconItem[]> => {
|
||||||
|
if (!notices || notices.length === 0 || !Array.isArray(notices)) {
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
|
const newNotices = notices.map((notice) => {
|
||||||
|
const newNotice = { ...notice };
|
||||||
|
|
||||||
|
if (newNotice.datetime) {
|
||||||
|
newNotice.datetime = moment(notice.datetime as string).fromNow();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newNotice.id) {
|
||||||
|
newNotice.key = newNotice.id;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (newNotice.extra && newNotice.status) {
|
||||||
|
const color = {
|
||||||
|
todo: '',
|
||||||
|
processing: 'blue',
|
||||||
|
urgent: 'red',
|
||||||
|
doing: 'gold',
|
||||||
|
}[newNotice.status];
|
||||||
|
newNotice.extra = (
|
||||||
|
<Tag
|
||||||
|
color={color}
|
||||||
|
style={{
|
||||||
|
marginRight: 0,
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{newNotice.extra}
|
||||||
|
</Tag>
|
||||||
|
) as any;
|
||||||
|
}
|
||||||
|
|
||||||
|
return newNotice;
|
||||||
|
});
|
||||||
|
return groupBy(newNotices, 'type');
|
||||||
|
};
|
||||||
|
|
||||||
|
const getUnreadData = (noticeData: Record<string, API.NoticeIconItem[]>) => {
|
||||||
|
const unreadMsg: Record<string, number> = {};
|
||||||
|
Object.keys(noticeData).forEach((key) => {
|
||||||
|
const value = noticeData[key];
|
||||||
|
|
||||||
|
if (!unreadMsg[key]) {
|
||||||
|
unreadMsg[key] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Array.isArray(value)) {
|
||||||
|
unreadMsg[key] = value.filter((item) => !item.read).length;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return unreadMsg;
|
||||||
|
};
|
||||||
|
|
||||||
|
const NoticeIconView = () => {
|
||||||
|
const { initialState } = useModel('@@initialState');
|
||||||
|
const { currentUser } = initialState || {};
|
||||||
|
const [notices, setNotices] = useState<API.NoticeIconItem[]>([]);
|
||||||
|
const { data } = useRequest(getNotices);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setNotices(data || []);
|
||||||
|
}, [data]);
|
||||||
|
|
||||||
|
const noticeData = getNoticeData(notices);
|
||||||
|
const unreadMsg = getUnreadData(noticeData || {});
|
||||||
|
|
||||||
|
const changeReadState = (id: string) => {
|
||||||
|
setNotices(
|
||||||
|
notices.map((item) => {
|
||||||
|
const notice = { ...item };
|
||||||
|
if (notice.id === id) {
|
||||||
|
notice.read = true;
|
||||||
|
}
|
||||||
|
return notice;
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
const clearReadState = (title: string, key: string) => {
|
||||||
|
setNotices(
|
||||||
|
notices.map((item) => {
|
||||||
|
const notice = { ...item };
|
||||||
|
if (notice.type === key) {
|
||||||
|
notice.read = true;
|
||||||
|
}
|
||||||
|
return notice;
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
message.success(`${'清空了'} ${title}`);
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<NoticeIcon
|
||||||
|
className={styles.action}
|
||||||
|
count={currentUser && currentUser.unreadCount}
|
||||||
|
onItemClick={(item) => {
|
||||||
|
changeReadState(item.id!);
|
||||||
|
}}
|
||||||
|
onClear={(title: string, key: string) => clearReadState(title, key)}
|
||||||
|
loading={false}
|
||||||
|
clearText="清空"
|
||||||
|
viewMoreText="查看更多"
|
||||||
|
onViewMore={() => message.info('Click on view more')}
|
||||||
|
clearClose
|
||||||
|
>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="notification"
|
||||||
|
count={unreadMsg.notification}
|
||||||
|
list={noticeData.notification}
|
||||||
|
title="通知"
|
||||||
|
emptyText="你已查看所有通知"
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="message"
|
||||||
|
count={unreadMsg.message}
|
||||||
|
list={noticeData.message}
|
||||||
|
title="消息"
|
||||||
|
emptyText="您已读完所有消息"
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="event"
|
||||||
|
title="待办"
|
||||||
|
emptyText="你已完成所有待办"
|
||||||
|
count={unreadMsg.event}
|
||||||
|
list={noticeData.event}
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
</NoticeIcon>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default NoticeIconView;
|
111
src/components/RightContent/AvatarDropdown.tsx
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
import React, { useCallback } from 'react';
|
||||||
|
import { HomeOutlined, LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons';
|
||||||
|
import { Avatar, Menu, Spin } from 'antd';
|
||||||
|
import { history, useModel } from 'umi';
|
||||||
|
import { stringify } from 'querystring';
|
||||||
|
import HeaderDropdown from '../HeaderDropdown';
|
||||||
|
import styles from './index.less';
|
||||||
|
import type { MenuInfo } from 'rc-menu/lib/interface';
|
||||||
|
import { logout } from '@/services/session';
|
||||||
|
|
||||||
|
export type GlobalHeaderRightProps = {
|
||||||
|
menu?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 退出登录,并且将当前的 url 保存
|
||||||
|
*/
|
||||||
|
const loginOut = async () => {
|
||||||
|
await logout();
|
||||||
|
const { query = {}, pathname } = history.location;
|
||||||
|
const { redirect } = query;
|
||||||
|
// Note: There may be security issues, please note
|
||||||
|
if (window.location.pathname !== '/user/login' && !redirect) {
|
||||||
|
history.replace({
|
||||||
|
pathname: '/user/login',
|
||||||
|
search: stringify({
|
||||||
|
redirect: pathname,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu }) => {
|
||||||
|
const { initialState, setInitialState } = useModel('@@initialState');
|
||||||
|
const { dispatch } = useModel('system');
|
||||||
|
|
||||||
|
const onMenuClick = useCallback(
|
||||||
|
(event: MenuInfo) => {
|
||||||
|
const { key } = event;
|
||||||
|
if (key === 'logout') {
|
||||||
|
setInitialState((s) => ({ ...s, currentUser: undefined, menus: undefined }));
|
||||||
|
dispatch({ type: 'CHANGESTATE', payload: { tabList: [] } });
|
||||||
|
loginOut();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
history.push(`${key}`);
|
||||||
|
},
|
||||||
|
[setInitialState],
|
||||||
|
);
|
||||||
|
|
||||||
|
const loading = (
|
||||||
|
<span className={`${styles.action} ${styles.account}`}>
|
||||||
|
<Spin
|
||||||
|
size="small"
|
||||||
|
style={{
|
||||||
|
marginLeft: 8,
|
||||||
|
marginRight: 8,
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</span>
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!initialState) {
|
||||||
|
return loading;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { currentUser } = initialState;
|
||||||
|
|
||||||
|
if (!currentUser || !currentUser.userName) {
|
||||||
|
return loading;
|
||||||
|
}
|
||||||
|
|
||||||
|
const menuHeaderDropdown = (
|
||||||
|
<Menu className={styles.menu} selectedKeys={[]} onClick={onMenuClick}>
|
||||||
|
{menu && (
|
||||||
|
<Menu.Item key="/account/center">
|
||||||
|
<UserOutlined />
|
||||||
|
个人中心
|
||||||
|
</Menu.Item>
|
||||||
|
)}
|
||||||
|
{menu && (
|
||||||
|
<Menu.Item key="/account/settings">
|
||||||
|
<SettingOutlined />
|
||||||
|
个人设置
|
||||||
|
</Menu.Item>
|
||||||
|
)}
|
||||||
|
{menu && (
|
||||||
|
<Menu.Item key="/dashboard/workplace">
|
||||||
|
<HomeOutlined />
|
||||||
|
工作台
|
||||||
|
</Menu.Item>
|
||||||
|
)}
|
||||||
|
{menu && <Menu.Divider />}
|
||||||
|
|
||||||
|
<Menu.Item key="logout">
|
||||||
|
<LogoutOutlined />
|
||||||
|
退出登录
|
||||||
|
</Menu.Item>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
<HeaderDropdown overlay={menuHeaderDropdown}>
|
||||||
|
<span className={`${styles.action} ${styles.account}`}>
|
||||||
|
<Avatar size="small" className={styles.avatar} src={currentUser.avatar} alt="avatar" />
|
||||||
|
<span className={`${styles.name} anticon`}>{currentUser.userName}</span>
|
||||||
|
</span>
|
||||||
|
</HeaderDropdown>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default AvatarDropdown;
|
87
src/components/RightContent/index.less
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
@pro-header-hover-bg: rgba(0, 0, 0, 0.025);
|
||||||
|
|
||||||
|
.menu {
|
||||||
|
z-index: 9999;
|
||||||
|
:global(.anticon) {
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
:global(.ant-dropdown-menu-item) {
|
||||||
|
min-width: 160px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
z-index: 9999;
|
||||||
|
display: flex;
|
||||||
|
float: right;
|
||||||
|
height: 48px;
|
||||||
|
margin-left: auto;
|
||||||
|
overflow: hidden;
|
||||||
|
.action {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 48px;
|
||||||
|
padding: 0 12px;
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s;
|
||||||
|
> span {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
&:hover {
|
||||||
|
background: @pro-header-hover-bg;
|
||||||
|
}
|
||||||
|
&:global(.opened) {
|
||||||
|
background: @pro-header-hover-bg;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.search {
|
||||||
|
padding: 0 12px;
|
||||||
|
&:hover {
|
||||||
|
background: transparent;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.account {
|
||||||
|
.avatar {
|
||||||
|
margin-right: 8px;
|
||||||
|
color: @primary-color;
|
||||||
|
vertical-align: top;
|
||||||
|
background: rgba(255, 255, 255, 0.85);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark {
|
||||||
|
z-index: 9999;
|
||||||
|
.action {
|
||||||
|
&:hover {
|
||||||
|
background: #252a3d;
|
||||||
|
}
|
||||||
|
&:global(.opened) {
|
||||||
|
background: #252a3d;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: @screen-md) {
|
||||||
|
:global(.ant-divider-vertical) {
|
||||||
|
vertical-align: unset;
|
||||||
|
}
|
||||||
|
.name {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.right {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
right: 12px;
|
||||||
|
.account {
|
||||||
|
.avatar {
|
||||||
|
margin-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.search {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
68
src/components/RightContent/index.tsx
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
import { Space } from 'antd';
|
||||||
|
import { QuestionCircleOutlined } from '@ant-design/icons';
|
||||||
|
import React from 'react';
|
||||||
|
import { useModel, SelectLang } from 'umi';
|
||||||
|
import Avatar from './AvatarDropdown';
|
||||||
|
import HeaderSearch from '../HeaderSearch';
|
||||||
|
import styles from './index.less';
|
||||||
|
import NoticeIconView from '../NoticeIcon';
|
||||||
|
|
||||||
|
export type SiderTheme = 'light' | 'dark';
|
||||||
|
|
||||||
|
const GlobalHeaderRight: React.FC = () => {
|
||||||
|
const { initialState } = useModel('@@initialState');
|
||||||
|
|
||||||
|
if (!initialState || !initialState.settings) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { navTheme, layout } = initialState.settings;
|
||||||
|
let className = styles.right;
|
||||||
|
|
||||||
|
if ((navTheme === 'dark' && layout === 'top') || layout === 'mix') {
|
||||||
|
className = `${styles.right} ${styles.dark}`;
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Space className={className}>
|
||||||
|
<HeaderSearch
|
||||||
|
className={`${styles.action} ${styles.search}`}
|
||||||
|
placeholder="站内搜索"
|
||||||
|
defaultValue="umi ui"
|
||||||
|
options={[
|
||||||
|
{
|
||||||
|
label: <a href="https://umijs.org/zh/guide/umi-ui.html">umi ui</a>,
|
||||||
|
value: 'umi ui',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: <a href="next.ant.design">Ant Design</a>,
|
||||||
|
value: 'Ant Design',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: <a href="https://protable.ant.design/">Pro Table</a>,
|
||||||
|
value: 'Pro Table',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: <a href="https://prolayout.ant.design/">Pro Layout</a>,
|
||||||
|
value: 'Pro Layout',
|
||||||
|
},
|
||||||
|
]} // onSearch={value => {
|
||||||
|
// console.log('input', value);
|
||||||
|
// }}
|
||||||
|
/>
|
||||||
|
<span
|
||||||
|
className={styles.action}
|
||||||
|
onClick={() => {
|
||||||
|
window.open('https://pro.ant.design/docs/getting-started');
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<QuestionCircleOutlined />
|
||||||
|
</span>
|
||||||
|
<NoticeIconView />
|
||||||
|
<Avatar menu />
|
||||||
|
<SelectLang className={styles.action} />
|
||||||
|
</Space>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default GlobalHeaderRight;
|
6
src/components/WrapContent/index.less
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
|
||||||
|
.wraper {
|
||||||
|
margin: 62px 24px 24px 24px;
|
||||||
|
}
|
9
src/components/WrapContent/index.tsx
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
import styles from './index.less';
|
||||||
|
|
||||||
|
const WrapContent: React.FC = (props) => {
|
||||||
|
return (
|
||||||
|
<div className={styles.wraper} >{props.children}</div>
|
||||||
|
)
|
||||||
|
};
|
||||||
|
|
||||||
|
export default WrapContent;
|
272
src/components/index.md
Normal file
@ -0,0 +1,272 @@
|
|||||||
|
---
|
||||||
|
title: 业务组件
|
||||||
|
sidemenu: false
|
||||||
|
---
|
||||||
|
|
||||||
|
> 此功能由[dumi](https://d.umijs.org/zh-CN/guide/advanced#umi-%E9%A1%B9%E7%9B%AE%E9%9B%86%E6%88%90%E6%A8%A1%E5%BC%8F)提供,dumi 是一个 📖 为组件开发场景而生的文档工具,用过的都说好。
|
||||||
|
|
||||||
|
# 业务组件
|
||||||
|
|
||||||
|
这里列举了 Pro 中所有用到的组件,这些组件不适合作为组件库,但是在业务中却真实需要。所以我们准备了这个文档,来指导大家是否需要使用这个组件。
|
||||||
|
|
||||||
|
## Footer 页脚组件
|
||||||
|
|
||||||
|
这个组件自带了一些 Pro 的配置,你一般都需要改掉它的信息。
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* background: '#f0f2f5'
|
||||||
|
*/
|
||||||
|
import React from 'react';
|
||||||
|
import Footer from '@/components/Footer';
|
||||||
|
|
||||||
|
export default () => <Footer />;
|
||||||
|
```
|
||||||
|
|
||||||
|
## HeaderDropdown 头部下拉列表
|
||||||
|
|
||||||
|
HeaderDropdown 是 antd Dropdown 的封装,但是增加了移动端的特殊处理,用法也是相同的。
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* background: '#f0f2f5'
|
||||||
|
*/
|
||||||
|
import { Button, Menu } from 'antd';
|
||||||
|
import React from 'react';
|
||||||
|
import HeaderDropdown from '@/components/HeaderDropdown';
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
const menuHeaderDropdown = (
|
||||||
|
<Menu selectedKeys={[]}>
|
||||||
|
<Menu.Item key="center">个人中心</Menu.Item>
|
||||||
|
<Menu.Item key="settings">个人设置</Menu.Item>
|
||||||
|
<Menu.Divider />
|
||||||
|
<Menu.Item key="logout">退出登录</Menu.Item>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
return (
|
||||||
|
<HeaderDropdown overlay={menuHeaderDropdown}>
|
||||||
|
<Button>hover 展示菜单</Button>
|
||||||
|
</HeaderDropdown>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
## HeaderSearch 头部搜索框
|
||||||
|
|
||||||
|
一个带补全数据的输入框,支持收起和展开 Input
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* background: '#f0f2f5'
|
||||||
|
*/
|
||||||
|
import { Button, Menu } from 'antd';
|
||||||
|
import React from 'react';
|
||||||
|
import HeaderSearch from '@/components/HeaderSearch';
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
return (
|
||||||
|
<HeaderSearch
|
||||||
|
placeholder="站内搜索"
|
||||||
|
defaultValue="umi ui"
|
||||||
|
options={[
|
||||||
|
{ label: 'Ant Design Pro', value: 'Ant Design Pro' },
|
||||||
|
{
|
||||||
|
label: 'Ant Design',
|
||||||
|
value: 'Ant Design',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Pro Table',
|
||||||
|
value: 'Pro Table',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'Pro Layout',
|
||||||
|
value: 'Pro Layout',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
onSearch={(value) => {
|
||||||
|
console.log('input', value);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
### API
|
||||||
|
|
||||||
|
| 参数 | 说明 | 类型 | 默认值 |
|
||||||
|
| --------------- | ---------------------------------- | ---------------------------- | ------ |
|
||||||
|
| value | 输入框的值 | `string` | - |
|
||||||
|
| onChange | 值修改后触发 | `(value?: string) => void` | - |
|
||||||
|
| onSearch | 查询后触发 | `(value?: string) => void` | - |
|
||||||
|
| options | 选项菜单的的列表 | `{label,value}[]` | - |
|
||||||
|
| defaultVisible | 输入框默认是否显示,只有第一次生效 | `boolean` | - |
|
||||||
|
| visible | 输入框是否显示 | `boolean` | - |
|
||||||
|
| onVisibleChange | 输入框显示隐藏的回调函数 | `(visible: boolean) => void` | - |
|
||||||
|
|
||||||
|
## NoticeIcon 通知工具
|
||||||
|
|
||||||
|
通知工具提供一个展示多种通知信息的界面。
|
||||||
|
|
||||||
|
```tsx
|
||||||
|
/**
|
||||||
|
* background: '#f0f2f5'
|
||||||
|
*/
|
||||||
|
import { message } from 'antd';
|
||||||
|
import React from 'react';
|
||||||
|
import NoticeIcon from '@/components/NoticeIcon/NoticeIcon';
|
||||||
|
|
||||||
|
export default () => {
|
||||||
|
const list = [
|
||||||
|
{
|
||||||
|
id: '000000001',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png',
|
||||||
|
title: '你收到了 14 份新周报',
|
||||||
|
datetime: '2017-08-09',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: '000000002',
|
||||||
|
avatar: 'https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png',
|
||||||
|
title: '你推荐的 曲妮妮 已通过第三轮面试',
|
||||||
|
datetime: '2017-08-08',
|
||||||
|
type: 'notification',
|
||||||
|
},
|
||||||
|
];
|
||||||
|
return (
|
||||||
|
<NoticeIcon
|
||||||
|
count={10}
|
||||||
|
onItemClick={(item) => {
|
||||||
|
message.info(`${item.title} 被点击了`);
|
||||||
|
}}
|
||||||
|
onClear={(title: string, key: string) => message.info('点击了清空更多')}
|
||||||
|
loading={false}
|
||||||
|
clearText="清空"
|
||||||
|
viewMoreText="查看更多"
|
||||||
|
onViewMore={() => message.info('点击了查看更多')}
|
||||||
|
clearClose
|
||||||
|
>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="notification"
|
||||||
|
count={2}
|
||||||
|
list={list}
|
||||||
|
title="通知"
|
||||||
|
emptyText="你已查看所有通知"
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="message"
|
||||||
|
count={2}
|
||||||
|
list={list}
|
||||||
|
title="消息"
|
||||||
|
emptyText="您已读完所有消息"
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
<NoticeIcon.Tab
|
||||||
|
tabKey="event"
|
||||||
|
title="待办"
|
||||||
|
emptyText="你已完成所有待办"
|
||||||
|
count={2}
|
||||||
|
list={list}
|
||||||
|
showViewMore
|
||||||
|
/>
|
||||||
|
</NoticeIcon>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
```
|
||||||
|
|
||||||
|
### NoticeIcon API
|
||||||
|
|
||||||
|
| 参数 | 说明 | 类型 | 默认值 |
|
||||||
|
| --- | --- | --- | --- |
|
||||||
|
| count | 有多少未读通知 | `number` | - |
|
||||||
|
| bell | 铃铛的图表 | `ReactNode` | - |
|
||||||
|
| onClear | 点击清空数据按钮 | `(tabName: string, tabKey: string) => void` | - |
|
||||||
|
| onItemClick | 未读消息列被点击 | `(item: API.NoticeIconData, tabProps: NoticeIconTabProps) => void` | - |
|
||||||
|
| onViewMore | 查看更多的按钮点击 | `(tabProps: NoticeIconTabProps, e: MouseEvent) => void` | - |
|
||||||
|
| onTabChange | 通知 Tab 的切换 | `(tabTile: string) => void;` | - |
|
||||||
|
| popupVisible | 通知显示是否展示 | `boolean` | - |
|
||||||
|
| onPopupVisibleChange | 通知信息显示隐藏的回调函数 | `(visible: boolean) => void` | - |
|
||||||
|
| clearText | 清空按钮的文字 | `string` | - |
|
||||||
|
| viewMoreText | 查看更多的按钮文字 | `string` | - |
|
||||||
|
| clearClose | 展示清空按钮 | `boolean` | - |
|
||||||
|
| emptyImage | 列表为空时的兜底展示 | `ReactNode` | - |
|
||||||
|
|
||||||
|
### NoticeIcon.Tab API
|
||||||
|
|
||||||
|
| 参数 | 说明 | 类型 | 默认值 |
|
||||||
|
| ------------ | ------------------ | ------------------------------------ | ------ |
|
||||||
|
| count | 有多少未读通知 | `number` | - |
|
||||||
|
| title | 通知 Tab 的标题 | `ReactNode` | - |
|
||||||
|
| showClear | 展示清除按钮 | `boolean` | `true` |
|
||||||
|
| showViewMore | 展示加载更 | `boolean` | `true` |
|
||||||
|
| tabKey | Tab 的唯一 key | `string` | - |
|
||||||
|
| onClick | 子项的单击事件 | `(item: API.NoticeIconData) => void` | - |
|
||||||
|
| onClear | 清楚按钮的点击 | `()=>void` | - |
|
||||||
|
| emptyText | 为空的时候测试 | `()=>void` | - |
|
||||||
|
| viewMoreText | 查看更多的按钮文字 | `string` | - |
|
||||||
|
| onViewMore | 查看更多的按钮点击 | `( e: MouseEvent) => void` | - |
|
||||||
|
| list | 通知信息的列表 | `API.NoticeIconData` | - |
|
||||||
|
|
||||||
|
### NoticeIconData
|
||||||
|
|
||||||
|
```tsx | pure
|
||||||
|
export interface NoticeIconData {
|
||||||
|
id: string;
|
||||||
|
key: string;
|
||||||
|
avatar: string;
|
||||||
|
title: string;
|
||||||
|
datetime: string;
|
||||||
|
type: string;
|
||||||
|
read?: boolean;
|
||||||
|
description: string;
|
||||||
|
clickClose?: boolean;
|
||||||
|
extra: any;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## RightContent
|
||||||
|
|
||||||
|
RightContent 是以上几个组件的组合,同时新增了 plugins 的 `SelectLang` 插件。
|
||||||
|
|
||||||
|
```tsx | pure
|
||||||
|
<Space>
|
||||||
|
<HeaderSearch
|
||||||
|
placeholder="站内搜索"
|
||||||
|
defaultValue="umi ui"
|
||||||
|
options={[
|
||||||
|
{ label: <a href="https://umijs.org/zh/guide/umi-ui.html">umi ui</a>, value: 'umi ui' },
|
||||||
|
{
|
||||||
|
label: <a href="next.ant.design">Ant Design</a>,
|
||||||
|
value: 'Ant Design',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: <a href="https://protable.ant.design/">Pro Table</a>,
|
||||||
|
value: 'Pro Table',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: <a href="https://prolayout.ant.design/">Pro Layout</a>,
|
||||||
|
value: 'Pro Layout',
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
/>
|
||||||
|
<Tooltip title="使用文档">
|
||||||
|
<span
|
||||||
|
className={styles.action}
|
||||||
|
onClick={() => {
|
||||||
|
window.location.href = 'https://pro.ant.design/docs/getting-started';
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<QuestionCircleOutlined />
|
||||||
|
</span>
|
||||||
|
</Tooltip>
|
||||||
|
<Avatar />
|
||||||
|
{REACT_APP_ENV && (
|
||||||
|
<span>
|
||||||
|
<Tag color={ENVTagColor[REACT_APP_ENV]}>{REACT_APP_ENV}</Tag>
|
||||||
|
</span>
|
||||||
|
)}
|
||||||
|
<SelectLang className={styles.action} />
|
||||||
|
</Space>
|
||||||
|
```
|
61
src/e2e/baseLayout.e2e.js
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
const { uniq } = require('lodash');
|
||||||
|
const RouterConfig = require('../../config/config').default.routes;
|
||||||
|
|
||||||
|
const BASE_URL = `http://localhost:${process.env.PORT || 8001}`;
|
||||||
|
|
||||||
|
function formatter(routes, parentPath = '') {
|
||||||
|
const fixedParentPath = parentPath.replace(/\/{1,}/g, '/');
|
||||||
|
let result = [];
|
||||||
|
routes.forEach((item) => {
|
||||||
|
if (item.path && !item.path.startsWith('/')) {
|
||||||
|
result.push(`${fixedParentPath}/${item.path}`.replace(/\/{1,}/g, '/'));
|
||||||
|
}
|
||||||
|
if (item.path && item.path.startsWith('/')) {
|
||||||
|
result.push(`${item.path}`.replace(/\/{1,}/g, '/'));
|
||||||
|
}
|
||||||
|
if (item.routes) {
|
||||||
|
result = result.concat(
|
||||||
|
formatter(item.routes, item.path ? `${fixedParentPath}/${item.path}` : parentPath),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return uniq(result.filter((item) => !!item));
|
||||||
|
}
|
||||||
|
|
||||||
|
beforeEach(async () => {
|
||||||
|
await page.goto(`${BASE_URL}`);
|
||||||
|
await page.evaluate(() => {
|
||||||
|
localStorage.setItem('antd-pro-authority', '["admin"]');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('Ant Design Pro E2E test', () => {
|
||||||
|
const testPage = (path) => async () => {
|
||||||
|
await page.goto(`${BASE_URL}${path}`);
|
||||||
|
await page.waitForSelector('footer', {
|
||||||
|
timeout: 2000,
|
||||||
|
});
|
||||||
|
const haveFooter = await page.evaluate(
|
||||||
|
() => document.getElementsByTagName('footer').length > 0,
|
||||||
|
);
|
||||||
|
expect(haveFooter).toBeTruthy();
|
||||||
|
};
|
||||||
|
|
||||||
|
const routers = formatter(RouterConfig);
|
||||||
|
routers.forEach((route) => {
|
||||||
|
it(`test pages ${route}`, testPage(route));
|
||||||
|
});
|
||||||
|
|
||||||
|
it('topmenu should have footer', async () => {
|
||||||
|
const params = '?navTheme=light&layout=topmenu';
|
||||||
|
await page.goto(`${BASE_URL}${params}`);
|
||||||
|
await page.waitForSelector('footer', {
|
||||||
|
timeout: 2000,
|
||||||
|
});
|
||||||
|
|
||||||
|
const haveFooter = await page.evaluate(
|
||||||
|
() => document.getElementsByTagName('footer').length > 0,
|
||||||
|
);
|
||||||
|
expect(haveFooter).toBeTruthy();
|
||||||
|
});
|
||||||
|
});
|
84
src/global.less
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
@import '~antd/es/style/themes/default.less';
|
||||||
|
|
||||||
|
html,
|
||||||
|
body,
|
||||||
|
#root {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colorWeak {
|
||||||
|
filter: invert(80%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.ant-layout {
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
.ant-pro-sider.ant-layout-sider.ant-pro-sider-fixed {
|
||||||
|
left: unset;
|
||||||
|
}
|
||||||
|
|
||||||
|
canvas {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
text-rendering: optimizeLegibility;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
ul,
|
||||||
|
ol {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (max-width: @screen-xs) {
|
||||||
|
.ant-table {
|
||||||
|
width: 100%;
|
||||||
|
overflow-x: auto;
|
||||||
|
&-thead > tr,
|
||||||
|
&-tbody > tr {
|
||||||
|
> th,
|
||||||
|
> td {
|
||||||
|
white-space: pre;
|
||||||
|
> span {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Compatible with IE11
|
||||||
|
@media screen and(-ms-high-contrast: active), (-ms-high-contrast: none) {
|
||||||
|
body .ant-design-pro > .ant-layout {
|
||||||
|
min-height: 100vh;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.ant-layout{
|
||||||
|
background: #fff;
|
||||||
|
}
|
||||||
|
.ant-layout-header{
|
||||||
|
//display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#contentContainer{
|
||||||
|
//display: none;
|
||||||
|
}
|
||||||
|
.ant-pro-right-content{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ant-modal-mask{
|
||||||
|
background-color: rgba(255, 0, 0, 0);
|
||||||
|
}
|
||||||
|
.chiner-modal{
|
||||||
|
background-color: rgba(255, 0, 0, 0);
|
||||||
|
}
|
||||||
|
.ant-pro-top-nav-header-logo{
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.ant-pro-top-nav-header-main-left{
|
||||||
|
min-width: 0px;
|
||||||
|
}
|
91
src/global.tsx
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
import { Button, message, notification } from 'antd';
|
||||||
|
import { useIntl } from 'umi';
|
||||||
|
import defaultSettings from '../config/defaultSettings';
|
||||||
|
|
||||||
|
const { pwa } = defaultSettings;
|
||||||
|
const isHttps = document.location.protocol === 'https:';
|
||||||
|
|
||||||
|
const clearCache = () => {
|
||||||
|
// remove all caches
|
||||||
|
if (window.caches) {
|
||||||
|
caches
|
||||||
|
.keys()
|
||||||
|
.then((keys) => {
|
||||||
|
keys.forEach((key) => {
|
||||||
|
caches.delete(key);
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((e) => console.log(e));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// if pwa is true
|
||||||
|
if (pwa) {
|
||||||
|
// Notify user if offline now
|
||||||
|
window.addEventListener('sw.offline', () => {
|
||||||
|
message.warning(useIntl().formatMessage({ id: 'app.pwa.offline' }));
|
||||||
|
});
|
||||||
|
|
||||||
|
// Pop up a prompt on the page asking the user if they want to use the latest version
|
||||||
|
window.addEventListener('sw.updated', (event: Event) => {
|
||||||
|
const e = event as CustomEvent;
|
||||||
|
const reloadSW = async () => {
|
||||||
|
// Check if there is sw whose state is waiting in ServiceWorkerRegistration
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorkerRegistration
|
||||||
|
const worker = e.detail && e.detail.waiting;
|
||||||
|
if (!worker) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// Send skip-waiting event to waiting SW with MessageChannel
|
||||||
|
await new Promise((resolve, reject) => {
|
||||||
|
const channel = new MessageChannel();
|
||||||
|
channel.port1.onmessage = (msgEvent) => {
|
||||||
|
if (msgEvent.data.error) {
|
||||||
|
reject(msgEvent.data.error);
|
||||||
|
} else {
|
||||||
|
resolve(msgEvent.data);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
worker.postMessage({ type: 'skip-waiting' }, [channel.port2]);
|
||||||
|
});
|
||||||
|
|
||||||
|
clearCache();
|
||||||
|
window.location.reload();
|
||||||
|
return true;
|
||||||
|
};
|
||||||
|
const key = `open${Date.now()}`;
|
||||||
|
const btn = (
|
||||||
|
<Button
|
||||||
|
type="primary"
|
||||||
|
onClick={() => {
|
||||||
|
notification.close(key);
|
||||||
|
reloadSW();
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
{useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.ok' })}
|
||||||
|
</Button>
|
||||||
|
);
|
||||||
|
notification.open({
|
||||||
|
message: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated' }),
|
||||||
|
description: useIntl().formatMessage({ id: 'app.pwa.serviceworker.updated.hint' }),
|
||||||
|
btn,
|
||||||
|
key,
|
||||||
|
onClose: async () => null,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
} else if ('serviceWorker' in navigator && isHttps) {
|
||||||
|
// unregister service worker
|
||||||
|
const { serviceWorker } = navigator;
|
||||||
|
if (serviceWorker.getRegistrations) {
|
||||||
|
serviceWorker.getRegistrations().then((sws) => {
|
||||||
|
sws.forEach((sw) => {
|
||||||
|
sw.unregister();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
serviceWorker.getRegistration().then((sw) => {
|
||||||
|
if (sw) sw.unregister();
|
||||||
|
});
|
||||||
|
|
||||||
|
clearCache();
|
||||||
|
}
|
29
src/layouts/TabsLayout.tsx
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import KeepAliveTabs from '@/components/KeepAliveTabs';
|
||||||
|
import defaultSettings from '../../config/defaultSettings';
|
||||||
|
|
||||||
|
const { tabsLayout } = defaultSettings;
|
||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2022/02/22
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
const TabsLayout: React.FC = (props) => {
|
||||||
|
|
||||||
|
const renderTabs = () => {
|
||||||
|
if(tabsLayout)
|
||||||
|
return <KeepAliveTabs />;
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
{renderTabs()}
|
||||||
|
<div>{props.children}</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default TabsLayout;
|
53
src/locales/en-US.ts
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import component from './en-US/component';
|
||||||
|
import globalHeader from './en-US/globalHeader';
|
||||||
|
import menu from './en-US/menu';
|
||||||
|
import pages from './en-US/pages';
|
||||||
|
import pwa from './en-US/pwa';
|
||||||
|
import settingDrawer from './en-US/settingDrawer';
|
||||||
|
import settings from './en-US/settings';
|
||||||
|
import user from './en-US/user';
|
||||||
|
import role from './en-US/role';
|
||||||
|
import dept from './en-US/dept';
|
||||||
|
import post from './en-US/post';
|
||||||
|
import config from './en-US/config';
|
||||||
|
import sysmenu from './en-US/sysmenu';
|
||||||
|
import notice from './en-US/notice';
|
||||||
|
import dict from './en-US/dict';
|
||||||
|
import job from './en-US/job';
|
||||||
|
import jobLog from './en-US/jobLog';
|
||||||
|
import loginInfo from './en-US/loginInfo';
|
||||||
|
import operLog from './en-US/operLog';
|
||||||
|
import server from './en-US/server';
|
||||||
|
import onlineUser from './en-US/onlineUser';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'navBar.lang': 'Languages',
|
||||||
|
'layout.user.link.help': 'Help',
|
||||||
|
'layout.user.link.privacy': 'Privacy',
|
||||||
|
'layout.user.link.terms': 'Terms',
|
||||||
|
'app.copyright.produced': 'Produced by Ant Financial Experience Department',
|
||||||
|
'app.preview.down.block': 'Download this page to your local project',
|
||||||
|
'app.welcome.link.fetch-blocks': 'Get all block',
|
||||||
|
'app.welcome.link.block-list': 'Quickly build standard, pages based on `block` development',
|
||||||
|
...globalHeader,
|
||||||
|
...menu,
|
||||||
|
...settingDrawer,
|
||||||
|
...settings,
|
||||||
|
...pwa,
|
||||||
|
...component,
|
||||||
|
...pages,
|
||||||
|
...user,
|
||||||
|
...post,
|
||||||
|
...dept,
|
||||||
|
...role,
|
||||||
|
...config,
|
||||||
|
...sysmenu,
|
||||||
|
...notice,
|
||||||
|
...dict,
|
||||||
|
...job,
|
||||||
|
...jobLog,
|
||||||
|
...loginInfo,
|
||||||
|
...operLog,
|
||||||
|
...server,
|
||||||
|
...onlineUser,
|
||||||
|
};
|
5
src/locales/en-US/component.ts
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
export default {
|
||||||
|
'component.tagSelect.expand': 'Expand',
|
||||||
|
'component.tagSelect.collapse': 'Collapse',
|
||||||
|
'component.tagSelect.all': 'All',
|
||||||
|
};
|
21
src/locales/en-US/config.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'system.Config.config_id': 'ID',
|
||||||
|
'system.Config.config_name': 'Name',
|
||||||
|
'system.Config.config_key': 'Key',
|
||||||
|
'system.Config.config_value': 'Value',
|
||||||
|
'system.Config.config_type': 'Type',
|
||||||
|
'system.Config.status': 'Status',
|
||||||
|
'system.Config.create_by': 'Creator',
|
||||||
|
'system.Config.create_time': 'Create Time',
|
||||||
|
'system.Config.update_by': 'Updater',
|
||||||
|
'system.Config.update_time': 'Update Time',
|
||||||
|
'system.Config.remark': 'Remark',
|
||||||
|
'system.Config.modify': 'Edit',
|
||||||
|
};
|
26
src/locales/en-US/dept.ts
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'system.Dept.dept_id': 'ID',
|
||||||
|
'system.Dept.parent_dept': 'Parent',
|
||||||
|
'system.Dept.parent_id': 'Parent Id',
|
||||||
|
'system.Dept.ancestors': 'Ancestors',
|
||||||
|
'system.Dept.dept_name': 'Name',
|
||||||
|
'system.Dept.order_num': 'Order',
|
||||||
|
'system.Dept.leader': 'Leader',
|
||||||
|
'system.Dept.phone': 'Phone',
|
||||||
|
'system.Dept.email': 'Email',
|
||||||
|
'system.Dept.status': 'Status',
|
||||||
|
'system.Dept.del_flag': 'Deleted',
|
||||||
|
'system.Dept.create_by': 'Creator',
|
||||||
|
'system.Dept.create_time': 'Create Time',
|
||||||
|
'system.Dept.update_by': 'Updater',
|
||||||
|
'system.Dept.update_time': 'Update Time',
|
||||||
|
'system.Dept.modify': 'Edit',
|
||||||
|
};
|
37
src/locales/en-US/dict.ts
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'system.DictType.dict_id': 'ID',
|
||||||
|
'system.DictType.dict_name': 'Name',
|
||||||
|
'system.DictType.dict_type': 'Type',
|
||||||
|
'system.DictType.status': 'Status',
|
||||||
|
'system.DictType.del_flag': 'Flag',
|
||||||
|
'system.DictType.login_ip': 'IP',
|
||||||
|
'system.DictType.login_date': 'Login Date',
|
||||||
|
'system.DictType.create_by': 'Creator',
|
||||||
|
'system.DictType.create_time': 'Create Time',
|
||||||
|
'system.DictType.update_by': 'Updater',
|
||||||
|
'system.DictType.update_time': 'Update Time',
|
||||||
|
'system.DictType.remark': 'Remark',
|
||||||
|
'system.DictType.modify': 'Edit',
|
||||||
|
'system.DictData.dict_code': 'Code',
|
||||||
|
'system.DictData.dict_sort': 'Sort',
|
||||||
|
'system.DictData.dict_label': 'Label',
|
||||||
|
'system.DictData.dict_value': 'Value',
|
||||||
|
'system.DictData.dict_type': 'Type',
|
||||||
|
'system.DictData.css_class': 'CSS',
|
||||||
|
'system.DictData.list_class': 'List Class',
|
||||||
|
'system.DictData.is_default': 'Default',
|
||||||
|
'system.DictData.status': 'Status',
|
||||||
|
'system.DictData.create_by': 'Creator',
|
||||||
|
'system.DictData.create_time': 'Create Time',
|
||||||
|
'system.DictData.update_by': 'Updater',
|
||||||
|
'system.DictData.update_time': 'Update Time',
|
||||||
|
'system.DictData.remark': 'Remark',
|
||||||
|
'system.DictData.modify': 'Edit',
|
||||||
|
};
|
17
src/locales/en-US/globalHeader.ts
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
export default {
|
||||||
|
'component.globalHeader.search': 'Search',
|
||||||
|
'component.globalHeader.search.example1': 'Search example 1',
|
||||||
|
'component.globalHeader.search.example2': 'Search example 2',
|
||||||
|
'component.globalHeader.search.example3': 'Search example 3',
|
||||||
|
'component.globalHeader.help': 'Help',
|
||||||
|
'component.globalHeader.notification': 'Notification',
|
||||||
|
'component.globalHeader.notification.empty': 'You have viewed all notifications.',
|
||||||
|
'component.globalHeader.message': 'Message',
|
||||||
|
'component.globalHeader.message.empty': 'You have viewed all messsages.',
|
||||||
|
'component.globalHeader.event': 'Event',
|
||||||
|
'component.globalHeader.event.empty': 'You have viewed all events.',
|
||||||
|
'component.noticeIcon.clear': 'Clear',
|
||||||
|
'component.noticeIcon.cleared': 'Cleared',
|
||||||
|
'component.noticeIcon.empty': 'No notifications',
|
||||||
|
'component.noticeIcon.view-more': 'View more',
|
||||||
|
};
|
27
src/locales/en-US/job.ts
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'monitor.Job.job_id': 'ID',
|
||||||
|
'monitor.Job.job_name': 'Name',
|
||||||
|
'monitor.Job.job_group': 'Group',
|
||||||
|
'monitor.Job.invoke_target': 'Invoke',
|
||||||
|
'monitor.Job.cron_expression': 'Cron Exp',
|
||||||
|
'monitor.Job.misfire_policy': 'Policy',
|
||||||
|
'monitor.Job.concurrent': 'Concurrent',
|
||||||
|
'monitor.Job.status': 'Status',
|
||||||
|
'monitor.Job.del_flag': 'Flag',
|
||||||
|
'monitor.Job.login_ip': 'IP',
|
||||||
|
'monitor.Job.login_date': 'Login Date',
|
||||||
|
'monitor.Job.create_by': 'Creator',
|
||||||
|
'monitor.Job.create_time': 'Create Time',
|
||||||
|
'monitor.Job.update_by': 'Updater',
|
||||||
|
'monitor.Job.update_time': 'Update Time',
|
||||||
|
'monitor.Job.remark': 'Remark',
|
||||||
|
'monitor.Job.modify': 'Edit',
|
||||||
|
};
|
19
src/locales/en-US/jobLog.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'monitor.JobLog.title': '定时任务调度日志',
|
||||||
|
'monitor.JobLog.job_log_id': '任务日志ID',
|
||||||
|
'monitor.JobLog.job_name': '任务名称',
|
||||||
|
'monitor.JobLog.job_group': '任务组名',
|
||||||
|
'monitor.JobLog.invoke_target': '调用目标字符串',
|
||||||
|
'monitor.JobLog.job_message': '日志信息',
|
||||||
|
'monitor.JobLog.status': '执行状态',
|
||||||
|
'monitor.JobLog.exception_info': '异常信息',
|
||||||
|
'monitor.JobLog.create_time': '创建时间',
|
||||||
|
};
|
19
src/locales/en-US/loginInfo.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'monitor.Logininfor.info_id': 'ID',
|
||||||
|
'monitor.Logininfor.user_name': 'User',
|
||||||
|
'monitor.Logininfor.ipaddr': 'IP',
|
||||||
|
'monitor.Logininfor.login_location': 'Location',
|
||||||
|
'monitor.Logininfor.browser': 'Browser',
|
||||||
|
'monitor.Logininfor.os': 'OS',
|
||||||
|
'monitor.Logininfor.status': 'Status',
|
||||||
|
'monitor.Logininfor.msg': 'Message',
|
||||||
|
'monitor.Logininfor.login_time': 'Time',
|
||||||
|
};
|
73
src/locales/en-US/menu.ts
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
export default {
|
||||||
|
'menu.welcome': 'Welcome',
|
||||||
|
'menu.more-blocks': 'More Blocks',
|
||||||
|
'menu.home': 'Home',
|
||||||
|
'menu.admin': 'Admin',
|
||||||
|
'menu.admin.sub-page': 'Sub-Page',
|
||||||
|
'menu.login': 'Login',
|
||||||
|
'menu.register': 'Register',
|
||||||
|
'menu.register-result': 'Register Result',
|
||||||
|
'menu.dashboard': 'Dashboard',
|
||||||
|
'menu.dashboard.analysis': 'Analysis',
|
||||||
|
'menu.dashboard.monitor': 'Monitor',
|
||||||
|
'menu.dashboard.workplace': 'Workplace',
|
||||||
|
'menu.exception.403': '403',
|
||||||
|
'menu.exception.404': '404',
|
||||||
|
'menu.exception.500': '500',
|
||||||
|
'menu.form': 'Form',
|
||||||
|
'menu.form.basic-form': 'Basic Form',
|
||||||
|
'menu.form.step-form': 'Step Form',
|
||||||
|
'menu.form.step-form.info': 'Step Form(write transfer information)',
|
||||||
|
'menu.form.step-form.confirm': 'Step Form(confirm transfer information)',
|
||||||
|
'menu.form.step-form.result': 'Step Form(finished)',
|
||||||
|
'menu.form.advanced-form': 'Advanced Form',
|
||||||
|
'menu.list': 'List',
|
||||||
|
'menu.list.table-list': 'Search Table',
|
||||||
|
'menu.list.basic-list': 'Basic List',
|
||||||
|
'menu.list.card-list': 'Card List',
|
||||||
|
'menu.list.search-list': 'Search List',
|
||||||
|
'menu.list.search-list.articles': 'Search List(articles)',
|
||||||
|
'menu.list.search-list.projects': 'Search List(projects)',
|
||||||
|
'menu.list.search-list.applications': 'Search List(applications)',
|
||||||
|
'menu.profile': 'Profile',
|
||||||
|
'menu.profile.basic': 'Basic Profile',
|
||||||
|
'menu.profile.advanced': 'Advanced Profile',
|
||||||
|
'menu.result': 'Result',
|
||||||
|
'menu.result.success': 'Success',
|
||||||
|
'menu.result.fail': 'Fail',
|
||||||
|
'menu.exception': 'Exception',
|
||||||
|
'menu.exception.not-permission': '403',
|
||||||
|
'menu.exception.not-find': '404',
|
||||||
|
'menu.exception.server-error': '500',
|
||||||
|
'menu.exception.trigger': 'Trigger',
|
||||||
|
'menu.account': 'Account',
|
||||||
|
'menu.account.center': 'Account Center',
|
||||||
|
'menu.account.settings': 'Account Settings',
|
||||||
|
'menu.account.trigger': 'Trigger Error',
|
||||||
|
'menu.account.logout': 'Logout',
|
||||||
|
'menu.editor': 'Graphic Editor',
|
||||||
|
'menu.editor.flow': 'Flow Editor',
|
||||||
|
'menu.editor.mind': 'Mind Editor',
|
||||||
|
'menu.editor.koni': 'Koni Editor',
|
||||||
|
'menu.title.user': 'User',
|
||||||
|
'menu.title.role': 'Role',
|
||||||
|
'menu.title.menu': 'Menu',
|
||||||
|
'menu.title.dept': 'Dept',
|
||||||
|
'menu.title.post': 'Post',
|
||||||
|
'menu.title.dict': 'Dictionary',
|
||||||
|
'menu.title.dictData': 'DictData',
|
||||||
|
'menu.title.config': 'Configure',
|
||||||
|
'menu.title.notice': 'Notice',
|
||||||
|
'menu.title.operlog': 'Operation Log',
|
||||||
|
'menu.title.loginInfo': 'Login Log',
|
||||||
|
'menu.title.onlineUser': 'Online User',
|
||||||
|
'menu.title.job': 'Job',
|
||||||
|
'menu.title.joblog': 'Job Log',
|
||||||
|
'menu.title.druid': 'Druid',
|
||||||
|
'menu.title.serverInfo': 'Server',
|
||||||
|
'menu.title.cacheInfo': 'Cache',
|
||||||
|
'menu.title.cacheList': 'CacheList',
|
||||||
|
'menu.title.gen': 'Gen',
|
||||||
|
'menu.title.design': 'Form',
|
||||||
|
'menu.title.swagger': 'Swagger',
|
||||||
|
};
|
16
src/locales/en-US/notice.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
export default {
|
||||||
|
'system.Notice.notice_id': 'ID',
|
||||||
|
'system.Notice.notice_title': 'Tile',
|
||||||
|
'system.Notice.notice_type': 'Type',
|
||||||
|
'system.Notice.notice_content': 'Content',
|
||||||
|
'system.Notice.status': 'Status',
|
||||||
|
'system.Notice.del_flag': 'Flag',
|
||||||
|
'system.Notice.login_ip': 'IP',
|
||||||
|
'system.Notice.login_date': 'Login Date',
|
||||||
|
'system.Notice.create_by': 'Creator',
|
||||||
|
'system.Notice.create_time': 'Create Time',
|
||||||
|
'system.Notice.update_by': 'Updater',
|
||||||
|
'system.Notice.update_time': 'Update Time',
|
||||||
|
'system.Notice.remark': 'Remark',
|
||||||
|
'system.Notice.modify': 'Edit',
|
||||||
|
};
|
19
src/locales/en-US/onlineUser.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
|
||||||
|
/* *
|
||||||
|
*
|
||||||
|
* @author whiteshader@163.com
|
||||||
|
* @datetime 2021/09/16
|
||||||
|
*
|
||||||
|
* */
|
||||||
|
|
||||||
|
export default {
|
||||||
|
'monitor.OnlineUser.id': 'id',
|
||||||
|
'monitor.OnlineUser.user_name': 'User',
|
||||||
|
'monitor.OnlineUser.ipaddr': 'IP',
|
||||||
|
'monitor.OnlineUser.login_location': 'Location',
|
||||||
|
'monitor.OnlineUser.browser': 'Browser',
|
||||||
|
'monitor.OnlineUser.os': 'OS',
|
||||||
|
'monitor.OnlineUser.dept_name': 'Dept',
|
||||||
|
'monitor.OnlineUser.login_time': 'Datetime',
|
||||||
|
'monitor.OnlineUser.force_logout': 'Tick Out',
|
||||||
|
};
|