# 核心框架

# 概述

核心框架集成公共和通用的公共包能力,达到核心框架包可拆分可依赖,可集成的目的,通过集成核心框架,形成基础的核心能力。

# 功能架构

这里核心、数据、前端、接口、安全、权限等模块的划分,同时也包含多个服务之前引用的关系

序号 类型 模块 名称 说明 备注
1 pom POM父类工程 alinesno-infra-platform-parent 该模块是整个项目的父类工程,用于管理项目的依赖关系和构建配置。
1 核心包 配置中心 alinesno-infra-common-config 该模块提供了配置中心的功能,用于集中管理项目的配置信息。
2 核心包 alinesno-infra-common-core 该模块是项目的核心功能包,包含了一些通用的核心功能和工具类。
3 微服务调用 alinesno-infra-common-feign 该模块提供了微服务调用的功能,使用Feign来实现服务之间的通信。
4 门面包 alinesno-infra-common-facade 该模块提供了门面模式的封装,用于简化外部系统与内部系统的交互。
1 组件包 Kafka调用组件 alinesno-infra-sdk-kafka 该模块提供了与Kafka消息队列的交互功能,用于发送和接收Kafka消息。
2 Redis调用组件 alinesno-infra-sdk-redis 该模块提供了与Redis数据库的交互功能,封装了常用的Redis操作方法。
3 Mongodb调用组件 alinesno-infra-sdk-mongodb 封装了常用的Mongodb操作方法。
4 分布式锁调用组件 alinesno-infra-sdk-distlock 该模块提供了分布式锁的实现,用于在分布式环境下实现资源的互斥访问。
1 前端包 基础前端包 alinesno-infra-common-web 该模块提供了基础的前端功能和组件,用于构建Web应用的前端界面。
2 核心组件前端包 alinesno-infra-common-web-base 该模块包含了一些核心的前端组件,可以在项目中复用和扩展。
3 单点登陆前端包 alinesno-infra-common-web-sso 该模块提供了单点登录的前端功能,用于实现用户在多个系统中的统一登录。
4 普通登陆前端包 alinesno-infra-common-web-login 该模块提供了普通登录的前端功能,用于用户在单个系统中的登录认证。
1 安全包 基础安全包 alinesno-infra-common-security 包括权限控制、加密解密等安全相关的操作。
2 接口安全包 alinesno-infra-common-security-api 用于对接口进行安全验证和访问控制。
3 数据安全包 alinesno-infra-common-security-mapper 用于对数据库中的数据进行安全保护和加密。
4 日志安全包 alinesno-infra-common-security-log 该模块提供了日志安全功能,用于对系统的日志进行安全记录和审计。
1 前端UI 前端UI核心包 alinesno-infra-ui 该模块提供了前端UI的核心组件和样式,用于构建美观的用户界面。

# 父类集成

父类通过可配置的变量进行集成管理,即通过传递参数变量来进行各个环境之前的转换区分

序号 分类 功能 说明 备注
1 集成能力 Nexus仓库集成 将Nexus仓库集成到系统中,用于管理和存储软件包、依赖项等。
2 集成revision统一版本号 在系统中集成revision统一版本号功能,确保软件包和依赖项的版本号一致性。
3 集成镜像仓库一键打成容器镜像 将系统集成到镜像仓库中,并提供一键打包成容器镜像的功能。,方便部署和扩展。
4 集成非root账号运行 非root账号运行可以降低系统受到攻击的风险,并限制对系统资源的访问权限。

# 配置中心

# core基础功能

以下是对每个模块的功能和说明的补充:

