weblog-module-admin(管理模块:后台的所有数据的物理逻辑都是在这里实现的)

async 包

在 async 包中,主要包含与 异步任务 相关的类,用于处理一些耗时操作或需要异步执行的任务。以下是这些类的详细说明:

1. PVIncreaseAsyncTask

功能 :用于处理文章阅读量和 PV 统计的异步任务。 主要方法 :

  • handle(Long articleId) :
    • 作用 :异步处理文章阅读量和 PV 统计的增加。
    • 功能 :
      • 调用 articleDao.readNumIncrease(articleId) 增加文章阅读量。
      • 调用 statisticsArticlePVDao.pvIncrease(currDate) 增加 PV 统计。 作用 :通过异步任务封装文章阅读量和 PV 统计的增加逻辑,避免阻塞主线程,提高系统性能。

总结

async 包中的类主要用于处理一些耗时操作或需要异步执行的任务,例如文章阅读量和 PV 统计的增加。通过异步任务封装这些逻辑,避免阻塞主线程,提高系统的响应速度和性能。

config 包

1. ThreadPoolConfig

功能 :定义线程池配置。 主要方法 :

  • threadPoolTaskExecutor() :
    • 作用 :创建并配置线程池。
    • 功能 :
      • 设置核心线程数、最大线程数、队列容量等。
      • 设置线程名前缀。 作用 :通过配置类封装线程池的创建和配置逻辑,便于在项目中统一管理线程池。

2. PasswordEncoderConfig

功能 :定义密码加密配置。 主要方法 :

  • passwordEncoder() :
    • 作用 :创建并配置密码加密器。 作用 :通过配置类封装密码加密器的创建和配置逻辑,便于在项目中统一管理密码加密。

3. WebSecurityConfig

功能 :定义 Web 安全配置。 主要方法 :

  • configure(HttpSecurity http) :
    • 作用 :配置 HTTP 安全策略。
    • 功能 :
      • 禁用表单登录。
      • 配置 JWT 认证。
      • 设置 CSRF 防护。
      • 配置授权规则。
      • 设置会话管理策略。
      • 配置异常处理。
  • tokenAuthenticationFilter() :
    • 作用 :创建并配置 Token 认证过滤器。
  • authenticationManager() :
    • 作用 :创建并配置认证管理器。 作用 :通过配置类封装 Web 安全的配置逻辑,便于在项目中统一管理安全策略。

4. MinioProperties

功能 :定义 MinIO 存储服务的配置属性。 主要属性 :

  • endpoint :MinIO 服务地址。
  • accessKey :MinIO 访问密钥。
  • secretKey :MinIO 秘密密钥。
  • bucketName :MinIO 存储桶名称。 作用 :通过配置类封装 MinIO 存储服务的配置属性,便于在项目中统一管理 MinIO 配置。

5. MinioConfig

功能 :定义 MinIO 客户端配置。 主要方法 :

  • minioClient() :
    • 作用 :创建并配置 MinIO 客户端。 作用 :通过配置类封装 MinIO 客户端的创建和配置逻辑,便于在项目中统一管理 MinIO 客户端。

6. EventBusConfig

功能 :定义事件总线配置。 主要方法 :

  • eventBus() :
    • 作用 :创建并配置事件总线。 作用 :通过配置类封装事件总线的创建和配置逻辑,便于在项目中统一管理事件总线。

7. InsertBatchSqlInjector

功能 :定义批量插入 SQL 注入器配置。 主要方法 :

  • getMethodList() :
    • 作用 :获取批量插入 SQL 方法列表。 作用 :通过配置类封装批量插入 SQL 注入器的创建和配置逻辑,便于在项目中统一管理批量插入 SQL。

8. MyBaseMapper

功能 :定义 MyBatis Plus 基础 Mapper 配置。 主要方法 :

  • insertBatch() :
    • 作用 :批量插入数据。 作用 :通过配置类封装 MyBatis Plus 基础 Mapper 的创建和配置逻辑,便于在项目中统一管理 Mapper。

