feat: 完成分享、单会话与发布审批改造

- 增加工作流协作分享与知识库卡片分享入口,统一低版本浏览器复制反馈

- Web 新登录替换旧会话,并保持 API Key 会话隔离

- 发布审批增加必填说明并在审批详情展示

- 账号重置与导入改用可配置默认强密码
This commit is contained in:
2026-07-23 16:09:31 +08:00
parent caa1f07b66
commit 5a42826d44
71 changed files with 3191 additions and 132 deletions

View File

@@ -1,5 +1,6 @@
package tech.easyflow.common.web.error;
import cn.dev33.satoken.exception.NotLoginException;
import org.junit.Test;
import org.springframework.core.MethodParameter;
import org.springframework.http.HttpStatus;
@@ -22,6 +23,26 @@ public class GlobalErrorResolverTest {
private final GlobalErrorResolver resolver = new GlobalErrorResolver();
/**
* 验证被新 Web 登录替换的旧会话返回明确的 401 提示。
*/
@Test
public void shouldExplainReplacedLoginSession() {
Resolution resolution = resolve(NotLoginException.newInstance(
"login",
NotLoginException.BE_REPLACED,
NotLoginException.BE_REPLACED_MESSAGE,
null
));
assertEquals(401, resolution.response.getStatus());
assertEquals(401, resolution.modelAndView.getModel().get("errorCode"));
assertEquals(
"该账号已在其他设备登录,请重新登录",
resolution.modelAndView.getModel().get("message")
);
}
/**
* 验证业务冲突不会被包装为 HTTP 200。
*/