RuoYi-Cloud-Plus lanza 1.8.2 y entra oficialmente en estado de mantenimiento


Registro de cambios

Descripción del estado de la versión

Desde que springboot 2.X y vue 2.X anunciaron oficialmente que suspenderán el mantenimiento, la versión 1.X del marco ha entrado en estado de mantenimiento (solo soluciona problemas y no actualiza funciones)

Tiempo estimado de parada de mantenimiento: junio-octubre de 2024. Se determinará dinámicamente en función del número de usuarios, esta versión ya es bastante estable y no afectará el uso aunque no se actualicen las funciones.

Si aún elige usar jdk8 o jdk11, puede usar esta versión con confianza. Si desea usar jdk17 o jdk21, puede optar por usar la rama 2.X.

Actualización de dependencia

  • actualizar springboot 2.7.16 => actualización 2.7.18 a la versión final 2.X (oficialmente descontinuada)

  • actualizar mybatis-plus 3.5.3.2 => 3.5.4

  • actualizar a 1.36.0 => 1.37.0

  • actualizar hutool 5.8.20 => 5.8.22

  • actualizar aws-java-sdk-s3 1.12.400 => 1.12.540

  • actualizar vue-quill 1.1.0 => 1.2.0

Actualizaciones de funciones

  • Actualizar la descripción de la página de optimización sobre identificadores de permisos

  • La actualización optimiza el interceptor de permisos de datos para priorizar si el método es efectivo, mejorar el rendimiento y reducir el análisis de SQL inútil.

  • La actualización optimiza los permisos de datos del departamento y utiliza el plan de encubrimiento predeterminado.

  • la actualización optimiza y completa el código para generar columnList faltan anotaciones de parámetros de interfaz

  • La actualización optimiza AddressUtils para que sea compatible con la dirección IP local del sistema Linux.

  • La actualización optimiza la información del departamento de registro de operaciones y la mejora.

  • La actualización optimiza los permisos de datos para reducir las consultas de verificación secundaria.

  • actualizar Modificar el problema de inconsistencia entre la obtención del token de usuario y el backend (gracias a bestrevens)

  • la actualización optimiza la consulta de contraseña inicial del usuario de la versión vue3 desde el diccionario

  • actualizar Optimice el componente Editor de texto enriquecido para verificar el formato de la imagen

  • actualización: Optimice la lista de registros de operaciones y agregue una consulta de dirección IP

  • La actualización optimiza el número de usuario de almacenamiento de datos global.

  • La actualización optimiza el tipo de gestión del menú para que el estado del botón sea opcional.

Corrección de errores

  • arreglar Solucione el problema de múltiples instancias de creación simultánea de OssFactory

  • arreglar Corregir errores de escritura de campos en la página de demostración

  • solución: actualizar informes de eliminación nulos después de la optimización del permiso de datos

  • arreglar Solucionar el problema de caché de enrutamiento de nivel cinco no válido

  • arreglar arreglar el servicio oss no se puede conectar

  • arreglar Solucionar el problema del iframe del enlace interno que no pasa parámetros

  • fix Solucionar la excepción que ocurre en el puerto del enlace externo

  • solución: solucione el problema del uso no autorizado del código de administrador integrado al editar caracteres comunes.

  • solucionar solucionar el problema de la falta de herramienta druida en el modo seata XA

  • arreglar Solucione el problema de que si se requiere generación de código no coincide con la base de datos

  • arreglar Solucione el error de dirección de la interfaz de carga de texto enriquecido

  • arreglar Solucione el problema de los parámetros de consulta faltantes en el salto del componente HeaderSearch

  • corregir Corrija el error de asignación del nuevo método en la generación de código de estructura de árbol

Introducción a la plataforma

RuoYi-Cloud-Plus 微服务通用权限管理系统reescribe RuoYi-Cloud para actualizarlo por completo (no es compatible con el marco original)

El código y los documentos del proyecto son todos de código abierto, gratuitos y se pueden utilizar comercialmente. Simplemente siga el acuerdo de código abierto y mantenga los archivos del acuerdo de código abierto en el proyecto.
Viva hasta que sea viejo y escriba hasta que sea viejo. Código abierto para los interesados Código abierto para el aprendizaje Código abierto para que todos puedan aprender realmente sobre tecnología.

Demostración del sistema: https://plus-doc.dromara.org/#/common/demo_system

