Browse Source

ffds

feature/MultiClientLog
root 1 month ago
parent
commit
9d01b1f136
  1. 8
      LTEMvcApp/Controllers/HomeController.cs
  2. 252
      LTEMvcApp/Views/Statistics/Index.cshtml

8
LTEMvcApp/Controllers/HomeController.cs

@ -297,12 +297,4 @@ public class HomeController : Controller
ViewBag.IpGroups = ipGroups;
return View();
}
/// <summary>
/// 统计测试页面
/// </summary>
public IActionResult StatisticsTest()
{
return View();
}
}

252
LTEMvcApp/Views/Statistics/Index.cshtml

@ -137,6 +137,108 @@
</div>
</div>
</div>
<!-- 统计配置管理 -->
<div class="row mt-4">
<div class="col-12">
<div class="card">
<div class="card-header">
<h3 class="card-title">统计配置管理</h3>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h6>全局统计配置</h6>
</div>
<div class="card-body">
<div class="form-group">
<label>默认Samples:</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="globalSamples">
<label class="form-check-label" for="globalSamples">启用Samples</label>
</div>
</div>
<div class="form-group">
<label>默认RF:</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="globalRf">
<label class="form-check-label" for="globalRf">启用RF</label>
</div>
</div>
<button class="btn btn-primary btn-sm" onclick="loadGlobalConfig()">加载配置</button>
<button class="btn btn-success btn-sm" onclick="saveGlobalConfig()">保存配置</button>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header">
<h6>客户端特定配置</h6>
</div>
<div class="card-body">
<div class="form-group">
<label>客户端名称:</label>
<input type="text" class="form-control" id="clientName" placeholder="输入客户端名称">
</div>
<div class="form-group">
<label>IP地址:</label>
<input type="text" class="form-control" id="clientIp" placeholder="输入IP地址">
</div>
<div class="form-group">
<label>配置选项:</label>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="clientSamples">
<label class="form-check-label" for="clientSamples">启用Samples</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="clientRf">
<label class="form-check-label" for="clientRf">启用RF</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" id="clientEnabled" checked>
<label class="form-check-label" for="clientEnabled">启用配置</label>
</div>
</div>
<div class="form-group">
<label>描述:</label>
<input type="text" class="form-control" id="clientDescription" placeholder="配置描述">
</div>
<button class="btn btn-primary btn-sm" onclick="loadClientConfig()">加载配置</button>
<button class="btn btn-success btn-sm" onclick="saveClientConfig()">保存配置</button>
</div>
</div>
</div>
</div>
<div class="row mt-3">
<div class="col-12">
<h6>配置列表</h6>
<button class="btn btn-info btn-sm mb-2" onclick="loadAllClientConfigs()">刷新配置列表</button>
<div id="configList" class="table-responsive">
<table class="table table-striped table-sm">
<thead>
<tr>
<th>客户端名称</th>
<th>IP地址</th>
<th>Samples</th>
<th>RF</th>
<th>启用</th>
<th>描述</th>
<th>操作</th>
</tr>
</thead>
<tbody id="configTableBody">
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@section Scripts {
@ -150,6 +252,10 @@
loadSummary();
loadAllStats();
startRefreshTimer();
// 新增的配置管理初始化
loadGlobalConfig();
loadAllClientConfigs();
});
// 加载统计摘要
@ -340,5 +446,151 @@
clearInterval(refreshTimer);
}
});
// 统计配置管理相关函数
function loadGlobalConfig() {
console.log('加载全局统计配置...');
$.get('/Statistics/GetGlobalStatisticsConfig', function(response) {
if (response.success) {
const config = response.data;
document.getElementById('globalSamples').checked = config.defaultSamples;
document.getElementById('globalRf').checked = config.defaultRf;
console.log('全局配置已加载:', config);
} else {
console.error('加载全局配置失败:', response.message);
}
}).fail(function(xhr, status, error) {
console.error('加载全局配置错误:', error);
});
}
function saveGlobalConfig() {
const config = {
defaultSamples: document.getElementById('globalSamples').checked,
defaultRf: document.getElementById('globalRf').checked,
clientConfigs: []
};
console.log('保存全局统计配置...');
$.ajax({
url: '/Statistics/SetGlobalStatisticsConfig',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(config),
success: function(response) {
console.log('全局配置保存响应:', response);
if (response.success) {
alert('全局配置已保存');
} else {
alert('保存失败: ' + response.message);
}
},
error: function(xhr, status, error) {
console.error('保存全局配置错误:', error);
alert('保存失败: ' + error);
}
});
}
function loadClientConfig() {
const clientName = document.getElementById('clientName').value;
if (!clientName) {
alert('请输入客户端名称');
return;
}
console.log('加载客户端统计配置:', clientName);
$.get('/Statistics/GetClientStatisticsConfig', { clientName: clientName }, function(response) {
if (response.success && response.data) {
const config = response.data;
document.getElementById('clientName').value = config.clientName;
document.getElementById('clientIp').value = config.ipAddress;
document.getElementById('clientSamples').checked = config.enableSamples;
document.getElementById('clientRf').checked = config.enableRf;
document.getElementById('clientEnabled').checked = config.isEnabled;
document.getElementById('clientDescription').value = config.description;
console.log('客户端配置已加载:', config);
} else {
console.log('客户端配置未找到或加载失败');
}
}).fail(function(xhr, status, error) {
console.error('加载客户端配置错误:', error);
});
}
function saveClientConfig() {
const config = {
clientName: document.getElementById('clientName').value,
ipAddress: document.getElementById('clientIp').value,
enableSamples: document.getElementById('clientSamples').checked,
enableRf: document.getElementById('clientRf').checked,
isEnabled: document.getElementById('clientEnabled').checked,
description: document.getElementById('clientDescription').value
};
if (!config.clientName) {
alert('请输入客户端名称');
return;
}
console.log('保存客户端统计配置...');
$.ajax({
url: '/Statistics/SetClientStatisticsConfig',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(config),
success: function(response) {
console.log('客户端配置保存响应:', response);
if (response.success) {
alert('客户端配置已保存');
loadAllClientConfigs(); // 刷新配置列表
} else {
alert('保存失败: ' + response.message);
}
},
error: function(xhr, status, error) {
console.error('保存客户端配置错误:', error);
alert('保存失败: ' + error);
}
});
}
function loadAllClientConfigs() {
console.log('加载所有客户端配置...');
$.get('/Statistics/GetAllClientStatisticsConfigs', function(response) {
if (response.success) {
const configs = response.data;
const tbody = document.getElementById('configTableBody');
tbody.innerHTML = '';
configs.forEach(function(config) {
const row = document.createElement('tr');
row.innerHTML = `
<td>${config.clientName}</td>
<td>${config.ipAddress}</td>
<td>${config.enableSamples ? '是' : '否'}</td>
<td>${config.enableRf ? '是' : '否'}</td>
<td>${config.isEnabled ? '是' : '否'}</td>
<td>${config.description}</td>
<td>
<button class="btn btn-sm btn-primary" onclick="editConfig('${config.clientName}')">编辑</button>
</td>
`;
tbody.appendChild(row);
});
console.log('配置列表已更新,共', configs.length, '个配置');
} else {
console.error('加载配置列表失败:', response.message);
}
}).fail(function(xhr, status, error) {
console.error('加载配置列表错误:', error);
});
}
function editConfig(clientName) {
document.getElementById('clientName').value = clientName;
loadClientConfig();
}
</script>
}
Loading…
Cancel
Save