9. MybatisPlusConfig

功能 :定义 MyBatis Plus 配置。 主要方法 :

  • paginationInterceptor() :
    • 作用 :创建并配置分页拦截器。 作用 :通过配置类封装 MyBatis Plus 的配置逻辑,便于在项目中统一管理 MyBatis Plus。

10. CrosConfig

功能 :定义跨域配置。 主要方法 :

  • addCorsMappings(CorsRegistry registry) :
    • 作用 :配置跨域策略。 作用 :通过配置类封装跨域的配置逻辑,便于在项目中统一管理跨域策略。

总结

config 包中的类主要用于定义和管理项目中的各种配置信息,例如线程池、密码加密、Web 安全、MinIO 存储服务、事件总线、批量插入 SQL、MyBatis Plus、跨域等。通过配置类封装这些逻辑,便于在项目中统一管理各种配置,提高代码的复用性和可维护性。

controller包

在 controller 包中,主要包含与 控制器 相关的类,用于处理 HTTP 请求并返回响应。以下是这些类的详细说明:

1. AdminArticleController

功能 :处理与文章相关的管理后台请求。 主要方法 :

  • publishArticle(PublishArticleReqVO publishArticleReqVO) :发布文章。
  • updateArticle(UpdateArticleReqVO updateArticleReqVO) :更新文章。
  • queryArticleDetail(QueryArticleDetailReqVO queryArticleDetailReqVO) :获取文章详情。
  • queryArticlePageList(QueryArticlePageListReqVO queryArticlePageListReqVO) :获取文章分页数据。
  • deleteArticle(DeleteArticleReqVO deleteArticleReqVO) :删除文章。 作用 :通过控制器封装文章相关的业务逻辑,便于在管理后台处理文章的增删改查操作。

2. AdminBlogSettingController

功能 :处理与博客设置相关的管理后台请求。 主要方法 :

  • updateBlogSetting(UpdateBlogSettingReqVO updateBlogSettingReqVO) :更新博客设置。
  • queryBlogSettingDetail() :获取博客设置详情。 作用 :通过控制器封装博客设置相关的业务逻辑,便于在管理后台处理博客设置的更新和查询操作。

3. AdminCategoryController

功能 :处理与分类相关的管理后台请求。 主要方法 :

  • addCategory(AddCategoryReqVO addCategoryReqVO) :新增分类。
  • queryCategoryPageList(QueryCategoryPageListReqVO queryCategoryPageListReqVO) :获取分类分页数据。
  • deleteCategory(DeleteCategoryReqVO deleteCategoryReqVO) :删除分类。
  • queryCategorySelectList() :获取所有分类下拉框数据。 作用 :通过控制器封装分类相关的业务逻辑,便于在管理后台处理分类的增删改查操作。

4. AdminDashboardController

功能 :处理与仪表盘相关的管理后台请求。 主要方法 :

  • queryDashboardArticleStatisticsInfo() :获取文章统计信息。
  • queryDashboardPublishArticleStatisticsInfo() :获取文章发布统计信息。
  • queryDashboardPVStatisticsInfo() :获取 PV 统计信息。 作用 :通过控制器封装仪表盘相关的业务逻辑,便于在管理后台展示各种统计信息。

5. AdminTagController

功能 :处理与标签相关的管理后台请求。 主要方法 :

  • addTag(AddTagReqVO addTagReqVO) :新增标签。
  • queryTagPageList(QueryTagPageListReqVO queryTagPageListReqVO) :获取标签分页数据。
  • deleteTag(DeleteTagReqVO deleteTagReqVO) :删除标签。
  • searchTag(SearchTagReqVO searchTagReqVO) :标签模糊查询。
  • queryTagSelectList() :获取所有标签下拉框数据。 作用 :通过控制器封装标签相关的业务逻辑,便于在管理后台处理标签的增删改查操作。