Dirección del proyecto front-end: https://gitee.com/JavaLionLi/plus-ui

Dirección del documento: https://plus-doc.dromara.org

Diferencias funcionales entre este marco y RuoYi

Función este marco RuoYi
Proyecto inicial
Reescriba Vue3 + TS + ElementPlus según el proyecto de código abierto vue3-element-admin
Basado en Vue2/Vue3 + JS
Estructura del proyecto de back-end Desacoplamiento estructural en forma de complementos + paquetes de expansión para una fácil expansión Los módulos se inyectan entre sí y el acoplamiento es muy difícil de ampliar.
Estilo de código de fondo Formato de código que cumple estrictamente con las especificaciones de Alibaba y la configuración unificada del proyecto. La escritura de código es diferente de las estructuras convencionales, lo que provoca dificultades de lectura.
Centro de registro distribuido Al utilizar la integración del código fuente de Alibaba Nacos para facilitar las extensiones de depuración y el marco de desarrollo secundario, se le han agregado varios monitoreos. Usar Alibaba Nacos para crear una versión puramente oficial usted mismo no es confiable
Centro de configuración distribuida Al utilizar la integración del código fuente de Alibaba Nacos para facilitar las extensiones de depuración y el marco de desarrollo secundario, se le han agregado varios monitoreos. Usar Alibaba Nacos para crear una versión puramente oficial usted mismo no es confiable
puerta de enlace de servicio El marco SpringCloud Gateway se utiliza para ampliar una variedad de funciones
, como: autenticación de intranet, almacenamiento en caché del cuerpo de la solicitud, configuración entre dominios, registro de respuesta de solicitudes, etc.
Usar SpringCloud Gateway tiene una única función
balanceo de carga La extensión SpringCloud Loadbalancer admite el enrutamiento del equipo de desarrollo para facilitar el desarrollo y la depuración entre varios equipos. Usar SpringCloud Loadbalancer tiene una única función
llamada remota RPC Utilizando el nuevo Apache Dubbo 3.X, no hace falta decir que tiene una larga historia. Al utilizar el método de escritura simulada con funciones limitadas, la red fluctúa mucho y es inestable.
Fusible limitador de corriente distribuida Utiliza la integración del código fuente de Alibaba Sentinel para facilitar las extensiones de depuración y el marco de desarrollo secundario, y también agrega varios monitoreos. Usar Alibaba Sentinel para crear una versión puramente oficial usted mismo no es confiable
Transacciones distribuidas Uso de la integración del código fuente de Alibaba Seata para conectar Nacos y varios monitoreos para simplificar el proceso de construcción e implementación. Usar Alibaba Seata para crear una versión puramente oficial usted mismo es engorroso y Nacos no está vinculado a los métodos de uso extraños en el código.
contenedor web Usando Undertow, un contenedor de alto rendimiento basado en XNIO Usando Tomcat
Autenticación de autoridad Usando Sa-Token y Jwt, uso estático, funciones completas, bajo acoplamiento y alta escalabilidad Spring Security tiene una configuración engorrosa y una escalabilidad extremadamente pobre
Anotación de permiso Utilice Sa-Token para admitir la verificación de inicio de sesión con anotaciones, verificación de roles, verificación de permisos, verificación de autenticación secundaria, verificación HttpBasic, verificación de ignorar. La
verificación de roles y permisos admite múltiples condiciones, como AND ORo 权限 OR 角色y otras expresiones complejas.
Solo admite si hay una coincidencia
Soporte de bases de datos relacionales
Se puede utilizar al mismo tiempo soporte nativo para MySQL, Oracle, PostgreSQL, SQLServer y conmutación heterogénea.
Admite Mysql y Oracle. No se admiten el uso simultáneo ni la conmutación heterogénea.
base de datos caché Admite Redis 5-7 y admite la mayoría de las funciones nuevas, como limitación de corriente distribuida y colas distribuidas Redis simple obtiene soporte para configurar
Cliente Redis Adopte Redisson Redis recomienda oficialmente herramientas de cliente basadas en Netty.
Admite más del 90% de los comandos de Redis. La optimización subyacente evita muchos usos incorrectos. Por ejemplo: las claves se convierten en escaneo.
Admite clústeres independientes, centinelas, de un solo maestro, múltiples -Clúster maestro y otros modos.
Lettuce + RedisTemplate admite pocos modos y las herramientas son engorrosas de usar.
El grupo de conexiones utiliza un grupo común, lo que a menudo causa problemas debido a errores.
Anotaciones en caché La anotación Spring-Cache se utiliza para ampliar la implementación y admitir más funciones,
como el tiempo de vencimiento, el grupo de tiempo de inactividad máximo, la longitud máxima, etc. Solo se necesita una anotación para completar el almacenamiento en caché automático de datos.
La lógica del código de Redis debe escribirse manualmente
marco ORM Usando Mybatis-Plus, está basado en objetos y casi no necesita escribir SQL y operación completa de Java. Hay muchos complementos potentes,
como complementos multiinquilino, complementos de paginación, complementos de bloqueo optimista, etc.
El uso de Mybatis basado en XML requiere SQL escrito a mano
Monitoreo de SQL Utilice p6spy para generar SQL completo y ejecutar el monitoreo del tiempo La salida del registro requiere la unión manual de SQL y parámetros, y los problemas de depuración no se pueden ver rápidamente
paginación de datos
Para ampliarlo, se utiliza el marco del complemento de paginación Mybatis-Plus . El objeto de paginación basado en objetos admite múltiples formas de pasar parámetros y admite clasificación múltiple y compleja de front-end.
El uso de PageHelper solo admite consultas únicas. Los parámetros de paginación solo se pueden pasar desde param. Solo está disponible la función de clasificación única. Poca escalabilidad y mala experiencia.
permiso de datos Utilice el complemento Mybatis-Plus para autoanalizar y empalmar SQL. Filtrado no inductivo.
Simplemente establezca las condiciones de anotación para Mapper. Admite múltiples personalizaciones y no se limita a roles de departamento.
El uso de anotaciones + aop para generar SQL basado en roles de departamento tiene poca compatibilidad y no admite otras extensiones comerciales.
Después de generar SQL, debe fusionarse manualmente en SQL comercial específico y no funciona para múltiples consultas de Mapper.
Desensibilización de datos El uso de anotaciones + desensibilización de Jackson durante la serialización admite diferentes condiciones de desensibilización para diferentes módulos, admite
múltiples estrategias, como tarjetas de identificación, números de teléfonos móviles, direcciones, direcciones de correo electrónico, tarjetas bancarias, etc., y se puede expandir por sí mismo.
ninguno
Cifrado y descifrado de datos Utilice anotaciones + interceptor mybatis para cifrar y descifrar datos automáticamente durante el acceso a los datos.
Admite múltiples estrategias como BASE64, AES, RSA, SM2, SM4, etc.
ninguno
Traducción de datos Utilice anotaciones + jackson para modificar dinámicamente los datos para la traducción durante la serialización.
Admite múltiples modos: 映射翻译 直接翻译 其他扩展条件翻译la expansión personalizada se puede completar en dos pasos a través de la interfaz y múltiples implementaciones de traducción integradas.
ninguno
Marco de múltiples fuentes de datos Utilice la fuente de datos dinámica para admitir la mayoría de las bases de datos del mundo.
Puede administrar dinámicamente bases de datos heterogéneas de diferentes tipos a través de la configuración yml. También puede agregar fuentes de datos a través de la página de inicio.
Admite expresiones ortográficas para cambiar las fuentes de datos desde los parámetros del encabezado de solicitud y otras condiciones.
Escribir código manualmente para configurar fuentes de datos basadas en druid es engorroso y tiene poco soporte.
Múltiples transacciones de fuentes de datos Utilice una fuente de datos dinámica para admitir diferentes tipos de reversión de transacciones de bases de datos desde múltiples fuentes de datos no apoyo
Grupo de conexiones de base de datos Al utilizar el grupo de conexiones integrado oficial de HikariCP Spring, la configuración es simple y famosa por su rendimiento y estabilidad. Utilice errores druidas, mucho mantenimiento comunitario, actividad deficiente y configuración baja, muchas configuraciones engorrosas, rendimiento promedio
Clave primaria de la base de datos Al utilizar Snowflake ID para generar ID únicas de manera ordenada en función de marcas de tiempo, ya no tendrá que preocuparse por fusionar conflictos de claves primarias y duplicar datos en subbases de datos y subtablas. Utiliza ID de incremento automático de la base de datos para admitir un volumen de datos limitado y no admite claves primarias únicas de múltiples fuentes de datos.
Protocolo WebSocket El protocolo WebSocket encapsulado por Spring amplía la autenticación de tokens y la sincronización de sesiones distribuidas, y ya no es solo un desperdicio basado en una sola máquina. ninguno
Publicación por entregas ¡¡¡Usar la serialización oficial incorporada de Jackson Spring es confiable!!! El uso de fastjson bugjson es famoso en todas partes
Idempotencia distribuida Consulte la implementación simplificada del sistema antigravedad Meituan GTIS (consulte el documento para obtener más detalles) Las anotaciones escritas manualmente se implementan según aop
Programación de tareas distribuidas Al usar PowerJob, naturalmente admite un centro de administración distribuido y unificado. La capa inferior se basa en JPA y admite múltiples bases de datos. Al utilizar Quartz, un clúster con un rendimiento de bloqueo de base de datos deficiente requiere mucha configuración y modificaciones.
Centro de registro distribuido Utilice la solución probada en la industria de ELK para recopilar los registros de ejecución de todos los servicios en tiempo real para identificar y localizar problemas rápidamente. ninguno
Motor de búsqueda distribuido Utilice ElasticSearch, Easy-Es y Mybatis-Plus para operar ElasticSearch ninguno
Cola de mensajes distribuida Uso de SpringCloud-Stream para admitir Kafka, RocketMQ, RabbitMQ ninguno
Función de subbase de datos y subtabla Adopte el servicio proxy Apache Sharding-Proxy sin intrusión para admitir la fragmentación de bases de datos y tablas. Solo necesita escribir reglas para fragmentar bases de datos y tablas. ninguno
Almacenamiento de archivos Al utilizar el almacenamiento de archivos distribuido Minio, es inherentemente compatible con el almacenamiento en varias máquinas, en varios discos duros, en varios fragmentos y en varias copias. Admite la gestión de permisos y
es seguro y confiable. Los archivos se pueden cifrar para su almacenamiento.
El uso de archivos nativos para almacenar archivos desnudos es fácil de perder y filtrar, no admite clústeres y tiene un efecto de punto único.
almacenamiento en la nube El cliente del protocolo AWS S3 es compatible con Qiniu, Alibaba, Tencent y otros fabricantes que admiten el protocolo S3. no apoyo
Mensaje corto Admite Alibaba y Tencent, solo necesita configurar la clave del fabricante en yml para usar el soporte de interfaz para expandir otros fabricantes. no apoyo
correo Utilice el protocolo común mail-api para admitir la mayoría de los proveedores de correo electrónico no apoyo
Documentación de la interfaz Usando SpringDoc y javadoc, sin anotaciones y sin intrusiones. Basado en anotaciones de Java,
solo necesita escribir las anotaciones sin tener que escribir muchas anotaciones de documentos.
El uso de Springfox ha detenido el mantenimiento y requiere escribir una gran cantidad de anotaciones para respaldar la generación de documentos.
Marco de validación Utilice la validación para admitir anotaciones y anotaciones de verificación de herramientas para respaldar la internacionalización. Solo se admiten anotaciones y las anotaciones no admiten la internacionalización.
marco de excel Al utilizar Alibaba EasyExcel basado en el marco del complemento
, se le han agregado muchas funciones, como la fusión automática del mismo contenido, la disposición automática, el diseño, la traducción de diccionarios, etc.
Basadas en la escritura a mano de puntos de interés, las funciones son limitadas, complejas y tienen poca escalabilidad.
Marco de herramientas Utilice cientos de herramientas como Hutool y Lombok para cubrir el 90% de los requisitos de uso. Genere automáticamente una gran cantidad de código para marcos simplificados, como get set basado en anotaciones. Las herramientas de escritura a mano tienen poca estabilidad y son propensas a tener problemas. La cantidad de herramientas es limitada y el código está inflado. Es necesario escribir get, set, etc. a mano.
Marco de seguimiento de servicios Al utilizar SpringBoot-Admin, basado en el mecanismo de sonda del actuador oficial de SpringBoot,
el marco de estado del servicio de monitoreo en tiempo real también amplía la visualización y el monitoreo de registros en línea.
ninguno
Monitoreo integral y alarmas. Utilice Prometheus y Grafana para diversificar la colección, múltiples plantillas, visualización en pantalla grande, monitoreo de alarmas en tiempo real y proporcionar documentos de construcción detallados. ninguno
rastreo de enlaces Con Apache SkyWalking, ¿todavía le preocupa dónde fue y salió mal la solicitud?
Con él, puede ver cada nodo por el que pasa la solicitud en tiempo real.
ninguno
Generador de códigos Simplemente diseñe la estructura de la tabla y genere todos los códigos y páginas CRUD con un solo clic.
Reduzca el 80% del esfuerzo de desarrollo y concéntrese en el diseño empresarial.
El marco adapta los códigos estandarizados MP y SpringDoc y admite la generación dinámica de código fuente de múltiples datos.
La estructura nativa de generación de código solo admite la generación de una única fuente de datos.
Método de implementación Admite la orquestación de Docker para crear todos los entornos con un solo clic, de modo que los desarrolladores ya no tengan que preocuparse por configurar entornos. Para implementar jar nativo en otros entornos, debe descargarlo e instalarlo manualmente y compilarlo usted mismo.
Modificación de la ruta del proyecto Proporcione documentos detallados del plan de modificación y realice algunos cambios. Es muy fácil modificarlo según lo que desee. Necesita muchas modificaciones y documentación limitada.
globalización La devolución dinámica de contenido de texto en diferentes idiomas según los encabezados de solicitud es fácil de desarrollar y tiene clases de herramientas correspondientes para respaldar la internacionalización de la mayoría del contenido de anotaciones. Solo se proporcionan funciones básicas, otras extensiones deben escribirse usted mismo
Prueba de código de caso único Proporciona métodos de escritura de pruebas de caso único y complementos de prueba únicos de entornos múltiples de Maven. Solo se proporcionan funciones básicas, otras extensiones deben escribirse usted mismo
Caso de demostración Proporcionar casos de uso prácticos para la funcionalidad del marco. Un solo módulo proporciona muchas soluciones muy completas. ninguno

