1、增加不用登录的查看设备网页

This commit is contained in:
weidong 2024-05-12 10:17:08 +08:00
parent 1ea4b33ede
commit 0437fa2f5e
3 changed files with 191 additions and 2 deletions

View File

@ -21,7 +21,8 @@ public class WebMvcConfig implements WebMvcConfigurer {
public void addInterceptors(InterceptorRegistry registry) {
registry.addInterceptor(authInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/**/*.js","/**/*.css","/**/*.jpg","/**/*.png", "/do_login", "/mini-register", "/login", "/test/**", "/api/**",
"/file/upload");
.excludePathPatterns("/**/*.js","/**/*.css","/**/*.jpg","/**/*.png",
"/do_login", "/mini-register", "/login", "/test/**", "/api/**",
"/file/upload","/device_summary/**");
}
}

View File

@ -0,0 +1,50 @@
package com.imdroid.beidou.controller;
import com.alibaba.fastjson.JSONObject;
import com.imdroid.common.util.NumberUtils;
import com.imdroid.secapi.dto.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import java.time.format.DateTimeFormatter;
@Controller
public class DeviceSummaryController extends BasicController{
@Autowired
private GnssStatusMapper gnssStatusMapper;
final DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
/**** 推送页面 *****/
@RequestMapping("/device_summary")
public String gnssDevSummary() {
return "/page/gnss_dev_summary";
}
/**** 推送数据 *****/
@RequestMapping("/device_summary/query")
@ResponseBody
public JSONObject query(@RequestParam String deviceId) {
JSONObject jsonObject = new JSONObject();
GnssStatusJoin gnssStatus = gnssStatusMapper.queryByDeviceId(deviceId);
if(gnssStatus==null){
jsonObject.put("code",0);
jsonObject.put("msg","无此设备");
}
else{
jsonObject.put("code",1);
jsonObject.put("deviceState",gnssStatus.getState()==GnssStatus.STATE_OFFLINE?"0":"1");
jsonObject.put("deviceType",gnssStatus.getDevicetype()==GnssDevice.TYPE_ROVER?"监测站":"基准站");
jsonObject.put("onlineTime",gnssStatus.getUpdatetime().format(dateFormatter));
jsonObject.put("voltage",NumberUtils.scaleTwo((double)gnssStatus.getVoltage()/1000));
jsonObject.put("satNum",gnssStatus.getSatelliteinuse()>=12?"多于12":gnssStatus.getSatelliteinuse());
jsonObject.put("rxBytes",gnssStatus.getB562bytes()+gnssStatus.getD3xxbytes());
jsonObject.put("rssi",gnssStatus.getRssi());
}
return jsonObject;
}
}

View File

@ -0,0 +1,138 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>设备信息</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="../lib/layui-v2.6.3/css/layui.css" media="all">
<link rel="stylesheet" href="../css/public.css" media="all">
</head>
<body>
<div class="layuimini-container">
<div class="layuimini-main">
<fieldset class="table-search-fieldset">
<div style="margin: 10px 10px 10px 10px">
<form class="layui-form layui-form-pane" action="">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">设备号</label>
<div class="layui-input-inline">
<input type="text" name="deviceId" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<button type="submit" class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn">查询</button>
</div>
</div>
</form>
</div>
</fieldset>
<div class="layui-card top-panel">
<div class="layui-card-header">基本信息</div>
<div class="layui-card-body">
<div class="layui-form-item">
<label class="layui-form-label">状态</label>
<div class="layui-input-inline">
<span id="deviceState1" class="layui-badge layui-bg-green" style="display: none">在线</span>
<span id="deviceState0" class="layui-badge layui-bg-red" style="display: none">离线</span>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">上线时间</label>
<div class="layui-input-inline">
<input type="text" name="onlineTime" id="onlineTime" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">类型</label>
<div class="layui-input-inline">
<input type="text" name="deviceType" id="deviceType" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">电压</label>
<div class="layui-input-inline">
<input type="text" name="voltage" id="voltage" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">4G信号</label>
<div class="layui-input-inline">
<input type="text" name="rssi" id="rssi" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">卫星</label>
<div class="layui-input-inline">
<input type="text" name="satNum" id="satNum" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">收到字节</label>
<div class="layui-input-inline">
<input type="text" name="rxBytes" id="rxBytes" class="layui-input">
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../lib/layui-v2.6.3/layui.js" charset="utf-8"></script>
<script th:inline="javascript">
layui.use(['form'], function () {
var $ = layui.$,
form = layui.form;
/**
* 初始化表单,要加上,不然刷新部分组件可能会不加载
*/
form.render();
// 监听搜索操作
form.on('submit(data-search-btn)', function (data) {
$.ajax({
type:"GET",
url:"/device_summary/query",
data: data.field,
success: function (result) {
console.log(result);
if(result.code == 0){
layer.alert(result.msg);
}
else {
if(result.deviceState==1){
$('#deviceState1').show();
$('#deviceState0').hide();
}
else {
$('#deviceState0').show();
$('#deviceState1').hide()
}
$('#onlineTime').val(result.onlineTime);
$('#voltage').val(result.voltage);
$('#satNum').val(result.satNum);
$('#rxBytes').val(result.rxBytes)
$('#deviceType').val(result.deviceType)
$('#rssi').val(result.rssi)
form.render();
}
},
error: function () {
console.log("未获取到数据");
}
});
return false;
});
});
</script>
</body>
</html>