@RestController(value="dev-module") @RequestMapping(value="/dev/module") public class ModuleController extends BaseController
request, response| 构造器和说明 |
|---|
ModuleController() |
| 限定符和类型 | 方法和说明 |
|---|---|
ApiResult<ModuleVO> |
add(Map<String,Object> paramMap)
添加模块接口
该接口用于添加一个新的模块,需要传入模块的名称、所属应用以及相关参数。
|
ApiResult<Map<String,Object>> |
addByMenu(Map<String,Object> paramMap)
通过菜单添加应用
该接口用于通过菜单来添加一个新的应用,如果应用已存在则进行更新操作
|
ApiResult<String> |
copy(Map<String,Object> paramMap)
复制模块接口
该接口用于将一个模块从源应用复制到目标应用,并重新命名
|
void |
createDefaultLayout(String appName,
String moduleName,
String layoutName)
添加默认布局。
|
ApiResult<com.alibaba.fastjson.JSONObject> |
detail(String appName,
String moduleName)
获取应用模块的详细信息
根据传入的应用名称和模块名称,查询并返回对应的模块详细信息,包括应用名称、模块名称及关联菜单。
|
Object |
exportModule(String appName,
String moduleName)
导出模块接口
根据提供的应用名称和模块名称,导出对应的模块并返回下载结果
|
String |
getDefaultLayoutCode(String gridId,
String gridName,
String gridRefid)
获取默认布局代码,通过替换模板文件中的占位符生成最终布局代码。
|
ApiResult<String> |
importModule(String appName,
String moduleName,
org.springframework.web.multipart.MultipartFile file)
导入模块接口
该接口用于将指定应用名称、模块名称和文件上传到服务器,并进行模块的安装操作。
|
ApiResult<List<com.alibaba.fastjson.JSONObject>> |
list(String name,
String sort,
String order,
String appName)
获取模块列表接口
根据提供的参数获取符合条件的模块列表,支持按名称、排序方式、顺序以及应用名称进行筛选。
|
ApiResult<List<Map<String,Object>>> |
listMenuByApp(String uuid,
int deviceType)
根据应用UUID列出菜单
该接口用于根据传入的应用UUID和设备类型,查询并返回符合条件的菜单列表,不包括按钮权限的菜单项。
|
ApiResult<String> |
move(Map<String,Object> paramMap)
移动模块接口
该接口用于将指定应用的模块移动到新的应用下
|
ApiResult<String> |
publish(Map<String,Object> dataMap)
发布模块接口
该接口用于将指定应用下的模块进行发布操作
|
ApiResult<String> |
publishI18n(Map<String,Object> dataMap)
发布国际化资源
该接口用于发布应用的国际化资源,需要传入应用名称和模块名称
|
ApiResult<String> |
refresh()
刷新模块缓存接口
该接口用于刷新模块缓存,并返回刷新成功的信息。
|
ApiResult<String> |
remove(Map<String,Object> paramMap)
删除指定应用及模块
通过接收包含应用名和模块名的参数Map,删除对应的应用及模块资源
|
ApiResult<String> |
rename(Map<String,Object> paramMap)
重命名模块文件
该接口用于重命名指定应用下的模块文件,需要传入应用名称、模块名称以及新的文件名。
|
ApiResult<String> |
save(Map<String,Object> paramMap)
保存模块信息
该接口用于保存或更新模块信息,包括模块名称、应用名称、描述和版本。
|
ApiResult<String> |
saveAs(Map<String,Object> paramMap)
模块另存为接口
该接口用于将指定应用的指定模块另存为新模块
|
static void |
sortListByField(List<com.alibaba.fastjson.JSONObject> list,
String fieldName,
String sortOrder)
根据指定字段对JSON对象列表进行排序
|
error, error, fail, fail, fail, getLoginID, getLoginName, getLoginOrgID, getLoginOrgName, getLoginUser, getNickname, getTenantId, getUserName, getUserNo, i18n, i18n, isAdministrator, isDeveloper, limit, offset, ok, ok, response, success, success, success, success, validateToken@PostMapping(value="/remove") @Transactional(rollbackFor=java.lang.Exception.class) @Permission(value="DEVELOPER") public ApiResult<String> remove(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含应用名(appName)和模块名(moduleName)的Map对象Exception - 如果参数不符合要求或操作失败,将抛出Exception异常@GetMapping(value="/detail") @Permission(value="DEVELOPER") public ApiResult<com.alibaba.fastjson.JSONObject> detail(@RequestParam String appName, @RequestParam String moduleName) throws BusiException, SQLException
appName - 应用名称,不可为空moduleName - 模块名称,不可为空RuntimeException - 如果appName或moduleName为空,则抛出异常并返回失败信息BusiExceptionSQLException@PostMapping(value="/addByMenu") @Permission(value="DEVELOPER") public ApiResult<Map<String,Object>> addByMenu(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含添加或更新应用所需参数的Map对象
- appName: 应用名称(必填)
- title: 菜单名称(必填)
- id: 菜单ID(更新时必填)
- menu_type: 菜单类型(可选,"3"表示新添加菜单创建模块)Exception - 如果应用名称为空或菜单名称为空,则抛出异常public void createDefaultLayout(String appName, String moduleName, String layoutName) throws SQLException, BusiException
appName - 应用名称moduleName - 模块名称layoutName - 布局名称SQLException - 如果数据库操作失败,则抛出此异常BusiException - 如果布局已经存在,则抛出此异常public String getDefaultLayoutCode(String gridId, String gridName, String gridRefid)
gridId - 网格ID,用于替换模板中的${gridId}占位符gridName - 网格名称,用于替换模板中的${gridName}占位符gridRefid - 网格引用ID,用于替换模板中的${gridRefid}占位符URISyntaxException - 当资源路径URI格式不正确时抛出IOException - 当读取布局模板文件发生IO错误时抛出@PostMapping(value="/add") @Permission(value="DEVELOPER") public ApiResult<ModuleVO> add(@RequestBody Map<String,Object> paramMap) throws SQLException, BusiException, EntityException
paramMap - 请求参数,包含以下字段:SQLException - 如果数据库操作出现异常则抛出该异常BusiException - 如果业务逻辑出现错误(如参数校验失败)则抛出该异常EntityException@GetMapping(value="/refresh") @Permission(value="DEVELOPER") public ApiResult<String> refresh() throws Exception
Exception - 在刷新缓存过程中发生异常时抛出@PostMapping(value="/publish") @Permission(value="DEVELOPER") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> publish(@RequestBody Map<String,Object> dataMap) throws Exception
dataMap - 包含发布模块所需的数据,包括appName和moduleName
- appName: 应用名称,不能为空
- moduleName: 模块名称,不能为空Exception - 如果应用名称或模块名称为空,或者发布过程中出现异常,则抛出Exception异常@PostMapping(value="/publishI18n") @Permission(value="DEVELOPER") @Transactional(rollbackFor=java.lang.Exception.class) public ApiResult<String> publishI18n(@RequestBody Map<String,Object> dataMap) throws Exception
dataMap - 包含发布国际化资源所需的数据,其中必须包含appName和moduleName
- appName: 应用名称,不能为空
- moduleName: 模块名称,不能为空Exception - 如果操作过程中出现任何异常,将抛出Exception@PostMapping(value="/save") @Permission(value="DEVELOPER") public ApiResult<String> save(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含模块信息的Map对象,其中包括以下字段:
- moduleName: 模块名称(必填)
- appName: 应用名称(必填)
- description: 模块描述(可选)
- version: 模块版本(可选)Exception - 如果操作过程中出现任何异常,将抛出Exception异常@GetMapping(value="/listMenuByApp") @Permission(value="DEVELOPER") public ApiResult<List<Map<String,Object>>> listMenuByApp(@RequestParam String uuid, @RequestParam(required=false,defaultValue="0") int deviceType) throws SQLException
uuid - 应用UUID,用于指定查询哪个应用的菜单deviceType - 设备类型,用于指定查询哪种设备类型的菜单,默认为0SQLException - 如果数据库查询过程中发生错误,则抛出SQLException异常@GetMapping(value="/list") @Permission(value="DEVELOPER") public ApiResult<List<com.alibaba.fastjson.JSONObject>> list(@RequestParam(required=false) String name, @RequestParam(required=false) String sort, @RequestParam(required=false) String order, @RequestParam(required=false) String appName) throws Exception
name - 模块名称,用于模糊查询模块名称,非必填sort - 排序字段,如未提供则默认按"createDate"排序,非必填order - 排序方式,"asc"表示升序,"desc"表示降序,如未提供则默认"desc",非必填appName - 应用名称,用于指定查询哪个应用的模块,必填Exception - 如果appName为空,则抛出异常public static void sortListByField(List<com.alibaba.fastjson.JSONObject> list, String fieldName, String sortOrder)
list - 要排序的JSON对象列表,不能为null但可以为空列表fieldName - 用于排序的字段名sortOrder - 排序顺序,"asc"表示升序,"desc"表示降序(不区分大小写)
如果字段值为null,则该元素在排序中保持原位(视为相等)@PostMapping(value="/copy") @Permission(value="DEVELOPER") public ApiResult<String> copy(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含复制模块所需参数的Map
- moduleName: 源模块名称,不能为空
- appName: 源应用名称,不能为空
- newModuleName: 新模块名称,不能为空
- newAppName: 新应用名称,不能为空Exception - 如果任何参数为空,或复制过程中出现异常,则抛出Exception异常@PostMapping(value="/move") @Permission(value="DEVELOPER") public ApiResult<String> move(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含移动模块所需参数的Map
- moduleName: 模块名称,不能为空
- appName: 应用模块名称,不能为空
- newAppName: 新应用名称,不能为空Exception - 如果参数校验不通过或移动过程中发生异常,则抛出Exception@PostMapping(value="/saveAs") @Permission(value="DEVELOPER") public ApiResult<String> saveAs(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含请求参数的Map,包括appName、moduleName和newName
- appName: 应用名称,不能为空
- moduleName: 模块名称,不能为空
- newName: 新模块名称,不能为空Exception - 如果操作过程中出现任何异常,将抛出Exception异常@PostMapping(value="/rename") @Permission(value="DEVELOPER") public ApiResult<String> rename(@RequestBody Map<String,Object> paramMap) throws Exception
paramMap - 包含重命名所需参数的Map
- appName: 应用名称,不能为空
- moduleName: 模块名称,不能为空
- newName: 新的文件名,不能为空且不能含有特殊字符Exception - 如果参数校验不通过或重命名操作失败,则抛出Exception异常@GetMapping(value="/exportModule") @Permission(value="DEVELOPER") public Object exportModule(@RequestParam String appName, @RequestParam String moduleName) throws Exception
appName - 应用名称,不能为空moduleName - 模块名称,不能为空Exception - 如果应用名称或模块名称为空,或者导出过程中发生异常,则抛出Exception@PostMapping(value="/importModule") @Permission(value="DEVELOPER") public ApiResult<String> importModule(@RequestParam String appName, @RequestParam String moduleName, @RequestParam org.springframework.web.multipart.MultipartFile file) throws Exception
appName - 应用名称,不能为空moduleName - 模块名称,不能为空file - 要上传的文件,不能为空Exception - 如果发生异常,如文件操作失败或解析错误等,将抛出Exception异常Copyright © 2025. All rights reserved.