序号 模块 功能 说明 备注
1 能用能力 分布式框架 结合微服务框架,使用合适的身份验证机制。
2 公共依赖包(配置/公共代码) 包含配置文件和公共代码,供其他模块使用。
3 服务容器化 将服务容器化,使其能够在容器环境中运行。
4 代码生成器 自动生成代码,提高开发效率。
5 MyBatis操作集成 集成MyBatis框架,方便数据库操作。
6 按钮权限 根据用户权限控制按钮的显示与隐藏。
7 单点登录 实现用户在多个系统中只需登录一次即可访问其他系统。
8 租户集成 支持多租户的系统架构,使不同租户的数据相互隔离。
9 多服务集成 将多个服务集成到一个系统中,实现功能的整合和共享。
10 前端集成 将前端代码集成到后端系统中,实现前后端的协同开发。
11 多平台发布集成 支持在多个平台上发布系统,如Web、移动端等。
12 本地调试 提供本地调试环境,方便开发人员进行调试和测试。
13 异常处理 统一处理系统中的异常,提高系统的健壮性和容错性。
14 日志处理 记录系统运行时的日志信息,便于故障排查和系统监控。
15 页面搜索 实现对系统中各个页面的搜索功能,方便用户查找信息。
16 Redis缓存使用 使用Redis作为缓存,提高系统的性能和响应速度。
17 分布式Redis缓存使用 在分布式环境下使用Redis作为缓存,支持多个节点之间的数据同步和共享。
18 系统日志 记录系统的操作日志和事件日志,用于审计和追踪系统行为。
19 消息使用 实现系统内部的消息传递和通信,支持异步处理和解耦。
20 日志埋点 在系统中埋点记录关键操作和事件,用于分析统计和业务监控。
21 SwaggerUI文档 使用SwaggerUI生成接口文档,方便开发人员查看和调试接口。
22 多数据库源 支持连接多个不同类型的数据库,实现对多个数据库的操作。
23 配置加密 对敏感配置信息进行加密处理,保护系统的安全性。
24 表单提交校验 对用户提交的表单数据进行校验,确保数据的合法性和完整性。
25 Excel导入/导出 支持将数据导入到系统或从系统导出数据到Excel文件。
26 文件上传 实现用户上传文件的功能,存储和管理用户上传的文件。
27 XSS攻击防护 防止系统受到跨站脚本攻击,保护用户的信息安全。
28 多数据源分库分表(读写分离) 支持将数据分布在多个数据库中,实现读写分离和数据的水平扩展。
29 多数据源动态加载卸载 支持动态加载和卸载数据源,方便系统对多个数据源的管理和切换。
30 多数据源事务( jta atomikos) 支持在多数据源的情况下进行事务管理,保证数据的一致性和完整性。
31 CDN配置 配置CDN加速服务,提高系统的访问速度和稳定性。
32 多种环境部署 支持在不同的环境中部署系统,如开发环境、测试环境和生产环境等。
33 分布式ID 生成分布式环境下唯一的ID,用于标识和区分不同的数据和实体。
34 基类能力 通用API 提供通用的API接口,供其他模块进行调用和扩展。
35 通用CURD 实现通用的增删改查操作,简化数据操作的代码编写。
36 通用Service 提供通用的业务逻辑处理功能,减少重复代码的编写。
37 通用Mapper 提供通用的数据库操作方法,简化数据库操作的代码编写。
38 Junit基础类 提供基础的Junit测试类,方便进行单元测试和集成测试。
39 ORM基础类 封装ORM框架的基础类,简化数据库操作的代码编写。
40 Entity基础类 定义实体类的基础结构和属性,用于数据的存储和传输。
41 PO基础类 定义持久化对象的基础结构和属性,用于与数据库进行交互。
42 VO基础类 定义视图对象的基础结构和属性,用于展示数据给用户。
43 Exception基础类 定义异常类的基础结构,用于系统中的异常处理和错误提示。
44 Service基础类 定义业务逻辑处理类的基础结构,提供通用的业务处理方法。
45 Mapper基础类 定义数据库操作类的基础结构,提供通用的数据库操作方法。
46 分页基础类 封装分页查询的基础类,方便进行分页查询操作。
47 日志基础类 定义日志记录类的基础结构,用于记录系统运行时的日志信息。
48 基础通用常量 定义系统中使用的常量,提高代码的可读性和可维护性。
49 获取Context上下文 提供获取系统上下文信息的方法,方便在代码中获取和使用上下文信息。

# web集成

包含公共组件集成