6. AdminUserController

功能 :处理与用户相关的管理后台请求。 主要方法 :

  • updateAdminPassword(UpdateAdminPasswordReqVO updateAdminPasswordReqVO) :修改用户密码。
  • queryAdminDetail() :获取登录用户信息。 作用 :通过控制器封装用户相关的业务逻辑,便于在管理后台处理用户信息的更新和查询操作。

dao 包

在 dao 包中,主要包含与 数据访问对象 (DAO) 相关的类,用于封装对数据库的操作。以下是这些类的详细说明:

1. AdminArticleDao

功能 :处理与文章相关的数据库操作。 主要方法 :

  • insertArticle(ArticleDO articleDO) :插入文章数据。
  • queryByArticleId(Long articleId) :根据文章 ID 查询文章。
  • queryArticlePageList(Long current, Long size, Date startDate, Date endDate, String searchTitle) :查询文章分页数据。
  • deleteById(Long articleId) :根据文章 ID 删除文章。
  • updateById(ArticleDO articleDO) :根据文章 ID 更新文章。
  • selectTotalCount() :查询文章总数。
  • selectArticleCount(String startDate, String endDate) :查询文章统计信息。
  • readNumIncrease(Long articleId) :增加文章阅读量。 作用 :通过 DAO 封装文章相关的数据库操作,便于在业务逻辑中处理文章的增删改查。

2. AdminArticleContentDao

功能 :处理与文章内容相关的数据库操作。 主要方法 :

  • insertArticleContent(ArticleContentDO articleContentDO) :插入文章内容。
  • queryByArticleId(Long articleId) :根据文章 ID 查询文章内容。
  • deleteByArticleId(Long articleId) :根据文章 ID 删除文章内容。
  • updateByArticleId(ArticleContentDO articleContentDO) :根据文章 ID 更新文章内容。 作用 :通过 DAO 封装文章内容相关的数据库操作,便于在业务逻辑中处理文章内容的增删改查。

3. AdminArticleCategoryRelDao

功能 :处理与文章分类关系相关的数据库操作。 主要方法 :

  • insert(ArticleCategoryRelDO articleCategoryRelDO) :插入文章分类关系。
  • selectByArticleId(Long articleId) :根据文章 ID 查询文章分类关系。
  • deleteByArticleId(Long articleId) :根据文章 ID 删除文章分类关系。 作用 :通过 DAO 封装文章分类关系相关的数据库操作,便于在业务逻辑中处理文章分类关系的增删改查。

4. AdminArticleTagRelDao

功能 :处理与文章标签关系相关的数据库操作。 主要方法 :

  • insertBatch(List articleTagRelDOS) :批量插入文章标签关系。
  • selectByArticleId(Long articleId) :根据文章 ID 查询文章标签关系。
  • deleteByArticleId(Long articleId) :根据文章 ID 删除文章标签关系。 作用 :通过 DAO 封装文章标签关系相关的数据库操作,便于在业务逻辑中处理文章标签关系的增删改查。

5. AdminCategoryDao

功能 :处理与分类相关的数据库操作。 主要方法 :

  • selectAllCategory() :查询所有分类。
  • selectTotalCount() :查询分类总数。 作用 :通过 DAO 封装分类相关的数据库操作,便于在业务逻辑中处理分类的查询。

6. AdminTagDao

功能 :处理与标签相关的数据库操作。 主要方法 :

  • queryTagPageList(Long current, Long size, Date startDate, Date endDate, String tagName) :查询标签分页数据。
  • searchTags(String key) :根据关键字搜索标签。
  • selectAll() :查询所有标签。
  • insert(TagDO tagDO) :插入标签。
  • selectTotalCount() :查询标签总数。 作用 :通过 DAO 封装标签相关的数据库操作,便于在业务逻辑中处理标签的增删改查。

7. AdminUserDao

