Browse Source

merge

pull/11096/head
期贤 2 years ago
parent
commit
6fa0d16870
  1. 132
      README.es-ES.md
  2. 10
      README.md
  3. 1
      config/config.ts
  4. 1
      jest.config.ts
  5. 13
      package.json
  6. 262
      pnpm-lock.yaml
  7. 9
      src/app.tsx
  8. 24
      src/components/HeaderDropdown/index.tsx
  9. 39
      src/components/RightContent/AvatarDropdown.tsx
  10. 12
      src/components/index.ts
  11. 2
      src/locales/bn-BD/pages.ts
  12. 2
      src/locales/en-US/pages.ts
  13. 4
      src/locales/en-US/settingDrawer.ts
  14. 2
      src/locales/fa-IR/pages.ts
  15. 2
      src/locales/id-ID/pages.ts
  16. 2
      src/locales/id-ID/settingDrawer.ts
  17. 2
      src/locales/ja-JP/pages.ts
  18. 2
      src/locales/pt-BR/pages.ts
  19. 2
      src/locales/pt-BR/settingDrawer.ts
  20. 2
      src/locales/zh-CN/pages.ts
  21. 2
      src/locales/zh-TW/pages.ts
  22. 6
      src/pages/404.tsx
  23. 1076
      src/pages/user/login/__snapshots__/login.test.tsx.snap
  24. 68
      src/pages/user/login/index.tsx
  25. 15
      src/services/ant-design-pro/api.ts

132
README.es-ES.md