序号 类型 功能 说明 备注
1 通用集成 普通JWT前后端登录 确保只有经过身份验证和授权的用户才能访问敏感接口API。使用合适的身份验证机制。
2 单点登录 实现用户在多个系统中的统一登录,避免重复登录的问题。
3 菜单权限集成 将菜单权限与用户角色关联,控制用户在系统中的菜单访问权限。
4 权限注解 通过在方法或类上添加注解,实现对接口或方法的权限控制。
5 数据权限 控制用户对数据的访问权限,确保用户只能访问其具备权限的数据。
6 参数和代码集成 对参数进行验证和处理,确保参数的合法性和安全性。
7 CORS集成 实现跨域资源共享,允许不同域名下的前端应用访问后端接口。
8 黑白名单路径请求 根据请求路径进行黑名单或白名单的过滤,限制或允许特定的请求。
9 安全验证码集成 集成验证码功能,用于防止恶意机器人或自动化攻击。
10 前端异常 捕获和处理前端应用的异常,提供友好的错误提示和日志记录。
11 公共前端返回对象 定义和封装前端应用的公共返回对象,统一的数据结构和格式。
12 数据请求分页 对数据查询请求进行分页处理,返回分页结果给前端应用。
13 代码过滤转换 对请求或响应的代码进行过滤和转换,确保安全性和合规性。
14 会话管理 管理用户的会话状态,实现用户登录状态的保持和管理。
15 公共API 提供一些通用的API接口,如文件上传、短信发送等功能。
1 模块集成 代码转换插件机制 提供代码转换的插件机制,用于在编译或运行时对代码进行转换和增强。
2 获取当前用户注解制 提供注解方式获取当前登录用户的信息,方便在代码中获取用户上下文。
3 存储接口集成 集成存储接口,用于对数据进行持久化存储和访问。
4 非存储接口集成 集成非存储接口,用于与外部系统进行交互和通信。
5 通知组件集成 集成通知组件,用于发送和接收系统内部或外部的通知消息。
6 分布式ID集成 集成分布式ID生成器,确保在分布式环境下生成唯一的ID。

# 安全过滤

序号 类型 功能 说明 备注
1 接口安全 接口API数据加密和解密 对接口API的数据进行加密和解密,确保数据在传输和存储过程中的安全性。
2 接口API的限流配置 针对接口API的请求量进行限制,防止恶意请求和过载情况对系统造成影响。
3 接口API的文件上传安全限制 对接口API的文件上传进行安全限制,包括文件类型、大小、文件名等的验证和限制。
4 接口API的防重复提交 防止接口API被重复提交,避免重复操作和数据不一致的问题。
5 接口API的防SQL注入/防XSS攻击 针对接口API的输入进行过滤和验证,防止SQL注入和跨站脚本攻击。
6 接口API的全加密交互 对接口API的请求和响应进行全程加密,确保数据在传输过程中的机密性和完整性。
7 接口API防越权配置 控制用户对接口API的访问权限,防止越权访问和未授权操作。
8 身份验证和授权 确保只有经过身份验证和授权的用户才能访问敏感接口API。使用合适的身份验证机制。
9 强化密码策略 对于涉及用户密码的接口API,实施强密码策略,包括密码复杂性要求。
10 输入验证和过滤 对于接收用户输入的接口API,确保进行输入验证和过滤,以防止恶意输入和攻击。
11 安全漏洞扫描 定期进行安全漏洞扫描和代码审查,以发现和修复潜在的安全漏洞和弱点。
12 异常处理和错误信息 在接口API中,避免向用户返回具体的错误信息,以防止信息泄露和攻击者利用这些信息。
1 数据安全 数据存储安全,包括数据库字段和数据显示 对数据库中的数据进行安全存储,包括对敏感字段的加密和对数据的安全显示。
2 数据审计(对账) 对数据进行审计和对账,确保数据的完整性和一致性,并监测潜在的安全问题。
3 数据敏感词过滤 对数据进行敏感词过滤,防止敏感信息的泄露和不当使用。
4 数据范围(数据权限) 控制用户对数据的访问权限,确保用户只能访问其具备权限的数据。
5 表结构自动维护 自动维护数据库表结构的变更,包括新增、修改、删除表字段等操作。
6 字段数据绑定(字典回写) 将数据字段与字典进行绑定,实现数据的字典回写和显示。
7 虚拟属性绑定 将虚拟属性与数据字段进行绑定,实现数据的动态计算和展示。
8 字段加密解密 对字段进行加密和解密操作,确保敏感数据在存储和传输过程中的安全性。
9 字段脱敏 对字段进行脱敏处理,隐藏敏感信息的具体内容,保护用户隐私。
10 字段加密解密 对字段进行加密和解密操作,确保敏感数据在存储和传输过程中的安全性。
11 字段脱敏 对字段进行脱敏处理,隐藏敏感信息的具体内容,保护用户隐私。
1 其它 日志输出打印安全,主要包括加密和数据配置 对系统日志进行安全处理,包括加密敏感信息和配置适当的日志级别。
2 日志和监控 记录和监控接口API的访问日志,包括请求和响应数据,以便追踪和分析潜在的安全问题。
3 双因子认证安全,主要集成TOPT安全 实现双因子认证的安全机制,提供额外的身份验证保护。