功能 :处理与用户相关的数据库操作。 主要方法 :

  • selectByUsername(String username) :根据用户名查询用户。
  • updateAdminPassword(UserDO userDO) :更新用户密码。 作用 :通过 DAO 封装用户相关的数据库操作,便于在业务逻辑中处理用户信息的查询和更新。

8. AdminUserRoleDao

功能 :处理与用户角色关系相关的数据库操作。 主要方法 :

  • selectByUsername(String username) :根据用户名查询用户角色关系。 作用 :通过 DAO 封装用户角色关系相关的数据库操作,便于在业务逻辑中处理用户角色关系的查询。

9. AdminStatisticsArticlePVDao

功能 :处理与文章 PV 统计相关的数据库操作。 主要方法 :

  • pvIncrease(Date currDate) :增加文章 PV 统计。
  • selectLatestWeekRecords() :查询最近一周的 PV 统计记录。
  • selectAllPVCount() :查询所有 PV 统计记录。 作用 :通过 DAO 封装文章 PV 统计相关的数据库操作,便于在业务逻辑中处理文章 PV 统计的增删改查。

总结

dao 包中的类主要用于封装对数据库的操作,例如文章、文章内容、文章分类关系、文章标签关系、分类、标签、用户、用户角色关系、文章 PV 统计等。通过 DAO 将这些操作暴露为接口,便于在业务逻辑中调用,提高代码的复用性和可维护性。

enums 包

在 enums 包中,主要包含与 枚举 相关的类,用于定义一些常量或枚举类型。以下是这些类的详细说明:

1. AdminResponseCodeEnum

功能 :定义管理后台的响应码枚举。 主要属性 :

  • errorCode :错误码。
  • errorMessage :错误信息。 作用 :通过枚举封装管理后台的响应码,便于在业务逻辑中统一管理错误码和错误信息。

2. EventEnum

功能 :定义事件枚举。 主要属性 :

  • eventType :事件类型。
  • eventDescription :事件描述。 作用 :通过枚举封装事件类型,便于在事件驱动架构中统一管理事件类型。

3. ResponseCodeEnum

功能 :定义通用的响应码枚举。 主要属性 :

  • errorCode :错误码。
  • errorMessage :错误信息。 作用 :通过枚举封装通用的响应码,便于在业务逻辑中统一管理错误码和错误信息。

总结

enums 包中的类主要用于定义一些常量或枚举类型,例如管理后台的响应码、事件类型、通用的响应码等。通过枚举封装这些常量,便于在业务逻辑中统一管理,提高代码的复用性和可维护性。

eventbus包

在 eventbus 包中,主要包含与 事件总线 相关的类,用于实现事件驱动架构中的事件发布和监听。以下是这些类的详细说明:

1. ArticleEvent

功能 :定义文章相关的事件。 主要属性 :

  • articleId :文章 ID,用于标识事件关联的文章。
  • message :事件消息,用于描述事件的具体内容。 作用 :通过事件对象封装文章相关的操作(如文章阅读量增加),便于在事件驱动架构中传递和处理。

2. EventListener

功能 :定义事件监听器接口。 主要方法 :

  • handleEvent(ArticleEvent event) :处理事件。 作用 :通过接口定义事件监听器的行为,便于在项目中统一管理事件处理逻辑。

3. AdminEventListener

功能 :实现事件监听器,处理管理后台的事件。 主要方法 :

  • handleEvent(ArticleEvent event) :
    • 作用 :处理文章相关的事件。
    • 功能 :
      • 获取事件中的文章 ID 和消息。
      • 调用异步任务处理文章阅读量增加。 作用 :通过实现事件监听器封装管理后台的事件处理逻辑,便于在事件驱动架构中处理文章相关的事件。

总结

eventbus 包中的类主要用于实现事件驱动架构中的事件发布和监听,例如文章相关的事件、事件监听器接口、管理后台的事件监听器等。通过事件总线封装这些逻辑,便于在项目中统一管理事件处理,提高代码的复用性和可维护性。