@ -0,0 +1,132 @@
Idioma: 🇺🇸 | [🇨🇳](./README.zh-CN.md) | [🇷🇺](./README.ru-RU.md) | [🇹🇷](./README.tr-TR.md) | [🇯🇵](./README.ja-JP.md) | [🇫🇷](./README.fr-FR.md) | [🇵🇹](./README.pt-BR.md) | [🇸🇦](./README.ar-DZ.md) | [🇪🇸](./README.es-ES.md)
<h1 align="center">Ant Design Pro</h1>
<div align="center">
Una solución de IU listo para usar para aplicaciones empresariales como plantilla de React.
[![Estado de construcción](https://dev.azure.com/ant-design/ant-design-pro/_apis/build/status/ant-design.ant-design-pro?branchName=master)](https://dev.azure.com/ant-design/ant-design-pro/_build/latest?definitionId=1?branchName=master) ![Acción de Github](https://github.com/ant-design/ant-design-pro/workflows/Node%20CI/badge.svg) ![Desplegar](https://github.com/ant-design/ant-design-pro/workflows/Deploy%20CI/badge.svg)
[![Gitter](https://img.shields.io/gitter/room/ant-design/pro-english.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0dHA6Ly93d3cudzMub3JnLzE5OTkveGxluayIgd2lkdGg9IjEyMzUiIGhlaWdodD0iNjUwIiB2aWV3Qm94PSIwIDAgNzQxMCAzOTAwIj4NCjxyZWN0IHdpZHRoPSI3NDEwIiBoZWlnaHQ9IjM5MDAiIGZpbGw9IiNiMjIyMzQiLz4NCjxwYXRoIGQ9Ik0wLDQ1MEg3NDEwbTAsNjAwSDBtMCw2MDBINzQxMG0wLDYwMEgwbTAsNjAwSDc0MTBtMCw2MDBIMCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMwMCIvPg0KPHJlY3Qgd2lkdGg9IjI5NjQiIGhlaWdodD0iMjEwMCIgZmlsbD0iIzNjM2I2ZSIvPg0KPGcgZmlsbD0iI2ZmZiI%2BDQo8ZyBpZD0iczE4Ij4NCjxnIGlkPSJzOSI%2BDQo8ZyBpZD0iczUiPg0KPGcgaWQ9InM0Ij4NCjxwYXRoIGlkPSJzIiBkPSJNMjQ3LDkwIDMxNy41MzQyMzAsMzA3LjA4MjAzOSAxMzIuODczMjE4LDE3Mi45MTc5NjFIMzYxLjEyNjc4MkwxNzYuNDY1NzcwLDMwNy4wODIwMzl6Ii8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB5PSI0MjAiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHk9Ijg0MCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTI2MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTY4MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjczQiIHg9IjI0NyIgeT0iMjEwIi8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzOSIgeD0iNDk0Ii8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzMTgiIHg9Ijk4OCIvPg0KPHVzZSB4bGluazpocmVmPSIjczkiIHg9IjE5NzYiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3M1IiB4PSIyNDcwIi8%2BDQo8L2c%2BDQo8L3N2Zz4%3D)](https://gitter.im/ant-design/pro-english?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Únete al chat en https://gitter.im/ant-design/ant-design-pro](https://img.shields.io/gitter/room/ant-design/ant-design-pro.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0dHA6Ly93d3cudzMub3JnLzE5OTkveGxluayIgd2lkdGg9IjkwMCIgaGVpZ2h0PSI2MDAiIHZpZXdCb3g9IjAgMCAzMCAyMCI%2BDQo8ZGVmcz4NCjxwYXRoIGlkPSJzIiBkPSJNMCwtMSAwLjU4Nzc4NSwwLjgwOTAxNyAtMC45NTEwNTcsLTAuMzA5MDE3SDAuOTUxMDU3TC0wLjU4Nzc4NSwwLjgwOTAxN3oiIGZpbGw9IiNmZmRlMDAiLz4NCjwvZGVmcz4NCjxyZWN0IHdpZHRoPSIzMCIgaGVpZ2h0PSIyMCIgZmlsbD0iI2RlMjkxMCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSw1KSBzY2FsZSgzKSIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAsMikgcm90YXRlKDIzLjAzNjI0MykiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLDQpIHJvdGF0ZSg0NS44Njk4OTgpIi8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB5PSI0MjAiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEwLDkpIHJvdGF0ZSgyMC42NTk4MDgpIi8%2BDQo8L3N2Zz4%3D)](https://gitter.im/ant-design/ant-design-pro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Construido con Umi](https://img.shields.io/badge/build%20with-umi-028fe4.svg?style=flat-square)](http://umijs.org/) ![](https://badgen.net/badge/icon/Ant%20Design?icon=https://gw.alipayobjects.com/zos/antfincdn/Pp4WPgVDB3/KDpgvguMpGfqaHPjicRK.svg&label)
![](https://user-images.githubusercontent.com/8186664/44953195-581e3d80-aec4-11e8-8dcb-54b9db38ec11.png)
</div>
- Vista previa: http://preview.pro.ant.design
- Página de inicio: http://pro.ant.design
- Documentación: http://pro.ant.design/docs/getting-started
- Registro de cambios: http://pro.ant.design/docs/changelog
- Preguntas frecuentes: http://pro.ant.design/docs/faq
- Sitio espejo en China: http://ant-design-pro.gitee.io
## ¡La versión 5.0 ya está disponible! 🎉🎉🎉
[Ant Design Pro 5.0.0](https://github.com/ant-design/ant-design-pro/issues/8656)
## Reclutamiento de traductores :loudspeaker:
Necesitamos tu ayuda: https://github.com/ant-design/ant-design-pro/issues/120
## Características
- :bulb: **TypeScript**: Un lenguaje para aplicaciones JavaScript a gran escala.
- :scroll: **Bloques**: Construye páginas con plantillas de bloque.
- :gem: **Diseño elegante**: Sigue la [especificación de Ant Design](http://ant.design/).
- :triangular_ruler: **Plantillas comunes**: Plantillas típicas para aplicaciones empresariales.
- :rocket: **Desarrollo de vanguardia**: La pila de desarrollo más reciente de React/umi/dva/antd.
- :iphone: **Adaptable**: Diseñado para tamaños de pantalla variables.
- :art: **Tematización**: Tema personalizable con configuración sencilla.
- :globe_with_meridians: **Internacional**: Solución de i18n incorporada.
- :gear: **Mejores prácticas**: Flujo de trabajo sólido para mantener tu código saludable.
- :1234: **Desarrollo simulado**: Solución de desarrollo simulado fácil de usar.
- :white_check_mark: **Pruebas de interfaz de usuario**: Vuela con seguridad con pruebas de unidad y extremo a extremo.
## Plantillas
- **Tablero de control**
- Análisis
- Monitor
- Espacio de trabajo
- **Formulario**
- Formulario básico
- Formulario paso a paso
- Formulario avanzado
- **Lista**
- Tabla estándar
- Lista estándar
- Lista de tarjetas
- Lista de búsqueda (Proyecto/Aplicaciones/Artículo)
- **Perfil**
- Perfil simple
- Perfil avanzado
- **Cuenta**
- Centro de cuentas
- Configuración de cuentas
- **Resultado**
- Éxito
- Fallido
- **Excepción**
- 403
- 404
- 500
- **Usuario**
- Iniciar sesión
- Registrarse
- Resultado del registro
## Uso
### Uso de bash
Proporcionamos `pro-cli` para inicializar rápidamente la estructura del proyecto.
```bash
# Utiliza npm
npm i @ant-design/pro-cli -g
pro create myapp
```
Selecciona la versión de umi
```
🐂 ¿Usar umi@4 o umi@3 ? (Usa las teclas de flecha)
❯ umi@4
umi@3
```
> Si seleccionas la versión umi@4, los bloques completos aún no son compatibles.
Si eliges umi@3, también puedes elegir la plantilla "pro". "Pro" es la plantilla básica, que solo proporciona el contenido básico de la operación del marco. "Complete" contiene todos los bloques, lo cual no es adecuado para el desarrollo secundario como una plantilla básica.
```shell
? 🚀 ¿Completo o una estructura simple? (Usa las teclas de flecha)
❯ simple
complete
```
Instala las dependencias:
```shell
$ cd myapp && tyarn
// o
$ cd myapp && npm install
```
## Compatibilidad con Navegadores
Navegadores modernos.
| [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/edge/edge_48x48.png" alt="Edge" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Edge | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/firefox/firefox_48x48.png" alt="Firefox" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Firefox | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/chrome/chrome_48x48.png" alt="Chrome" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Chrome | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/safari/safari_48x48.png" alt="Safari" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Safari | [<img src="https://raw.githubusercontent.com/alrra/browser-logos/master/src/opera/opera_48x48.png" alt="Opera" width="24px" height="24px" />](http://godban.github.io/browsers-support-badges/)</br>Opera |
| --- | --- | --- | --- | --- |
| Edge | Últimas 2 versiones | Últimas 2 versiones | Últimas 2 versiones | Últimas 2 versiones |
## Contribuciones
Cualquier tipo de contribución es bienvenida, aquí tienes algunos ejemplos de cómo puedes contribuir a este proyecto:
- Utiliza Ant Design Pro en tu trabajo diario.
- Envía [issues](http://github.com/ant-design/ant-design-pro/issues) para reportar errores o hacer preguntas.
- Propón [pull requests](http://github.com/ant-design/ant-design-pro/pulls) para mejorar nuestro código.

10
README.md

@ -1,4 +1,4 @@
Language : 🇺🇸 | [🇨🇳](./README.zh-CN.md) | [🇷🇺](./README.ru-RU.md) | [🇹🇷](./README.tr-TR.md) | [🇯🇵](./README.ja-JP.md) | [🇫🇷](./README.fr-FR.md) | [🇵🇹](./README.pt-BR.md) | [🇸🇦](./README.ar-DZ.md) Language : 🇺🇸 | [🇨🇳](./README.zh-CN.md) | [🇷🇺](./README.ru-RU.md) | [🇹🇷](./README.tr-TR.md) | [🇯🇵](./README.ja-JP.md) | [🇫🇷](./README.fr-FR.md) | [🇵🇹](./README.pt-BR.md) | [🇸🇦](./README.ar-DZ.md) | [🇪🇸](./README.es-ES.md)
<h1 align="center">Ant Design Pro</h1> <h1 align="center">Ant Design Pro</h1>
@ -6,7 +6,7 @@ Language : 🇺🇸 | [🇨🇳](./README.zh-CN.md) | [🇷🇺](./README.ru-RU.
An out-of-box UI solution for enterprise applications as a React boilerplate. An out-of-box UI solution for enterprise applications as a React boilerplate.
[![Build Status](https://dev.azure.com/ant-design/ant-design-pro/_apis/build/status/ant-design.ant-design-pro?branchName=master)](https://dev.azure.com/ant-design/ant-design-pro/_build/latest?definitionId=1?branchName=master) ![Github Action](https://github.com/ant-design/ant-design-pro/workflows/Node%20CI/badge.svg) ![Deploy](https://github.com/ant-design/ant-design-pro/workflows/Deploy%20CI/badge.svg) [![Build Status](https://dev.azure.com/ant-design/ant-design-pro/_apis/build/status/ant-design.ant-design-pro?branchName=master)](https://dev.azure.com/ant-design/ant-design-pro/_build/latest?definitionId=1?branchName=master) ![Github Action](https://github.com/ant-design/ant-design-pro/workflows/Node%20CI/badge.svg) [![Preview Deploy](https://github.com/ant-design/ant-design-pro/actions/workflows/preview-deploy.yml/badge.svg)](https://github.com/ant-design/ant-design-pro/actions/workflows/preview-deploy.yml)
[![Gitter](https://img.shields.io/gitter/room/ant-design/pro-english.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjEyMzUiIGhlaWdodD0iNjUwIiB2aWV3Qm94PSIwIDAgNzQxMCAzOTAwIj4NCjxyZWN0IHdpZHRoPSI3NDEwIiBoZWlnaHQ9IjM5MDAiIGZpbGw9IiNiMjIyMzQiLz4NCjxwYXRoIGQ9Ik0wLDQ1MEg3NDEwbTAsNjAwSDBtMCw2MDBINzQxMG0wLDYwMEgwbTAsNjAwSDc0MTBtMCw2MDBIMCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMwMCIvPg0KPHJlY3Qgd2lkdGg9IjI5NjQiIGhlaWdodD0iMjEwMCIgZmlsbD0iIzNjM2I2ZSIvPg0KPGcgZmlsbD0iI2ZmZiI%2BDQo8ZyBpZD0iczE4Ij4NCjxnIGlkPSJzOSI%2BDQo8ZyBpZD0iczUiPg0KPGcgaWQ9InM0Ij4NCjxwYXRoIGlkPSJzIiBkPSJNMjQ3LDkwIDMxNy41MzQyMzAsMzA3LjA4MjAzOSAxMzIuODczMjE4LDE3Mi45MTc5NjFIMzYxLjEyNjc4MkwxNzYuNDY1NzcwLDMwNy4wODIwMzl6Ii8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB5PSI0MjAiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHk9Ijg0MCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTI2MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTY4MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjczQiIHg9IjI0NyIgeT0iMjEwIi8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzOSIgeD0iNDk0Ii8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzMTgiIHg9Ijk4OCIvPg0KPHVzZSB4bGluazpocmVmPSIjczkiIHg9IjE5NzYiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3M1IiB4PSIyNDcwIi8%2BDQo8L2c%2BDQo8L3N2Zz4%3D)](https://gitter.im/ant-design/pro-english?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Join the chat at https://gitter.im/ant-design/ant-design-pro](https://img.shields.io/gitter/room/ant-design/ant-design-pro.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjkwMCIgaGVpZ2h0PSI2MDAiIHZpZXdCb3g9IjAgMCAzMCAyMCI%2BDQo8ZGVmcz4NCjxwYXRoIGlkPSJzIiBkPSJNMCwtMSAwLjU4Nzc4NSwwLjgwOTAxNyAtMC45NTEwNTcsLTAuMzA5MDE3SDAuOTUxMDU3TC0wLjU4Nzc4NSwwLjgwOTAxN3oiIGZpbGw9IiNmZmRlMDAiLz4NCjwvZGVmcz4NCjxyZWN0IHdpZHRoPSIzMCIgaGVpZ2h0PSIyMCIgZmlsbD0iI2RlMjkxMCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSw1KSBzY2FsZSgzKSIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAsMikgcm90YXRlKDIzLjAzNjI0MykiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLDQpIHJvdGF0ZSg0NS44Njk4OTgpIi8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMiw3KSByb3RhdGUoNjkuOTQ1Mzk2KSIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAsOSkgcm90YXRlKDIwLjY1OTgwOCkiLz4NCjwvc3ZnPg%3D%3D)](https://gitter.im/ant-design/ant-design-pro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Build With Umi](https://img.shields.io/badge/build%20with-umi-028fe4.svg?style=flat-square)](http://umijs.org/) ![](https://badgen.net/badge/icon/Ant%20Design?icon=https://gw.alipayobjects.com/zos/antfincdn/Pp4WPgVDB3/KDpgvguMpGfqaHPjicRK.svg&label) [![Gitter](https://img.shields.io/gitter/room/ant-design/pro-english.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjEyMzUiIGhlaWdodD0iNjUwIiB2aWV3Qm94PSIwIDAgNzQxMCAzOTAwIj4NCjxyZWN0IHdpZHRoPSI3NDEwIiBoZWlnaHQ9IjM5MDAiIGZpbGw9IiNiMjIyMzQiLz4NCjxwYXRoIGQ9Ik0wLDQ1MEg3NDEwbTAsNjAwSDBtMCw2MDBINzQxMG0wLDYwMEgwbTAsNjAwSDc0MTBtMCw2MDBIMCIgc3Ryb2tlPSIjZmZmIiBzdHJva2Utd2lkdGg9IjMwMCIvPg0KPHJlY3Qgd2lkdGg9IjI5NjQiIGhlaWdodD0iMjEwMCIgZmlsbD0iIzNjM2I2ZSIvPg0KPGcgZmlsbD0iI2ZmZiI%2BDQo8ZyBpZD0iczE4Ij4NCjxnIGlkPSJzOSI%2BDQo8ZyBpZD0iczUiPg0KPGcgaWQ9InM0Ij4NCjxwYXRoIGlkPSJzIiBkPSJNMjQ3LDkwIDMxNy41MzQyMzAsMzA3LjA4MjAzOSAxMzIuODczMjE4LDE3Mi45MTc5NjFIMzYxLjEyNjc4MkwxNzYuNDY1NzcwLDMwNy4wODIwMzl6Ii8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB5PSI0MjAiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHk9Ijg0MCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTI2MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjcyIgeT0iMTY4MCIvPg0KPC9nPg0KPHVzZSB4bGluazpocmVmPSIjczQiIHg9IjI0NyIgeT0iMjEwIi8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzOSIgeD0iNDk0Ii8%2BDQo8L2c%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzMTgiIHg9Ijk4OCIvPg0KPHVzZSB4bGluazpocmVmPSIjczkiIHg9IjE5NzYiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3M1IiB4PSIyNDcwIi8%2BDQo8L2c%2BDQo8L3N2Zz4%3D)](https://gitter.im/ant-design/pro-english?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Join the chat at https://gitter.im/ant-design/ant-design-pro](https://img.shields.io/gitter/room/ant-design/ant-design-pro.svg?style=flat-square&logoWidth=20&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjkwMCIgaGVpZ2h0PSI2MDAiIHZpZXdCb3g9IjAgMCAzMCAyMCI%2BDQo8ZGVmcz4NCjxwYXRoIGlkPSJzIiBkPSJNMCwtMSAwLjU4Nzc4NSwwLjgwOTAxNyAtMC45NTEwNTcsLTAuMzA5MDE3SDAuOTUxMDU3TC0wLjU4Nzc4NSwwLjgwOTAxN3oiIGZpbGw9IiNmZmRlMDAiLz4NCjwvZGVmcz4NCjxyZWN0IHdpZHRoPSIzMCIgaGVpZ2h0PSIyMCIgZmlsbD0iI2RlMjkxMCIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNSw1KSBzY2FsZSgzKSIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAsMikgcm90YXRlKDIzLjAzNjI0MykiLz4NCjx1c2UgeGxpbms6aHJlZj0iI3MiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyLDQpIHJvdGF0ZSg0NS44Njk4OTgpIi8%2BDQo8dXNlIHhsaW5rOmhyZWY9IiNzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMiw3KSByb3RhdGUoNjkuOTQ1Mzk2KSIvPg0KPHVzZSB4bGluazpocmVmPSIjcyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAsOSkgcm90YXRlKDIwLjY1OTgwOCkiLz4NCjwvc3ZnPg%3D%3D)](https://gitter.im/ant-design/ant-design-pro?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) [![Build With Umi](https://img.shields.io/badge/build%20with-umi-028fe4.svg?style=flat-square)](http://umijs.org/) ![](https://badgen.net/badge/icon/Ant%20Design?icon=https://gw.alipayobjects.com/zos/antfincdn/Pp4WPgVDB3/KDpgvguMpGfqaHPjicRK.svg&label)
@ -108,6 +108,12 @@ If you choose umi@3, you can also choose the pro template. Pro is the basic temp
complete complete
``` ```
Initialized Git repository:
```shell
$ git init myapp
```
Install dependencies: Install dependencies:
```shell ```shell

1
config/config.ts

@ -155,5 +155,6 @@ export default defineConfig({
mfsu: { mfsu: {
strategy: 'normal', strategy: 'normal',
}, },
esbuildMinifyIIFE: true,
requestRecord: {}, requestRecord: {},
}); });

1
jest.config.ts

@ -6,6 +6,7 @@ export default async () => {
target: 'browser', target: 'browser',
}), }),
}); });
console.log(JSON.stringify(config));
return { return {
...config, ...config,

13
package.json

@ -40,18 +40,16 @@
"dependencies": { "dependencies": {
"@ant-design/icons": "^4.8.1", "@ant-design/icons": "^4.8.1",
"@ant-design/plots": "^2.0.0-beta.1", "@ant-design/plots": "^2.0.0-beta.1",
"@ant-design/pro-components": "^2.6.28",
"@ant-design/use-emotion-css": "1.0.4", "@ant-design/use-emotion-css": "1.0.4",
"@antv/data-set": "^0.11.8", "@antv/data-set": "^0.11.8",
"@antv/l7": "^2.18.3", "@antv/l7": "^2.18.3",
"@antv/l7-maps": "^2.18.3", "@antv/l7-maps": "^2.18.3",
"@antv/l7-react": "^2.4.3", "@antv/l7-react": "^2.4.3",
"@umijs/route-utils": "^2.2.2",
"ahooks": "^2.10.14", "ahooks": "^2.10.14",
"antd": "^5.9.4", "antd": "^5.9.4",
"antd-style": "^2.0.2", "@ant-design/pro-components": "^2.6.28",
"bizcharts": "^3.5.10", "@umijs/route-utils": "^2.2.2",
"bizcharts-plugin-slider": "^2.1.1", "antd-style": "^3.5.2",
"classnames": "^2.3.2", "classnames": "^2.3.2",
"dayjs": "^1.11.10", "dayjs": "^1.11.10",
"gg-editor": "^2.0.4", "gg-editor": "^2.0.4",
@ -60,6 +58,7 @@
"numeral": "^2.0.6", "numeral": "^2.0.6",
"nzh": "^1.0.11", "nzh": "^1.0.11",
"omit.js": "^2.0.2", "omit.js": "^2.0.2",
"querystring": "^0.2.1",
"rc-menu": "^9.12.0", "rc-menu": "^9.12.0",
"rc-util": "^5.37.0", "rc-util": "^5.37.0",
"react": "^18.2.0", "react": "^18.2.0",
@ -79,8 +78,8 @@
"@types/history": "^4.7.11", "@types/history": "^4.7.11",
"@types/jest": "^29.5.5", "@types/jest": "^29.5.5",
"@types/lodash": "^4.14.199", "@types/lodash": "^4.14.199",
"@types/react": "^18.2.23", "@types/react": "^18.2.25",
"@types/react-dom": "^18.2.8", "@types/react-dom": "^18.2.10",
"@types/react-helmet": "^6.1.7", "@types/react-helmet": "^6.1.7",
"@umijs/fabric": "^2.14.1", "@umijs/fabric": "^2.14.1",
"@umijs/lint": "^4.0.83", "@umijs/lint": "^4.0.83",

262
pnpm-lock.yaml

@ -29,9 +29,6 @@ dependencies:
'@antv/l7-react': '@antv/l7-react':
specifier: ^2.4.3 specifier: ^2.4.3
version: 2.4.3(@antv/l7@2.20.5)(mapbox-gl@1.13.3)(react-dom@18.2.0)(react@18.2.0) version: 2.4.3(@antv/l7@2.20.5)(mapbox-gl@1.13.3)(react-dom@18.2.0)(react@18.2.0)
'@types/lodash.debounce':
specifier: ^4.0.7
version: 4.0.9
'@umijs/route-utils': '@umijs/route-utils':
specifier: ^2.2.2 specifier: ^2.2.2
version: 2.2.2 version: 2.2.2
@ -42,14 +39,8 @@ dependencies:
specifier: ^5.9.4 specifier: ^5.9.4
version: 5.12.1(react-dom@18.2.0)(react@18.2.0) version: 5.12.1(react-dom@18.2.0)(react@18.2.0)
antd-style: antd-style:
specifier: ^2.0.2 specifier: ^3.5.2
version: 2.0.2(@types/react@18.2.42)(antd@5.12.1)(react@18.2.0) version: 3.5.2(@types/react@18.2.42)(antd@5.12.1)(react-dom@18.2.0)(react@18.2.0)
bizcharts:
specifier: ^3.5.10
version: 3.5.10(react@18.2.0)
bizcharts-plugin-slider:
specifier: ^2.1.1
version: 2.1.1(@antv/g2@5.1.11)(bizcharts@3.5.10)(react-dom@18.2.0)(react@18.2.0)
classnames: classnames:
specifier: ^2.3.2 specifier: ^2.3.2
version: 2.3.2 version: 2.3.2
@ -74,6 +65,9 @@ dependencies:
omit.js: omit.js:
specifier: ^2.0.2 specifier: ^2.0.2
version: 2.0.2 version: 2.0.2
querystring:
specifier: ^0.2.1
version: 0.2.1
rc-menu: rc-menu:
specifier: ^9.12.0 specifier: ^9.12.0
version: 9.12.4(react-dom@18.2.0)(react@18.2.0) version: 9.12.4(react-dom@18.2.0)(react@18.2.0)
@ -124,11 +118,14 @@ devDependencies:
'@types/lodash': '@types/lodash':
specifier: ^4.14.199 specifier: ^4.14.199
version: 4.14.202 version: 4.14.202
'@types/lodash.debounce':
specifier: ^4.0.7
version: 4.0.9
'@types/react': '@types/react':
specifier: ^18.2.23 specifier: ^18.2.25
version: 18.2.42 version: 18.2.42
'@types/react-dom': '@types/react-dom':
specifier: ^18.2.8 specifier: ^18.2.10
version: 18.2.17 version: 18.2.17
'@types/react-helmet': '@types/react-helmet':
specifier: ^6.1.7 specifier: ^6.1.7
@ -950,12 +947,6 @@ packages:
resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==}
dev: true dev: true
/@antv/adjust@0.1.1:
resolution: {integrity: sha512-9FaMOyBlM4AgoRL0b5o0VhEKAYkexBNUrxV8XmpHU/9NBPJONBOB/NZUlQDqxtLItrt91tCfbAuMQmF529UX2Q==}
dependencies:
'@antv/util': 1.3.1
dev: false
/@antv/async-hook@2.2.9: /@antv/async-hook@2.2.9:
resolution: {integrity: sha512-4BUp2ZUaTi2fYL67Ltkf6eV912rYJeSBokGhd5fhhnpUkMA1LEI1mg97Pqmx3yC50VEQ+LKXZxj9ePZs80ECfw==} resolution: {integrity: sha512-4BUp2ZUaTi2fYL67Ltkf6eV912rYJeSBokGhd5fhhnpUkMA1LEI1mg97Pqmx3yC50VEQ+LKXZxj9ePZs80ECfw==}
dependencies: dependencies:
@ -968,12 +959,6 @@ packages:
'@antv/util': 1.2.5 '@antv/util': 1.2.5
dev: false dev: false
/@antv/attr@0.1.2:
resolution: {integrity: sha512-QXjP+T2I+pJQcwZx1oCA4tipG43vgeCeKcGGKahlcxb71OBAzjJZm1QbF4frKXcnOqRkxVXtCr70X9TRair3Ew==}
dependencies:
'@antv/util': 1.3.1
dev: false
/@antv/component@0.0.9: /@antv/component@0.0.9:
resolution: {integrity: sha512-AcI6oG0Ot9svKieA3AowQuGmwsIjQpC2XJv71FRua/3b0IaWnF3K93vyJnmsWej+CQnXPE68JZaIjdgtAcgTwg==} resolution: {integrity: sha512-AcI6oG0Ot9svKieA3AowQuGmwsIjQpC2XJv71FRua/3b0IaWnF3K93vyJnmsWej+CQnXPE68JZaIjdgtAcgTwg==}
dependencies: dependencies:
@ -983,15 +968,6 @@ packages:
wolfy87-eventemitter: 5.1.0 wolfy87-eventemitter: 5.1.0
dev: false dev: false
/@antv/component@0.3.10:
resolution: {integrity: sha512-8HLkgdhc0jXrnNrkaACPrWx2JB/51VGscL9t0pH2xoLdxiDQVtTUad2geWxbac5k/ZZHG+bDPWWb83CZIR9A9w==}
dependencies:
'@antv/attr': 0.1.2
'@antv/g': 3.3.6
'@antv/util': 1.3.1
wolfy87-eventemitter: 5.1.0
dev: false
/@antv/component@1.0.0: /@antv/component@1.0.0:
resolution: {integrity: sha512-LSM6NZJqfnev/TYUvYsmQNHUUjw5gtrXFS4TjavstYSBIbQoCWa0BtE6lR9QblA1MBC+B5CTNc8MqiZRRzKogA==} resolution: {integrity: sha512-LSM6NZJqfnev/TYUvYsmQNHUUjw5gtrXFS4TjavstYSBIbQoCWa0BtE6lR9QblA1MBC+B5CTNc8MqiZRRzKogA==}
dependencies: dependencies:
@ -1001,12 +977,6 @@ packages:
svg-path-parser: 1.1.0 svg-path-parser: 1.1.0
dev: false dev: false
/@antv/coord@0.1.0:
resolution: {integrity: sha512-W1R8h3Jfb3AfMBVfCreFPMVetgEYuwHBIGn0+d3EgYXe2ckOF8XWjkpGF1fZhOMHREMr+Gt27NGiQh8yBdLUgg==}
dependencies:
'@antv/util': 1.3.1
dev: false
/@antv/coord@0.4.7: /@antv/coord@0.4.7:
resolution: {integrity: sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==} resolution: {integrity: sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==}
dependencies: dependencies:
@ -1183,29 +1153,6 @@ packages:
d3-hierarchy: 3.1.2 d3-hierarchy: 3.1.2
dev: false dev: false
/@antv/g2-plugin-slider@2.1.0(@antv/g2@5.1.11):
resolution: {integrity: sha512-VbCUK+WRFB1fW7dx3d/AixgLuXFuhfA7n9Ex08KQBM9QIgpWJICsBUdFMHdfRgwzXHw+eCkCNB2gTVPoyesquA==}
peerDependencies:
'@antv/g2': '>=3.2.8'
dependencies:
'@antv/g2': 5.1.11
dev: false
/@antv/g2@3.5.19:
resolution: {integrity: sha512-OWWDJof1ghfsxDYO20TxVF9TUhDsyOE/yzbSdSu+N9Ft1zQxKJQlgG43/FO+rOsdC/k1dXoYOBRPQ7kk5EBaJA==}
dependencies:
'@antv/adjust': 0.1.1
'@antv/attr': 0.1.2
'@antv/component': 0.3.10
'@antv/coord': 0.1.0
'@antv/g': 3.4.10
'@antv/scale': 0.1.5
'@antv/util': 1.3.1
core-js: 2.6.12
venn.js: 0.2.20
wolfy87-eventemitter: 5.1.0
dev: false
/@antv/g2@5.1.11: /@antv/g2@5.1.11:
resolution: {integrity: sha512-zxWWgFxkmflNAHdbwQ03emMKIz0+UBbhXV2gCpDfntKkkC2AEd+Mb9L3VEZst4kcG1QalvDxAWyz3ePrpB11XA==} resolution: {integrity: sha512-zxWWgFxkmflNAHdbwQ03emMKIz0+UBbhXV2gCpDfntKkkC2AEd+Mb9L3VEZst4kcG1QalvDxAWyz3ePrpB11XA==}
dependencies: dependencies:
@ -1262,17 +1209,6 @@ packages:
wolfy87-eventemitter: 5.1.0 wolfy87-eventemitter: 5.1.0
dev: false dev: false
/@antv/g@3.3.6:
resolution: {integrity: sha512-2GtyTz++s0BbN6s0ZL2/nrqGYCkd52pVoNH92YkrTdTOvpO6Z4DNoo6jGVgZdPX6Nzwli6yduC8MinVAhE8X6g==}
dependencies:
'@antv/gl-matrix': 2.7.1
'@antv/util': 1.3.1
d3-ease: 1.0.7
d3-interpolate: 1.1.6
d3-timer: 1.0.10
wolfy87-eventemitter: 5.1.0
dev: false
/@antv/g@3.4.10: /@antv/g@3.4.10:
resolution: {integrity: sha512-pKy/L1SyRBsXuujdkggqrdBA0/ciAgHiArYBdIJsxHRxCneUP01wGwHdGfDayh2+S0gcSBHynjhoEahsaZaLkw==} resolution: {integrity: sha512-pKy/L1SyRBsXuujdkggqrdBA0/ciAgHiArYBdIJsxHRxCneUP01wGwHdGfDayh2+S0gcSBHynjhoEahsaZaLkw==}
dependencies: dependencies:
@ -1516,13 +1452,6 @@ packages:
fecha: 2.3.3 fecha: 2.3.3
dev: false dev: false
/@antv/scale@0.1.5:
resolution: {integrity: sha512-7RAu4iH5+Hk21h6+aBMiDTfmLf4IibK2SWjx/+E4f4AXRpqucO+8u7IbZdFkakAWxvqhJtN3oePJuTKqOMcmlg==}
dependencies:
'@antv/util': 1.3.1
fecha: 2.3.3
dev: false
/@antv/scale@0.4.13: /@antv/scale@0.4.13:
resolution: {integrity: sha512-aWOXZdvkHQjEOMWmDBJF6nja30Y38nC5WTtx3fzX4INqfqYLX9u/fcZfElsjFzryewh2qveO+7L0rq8ugutDTw==} resolution: {integrity: sha512-aWOXZdvkHQjEOMWmDBJF6nja30Y38nC5WTtx3fzX4INqfqYLX9u/fcZfElsjFzryewh2qveO+7L0rq8ugutDTw==}
dependencies: dependencies:
@ -3304,6 +3233,7 @@ packages:
resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==}
dependencies: dependencies:
'@emotion/memoize': 0.8.1 '@emotion/memoize': 0.8.1
dev: true
/@emotion/memoize@0.8.1: /@emotion/memoize@0.8.1:
resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
@ -3339,29 +3269,23 @@ packages:
csstype: 3.1.3 csstype: 3.1.3
dev: false dev: false
/@emotion/sheet@1.2.2: /@emotion/server@11.11.0(@emotion/css@11.11.2):
resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} resolution: {integrity: sha512-6q89fj2z8VBTx9w93kJ5n51hsmtYuFPtZgnc1L8VzRx9ti4EU6EyvF6Nn1H1x3vcCQCF7u2dB2lY4AYJwUW4PA==}
dev: false
/@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@18.2.42)(react@18.2.0):
resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==}
peerDependencies: peerDependencies:
'@emotion/react': ^11.0.0-rc.0 '@emotion/css': ^11.0.0-rc.0
'@types/react': '*'
react: '>=16.8.0'
peerDependenciesMeta: peerDependenciesMeta:
'@types/react': '@emotion/css':
optional: true optional: true
dependencies: dependencies:
'@babel/runtime': 7.23.5 '@emotion/css': 11.11.2
'@emotion/babel-plugin': 11.11.0
'@emotion/is-prop-valid': 1.2.1
'@emotion/react': 11.11.1(@types/react@18.2.42)(react@18.2.0)
'@emotion/serialize': 1.1.2
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1 '@emotion/utils': 1.2.1
'@types/react': 18.2.42 html-tokenize: 2.0.1
react: 18.2.0 multipipe: 1.0.2
through: 2.3.8
dev: false
/@emotion/sheet@1.2.2:
resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
dev: false dev: false
/@emotion/unitless@0.7.5: /@emotion/unitless@0.7.5:
@ -5100,7 +5024,7 @@ packages:
resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==} resolution: {integrity: sha512-Ma5JcgTREwpLRwMM+XwBR7DaWe96nC38uCBDFKZWbNKD+osjVzdpnUSwBcqCptrp16sSOLBAUb50Car5I0TCsQ==}
dependencies: dependencies:
'@types/lodash': 4.14.202 '@types/lodash': 4.14.202
dev: false dev: true
/@types/lodash@4.14.202: /@types/lodash@4.14.202:
resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==}
@ -6859,22 +6783,26 @@ packages:
resolution: {integrity: sha512-iquIc7EsQTndk5nMv9pQQv+/OY5YnjVIPhtCFo7W7JL+Gjqzq/YJ/HO2WxUxyCgYha2NsTTNAb2vPa/M4zAi2g==} resolution: {integrity: sha512-iquIc7EsQTndk5nMv9pQQv+/OY5YnjVIPhtCFo7W7JL+Gjqzq/YJ/HO2WxUxyCgYha2NsTTNAb2vPa/M4zAi2g==}
dev: true dev: true
/antd-style@2.0.2(@types/react@18.2.42)(antd@5.12.1)(react@18.2.0): /antd-style@3.5.2(@types/react@18.2.42)(antd@5.12.1)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-Z64y1NrMLi2diDe9AH0vumNOGDnu3eiOAwDLeh0wJbIeCRkyyF/QKDPBfQfN+R1iSTu2QSS2VLDtMonw9MVR4A==} resolution: {integrity: sha512-DnISjaD4M37wbKvMVkkx4XetCOvTnmTrmSgETQADzQPRn9PNb0FuLE6djS9SFJgjR9XqNIytn0ano0UBgwgpvA==}
peerDependencies: peerDependencies:
antd: ^5 antd: '>=5.8.1'
react: '>=16.8' react: '>=18'
dependencies: dependencies:
'@ant-design/cssinjs': 1.18.1(react-dom@18.2.0)(react@18.2.0)
'@babel/runtime': 7.23.5 '@babel/runtime': 7.23.5
'@emotion/cache': 11.11.0
'@emotion/css': 11.11.2 '@emotion/css': 11.11.2
'@emotion/react': 11.11.1(@types/react@18.2.42)(react@18.2.0) '@emotion/react': 11.11.1(@types/react@18.2.42)(react@18.2.0)
'@emotion/serialize': 1.1.2 '@emotion/serialize': 1.1.2
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.2.42)(react@18.2.0) '@emotion/server': 11.11.0(@emotion/css@11.11.2)
'@emotion/utils': 1.2.1
antd: 5.12.1(react-dom@18.2.0)(react@18.2.0) antd: 5.12.1(react-dom@18.2.0)(react@18.2.0)
polished: 4.2.2
react: 18.2.0 react: 18.2.0
use-merge-value: 1.2.0(react@18.2.0)
transitivePeerDependencies: transitivePeerDependencies:
- '@types/react' - '@types/react'
- react-dom
dev: false dev: false
/antd@4.24.15(react-dom@18.2.0)(react@18.2.0): /antd@4.24.15(react-dom@18.2.0)(react@18.2.0):
@ -7449,36 +7377,6 @@ packages:
resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
engines: {node: '>=8'} engines: {node: '>=8'}
/bizcharts-plugin-slider@2.1.1(@antv/g2@5.1.11)(bizcharts@3.5.10)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-8GDLwd8f4tlcT8EQ27cCRf9LYfR8J8wx0OPsiFF2rRmc6QX1KIAvdcbRGRjFNjS7gY295TAzLCaGshSW4cUNHQ==}
peerDependencies:
bizcharts: '>=3.2.3'
react: '>15'
react-dom: '>15'
dependencies:
'@antv/g2-plugin-slider': 2.1.0(@antv/g2@5.1.11)
bizcharts: 3.5.10(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
- '@antv/g2'
dev: false
/bizcharts@3.5.10(react@18.2.0):
resolution: {integrity: sha512-i2T+GN8M1gnHZMbeTELYusBZt0m6PP2LkeONgRuwCBPmw/UYT1OGA+vNE/4iQxYH6p9M/vNAvkR1+ONSJWZPYQ==}
peerDependencies:
react: ^15.0.0 || ^16.0.0
dependencies:
'@antv/g2': 3.5.19
'@babel/runtime': 7.23.5
invariant: 2.2.4
lodash.debounce: 4.0.8
prop-types: 15.8.1
react: 18.2.0
resize-observer-polyfill: 1.5.1
warning: 3.0.0
dev: false
/bl@4.1.0: /bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
dependencies: dependencies:
@ -7635,6 +7533,10 @@ packages:
resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
dev: true dev: true
/buffer-from@0.1.2:
resolution: {integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==}
dev: false
/buffer-from@1.1.2: /buffer-from@1.1.2:
resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
@ -8106,6 +8008,7 @@ packages:
resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==}
deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.
requiresBuild: true requiresBuild: true
dev: true
/core-js@3.28.0: /core-js@3.28.0:
resolution: {integrity: sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==} resolution: {integrity: sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==}
@ -8123,7 +8026,6 @@ packages:
/core-util-is@1.0.3: /core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
/cors@2.8.5: /cors@2.8.5:
resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
@ -9249,6 +9151,12 @@ packages:
minimatch: 3.1.2 minimatch: 3.1.2
dev: false dev: false
/duplexer2@0.1.4:
resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==}
dependencies:
readable-stream: 2.3.8
dev: false
/duplexer@0.1.2: /duplexer@0.1.2:
resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: false dev: false
@ -11274,6 +11182,17 @@ packages:
engines: {node: '>=8'} engines: {node: '>=8'}
dev: true dev: true
/html-tokenize@2.0.1:
resolution: {integrity: sha512-QY6S+hZ0f5m1WT8WffYN+Hg+xm/w5I8XeUcAq/ZYP5wVC8xbKi4Whhru3FtrAebD5EhBW8rmFzkDI6eCAuFe2w==}
hasBin: true
dependencies:
buffer-from: 0.1.2
inherits: 2.0.4
minimist: 1.2.8
readable-stream: 1.0.34
through2: 0.4.2
dev: false
/html-webpack-plugin@5.5.0(webpack@5.89.0): /html-webpack-plugin@5.5.0(webpack@5.89.0):
resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
@ -11945,7 +11864,6 @@ packages:
/isarray@1.0.0: /isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
dev: true
/isarray@2.0.5: /isarray@2.0.5:
resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
@ -13399,6 +13317,13 @@ packages:
resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==} resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==}
dev: true dev: true
/multipipe@1.0.2:
resolution: {integrity: sha512-6uiC9OvY71vzSGX8lZvSqscE7ft9nPupJ8fMjrCNRAUy2LREUW42UL+V/NTrogr6rFgRydUrCX4ZitfpSNkSCQ==}
dependencies:
duplexer2: 0.1.4
object-assign: 4.1.1
dev: false
/murmurhash-js@1.0.0: /murmurhash-js@1.0.0:
resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==}
dev: false dev: false
@ -13698,6 +13623,10 @@ packages:
call-bind: 1.0.5 call-bind: 1.0.5
define-properties: 1.2.1 define-properties: 1.2.1
/object-keys@0.4.0:
resolution: {integrity: sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw==}
dev: false
/object-keys@1.1.1: /object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@ -14195,13 +14124,6 @@ packages:
resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==}
dev: true dev: true
/polished@4.2.2:
resolution: {integrity: sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==}
engines: {node: '>=10'}
dependencies:
'@babel/runtime': 7.23.5
dev: false
/polygon-clipping@0.15.3: /polygon-clipping@0.15.3:
resolution: {integrity: sha512-ho0Xx5DLkgxRx/+n4O74XyJ67DcyN3Tu9bGYKsnTukGAW6ssnuak6Mwcyb1wHy9MZc9xsUWqIoiazkZB5weECg==} resolution: {integrity: sha512-ho0Xx5DLkgxRx/+n4O74XyJ67DcyN3Tu9bGYKsnTukGAW6ssnuak6Mwcyb1wHy9MZc9xsUWqIoiazkZB5weECg==}
dependencies: dependencies:
@ -14890,7 +14812,6 @@ packages:
/process-nextick-args@2.0.1: /process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
dev: true
/process-warning@1.0.0: /process-warning@1.0.0:
resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
@ -16590,6 +16511,15 @@ packages:
type-fest: 0.6.0 type-fest: 0.6.0
dev: true dev: true
/readable-stream@1.0.34:
resolution: {integrity: sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==}
dependencies:
core-util-is: 1.0.3
inherits: 2.0.4
isarray: 0.0.1
string_decoder: 0.10.31
dev: false
/readable-stream@1.1.14: /readable-stream@1.1.14:
resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==}
dependencies: dependencies:
@ -16609,7 +16539,6 @@ packages:
safe-buffer: 5.1.2 safe-buffer: 5.1.2
string_decoder: 1.1.1 string_decoder: 1.1.1
util-deprecate: 1.0.2 util-deprecate: 1.0.2
dev: true
/readable-stream@3.6.2: /readable-stream@3.6.2:
resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
@ -17178,7 +17107,6 @@ packages:
/safe-buffer@5.1.2: /safe-buffer@5.1.2:
resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
dev: true
/safe-buffer@5.2.1: /safe-buffer@5.2.1:
resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
@ -17829,13 +17757,11 @@ packages:
/string_decoder@0.10.31: /string_decoder@0.10.31:
resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==}
dev: true
/string_decoder@1.1.1: /string_decoder@1.1.1:
resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
dependencies: dependencies:
safe-buffer: 5.1.2 safe-buffer: 5.1.2
dev: true
/string_decoder@1.3.0: /string_decoder@1.3.0:
resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
@ -18430,6 +18356,17 @@ packages:
resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==}
engines: {node: '>=12.22'} engines: {node: '>=12.22'}
/through2@0.4.2:
resolution: {integrity: sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==}
dependencies:
readable-stream: 1.0.34
xtend: 2.1.2
dev: false
/through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: false
/timers-browserify@2.0.12: /timers-browserify@2.0.12:
resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==}
engines: {node: '>=0.6.0'} engines: {node: '>=0.6.0'}
@ -19060,6 +18997,14 @@ packages:
react: 18.1.0 react: 18.1.0
dev: true dev: true
/use-merge-value@1.2.0(react@18.2.0):
resolution: {integrity: sha512-DXgG0kkgJN45TcyoXL49vJnn55LehnrmoHc7MbKi+QDBvr8dsesqws8UlyIWGHMR+JXgxc1nvY+jDGMlycsUcw==}
peerDependencies:
react: '>= 16.x'
dependencies:
react: 18.2.0
dev: false
/use-sync-external-store@1.2.0(react@18.2.0): /use-sync-external-store@1.2.0(react@18.2.0):
resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==}
peerDependencies: peerDependencies:
@ -19069,7 +19014,6 @@ packages:
/util-deprecate@1.0.2: /util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
dev: true
/util@0.10.4: /util@0.10.4:
resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==} resolution: {integrity: sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==}
@ -19162,14 +19106,6 @@ packages:
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dev: true dev: true
/venn.js@0.2.20:
resolution: {integrity: sha512-bb5SYq/wamY9fvcuErb9a0FJkgIFHJjkLZWonQ+DoKKuDX3WPH2B4ouI1ce4K2iejBklQy6r1ly8nOGIyOCO6w==}
dependencies:
d3-selection: 1.4.2
d3-transition: 1.3.2
fmin: 0.0.2
dev: false
/verror@1.10.0: /verror@1.10.0:
resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==}
engines: {'0': node >=0.6.0} engines: {'0': node >=0.6.0}
@ -19265,6 +19201,7 @@ packages:
resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==}
dependencies: dependencies:
loose-envify: 1.4.0 loose-envify: 1.4.0
dev: true
/warning@4.0.3: /warning@4.0.3:
resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==}
@ -19560,6 +19497,13 @@ packages:
resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
dev: true dev: true
/xtend@2.1.2:
resolution: {integrity: sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==}
engines: {node: '>=0.4'}
dependencies:
object-keys: 0.4.0
dev: false
/xtend@4.0.2: /xtend@4.0.2:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'} engines: {node: '>=0.4'}

