修复系统概览数据不准确的查询。修复交叉评查意见列表的数量查询。优化全局消息提示的层级。优化提交意见进行局部更新。
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/**
|
||||
* 客户端检测工具函数
|
||||
* 用于在服务器端从请求头中获取客户端信息
|
||||
*/
|
||||
|
||||
/**
|
||||
* 从请求头中检测客户端ID
|
||||
* @param request - Remix Request对象
|
||||
* @returns 客户端ID字符串
|
||||
*/
|
||||
export const detectClientFromRequest = (request: Request): string => {
|
||||
// 从Nginx传递的头部获取客户端ID
|
||||
const clientId = request.headers.get('X-Client-ID');
|
||||
const originalPort = request.headers.get('X-Original-Port');
|
||||
|
||||
if (clientId) {
|
||||
console.log(`🎯 检测到客户端ID: ${clientId} (端口: ${originalPort})`);
|
||||
return clientId;
|
||||
}
|
||||
|
||||
// 根据端口映射客户端ID(备用方案)
|
||||
const portToClient: Record<string, string> = {
|
||||
'5174': 'client-a',
|
||||
'5175': 'client-b',
|
||||
'5176': 'client-c',
|
||||
'5177': 'client-d'
|
||||
};
|
||||
|
||||
if (originalPort && portToClient[originalPort]) {
|
||||
console.log(`🎯 通过端口映射检测到客户端: ${portToClient[originalPort]} (端口: ${originalPort})`);
|
||||
return portToClient[originalPort];
|
||||
}
|
||||
|
||||
console.log('⚠️ 未能检测到客户端ID,使用默认值: main');
|
||||
return 'main';
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取请求的调试信息
|
||||
* @param request - Remix Request对象
|
||||
* @returns 调试信息对象
|
||||
*/
|
||||
export const getRequestDebugInfo = (request: Request) => {
|
||||
return {
|
||||
url: request.url,
|
||||
method: request.method,
|
||||
clientId: request.headers.get('X-Client-ID'),
|
||||
originalPort: request.headers.get('X-Original-Port'),
|
||||
forwardedPort: request.headers.get('X-Forwarded-Port'),
|
||||
realIp: request.headers.get('X-Real-IP'),
|
||||
forwardedFor: request.headers.get('X-Forwarded-For'),
|
||||
userAgent: request.headers.get('User-Agent')
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user