model 包

在 model 包中,主要包含与 数据模型 相关的类,用于定义请求和响应的数据结构。以下是这些类的详细说明:

1. Article

功能 :定义与文章相关的请求和响应数据结构。 主要类 :

  • QueryArticleDetailReqVO :查询文章详情的请求对象。
    • 属性 :
      • articleId :文章 ID。
  • QueryArticleDetailRspVO :查询文章详情的响应对象。
    • 属性 :
      • id :文章 ID。
      • title :文章标题。
      • content :文章内容。
      • categoryId :文章分类 ID。
      • tagIds :文章标签 ID 列表。
  • UpdateArticleReqVO :更新文章的请求对象。
    • 属性 :
      • id :文章 ID。
      • title :文章标题。
      • content :文章内容。
      • categoryId :文章分类 ID。
      • tags :文章标签列表。 作用 :通过数据模型封装文章相关的请求和响应数据,便于在业务逻辑中处理文章的增删改查操作。

2. Category

功能 :定义与分类相关的请求和响应数据结构。 主要类 :

  • AddCategoryReqVO :新增分类的请求对象。
    • 属性 :
      • name :分类名称。
  • DeleteCategoryReqVO :删除分类的请求对象。
    • 属性 :
      • categoryId :分类 ID。
  • QueryCategoryPageListReqVO :查询分类分页数据的请求对象。
    • 属性 :
      • current :当前页码。
      • size :每页大小。
      • startDate :开始日期。
      • endDate :结束日期。
      • categoryName :分类名称。
  • QueryCategoryPageListRspVO :查询分类分页数据的响应对象。
    • 属性 :
      • id :分类 ID。
      • name :分类名称。
      • createTime :创建时间。 作用 :通过数据模型封装分类相关的请求和响应数据,便于在业务逻辑中处理分类的增删改查操作。

3. Tag

功能 :定义与标签相关的请求和响应数据结构。 主要类 :

  • AddTagReqVO :新增标签的请求对象。
    • 属性 :
      • tags :标签列表。
  • QueryTagPageListReqVO :查询标签分页数据的请求对象。
    • 属性 :
      • current :当前页码。
      • size :每页大小。
      • startDate :开始日期。
      • endDate :结束日期。
      • tagName :标签名称。
  • SearchTagReqVO :搜索标签的请求对象。
    • 属性 :
      • key :搜索关键字。 作用 :通过数据模型封装标签相关的请求和响应数据,便于在业务逻辑中处理标签的增删改查操作。

4. User

功能 :定义与用户相关的请求和响应数据结构。 主要类 :

  • QueryUserDetailRspVO :查询用户详情的响应对象。
    • 属性 :
      • username :用户名。
      • avatar :用户头像。 作用 :通过数据模型封装用户相关的请求和响应数据,便于在业务逻辑中处理用户信息的查询和更新。

5. BlogSetting

功能 :定义与博客设置相关的请求和响应数据结构。 主要类 :

  • UpdateBlogSettingReqVO :更新博客设置的请求对象。
    • 属性 :
      • id :博客设置 ID。
      • blogName :博客名称。
      • author :博客作者。
      • avatar :作者头像。
      • introduction :博客简介。
      • githubHome :GitHub 主页。
      • csdnHome :CSDN 主页。
      • giteeHome :Gitee 主页。
      • zhihuHome :知乎主页。
  • QueryBlogSettingRspVO :查询博客设置的响应对象。
    • 属性 :
      • id :博客设置 ID。
      • blogName :博客名称。
      • author :博客作者。
      • avatar :作者头像。
      • introduction :博客简介。
      • githubHome :GitHub 主页。
      • csdnHome :CSDN 主页。
      • giteeHome :Gitee 主页。
      • zhihuHome :知乎主页。 作用 :通过数据模型封装博客设置相关的请求和响应数据,便于在业务逻辑中处理博客设置的更新和查询。

