alova 的 Method 请求体是构造函数第 5 个参数(instance.data),不是 config 上的键。 原 post() 把 body 塞进 config,被适配器静默忽略,POST 恒发空 body, 后端 @RequestBody 直接抛 HttpMessageNotReadableException: Required request body is missing。 受影响的接口(同一 helper): - def/save、map/save、callback/repush:一律 400 Required request body is missing - task/reject:opinion 送不到,而 FlowTaskService 强制要求非空,拒绝必然失败 - task/approve:请求成功但审批意见被静默丢弃 同时: - Defs.vue 保存时回传 baseGuid,否则「升版本」会另起流程线而非同线升版本 - 补上调用方已在使用但 FlowApi 未定义的 callbackHung / callbackMarkDead 验证:本地后端实测 def/save 带 body 返回 code=0(新建草稿、编辑草稿、 baseGuid 升版本 version+1 且 flowGuid 不变);alova 运行时对照确认 config.body 与 config.data 均发不出 body,仅第 5 参有效。
This commit is contained in:
+12
-2
@@ -11,8 +11,10 @@ function get<T = any>(url: string, params?: Record<string, any>): Method<T> {
|
||||
return new Method<T>("GET", alovaInstance, url, { params });
|
||||
}
|
||||
|
||||
// alova 的请求体是 Method 构造的第 5 个参数(instance.data),不是 config 上的键:
|
||||
// 写进 config 的 body/data 都会被适配器忽略,POST 将发出空 body。
|
||||
function post<T = any>(url: string, body?: any): Method<T> {
|
||||
return new Method<T>("POST", alovaInstance, url, { body: body ?? {} });
|
||||
return new Method<T>("POST", alovaInstance, url, {}, body);
|
||||
}
|
||||
|
||||
/** 状态枚举(后端 FlwEnums 口径) */
|
||||
@@ -82,7 +84,7 @@ class FlowApi {
|
||||
defGet(id: number | string) {
|
||||
return get(`${ROOT}/admin/def/get`, { id });
|
||||
}
|
||||
defSave(body: { id?: number; code: string; name: string; contentJson: string }) {
|
||||
defSave(body: { id?: number; code: string; name: string; contentJson: string; baseGuid?: string }) {
|
||||
return post(`${ROOT}/admin/def/save`, body);
|
||||
}
|
||||
defPublish(id: number | string) {
|
||||
@@ -129,6 +131,14 @@ class FlowApi {
|
||||
callbackDead(params: { page?: number; size?: number }) {
|
||||
return get(`${ROOT}/admin/callback/dead`, params);
|
||||
}
|
||||
/** 挂起列表(待推且重试达阈值) */
|
||||
callbackHung(params: { page?: number; size?: number }) {
|
||||
return get(`${ROOT}/admin/callback/hung`, params);
|
||||
}
|
||||
/** 手工标记死信(标记后可 repush 复活) */
|
||||
callbackMarkDead(id: number | string) {
|
||||
return post(`${ROOT}/admin/callback/markDead/${id}`);
|
||||
}
|
||||
callbackRepush(ids: number[]) {
|
||||
return post(`${ROOT}/admin/callback/repush`, ids);
|
||||
}
|
||||
|
||||
@@ -95,6 +95,7 @@ async function onSave() {
|
||||
code: form.value.code,
|
||||
name: form.value.name,
|
||||
contentJson: form.value.contentJson,
|
||||
baseGuid: form.value.baseGuid,
|
||||
}).send();
|
||||
Message.success("已保存");
|
||||
editVisible.value = false;
|
||||
|
||||
Reference in New Issue
Block a user