跳转至

Designer 模块 API

Designer 模块是 MyApps 平台的**设计器服务**(obpm-designer),负责应用、表单、视图、流程等设计时资源的管理与配置。该模块默认运行在 8082 端口,context-path 占位符为 ${myapps.context-path.designer:}(部署时替换为具体上下文路径,缺省为空)。

覆盖进度:44 / 44 控制器(已全部覆盖)

Designer 模块共有约 44 个设计时控制器(应用、表单、视图、流程、菜单、角色、数据源、报表、打印、大屏、API 中心等)。本阶段已文档化全部 44 个(合计 289 个端点)。

注:Designer 模块的 REST 基址并非统一的 /api/rest,而是按控制器分布(/api/designtime/applications/api/macro/...、根路径 /),详见各控制器文档。

已文档化控制器

文件 中文名 基址 端点数
upload-designtime.md UploadDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 1
macro.md MacroController (无类级基址,端点路径自含) 1
welcome.md WelcomeController ${myapps.context-path.designer:} 1
view.md ViewController(设计时) ${myapps.context-path.designer:}/api/designtime/applications 27
debug.md DebugController ${myapps.context-path.designer:}/api/debug 21
form.md FormController(设计时) ${myapps.context-path.designer:}/api/designtime/applications 19
datasource.md DataSourceController ${myapps.context-path.designer:}/api/designtime/applications 15
data-model.md DataModelDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 8
application-designtime.md ApplicationDesignTimeController ${myapps.context-path.designer:}/api/designtime 15
application-market.md ApplicationMarketController ${myapps.context-path.designer:}/api/designtime 3
module-designtime.md ModuleDesignTimeController ${myapps.context-path.designer:}/api/designtime 6
reports.md ReportsController ${myapps.context-path.designer:}/api/designtime/applications 13
bill-defi.md BillDefiController ${myapps.context-path.designer:}/api/designtime/applications 11
menu.md MenuController ${myapps.context-path.designer:}/api/designtime/applications 11
role-designtime.md RoleDesignTimeController ${myapps.context-path.designer:}/api/designtime 6
state-label.md StateLabelController ${myapps.context-path.designer:}/api/designtime/applications 5
super-user.md SuperUserController ${myapps.context-path.designer:}/api/designtime/applications 8
print-designtime.md PrintDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 8
big-screen-designtime.md BigScreenDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 8
multi-language.md MulitLanguageController ${myapps.context-path.designer:}/api/designtime/applications 7
excel-configs.md ExcelConfigsController ${myapps.context-path.designer:}/api/designtime/applications 7
task.md TaskController ${myapps.context-path.designer:}/api/designtime/applications 6
ext-interface.md ExtInterfaceController ${myapps.context-path.designer:}/api/designtime/applications 6
cross-report-designtime.md CrossReportDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 6
chart.md ChartController ${myapps.context-path.designer:}/api/designtime/applications 5
styles.md StylesController ${myapps.context-path.designer:}/api/designtime/applications 5
page-widget-designtime.md PageWidgetController ${myapps.context-path.designer:}/api/designtime/applications 5
page-widget-group.md PageWidgetGroupController ${myapps.context-path.designer:}/api/designtime/applications 5
macros.md MacrosController ${myapps.context-path.designer:}/api/designtime/applications 5
link.md LinkController ${myapps.context-path.designer:}/api/designtime/applications 5
eip.md EipController ${myapps.context-path.designer:}/api/designtime/applications 5
summary.md SummaryController ${myapps.context-path.designer:}/api/designtime/applications 5
validates.md ValidatesController ${myapps.context-path.designer:}/api/designtime/applications 5
activity-designtime.md ActivityController(设计时操作) ${myapps.context-path.designer:}/api/designtime/applications 5
api-designtime.md ApiDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 5
api-group-designtime.md ApiGroupDesignTimeController ${myapps.context-path.designer:}/api/designtime/applications 5
login-designtime.md LoginDesignTimeController ${myapps.context-path.designer:}/api/designtime 2
compile.md CompileController ${myapps.context-path.designer:}/api/designtime 2
license-designtime.md LicenseDesignTimeController ${myapps.context-path.designer:}/api/designtime 1
log-designtime.md LogController ${myapps.context-path.designer:}/api/designtime/applications 1
global-search.md GlobalSearchController ${myapps.context-path.designer:}/api/designtime/applications 1
magic-resource.md MagicResourceController ${myapps.context-path.designer:} 1
print-designtime-runtime.md PrintDesignTimeRuntimeController ${myapps.context-path.designer:}/api/runtime 1
versions.md VersionsController ${myapps.context-path.designer:}/api/designtime 1

鉴权说明

(据源码)Designer 模块通过两个 Servlet 过滤器协同控制访问,URL 模式均为 /*

  • CommonSecurityFilterobpm-commonCommWebMvcConfig 中注册,order=-1,最先执行):仅允许 GET/POST/HEAD/OPTIONS 方法(其他方法直接返回 405);携带合法 systemToken 请求头(系统间 Feign 调用)的请求会被标记 pass=true 并跳过后续鉴权。
  • DesignerSecurityFilterobpm-coreDesignerMvcConfig 中注册):未被前置过滤器标记 pass 的请求须持有有效的 designerToken(JWT)。designerToken 按以下顺序查找:
  • query 参数 designerToken
  • Cookie designerToken
  • 请求头 designerToken
  • 请求头 Authorization: Bearer <token>

缺失或解析失败时返回 HTTP 401(无响应体)。Token 中 JWT claim username 即设计器用户标识,由 AbstractDesignTimeController.getUser() 解析后加载 SuperUserVO

鉴权豁免/api/designtime/login/*/api/designtime/logoutCommWebMvcConfig.filterRegistrationBeanPassFilter1(order=HIGHEST_PRECEDENCE)预标记 pass=trueDesignerSecurityFilter 直接放行(登录用于签发 designerToken,注销用于清除 Cookie)。详见 login-designtime.md

完整鉴权机制与错误码说明见:顶层 index.md

错误码补充

errcode HTTP 含义
4001 200 文件类型/格式不合法(由 UploadDesignTimeController.uploadExtInterfaceController.upload 的文件类型校验,以及 MulitLanguageController.importLanguage 的 Excel 文件格式校验返回,包在统一 Resource 中)
40001 200 保存校验失败(由 FormController/ApplicationDesignTimeController/ModuleDesignTimeController/EipController/ValidatesController/ApiDesignTimeController/ApiGroupDesignTimeController 的新建/更新接口返回,包在统一 Resource 中;含表单重名、查询表单含左右选择框、映射字段/主键校验、NeedConfirmException 确认提示、软件/模块重名、EIP/校验库/API/API 分组重名、API 未选分组等)。注:SummaryController 的同类校验异常被统一捕获为 errcode=500
401 401 designerToken 缺失或失效(由 DesignerSecurityFilter 直接设置状态码,无响应体)
405 405 HTTP 方法不被允许(由 CommonSecurityFilter 拦截,仅允许 GET/POST/HEAD/OPTIONS)
502 200 数据源连通失败或非 MySQL 不允许初始化(由 ApplicationDesignTimeController 的启用软件/初始化数据源接口返回,包在统一 Resource 中)

覆盖说明

本阶段已覆盖 obpm-designer 工作树下的全部 44 个控制器(见上表)。Designer 模块完整的设计时控制器清单见顶层 index.md「模块导航」。