Diferencias comerciales entre este marco y RuoYi

negocio Función descriptiva este marco RuoYi
Gestión de inquilinos Gestión de inquilinos en el sistema como: paquetes de inquilinos, tiempo de vencimiento, número de usuarios, información empresarial, etc. apoyo ninguno
Gestión de paquetes de inquilinos 系统内租户所能使用的套餐管理 如:套餐内所包含的菜单等 支持
用户管理 用户的管理配置 如:新增用户、分配用户所属部门、角色、岗位等 支持 支持
部门管理 配置系统组织机构(公司、部门、小组) 树结构展现支持数据权限 支持 支持
岗位管理 配置系统用户所属担任职务 支持 支持
菜单管理 配置系统菜单、操作权限、按钮权限标识等 支持 支持
角色管理 角色菜单权限分配、设置角色按机构进行数据范围权限划分 支持 支持
字典管理 对系统中经常使用的一些较为固定的数据进行维护 支持 支持
参数管理 对系统动态配置常用参数 支持 支持
通知公告 系统通知公告信息发布维护 支持 支持
操作日志 系统正常操作日志记录和查询 系统异常信息日志记录和查询 支持 支持
登录日志 系统登录日志记录查询包含登录异常 支持 支持
文件管理 系统文件展示、上传、下载、删除等管理 支持
文件配置管理 系统文件上传、下载所需要的配置信息动态添加、修改、删除等管理 支持
在线用户管理 已登录系统的在线用户信息监控与强制踢出操作 支持 支持
定时任务 运行报表、任务管理(添加、修改、删除)、日志管理、执行器管理等 支持 仅支持任务与日志管理
代码生成 多数据源前后端代码的生成(java、html、xml、sql)支持CRUD下载 支持 仅支持单数据源
系统接口 根据业务代码自动生成相关的api接口文档 支持 支持
服务监控 监视集群系统CPU、内存、磁盘、堆栈、在线日志、Spring相关配置等 支持 仅支持单机CPU、内存、磁盘监控
缓存监控 对系统的缓存信息查询,命令统计等。 支持 支持
在线构建器 拖动表单元素生成相应的HTML代码。 支持 支持
使用案例 系统的一些功能案例 支持 不支持

Supongo que te gusta

Origin www.oschina.net/news/268340/ruoyi-cloud-plus-1-8-2-maintain
Recomendado
Clasificación