mldong-app模块初始化

众所周之,当前项目包含 mldong-admin 管理端和 mldong-app 移动端两个主要模块。目前 mldong-app 开源版本为空项目,尚未包含任何实际代码。本文档将详细介绍 mldong-app 模块的初始化步骤。

pom.xml配置

  1. mldong-admin 模块的 pom.xml 文件复制到 mldong-app 模块中
  2. 修改 mldong-app 模块的 pom.xml 文件中的 <artifactId> 标签:
    <artifactId>mldong-app</artifactId>
    

pom.xml

复制配置类

  1. mldong-app 模块中新建包 com.mldong.config
  2. mldong-admin 模块中 com.mldong.config 包下的所有类复制到 mldong-appcom.mldong.config 包下

config配置类

复制配置文件

  1. mldong-admin 模块的 resources/* 所有文件复制到 mldong-app 模块的 resources 文件夹下
  2. 修改 application.yml 文件中的应用名和端口号:

配置文件

server:
  port: 18081
#...略
#spring相关配置
spring:
  application:
    name: mldong-app
#...略
# 管理配置
management:
  server:
    port: 50081
#...略

复制控制层类

  1. mldong-app 模块中新建包 com.mldong.modules.sys
  2. mldong-admin 模块中 com.mldong.modules.sys 包下的 AuthController.javaUserController.java 类复制到 mldong-appcom.mldong.modules.sys 包下

用户中心接口清单

在移动端应用中,通常只需要保留与用户个人中心相关的接口:

接口路径请求方式接口说明
/sys/user/permCodePOST获取个人权限标识
/sys/user/updateInfoPOST修改个人信息
/sys/user/infoPOST获取用户个人信息
/sys/user/updatePwdPOST修改个人密码
/sys/user/updateAvatarPOST修改个人头像
/sys/user/onlineDevicePOST获取在线设备列表

操作建议

  • 删除所有与用户管理、用户列表等管理功能相关的接口
  • 保留的接口主要服务于当前登录用户的个人操作
  • 根据实际业务需求,可以适当增减接口

复制启动类

mldong-admin 模块的 com.mldong.MldongAdminApplication.java 类复制到 mldong-app 模块包 com.mldong 下,并修改类名为 MldongAppApplication.java

package com.mldong;

import org.dromara.x.file.storage.spring.EnableFileStorage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author mldong
 * @date 2023/9/20
 */
@SpringBootApplication
@EnableFileStorage
public class MldongAppApplication {
    public static void main(String[] args) {
        SpringApplication.run(MldongAppApplication.class, args);
    }
}

启动项目

启动 mldong-app 模块,访问 http://localhost:18081/doc.html 查看接口文档。

授权管理用户管理

关于登录

管理端和用户端使用同一套用户登录体系,因此登录接口复用管理端接口。为了区分业务逻辑,登录时需要在请求头中增加 appCode 参数:

  • appCode=PLATFORM:表示默认的管理端
  • appCode=APP:表示移动端

可通过 MenuAppCodeEnum.java 类进行扩展。

应用编码配置

应用编码在管理系统中也有体现:

  1. 菜单管理:系统设置 -> 菜单管理,包含多个 tab 页,分别对应不同应用编码下的菜单
  2. 角色管理:系统设置 -> 角色管理,包含多个 tab 页,分别对应不同应用编码下的角色

菜单管理角色管理

完整目录

完整目录

最后

至此,mldong-app 模块的初始化步骤已全部完成,现在可以开始移动端应用的开发工作了。

需要注意的是,管理端和移动端的业务逻辑可以充分复用。如需区分不同端的业务处理,可以在业务逻辑中通过 appCode 参数进行区分判断。可通过 LoginUserHolder.getAppCode() 方法获取当前应用编码,实现差异化业务逻辑处理。

虽然控制层(Controller层)是独立的,各自维护不同的接口,但服务层(Service层)和数据访问层(DAO层)等底层业务逻辑完全可以共享复用,这样既保证了接口的灵活性,又避免了重复开发相同的业务逻辑。