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

@@ -0,0 +1,34 @@
package tech.easyflow.auth.service.impl;
import cn.dev33.satoken.stp.SaLoginModel;
import org.junit.Assert;
import org.junit.Test;
/**
* {@link AuthLoginSessionPolicy} 测试。
*/
public class AuthLoginSessionPolicyTest {
/**
* 验证 Web 登录使用独立设备类型并要求替换旧会话。
*/
@Test
public void shouldBuildExclusiveWebLoginModel() {
SaLoginModel model = AuthLoginSessionPolicy.webLoginModel();
Assert.assertEquals("WEB", model.getDevice());
Assert.assertEquals("default-device", AuthLoginSessionPolicy.LEGACY_WEB_DEVICE);
Assert.assertTrue(AuthLoginSessionPolicy.shouldReplaceExistingWebSession());
}
/**
* 验证 API Key 会话使用独立设备类型和指定有效期。
*/
@Test
public void shouldBuildIndependentApiKeyLoginModel() {
SaLoginModel model = AuthLoginSessionPolicy.apiKeyLoginModel(120L);
Assert.assertEquals("API_KEY", model.getDevice());
Assert.assertEquals(Long.valueOf(120L), model.getTimeout());
}
}