wiki-files/wg-basic/modules.md

428 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: 1.基础模块简介
description: wg-basic中的基础模块简介
published: true
date: 2021-11-11T03:22:02.863Z
tags: wg-basic
editor: markdown
dateCreated: 2021-07-29T06:22:03.545Z
---
# 依赖模块说明
模块的命名规律
1. **basic-*** 基础模块,必须存在,在一般情况下,已经由其他模块依赖。
2. **common** 通用模块,必须引入,唯一。
3. **login-*** 登录模块。
4. **module-*** 独立模块,可有可无,需根据实际情况灵活配置。
5. **service-*** 默认的核心业务模块,相互之间由所依赖,需要根据实际情况灵活配置。
## basic-annotation
该模块包含了框架中用到的注解,属于基础模块,由`common`模块依赖,无需单独引入。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-annotation</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-pojo
该模块包含了框架中使用到的公共实体类DTO、BO、PO、VO等无需单独引入由`basic-interface`模块依赖。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-pojo</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-app
该模块用于实现对APP的的管理包含了APP的token管理token格式的校验。
开发人员根据实际情况确认是否引入该模块如果开发的系统需要对接APP而又没有引入该模块时在解析token时会抛出异常。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-app</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-exception
该模块中包含了框架中使用到的全部自定义异常,无需单独引入,由`common`模块依赖。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-exception</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-interface
该模块包含了框架中使用到的公共接口,无需单独引入,由`common`模块依赖。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-properties
该模块包含了框架中用到的公共配置类,无需单独引入,由`common`模块依赖。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-properties</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## basic-util
该模块包含了框架中使用到的工具类,无需单独引入,由`common`模块依赖
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>basic-util</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## common
该模块为框架通用核心模块,包含了框架中使用到的增强过滤器、参数校验、权限校验与失败处理、系统默认菜单自动创建等功能。如果单独引入了`common`模块,可在此基础上自定义构建系统,同时也可以通过引入其他模块(已经依赖了`common`模块)来快速构建系统。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## login-base
登录的基础模块提供了Web的登录的必要功能和接口。
功能包括:
1. 界面配置
2. 用户统计
3. 用户操作日志
4. 登录失败
5. 退出登录
6. 用户登录、权限校验
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-base</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## login-app
App登录模块提供了App登录的必要功能依赖于`login-base`模块。
功能包括:
1. App版本管理
2. App用户登录
3. App设备绑定
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-app</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## login-wechat
Wechat登录模块依赖于`login-base`模块于`module-wechat`模块。
功能包括:
1. 微信小程序用户登录
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-wechat</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## login-oauth2-server
OAuth2认证服务端模块依赖于 `login-base` 模块,`service-menu` 模块
功能包括:
1. 客户端管理
2. OAuth2单点登录认证
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-oauth2-server</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## login-oauth2-client
OAuth2客户端
功能包括:
1. 用户业务
2. 部门业务
3. 角色业务
4. 职位业务
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>login-oauth2-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-activiti
流程模块:如果项目需要使用流程引擎,可引入该模块
功能包括:
1. 流程管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-activiti</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-article
文章模块,如果系统要使用简单的文章管理,可引入该模块,也可以在该模块的基础上进行拓展。
功能包括:
1. 文章目录管理
2. 内容管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-article</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-dictionary
字典模块,系统中使用到的各种数据字典。
功能包括:
1. 地区字典管理
2. 数据字典管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-dictionary</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-file
文件模块,包括了文件简单的上传、下载等功能。上传图片时,会对图片进行压缩处理,压缩比例可通过配置文件设置。
功能包括:
1. 视频管理
2. 音频管理
3. 文件管理
4. 图片管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-file</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-file-media
文件媒体模块,该模块用于替换`module-file`模块,属于升级模块,目前,模块中对音视频的上传做了分类处理,对视频文件增加了转码功能。
功能包括:
1. 视频管理
2. 音频管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-file-media</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-map
地图模块,目前只有对网格的数据管理功能。
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-map</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-oauth2-client
OAuth2客户端依赖
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-oauth2-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-sms
信息模块,该模块用户发送短信息,提供了对用户发送手机短信、邮件。
短信功能的发送方可通过配置文件控制,目前的默认方式需要获取用户名和密码(与提供商购买)。后续会完善腾讯云的短信功能,根据配置激活即可。
功能包括:
1. 短信管理
2. 邮件管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-sms</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## module-wechat
微信功能模块,对接微信公众号、小程序时使用该模块,目前只提供了公众号与小程序的用户绑定功能,后续会根据项目完善该模块功能。依赖于`service-user`模块。
功能包括:
1. 公众号用户绑定
2. 小程序用户绑定
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>module-wechat</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## register-base
用户注册基础模块目前该模块只提供了App的用户注册用户名+密码、手机+验证码注册,当使用手机+验证码注册用户时用户的密码为默认密码默认密码可根据配置文件设置如果没有设置密码为88888888。依赖于`service-user`模块,后续可能会更改包名。
功能包括:
1. App用户注册
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>register-base</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## register-wechat
微信公众号用户注册,通过手机与唯一验证码绑定微信与系统用户。依赖于`service-user`模块、`module-wechat`模块。
功能包括:
1. 微信公众号用户注册
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>register-wechat</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-department
组织机构管理业务,该模块用于管理组织机构、组织机构用户。如果系统中不需要组织机构管理可以不引入该业务模块。依赖于`service-user`模块、`module-dictionary`模块。
功能包括:
1. 组织机构管理
2. 组织机构用户管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-department</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-group
组业务,该模块用于管理组与用户之间的关系,组相当于对用户进行归类,与组织机构类似,一般情况下该模块不需要引入。依赖于`service-user`模块。
功能包括:
1. 组管理
2. 组用户管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-group</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-menu
菜单业务,该模块用于系统中的菜单。如果系统中的菜单不需要动态维护则可不引入该依赖。引入依赖后,系统启动时,会根据该模块中的设置动态创建默认菜单,模块中的初始化菜单代码和方式后续会根据实际情况作出调整。
功能包括:
1. 菜单管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-menu</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-oauth-client
单点登录客户端业务该模块用于分布式系统的统一登录管理引入该模块的系统可以作为Oauth2.0客户端独立运行,用户在登录时,访问系统后,会自动重定向到登录页面,在登录授权之后又会重定向回访问的页面。目前该模块并未完善,后续会根据实际情况作出调整。
功能包括:
1. 客户端管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-oauth-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-permission
权限业务该模块提供了Web系统的`增`、`删`、`改`、`查`接口权限,支持 ant 风格路径匹配,并且提供了接口快捷导入功能。如果系统不需要细化的权限管理,可以引入该模块。
1. 增、删、改、查权限管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-permission</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-position
职位业务,该模块用于管理职位与用户之间的关系,与组织机构类似,一般情况下该模块不需要引入。依赖于`service-user`模块。
功能包括:
1. 职位管理
2. 职位用户管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-position</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-role
角色业务,与用户有关系的接口权限、菜单权限、数据权限等均由该模块进行管理,属于用户管理中的核心模块,将用户与权限进行动态关联。如果不需要权限的动态管理则不需要要引入该模块,依赖于`service-menu`模块,`service-permission`模块,`service-department`模块。
功能包括:
1. 角色管理
2. 数据权限管理
3. 接口权限管理
4. 菜单权限管理
5. 角色用户管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-role</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```
## service-user
用户业务,对系统用户进行统一管理。如果开发人员想自定义其他有关的业务功能,就只需要单独引入该模块进行拓展。如果系统没有用户动态管理功能,则不需要引入该模块,同时与该模块由管的其他所有模块将均不能使用。
功能包括:
1. 用户管理
```xml
<dependency>
<groupId>ink.wgink</groupId>
<artifactId>service-user</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
```