取消限制

This commit is contained in:
fengyarnom 2025-05-18 14:07:07 +08:00
parent ee338d2a09
commit 49aee3a2ed
6 changed files with 133 additions and 90 deletions

8
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

9
.idea/angle_dtu.iml generated Normal file
View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/angle_dtu.iml" filepath="$PROJECT_DIR$/.idea/angle_dtu.iml" />
</modules>
</component>
</project>

6
.idea/vcs.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

View File

@ -4,12 +4,12 @@ import (
"encoding/json"
"fmt"
"html/template"
"time"
"log"
"net/http"
"os"
"path/filepath"
"strconv"
"time"
)
// 启动HTTP服务器
@ -64,7 +64,8 @@ func handleGetData(w http.ResponseWriter, r *http.Request) {
startDateStr := r.URL.Query().Get("start_date")
endDateStr := r.URL.Query().Get("end_date")
limit := 500
limit := 500 // 默认限制为500条数据
noLimit := false // 是否不限制数据条数
var sensorID int
var err error
@ -78,6 +79,10 @@ func handleGetData(w http.ResponseWriter, r *http.Request) {
}
if limitStr != "" {
if limitStr == "all" {
noLimit = true
limit = 1000000 // 使用一个非常大的数值作为实际上的"无限制"
} else {
limit, err = strconv.Atoi(limitStr)
if err != nil || limit <= 0 {
log.Printf("错误: 无效的记录数限制: %s", limitStr)
@ -85,6 +90,7 @@ func handleGetData(w http.ResponseWriter, r *http.Request) {
return
}
}
}
var startDate, endDate time.Time
if startDateStr != "" {
@ -118,13 +124,18 @@ func handleGetData(w http.ResponseWriter, r *http.Request) {
return
}
log.Printf("成功获取到 %d 条数据记录", len(data))
if noLimit {
log.Printf("成功获取到所有数据记录(%d条", len(data))
} else {
log.Printf("成功获取到 %d 条数据记录(限制:%d条", len(data), limit)
}
if err := json.NewEncoder(w).Encode(data); err != nil {
log.Printf("错误: 编码JSON失败: %v", err)
http.Error(w, "编码JSON失败"+err.Error(), http.StatusInternalServerError)
}
}
// 处理获取所有传感器ID的API
func handleGetSensors(w http.ResponseWriter, r *http.Request) {
log.Printf("接收到获取传感器列表请求")

View File

@ -159,6 +159,7 @@
<option value="1000">1000</option>
<option value="2000">2000</option>
<option value="5000">5000</option>
<option value="all">全部</option>
</select>
</div>
@ -328,7 +329,7 @@
function resetFilters() {
initializeDatePickers();
document.getElementById('sensorSelect').value = 'all';
document.getElementById('limitSelect').value = '100';
document.getElementById('limitSelect').value = '500';
loadData();
}
@ -394,7 +395,7 @@
params.push(`sensor_id=${sensorID}`);
}
if (limit) {
if (limit && limit !== 'all') {
params.push(`limit=${limit}`);
}