---
title: 基础模块简介
description: wg-basic中的基础模块简介
published: true
date: 2021-08-02T08:34:54.251Z
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>
```
## 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-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>
```