6. Dashboard

功能 :定义与仪表盘相关的响应数据结构。 主要类 :

  • QueryDashboardArticleStatisticsRspVO :查询文章统计信息的响应对象。
    • 属性 :
      • articleTotalCount :文章总数。
      • categoryTotalCount :分类总数。
      • tagTotalCount :标签总数。
      • pvTotalCount :PV 总数。
  • QueryDashboardPVStatisticsRspVO :查询 PV 统计信息的响应对象。
    • 属性 :
      • pvDates :PV 日期列表。
      • pvCounts :PV 数量列表。 作用 :通过数据模型封装仪表盘相关的响应数据,便于在业务逻辑中展示各种统计信息。

总结

model 包中的类主要用于定义请求和响应的数据结构,例如文章、分类、标签、用户、博客设置、仪表盘等。通过数据模型封装这些数据结构,便于在业务逻辑中处理数据的传递和展示,提高代码的复用性和可维护性。

service 包

在 service 包中,主要包含与 业务逻辑 相关的类,用于处理具体的业务操作。以下是这些类的详细说明:

1. AdminArticleService

功能 :处理与文章相关的业务逻辑。 主要方法 :

  • publishArticle(PublishArticleReqVO publishArticleReqVO) :发布文章。
  • queryArticleDetail(QueryArticleDetailReqVO queryArticleDetailReqVO) :查询文章详情。
  • queryArticlePageList(QueryArticlePageListReqVO queryArticlePageListReqVO) :查询文章分页数据。
  • deleteArticle(DeleteArticleReqVO deleteArticleReqVO) :删除文章。
  • updateArticle(UpdateArticleReqVO updateArticleReqVO) :更新文章。 作用 :通过服务类封装文章相关的业务逻辑,便于在控制器中调用。

2. AdminCategoryService

功能 :处理与分类相关的业务逻辑。 主要方法 :

  • addCategory(AddCategoryReqVO addCategoryReqVO) :新增分类。
  • queryCategoryPageList(QueryCategoryPageListReqVO queryCategoryPageListReqVO) :查询分类分页数据。
  • deleteCategory(DeleteCategoryReqVO deleteCategoryReqVO) :删除分类。
  • queryCategorySelectList() :查询分类下拉列表。 作用 :通过服务类封装分类相关的业务逻辑,便于在控制器中调用。

3. AdminTagService

功能 :处理与标签相关的业务逻辑。 主要方法 :

  • addTags(AddTagReqVO addTagReqVO) :新增标签。
  • queryTagPageList(QueryTagPageListReqVO queryTagPageListReqVO) :查询标签分页数据。
  • deleteTag(DeleteTagReqVO deleteTagReqVO) :删除标签。
  • searchTags(SearchTagReqVO searchTagReqVO) :搜索标签。
  • queryTagSelectList() :查询标签下拉列表。 作用 :通过服务类封装标签相关的业务逻辑,便于在控制器中调用。

4. AdminUserService

功能 :处理与用户相关的业务逻辑。 主要方法 :

  • updateAdminPassword(UpdateAdminPasswordReqVO updateAdminPasswordReqVO) :更新管理员密码。 作用 :通过服务类封装用户相关的业务逻辑,便于在控制器中调用。

5. AdminBlogSettingService

功能 :处理与博客设置相关的业务逻辑。 主要方法 :

  • updateBlogSetting(UpdateBlogSettingReqVO updateBlogSettingReqVO) :更新博客设置。
  • queryBlogSettingDetail() :查询博客设置详情。
  • queryNicknameAndAvatar() :查询昵称和头像。 作用 :通过服务类封装博客设置相关的业务逻辑,便于在控制器中调用。

6. AdminDashboardService

功能 :处理与仪表盘相关的业务逻辑。 主要方法 :

  • queryDashboardArticleStatisticsInfo() :查询文章统计信息。
  • queryDashboardPublishArticleStatisticsInfo() :查询文章发布统计信息。
  • queryDashboardPVStatisticsInfo() :查询 PV 统计信息。 作用 :通过服务类封装仪表盘相关的业务逻辑,便于在控制器中调用。

