将前端传入的token改成后端获取当前用户的token

This commit is contained in:
2025-08-22 10:22:24 +08:00
parent 5ca7473d6a
commit fc6ed00a3e

View File

@@ -117,11 +117,11 @@ public class AiChatController extends BaseController {
// 在主线程中获取当前用户名,避免在异步线程中获取安全上下文
String currentUsername = SecurityUtils.getLoginUser().getUsername();
String currentUserToken = SecurityUtils.getLoginUser().getToken();
// 异步执行请求处理,避免阻塞主线程
CompletableFuture.runAsync(() -> {
try {
sendToDifyAndStream(requestData, emitter, currentUsername);
sendToDifyAndStream(requestData, emitter, currentUsername, currentUserToken);
} catch (Exception e) {
e.printStackTrace();
try {
@@ -147,7 +147,7 @@ public class AiChatController extends BaseController {
* @param currentUsername
* @throws IOException 当网络请求或IO操作失败时抛出
*/
private void sendToDifyAndStream(Map<String, Object> requestData, SseEmitter emitter, String currentUsername)
private void sendToDifyAndStream(Map<String, Object> requestData, SseEmitter emitter, String currentUsername,String currentUserToken)
throws IOException {
// 构建请求体参数
@@ -184,9 +184,9 @@ public class AiChatController extends BaseController {
inputs.put("user_name", userName);
}
Object userToken = requestData.get("user_token");
if (userToken != null) {
inputs.put("user_token", userToken);
//Object userToken = requestData.get("user_token");
if (currentUserToken != null) {
inputs.put("user_token", currentUserToken);
}
Object userRole = requestData.get("user_role");