This commit is contained in:
Jane
2023-12-26 11:21:51 +08:00
commit 284713ed44
830 changed files with 158238 additions and 0 deletions

15
config/config.dev.ts Normal file
View 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
View 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
View 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
View 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
View 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
View 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'
}
]