# 前端ui核心包

此为登陆前端框架默认集成功能(同时配置后台实现)

序号 类型 功能 说明 备注
1 桌面端组件 界面布局 统一界面布局管理和配置
2 文件上传 提供用户上传文件的功能
3 菜单列表 显示可用的菜单选项供用户选择
4 切换缓存 允许用户切换缓存以提高系统性能
5 自定义主题 允许用户自定义系统的界面主题
6 临时锁屏 提供临时锁屏功能,保护用户的数据安全
7 图片查看 允许用户查看图片文件
8 分页列表 显示分页列表,方便用户浏览和导航大量数据
9 服务支持列表 显示可用的服务支持选项供用户选择
10 平台功能介绍 显示平台的功能介绍信息
1 账号密码登陆 允许用户使用账号密码进行登陆
2 验证码开关 允许用户开启或关闭验证码功能
3 通知公告 提供通知公告功能,向用户发送重要信息
4 平台教程列表 显示平台的教程列表,帮助用户了解和使用系统
5 登陆次数限制 对用户的登陆次数进行限制
6 登陆次数限制时间 设置用户登陆次数限制的时间间隔
7 登陆IP限制 对用户的登陆IP进行限制
8 登陆IP限制时间 设置用户登陆IP限制的时间间隔
9 自定义登陆域名 允许用户自定义登陆页面的域名
10 手机验证码登陆 允许用户使用手机验证码进行登陆
11 微信绑定登陆 允许用户使用微信账号进行登陆
12 自定义logo 允许用户自定义系统的logo
13 自定义banner 允许用户自定义系统的banner
14 自定义企业信息 允许用户自定义系统中显示的企业信息
15 自定义企业说明 允许用户自定义系统中显示的企业说明
16 自定义版权信息 允许用户自定义系统中显示的版权信息
17 自定义团队信息 允许用户自定义系统中显示的团队信息
18 自定义登陆标题 允许用户自定义登陆页面的标题
19 获取系统配置 获取系统的配置信息
20 获取参数字典 获取系统中定义的参数字典
21 获取当前用户 获取当前登陆用户的信息
22 异常处理 处理系统中发生的异常情况
23 内容复制 提供复制内容的功能
24 使用图标 使用图标来增加系统界面的美观和易用性
25 权限使用 根据用户的权限控制系统中的功能访问
26 多级目录 支持多级目录结构,方便用户组织和管理系统功能
27 Request工具类 提供封装的HTTP请求工具类,简化前端与后端的数据交互
28 SessionStorage工具类 提供封装的SessionStorage操作工具类,方便前端存储和读取数据
29 Cookie工具类 提供封装的Cookie操作工具类,方便前端存储和读取Cookie数据
30 LocalStorage工具类 提供封装的LocalStorage操作工具类,方便前端存储和读取本地数据
31 用户信息编辑 允许用户编辑和更新自己的个人信息
32 用户头像修改上传 允许用户修改和上传自己的头像图片
33 登陆日志 记录用户的登陆日志,方便管理员查看登陆历史记录
34 在线会话管理 管理用户的在线会话,包括查看和终止用户的会话
35 异常登陆拦截 拦截异常的登陆行为,保护系统的安全
36 踢人下线 强制将指定用户下线,保护系统的安全
37 最大登陆会话 设置用户最大允许的同时登陆会话数
38 最长登陆时间 设置用户登陆会话的最长有效时间
39 单点登陆 支持单点登陆,用户只需登陆一次即可访问多个相关系统
40 单点退出 支持单点退出,用户退出一个系统后同时退出其他相关系统
41 登陆条款编辑 允许管理员编辑和更新登陆条款
42 登陆隐私政策编辑 允许管理员编辑和更新登陆隐私政策
43 登陆隐私政策编辑 允许管理员编辑和更新登陆隐私政策
44 邮件二次登陆 允许用户通过邮件进行二次登陆
45 令牌二次认证 允许用户使用令牌进行二次认证
46 登陆数据加密 对用户的登陆数据进行加密保护
47 记住我安全加密 对“记住我”功能中的用户信息进行安全加密
48 钉钉/微信扫描登陆 允许用户使用钉钉或微信扫描二维码进行登陆

# 其它