Former-commit-id: ee4e0cf3066eabd616b141e861eb807d73a47cca
TangShanKaiPing
wanggang 6 years ago
parent 4f280ba71c
commit 3ee73d7e8a

@ -69,7 +69,7 @@ namespace UserCenter.Controllers
var hours = Convert.ToInt32(DateTime.Now.ToString("%z")); var hours = Convert.ToInt32(DateTime.Now.ToString("%z"));
using (var client = new InfluxClient(new Uri(url), usr, pwd)) using (var client = new InfluxClient(new Uri(url), usr, pwd))
{ {
var query = $"select { model.Key} from {measurementName} where time>now() - {model.Key} and DeviceNumber = '{model.Number}' limit 10000"; var query = $"select { model.Key} from {measurementName} where time>now() - {model.Time} and DeviceNumber = '{model.Number}' limit 10000";
var result = client.ReadAsync<DynamicInfluxRow>(dbName, query).Result; var result = client.ReadAsync<DynamicInfluxRow>(dbName, query).Result;
var rows = result.Results.FirstOrDefault()? var rows = result.Results.FirstOrDefault()?
.Series.FirstOrDefault()? .Series.FirstOrDefault()?
@ -100,6 +100,7 @@ namespace UserCenter.Controllers
return Problem(ex.Message); return Problem(ex.Message);
} }
} }
private string GetColor(string key) private string GetColor(string key)
{ {
//var randomGen = new Random(); //var randomGen = new Random();

@ -30,6 +30,7 @@
<script src="lib/vue-router/vue-router.min.js"></script> <script src="lib/vue-router/vue-router.min.js"></script>
<script src="lib/vuex/vuex.min.js"></script> <script src="lib/vuex/vuex.min.js"></script>
<script src="lib/signalr/signalr.min.js"></script> <script src="lib/signalr/signalr.min.js"></script>
<script src="lib/Chart.js/Chart.bundle.min.js"></script>
<script src="lib/flv.js/flv.min.js"></script> <script src="lib/flv.js/flv.min.js"></script>
<script src="lib/WXInlinePlayer/index.js"></script> <script src="lib/WXInlinePlayer/index.js"></script>
<script src="js/util.js"></script> <script src="js/util.js"></script>

@ -31,13 +31,13 @@
<div class="card-body"> <div class="card-body">
<div class="weui-tab"> <div class="weui-tab">
<div class="weui-navbar"> <div class="weui-navbar">
<a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'1d')"> <a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'1d',data.name)">
<p class="weui-tabbar__label">近24小时</p> <p class="weui-tabbar__label">近24小时</p>
</a> </a>
<a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'7d')"> <a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'7d',data.name)">
<p class="weui-tabbar__label">近7日</p> <p class="weui-tabbar__label">近7日</p>
</a> </a>
<a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'30d')"> <a href="javascript:;" class="weui-tabbar__item" v-on:click="changeTime(data.key,'30d',data.name)">
<p class="weui-tabbar__label">近30日</p> <p class="weui-tabbar__label">近30日</p>
</a> </a>
</div> </div>

@ -30,15 +30,15 @@
}, },
methods: { methods: {
updateChart: function () { updateChart: function () {
var keys = Enumerable.from(this.device.data).where(function (o) { var dataList = Enumerable.from(this.device.data).where(function (o) {
return o.type === 10 || o.type === 20; return o.type === 10 || o.type === 20;
}).toArray(); }).toArray();
for (var i = 0; i < keys.length; i++) { for (var i = 0; i < dataList.length; i++) {
var key = keys[i]; this.changeTime(dataList[i].key, '1d',dataList[i].name);
this.changeTime(key, '1d');
} }
}, },
changeTime: function (key, time) { changeTime: function (key, time,title) {
var vm = this;
var url = '/IoTCenter/api/v1/Device/GetChartData'; var url = '/IoTCenter/api/v1/Device/GetChartData';
var data = { var data = {
number:this.device.number, number:this.device.number,
@ -48,14 +48,14 @@
axios.post(url,data, { crossDomain: true }) axios.post(url,data, { crossDomain: true })
.then(function (response) { .then(function (response) {
var data = response.data; var data = response.data;
UpdateChartInternal(key, data); vm.UpdateChartInternal(key, data,title);
console.log('折线图更新成功'); console.log('折线图更新成功');
}) })
.catch(function (error) { .catch(function (error) {
console.log(error); console.log(error);
}); });
}, },
UpdateChartInternal(key, data) { UpdateChartInternal(key, data,title) {
var canvas = document.getElementById(this.device.number + '-' + key); var canvas = document.getElementById(this.device.number + '-' + key);
var chart; var chart;
Chart.helpers.each(Chart.instances, function (instance) { Chart.helpers.each(Chart.instances, function (instance) {

@ -140,7 +140,7 @@
vm.flvPlayer.currentTime = vm.flvPlayer.buffered.end(0) - 0.001; vm.flvPlayer.currentTime = vm.flvPlayer.buffered.end(0) - 0.001;
} }
vm.decodedFrames = vm.flvPlayer.statisticsInfo.decodedFrames; vm.decodedFrames = vm.flvPlayer.statisticsInfo.decodedFrames;
}, 10 * 1000); }, 30 * 1000);
} catch (e) { } catch (e) {
console.log('error:'); console.log('error:');
console.log(e); console.log(e);
@ -258,11 +258,11 @@
}, },
computed: { computed: {
url: function () { url: function () {
return location.protocol + '//' + location.hostname + location.pathname + 'music.flv'; //return location.protocol + '//' + location.hostname + location.pathname + 'music.flv';
//return getDeviceDataValue(this.device, 'flv'); return getDeviceDataValue(this.device, 'flv');
}, },
isFlvSupported: function () { isFlvSupported: function () {
return flvjs.isSupported() && false; return flvjs.isSupported();
}, },
ptz: function () { ptz: function () {
if (getDeviceDataValue(this.device, '云台地址')) { if (getDeviceDataValue(this.device, '云台地址')) {

Loading…
Cancel
Save