9
src/app.tsx

@ -1,14 +1,13 @@
import Footer from '@/components/Footer'; import { Footer, Question, SelectLang, AvatarDropdown, AvatarName } from '@/components';
import { Question, SelectLang } from '@/components/RightContent';
import { LinkOutlined } from '@ant-design/icons'; import { LinkOutlined } from '@ant-design/icons';
import type { Settings as LayoutSettings } from '@ant-design/pro-components'; import type { Settings as LayoutSettings } from '@ant-design/pro-components';
import { SettingDrawer } from '@ant-design/pro-components'; import { SettingDrawer } from '@ant-design/pro-components';
import type { RunTimeLayoutConfig } from '@umijs/max'; import type { RunTimeLayoutConfig } from '@umijs/max';
import { history, Link } from '@umijs/max'; import { history, Link } from '@umijs/max';
import defaultSettings from '../config/defaultSettings'; import defaultSettings from '../config/defaultSettings';
import { AvatarDropdown, AvatarName } from './components/RightContent/AvatarDropdown';
import { errorConfig } from './requestErrorConfig'; import { errorConfig } from './requestErrorConfig';
import { currentUser as queryCurrentUser } from './services/ant-design-pro/api'; import { currentUser as queryCurrentUser } from './services/ant-design-pro/api';
import React from 'react';
const isDev = process.env.NODE_ENV === 'development'; const isDev = process.env.NODE_ENV === 'development';
const loginPath = '/user/login'; const loginPath = '/user/login';
@ -70,7 +69,7 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
history.push(loginPath); history.push(loginPath);
} }
}, },
layoutBgImgList: [ bgLayoutImgList: [
{ {
src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/D2LWSqNny4sAAAAAAAAAAAAAFl94AQBr', src: 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/D2LWSqNny4sAAAAAAAAAAAAAFl94AQBr',
left: 85, left: 85,
@ -107,6 +106,7 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
return ( return (
<> <>
{children} {children}
{isDev && (
<SettingDrawer <SettingDrawer
disableUrlParams disableUrlParams
enableDarkTheme enableDarkTheme
@ -118,6 +118,7 @@ export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) =
})); }));
}} }}
/> />
)}
</> </>
); );
}, },