7. AdminFileService

功能 :处理与文件上传相关的业务逻辑。 主要方法 :

  • uploadFile(MultipartFile file) :上传文件。 作用 :通过服务类封装文件上传相关的业务逻辑,便于在控制器中调用。

8. UserDetailService

功能 :处理与用户认证相关的业务逻辑。 主要方法 :

  • loadUserByUsername(String username) :根据用户名加载用户信息。 作用 :通过服务类封装用户认证相关的业务逻辑,便于在 Spring Security 中调用。

总结

service 包中的类主要用于处理具体的业务逻辑,例如文章、分类、标签、用户、博客设置、仪表盘、文件上传、用户认证等。通过服务类封装这些业务逻辑,便于在控制器中调用,提高代码的复用性和可维护性。

utils 包

在 utils 包中,主要包含与 工具类 相关的类,用于封装一些通用的工具方法。以下是这些类的详细说明:

1. MinioUtil

功能 :处理与 MinIO 文件存储相关的操作。 主要方法 :

  • uploadFile(MultipartFile file) :
    • 作用 :上传文件到 MinIO 存储。
    • 功能 :
      • 检查文件是否为空。
      • 生成唯一的文件名。
      • 将文件上传到 MinIO 并返回访问 URL。 作用 :通过工具类封装 MinIO 文件上传的逻辑,便于在业务逻辑中调用。

2. ResultUtil

功能 :处理与结果封装相关的操作。 主要方法 :

  • success() :返回成功结果。
  • success(T data) :返回带数据的成功结果。
  • fail(String message) :返回失败结果。 作用 :通过工具类封装结果返回的逻辑,便于在业务逻辑中统一管理结果返回。

3. MarkdownUtil

功能 :处理与 Markdown 解析相关的操作。 主要方法 :

  • toHtml(String markdown) :将 Markdown 转换为 HTML。
  • toPlainText(String markdown) :将 Markdown 转换为纯文本。 作用 :通过工具类封装 Markdown 解析的逻辑,便于在业务逻辑中处理 Markdown 内容。

4. AgentRegionUtils

功能 :处理与用户代理和地区解析相关的操作。 主要方法 :

  • parseUserAgent(String userAgent) :解析用户代理信息。
  • parseRegion(String ip) :解析 IP 地址对应的地区信息。 作用 :通过工具类封装用户代理和地区解析的逻辑,便于在业务逻辑中处理用户信息。

总结

utils 包中的类主要用于封装一些通用的工具方法,例如文件上传、结果封装、Markdown 解析、用户代理和地区解析等。通过工具类封装这些逻辑,便于在业务逻辑中调用,提高代码的复用性和可维护性。

相关推荐
谦行1 分钟前
前端视角 Java Web 入门手册 5.4:真实世界 Web 开发——Java Web 代码组织与分层
java·后端·架构
Goboy4 分钟前
构建异步消息通信机制设计与实现
后端·程序员·架构
汪小成15 分钟前
NestJS学习笔记-02-模块、控制器与服务,手把手构建你的第一个CRUD API!🚀
后端·nestjs
小周不摆烂40 分钟前
解锁元生代:ComfyUI工作流与云原生后端的深度融合
后端
qq_447663051 小时前
Spring-注解编程
java·后端·spring
风象南1 小时前
Redis中5种BitMap应用场景及实现
redis·后端
声声codeGrandMaster3 小时前
Django之modelform使用
后端·python·django
慕容静漪9 小时前
如何本地安装Python Flask并结合内网穿透实现远程开发
开发语言·后端·golang
ErizJ9 小时前
Golang|锁相关
开发语言·后端·golang
烛阴10 小时前
手把手教你搭建 Express 日志系统,告别线上事故!
javascript·后端·express