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 模式均为 /*:
CommonSecurityFilter(obpm-common,CommWebMvcConfig中注册,order=-1,最先执行):仅允许GET/POST/HEAD/OPTIONS方法(其他方法直接返回405);携带合法systemToken请求头(系统间 Feign 调用)的请求会被标记pass=true并跳过后续鉴权。DesignerSecurityFilter(obpm-core,DesignerMvcConfig中注册):未被前置过滤器标记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/logout由CommWebMvcConfig.filterRegistrationBeanPassFilter1(order=HIGHEST_PRECEDENCE)预标记pass=true,DesignerSecurityFilter直接放行(登录用于签发designerToken,注销用于清除 Cookie)。详见login-designtime.md。
完整鉴权机制与错误码说明见:顶层 index.md。
错误码补充¶
| errcode | HTTP | 含义 |
|---|---|---|
| 4001 | 200 | 文件类型/格式不合法(由 UploadDesignTimeController.upload、ExtInterfaceController.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「模块导航」。