24
src/components/HeaderDropdown/index.tsx

@ -1,8 +1,18 @@
import { useEmotionCss } from '@ant-design/use-emotion-css';
import { Dropdown } from 'antd'; import { Dropdown } from 'antd';
import type { DropDownProps } from 'antd/es/dropdown'; import type { DropDownProps } from 'antd/es/dropdown';
import classNames from 'classnames';
import React from 'react'; import React from 'react';
import { createStyles } from 'antd-style';
import classNames from 'classnames';
const useStyles = createStyles(({ token }) => {
return {
dropdown: {
[`@media screen and (max-width: ${token.screenXS}px)`]: {
width: '100%',
},
},
};
});
export type HeaderDropdownProps = { export type HeaderDropdownProps = {
overlayClassName?: string; overlayClassName?: string;
@ -10,14 +20,8 @@ export type HeaderDropdownProps = {
} & Omit<DropDownProps, 'overlay'>; } & Omit<DropDownProps, 'overlay'>;
const HeaderDropdown: React.FC<HeaderDropdownProps> = ({ overlayClassName: cls, ...restProps }) => { const HeaderDropdown: React.FC<HeaderDropdownProps> = ({ overlayClassName: cls, ...restProps }) => {
const className = useEmotionCss(({ token }) => { const { styles } = useStyles();
return { return <Dropdown overlayClassName={classNames(styles.dropdown, cls)} {...restProps} />;
[`@media screen and (max-width: ${token.screenXS})`]: {
width: '100%',
},
};
});
return <Dropdown overlayClassName={classNames(className, cls)} {...restProps} />;
}; };
export default HeaderDropdown; export default HeaderDropdown;

39
src/components/RightContent/AvatarDropdown.tsx

@ -1,8 +1,8 @@
import { outLogin } from '@/services/ant-design-pro/api'; import { outLogin } from '@/services/ant-design-pro/api';
import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons'; import { LogoutOutlined, SettingOutlined, UserOutlined } from '@ant-design/icons';
import { useEmotionCss } from '@ant-design/use-emotion-css';
import { history, useModel } from '@umijs/max'; import { history, useModel } from '@umijs/max';
import { Spin } from 'antd'; import { Spin } from 'antd';
import { createStyles } from 'antd-style';
import { stringify } from 'querystring'; import { stringify } from 'querystring';
import type { MenuInfo } from 'rc-menu/lib/interface'; import type { MenuInfo } from 'rc-menu/lib/interface';
import React, { useCallback } from 'react'; import React, { useCallback } from 'react';
@ -20,6 +20,24 @@ export const AvatarName = () => {
return <span className="anticon">{currentUser?.name}</span>; return <span className="anticon">{currentUser?.name}</span>;
}; };
const useStyles = createStyles(({ token }) => {
return {
action: {
display: 'flex',
height: '48px',
marginLeft: 'auto',
overflow: 'hidden',
alignItems: 'center',
padding: '0 8px',
cursor: 'pointer',
borderRadius: token.borderRadius,
'&:hover': {
backgroundColor: token.colorBgTextHover,
},
},
};
});
export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, children }) => { export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, children }) => {
/** /**
* 退 url * 退 url
@ -40,21 +58,8 @@ export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, childre
}); });
} }
}; };
const actionClassName = useEmotionCss(({ token }) => { const { styles } = useStyles();
return {
display: 'flex',
height: '48px',
marginLeft: 'auto',
overflow: 'hidden',
alignItems: 'center',
padding: '0 8px',
cursor: 'pointer',
borderRadius: token.borderRadius,
'&:hover': {
backgroundColor: token.colorBgTextHover,
},
};
});
const { initialState, setInitialState } = useModel('@@initialState'); const { initialState, setInitialState } = useModel('@@initialState');
const onMenuClick = useCallback( const onMenuClick = useCallback(
@ -73,7 +78,7 @@ export const AvatarDropdown: React.FC<GlobalHeaderRightProps> = ({ menu, childre
); );
const loading = ( const loading = (
<span className={actionClassName}> <span className={styles.action}>
<Spin <Spin
size="small" size="small"
style={{ style={{

12
src/components/index.ts

@ -0,0 +1,12 @@
/**
*
* 便
*/
/**
*
*/
import Footer from './Footer';
import { Question, SelectLang } from './RightContent';
import { AvatarDropdown, AvatarName } from './RightContent/AvatarDropdown';
export { Footer, Question, SelectLang, AvatarDropdown, AvatarName };

2
src/locales/bn-BD/pages.ts

@ -25,6 +25,8 @@ export default {
'pages.login.registerAccount': 'অ্যাকাউন্ট নিবন্ধন করুন', 'pages.login.registerAccount': 'অ্যাকাউন্ট নিবন্ধন করুন',
'pages.welcome.link': 'স্বাগতম', 'pages.welcome.link': 'স্বাগতম',
'pages.welcome.alertMessage': 'দ্রুত এবং শক্তিশালী ভারী শুল্ক উপাদান প্রকাশ করা হয়েছে।', 'pages.welcome.alertMessage': 'দ্রুত এবং শক্তিশালী ভারী শুল্ক উপাদান প্রকাশ করা হয়েছে।',
'pages.404.subTitle': 'দুঃখিত, আপনি যে পৃষ্ঠাটি দেখতে চান তা বিদ্যমান নেই।',
'pages.404.buttonText': 'প্রধান পাতায় ফিরে যান',
'pages.admin.subPage.title': 'এই পৃষ্ঠাটি কেবল অ্যাডমিন দ্বারা দেখা যাবে', 'pages.admin.subPage.title': 'এই পৃষ্ঠাটি কেবল অ্যাডমিন দ্বারা দেখা যাবে',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'UMI UI এখন প্রকাশিত হয়েছে, অভিজ্ঞতা শুরু করতে npm run ui ব্যবহার করতে স্বাগতম।', 'UMI UI এখন প্রকাশিত হয়েছে, অভিজ্ঞতা শুরু করতে npm run ui ব্যবহার করতে স্বাগতম।',

2
src/locales/en-US/pages.ts

@ -25,6 +25,8 @@ export default {
'pages.login.registerAccount': 'Register Account', 'pages.login.registerAccount': 'Register Account',
'pages.welcome.link': 'Welcome', 'pages.welcome.link': 'Welcome',
'pages.welcome.alertMessage': 'Faster and stronger heavy-duty components have been released.', 'pages.welcome.alertMessage': 'Faster and stronger heavy-duty components have been released.',
'pages.404.subTitle': 'Sorry, the page you visited does not exist.',
'pages.404.buttonText': 'Back Home',
'pages.admin.subPage.title': 'This page can only be viewed by Admin', 'pages.admin.subPage.title': 'This page can only be viewed by Admin',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'Umi ui is now released, welcome to use npm run ui to start the experience.', 'Umi ui is now released, welcome to use npm run ui to start the experience.',

4
src/locales/en-US/settingDrawer.ts

@ -23,9 +23,9 @@ export default {
'app.setting.hideheader': 'Hidden Header when scrolling', 'app.setting.hideheader': 'Hidden Header when scrolling',
'app.setting.hideheader.hint': 'Works when Hidden Header is enabled', 'app.setting.hideheader.hint': 'Works when Hidden Header is enabled',
'app.setting.othersettings': 'Other Settings', 'app.setting.othersettings': 'Other Settings',
'app.setting.weakmode': 'Weak Mode', 'app.setting.weakmode': 'Color Blind Friendly Mode',
'app.setting.copy': 'Copy Setting', 'app.setting.copy': 'Copy Setting',
'app.setting.copyinfo': 'copy successplease replace defaultSettings in src/models/setting.js', 'app.setting.copyinfo': 'copy success, please replace defaultSettings in src/models/setting.js',
'app.setting.production.hint': 'app.setting.production.hint':
'Setting panel shows in development environment only, please manually modify', 'Setting panel shows in development environment only, please manually modify',
}; };

2
src/locales/fa-IR/pages.ts

@ -24,6 +24,8 @@ export default {
'pages.login.registerAccount': 'ثبت نام', 'pages.login.registerAccount': 'ثبت نام',
'pages.welcome.link': 'خوش آمدید', 'pages.welcome.link': 'خوش آمدید',
'pages.welcome.alertMessage': 'اجزای سنگین تر سریعتر و قوی تر آزاد شده اند.', 'pages.welcome.alertMessage': 'اجزای سنگین تر سریعتر و قوی تر آزاد شده اند.',
'pages.404.subTitle': 'ببخشيد، صفحه اي که ديديد وجود نداره',
'pages.404.buttonText': 'بازگشت به صفحه اصلی',
'pages.admin.subPage.title': 'این صفحه فقط توسط مدیر قابل مشاهده است', 'pages.admin.subPage.title': 'این صفحه فقط توسط مدیر قابل مشاهده است',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'رابط کاربری Umi اکنون منتشر شده است ، برای شروع تجربه استفاده از npm run ui خوش آمدید.', 'رابط کاربری Umi اکنون منتشر شده است ، برای شروع تجربه استفاده از npm run ui خوش آمدید.',

2
src/locales/id-ID/pages.ts

@ -26,6 +26,8 @@ export default {
'pages.welcome.link': 'Selamat datang', 'pages.welcome.link': 'Selamat datang',
'pages.welcome.alertMessage': 'pages.welcome.alertMessage':
'Komponen heavy-duty yang lebih cepat dan lebih kuat telah dirilis.', 'Komponen heavy-duty yang lebih cepat dan lebih kuat telah dirilis.',
'pages.404.subTitle': 'Maaf, halaman yang Anda kunjungi tidak ada. ',
'pages.404.buttonText': 'Kembali ke halaman utama',
'pages.admin.subPage.title': 'Halaman ini hanya dapat dilihat oleh admin', 'pages.admin.subPage.title': 'Halaman ini hanya dapat dilihat oleh admin',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'umi ui telah dirilis, silahkan gunakan npm run ui untuk memulai pengalaman.', 'umi ui telah dirilis, silahkan gunakan npm run ui untuk memulai pengalaman.',

2
src/locales/id-ID/settingDrawer.ts

@ -26,7 +26,7 @@ export default {
'app.setting.weakmode': 'Mode Lemah', 'app.setting.weakmode': 'Mode Lemah',
'app.setting.copy': 'Salin Pengaturan', 'app.setting.copy': 'Salin Pengaturan',
'app.setting.copyinfo': 'app.setting.copyinfo':
'Berhasil disalintolong ubah defaultSettings pada src/models/setting.js', 'Berhasil disalin, tolong ubah defaultSettings pada src/models/setting.js',
'app.setting.production.hint': 'app.setting.production.hint':
'Panel pengaturan hanya muncul pada lingkungan pengembangan, silahkan modifikasi secara menual', 'Panel pengaturan hanya muncul pada lingkungan pengembangan, silahkan modifikasi secara menual',
}; };

2
src/locales/ja-JP/pages.ts

@ -25,6 +25,8 @@ export default {
'pages.login.registerAccount': 'アカウント登録', 'pages.login.registerAccount': 'アカウント登録',
'pages.welcome.link': 'ようこそ', 'pages.welcome.link': 'ようこそ',
'pages.welcome.alertMessage': 'より高速で強力な頑丈なコンポーネントがリリースされました。', 'pages.welcome.alertMessage': 'より高速で強力な頑丈なコンポーネントがリリースされました。',
'pages.404.subTitle': '申し訳ありませんが、アクセスしたページは存在しません。',
'pages.404.buttonText': 'ホームに戻る',
'pages.admin.subPage.title': 'このページは管理者のみが表示できます', 'pages.admin.subPage.title': 'このページは管理者のみが表示できます',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'Umi uiがリリースされました。npm run uiを使用して体験してください。', 'Umi uiがリリースされました。npm run uiを使用して体験してください。',

2
src/locales/pt-BR/pages.ts

@ -25,6 +25,8 @@ export default {
'pages.login.registerAccount': 'Registra Conta', 'pages.login.registerAccount': 'Registra Conta',
'pages.welcome.link': 'Bem-vindo', 'pages.welcome.link': 'Bem-vindo',
'pages.welcome.alertMessage': 'Componentes pesados mais rápidos e mais fortes foram lançados.', 'pages.welcome.alertMessage': 'Componentes pesados mais rápidos e mais fortes foram lançados.',
'pages.404.subTitle': 'Desculpe, a página que você visitou não existe. ',
'pages.404.buttonText': 'Voltar à página inicial',
'pages.admin.subPage.title': 'Esta página só pode ser vista pelo Admin', 'pages.admin.subPage.title': 'Esta página só pode ser vista pelo Admin',
'pages.admin.subPage.alertMessage': 'pages.admin.subPage.alertMessage':
'O Umi ui foi lançado, bem-vindo ao usar o npm run ui para iniciar a experiência.', 'O Umi ui foi lançado, bem-vindo ao usar o npm run ui para iniciar a experiência.',

2
src/locales/pt-BR/settingDrawer.ts

@ -26,7 +26,7 @@ export default {
'app.setting.weakmode': 'Weak Mode', 'app.setting.weakmode': 'Weak Mode',
'app.setting.copy': 'Copiar Configuração', 'app.setting.copy': 'Copiar Configuração',
'app.setting.copyinfo': 'app.setting.copyinfo':
'copiado com sucessopor favor trocar o defaultSettings em src/models/setting.js', 'copiado com sucesso, por favor trocar o defaultSettings em src/models/setting.js',
'app.setting.production.hint': 'app.setting.production.hint':
'O painel de configuração apenas é exibido no ambiente de desenvolvimento, por favor modifique manualmente o', 'O painel de configuração apenas é exibido no ambiente de desenvolvimento, por favor modifique manualmente o',
}; };

2
src/locales/zh-CN/pages.ts

@ -24,6 +24,8 @@ export default {
'pages.login.registerAccount': '注册账户', 'pages.login.registerAccount': '注册账户',
'pages.welcome.link': '欢迎使用', 'pages.welcome.link': '欢迎使用',
'pages.welcome.alertMessage': '更快更强的重型组件,已经发布。', 'pages.welcome.alertMessage': '更快更强的重型组件,已经发布。',
'pages.404.subTitle': '抱歉,您访问的页面不存在。',
'pages.404.buttonText': '返回首页',
'pages.admin.subPage.title': ' 这个页面只有 admin 权限才能查看', 'pages.admin.subPage.title': ' 这个页面只有 admin 权限才能查看',
'pages.admin.subPage.alertMessage': 'umi ui 现已发布,欢迎使用 npm run ui 启动体验。', 'pages.admin.subPage.alertMessage': 'umi ui 现已发布,欢迎使用 npm run ui 启动体验。',
'pages.searchTable.createForm.newRule': '新建规则', 'pages.searchTable.createForm.newRule': '新建规则',

2
src/locales/zh-TW/pages.ts

@ -24,6 +24,8 @@ export default {
'pages.login.registerAccount': '註冊賬戶', 'pages.login.registerAccount': '註冊賬戶',
'pages.welcome.link': '歡迎使用', 'pages.welcome.link': '歡迎使用',
'pages.welcome.alertMessage': '更快更強的重型組件,已經發布。', 'pages.welcome.alertMessage': '更快更強的重型組件,已經發布。',
'pages.404.subTitle': '抱歉,您訪問的頁面不存在。',
'pages.404.buttonText': '返回首頁',
'pages.admin.subPage.title': '這個頁面只有 admin 權限才能查看', 'pages.admin.subPage.title': '這個頁面只有 admin 權限才能查看',
'pages.admin.subPage.alertMessage': 'umi ui 現已發佈,歡迎使用 npm run ui 啓動體驗。', 'pages.admin.subPage.alertMessage': 'umi ui 現已發佈,歡迎使用 npm run ui 啓動體驗。',
'pages.searchTable.createForm.newRule': '新建規則', 'pages.searchTable.createForm.newRule': '新建規則',

6
src/pages/404.tsx

@ -1,4 +1,4 @@
import { history } from '@umijs/max'; import { history, useIntl } from '@umijs/max';
import { Button, Result } from 'antd'; import { Button, Result } from 'antd';
import React from 'react'; import React from 'react';
@ -6,10 +6,10 @@ const NoFoundPage: React.FC = () => (
<Result <Result
status="404" status="404"
title="404" title="404"
subTitle="Sorry, the page you visited does not exist." subTitle={useIntl().formatMessage({ id: 'pages.404.subTitle' })}
extra={ extra={
<Button type="primary" onClick={() => history.push('/')}> <Button type="primary" onClick={() => history.push('/')}>
Back Home {useIntl().formatMessage({ id: 'pages.404.buttonText' })}
</Button> </Button>
} }
/> />

1076
src/pages/user/login/__snapshots__/login.test.tsx.snap

File diff suppressed because it is too large

68
src/pages/user/login/index.tsx

@ -1,4 +1,4 @@
import Footer from '@/components/Footer'; import { Footer } from '@/components';
import { login } from '@/services/ant-design-pro/api'; import { login } from '@/services/ant-design-pro/api';
import { getFakeCaptcha } from '@/services/ant-design-pro/login'; import { getFakeCaptcha } from '@/services/ant-design-pro/login';
import { import {
@ -15,16 +15,16 @@ import {
ProFormCheckbox, ProFormCheckbox,
ProFormText, ProFormText,
} from '@ant-design/pro-components'; } from '@ant-design/pro-components';
import { useEmotionCss } from '@ant-design/use-emotion-css';
import { FormattedMessage, Helmet, SelectLang, useIntl, useModel } from '@umijs/max'; import { FormattedMessage, Helmet, SelectLang, useIntl, useModel } from '@umijs/max';
import { Alert, message, Tabs } from 'antd'; import { Alert, message, Tabs } from 'antd';
import React, { useState } from 'react'; import React, { useState } from 'react';
import { flushSync } from 'react-dom'; import { flushSync } from 'react-dom';
import Settings from '../../../../config/defaultSettings'; import Settings from '../../../../config/defaultSettings';
import { createStyles } from 'antd-style';
const ActionIcons = () => { const useStyles = createStyles(({ token }) => {
const langClassName = useEmotionCss(({ token }) => {
return { return {
action: {
marginLeft: '8px', marginLeft: '8px',
color: 'rgba(0, 0, 0, 0.2)', color: 'rgba(0, 0, 0, 0.2)',
fontSize: '24px', fontSize: '24px',
@ -34,21 +34,8 @@ const ActionIcons = () => {
'&:hover': { '&:hover': {
color: token.colorPrimaryActive, color: token.colorPrimaryActive,
}, },
}; },
}); lang: {
return (
<>
<AlipayCircleOutlined key="AlipayCircleOutlined" className={langClassName} />
<TaobaoCircleOutlined key="TaobaoCircleOutlined" className={langClassName} />
<WeiboCircleOutlined key="WeiboCircleOutlined" className={langClassName} />
</>
);
};
const Lang = () => {
const langClassName = useEmotionCss(({ token }) => {
return {
width: 42, width: 42,
height: 42, height: 42,
lineHeight: '42px', lineHeight: '42px',
@ -58,11 +45,36 @@ const Lang = () => {
':hover': { ':hover': {
backgroundColor: token.colorBgTextHover, backgroundColor: token.colorBgTextHover,
}, },
},
container: {
display: 'flex',
flexDirection: 'column',
height: '100vh',
overflow: 'auto',
backgroundImage:
"url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr')",
backgroundSize: '100% 100%',
},
}; };
}); });
const ActionIcons = () => {
const { styles } = useStyles();
return ( return (
<div className={langClassName} data-lang> <>
<AlipayCircleOutlined key="AlipayCircleOutlined" className={styles.action} />
<TaobaoCircleOutlined key="TaobaoCircleOutlined" className={styles.action} />
<WeiboCircleOutlined key="WeiboCircleOutlined" className={styles.action} />
</>
);
};
const Lang = () => {
const { styles } = useStyles();
return (
<div className={styles.lang} data-lang>
{SelectLang && <SelectLang />} {SelectLang && <SelectLang />}
</div> </div>
); );
@ -87,19 +99,7 @@ const Login: React.FC = () => {
const [userLoginState, setUserLoginState] = useState<API.LoginResult>({}); const [userLoginState, setUserLoginState] = useState<API.LoginResult>({});
const [type, setType] = useState<string>('account'); const [type, setType] = useState<string>('account');
const { initialState, setInitialState } = useModel('@@initialState'); const { initialState, setInitialState } = useModel('@@initialState');
const { styles } = useStyles();
const containerClassName = useEmotionCss(() => {
return {
display: 'flex',
flexDirection: 'column',
height: '100vh',
overflow: 'auto',
backgroundImage:
"url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr')",
backgroundSize: '100% 100%',
};
});
const intl = useIntl(); const intl = useIntl();
const fetchUserInfo = async () => { const fetchUserInfo = async () => {
@ -144,7 +144,7 @@ const Login: React.FC = () => {
const { status, type: loginType } = userLoginState; const { status, type: loginType } = userLoginState;
return ( return (
<div className={containerClassName}> <div className={styles.container}>
<Helmet> <Helmet>
<title> <title>
{intl.formatMessage({ {intl.formatMessage({

15
src/services/ant-design-pro/api.ts

@ -60,11 +60,14 @@ export async function rule(
}); });
} }
/** 新规则 PUT /api/rule */ /** 新规则 PUT /api/rule */
export async function updateRule(options?: { [key: string]: any }) { export async function updateRule(options?: { [key: string]: any }) {
return request<API.RuleListItem>('/api/rule', { return request<API.RuleListItem>('/api/rule', {
method: 'PUT', method: 'POST',
data:{
method: 'update',
...(options || {}), ...(options || {}),
}
}); });
} }
@ -72,14 +75,20 @@ export async function updateRule(options?: { [key: string]: any }) {
export async function addRule(options?: { [key: string]: any }) { export async function addRule(options?: { [key: string]: any }) {
return request<API.RuleListItem>('/api/rule', { return request<API.RuleListItem>('/api/rule', {
method: 'POST', method: 'POST',
data:{
method: 'post',
...(options || {}), ...(options || {}),
}
}); });
} }
/** 删除规则 DELETE /api/rule */ /** 删除规则 DELETE /api/rule */
export async function removeRule(options?: { [key: string]: any }) { export async function removeRule(options?: { [key: string]: any }) {
return request<Record<string, any>>('/api/rule', { return request<Record<string, any>>('/api/rule', {
method: 'DELETE', method: 'POST',
data:{
method: 'delete',
...(options || {}), ...(options || {}),
}
}); });
} }

Loading…
Cancel
Save