1.0.0-rc.40

Former-commit-id: d5dc5485528fc7e800757c6b7305a2a3f222b9f3
TangShanKaiPing
wanggang 6 years ago
parent 8550345f8e
commit dbfa1fe4d7

@ -7,17 +7,6 @@
<br />
<div class="row overlay-wrapper">
<template v-if="model">
<div class="col-md-12" v-if="model.Scenes.length">
<div class="card">
<div class="card-header">
<h3 class="card-title">场景</h3>
<div class="card-tools"><span data-toggle="tooltip" class="badge bg-green">{{model.Scenes.length}}</span></div>
</div>
<div class="card-body">
<button class="btn btn-success" v-for="scene in GetScenes()" v-on:click="CallScene(scene.Id)">{{scene.Name}}</button>
</div>
</div>
</div>
<div class="col-md-2 col-sm-4 col-xs-6" v-for="item in GetProducts()">
<div class="card">
<div class="card-header">
@ -29,6 +18,17 @@
</a>
</div>
</div>
<div class="col-md-12" v-if="model.Scenes.length">
<div class="card">
<div class="card-header">
<h3 class="card-title">全局场景</h3>
<div class="card-tools"><span data-toggle="tooltip" class="badge bg-green">{{model.Scenes.length}}</span></div>
</div>
<div class="card-body">
<button class="btn btn-success" v-for="scene in GetScenes()" v-on:click="CallScene(scene.Id)">{{scene.Name}}</button>
</div>
</div>
</div>
</template>
</div>
@section styles{

@ -1,5 +1,5 @@
{
"version": "1.0.0-rc.31",
"version": "1.0.0-rc.40",
"Logging": {
"LogLevel": {
"Default": "Warning",

@ -15,6 +15,7 @@
<ItemGroup>
<None Remove="wwwroot\js\device.js" />
<None Remove="wwwroot\js\index.js" />
<None Remove="wwwroot\js\nodes.js" />
<None Remove="wwwroot\js\page.js" />
</ItemGroup>
</Project>

@ -11,16 +11,6 @@ data = function data() {
}
};
}
function mounted() {
if (isApp) {
if (!this.server) {
location.href = "config.html";
}
if (!this.token) {
location.href = "login.html";
}
}
};
methods = {
GetProducts() {
return Enumerable.from(this.model.Products).orderBy('o=>o.DisplayOrder').toArray();

@ -0,0 +1,56 @@
isDebug = true;
useSingalR = false; dataUrl = iotCenter + '/App/GetNodes';
data = function data() {
return {
f7params: f7params,
server: localStorage.getItem('server'),
token: localStorage.getItem('token'),
model: {
Products: [],
Scenes: []
}
};
}
function mounted() {
if (isApp) {
if (!this.server) {
location.href = "config.html";
}
if (!this.token) {
location.href = "login.html";
}
}
};
methods = {
GetProducts() {
return Enumerable.from(this.model.Products).orderBy('o=>o.DisplayOrder').toArray();
},
GetScenes() {
return Enumerable.from(this.model.Scenes).orderBy('o=>o.DisplayOrder').toArray();
},
CallScene(id) {
ajax('/App/ExecGlobalScene', { token: token, connectionId: connectionId, id: id }, 'post');
}
};
function onMessage(method, json, to, from) {
debug(method + ':' + json);
var item = JSON.parse(json);
console.log(method + ':' + json);
var item = JSON.parse(json);
if (method == 'ProductEntityInserted' ||
method == 'ProductEntityUpdated' ||
method == 'ProductEntityDeleted' ||
method == 'DeviceEntityInserted' ||
method == 'DeviceEntityDeleted' ||
method == 'DeviceEntityDeleted') {
loadData();
}
else if (method == 'SceneEntityInserted' ||
method == 'SceneEntityUpdated' ||
method == 'SceneEntityDeleted') {
if (item.NodeId == null) {
loadData();
}
}
}
start();

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 338522422683d67479a6658c9958b319
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

@ -11,6 +11,7 @@ var dataUrl = dataUrl||null;
var token = isApp ? localStorage.getItem('token') : null;
//
var connection = useSignalR ? new signalR.HubConnectionBuilder().withUrl(wsUrl).build():null;
var connectionId;
var vm;
var app;
//
@ -122,8 +123,15 @@ function init() {
el: '#app',
data: data,
mounted: function () {
mounted();
if (isApp) {
if (!this.server) {
location.href = "config.html";
}
if (!this.token) {
if (location.href.indexOf('config.html')===-1&& location.href.indexOf('login.html') === -1)
location.href = "login.html";
}
mounted();
this.$f7ready((f7) => {
app = this.$f7;
$.validator.unobtrusive.parse('form');
@ -136,3 +144,162 @@ function init() {
methods: methods
});
}
//tools
//
function getCode1(code) {
var pattern = 0;
var direction = 0;
var wind = 0;
var power = 2;
var temperature = 1;
if (code > 480 + 2) {
pattern = 480;
}
else if (code > 360 + 2) {
pattern = 360;
}
else if (code > 240 + 2) {
pattern = 240;
}
else if (code > 120 + 2) {
pattern = 120;
}
else {
pattern = 0;
}
code -= pattern;
if (code > 75 + 2) {
direction = 75;
}
else if (code > 60 + 2) {
direction = 60;
}
else {
direction = 0;
}
code -= direction;
if (code > 45 + 2) {
wind = 45;
}
else if (code > 30 + 2) {
wind = 30;
}
else if (code > 15 + 2) {
wind = 15;
}
else {
wind = 0;
}
code -= wind;
if (code === 1) {
power = 1;
}
else {
power = 2;
temperature = code - power;
}
return {
pattern: pattern,
direction: direction,
wind: wind,
power: power,
temperature: temperature
};
}
//
function hsvToRgb(h, s, v) {
if (h == "") h = 0;
if (s == "") s = 0;
if (v == "") v = 0;
h = parseFloat(h);
s = parseFloat(s);
v = parseFloat(v);
if (h < 0) h = 0;
if (s < 0) s = 0;
if (v < 0) v = 0;
if (h >= 360) h = 359;
if (s > 100) s = 100;
if (v > 100) v = 100;
s /= 100.0;
v /= 100.0;
C = v * s;
hh = h / 60.0;
X = C * (1.0 - Math.abs((hh % 2) - 1.0));
r = g = b = 0;
if (hh >= 0 && hh < 1) {
r = C;
g = X;
}
else if (hh >= 1 && hh < 2) {
r = X;
g = C;
}
else if (hh >= 2 && hh < 3) {
g = C;
b = X;
}
else if (hh >= 3 && hh < 4) {
g = X;
b = C;
}
else if (hh >= 4 && hh < 5) {
r = X;
b = C;
}
else {
r = C;
b = X;
}
m = v - C;
r += m;
g += m;
b += m;
r *= 255.0;
g *= 255.0;
b *= 255.0;
r = Math.round(r);
g = Math.round(g);
b = Math.round(b);
hex = r * 65536 + g * 256 + b;
hex = hex.toString(16, 6);
len = hex.length;
if (len < 6)
for (i = 0; i < 6 - len; i++)
hex = '0' + hex;
return '#' + hex;
}
//
function ajax(url, data, type) {
url = iotCenter + url
console.log(url);
type = type || 'get';
$('.overlay').show();
$.ajax({
type: type,
url: url,
data: data,
success: AjaxCallBack
}).fail(function (result) {
toastr.error('请求发送失败!');
console.log(result);
}).always(function () {
$('.overlay').hide();
});
}
//
function AjaxCallBack(response) {
var result = response;
if (result.code === 0) {
if (result.type === 0) {
if (result.format === 1) {
console.log('format/1/base64 jpeg image');
$('#callback .page-content').html('<img class="shot" src="' + result.data + '">');
}
else {
console.log('format/0/json object');
$('#callback .page-content').html(result.data);
}
app.popup.open('#callback');
}
}
}

@ -78,11 +78,6 @@
username: localStorage.getItem('username')
};
}
function mounted() {
if (isApp && !this.server) {
location.href = "config.html";
}
}
var methods = {
submit: function (e) {
if (!$(e.target).valid()) {

@ -62,12 +62,18 @@
</div>
<script type="text/javascript" src="lib/signalr/signalr.min.js"></script>
<script type="text/javascript" src="lib/axios/axios.min.js"></script>
<script type="text/javascript" src="lib/urijs/URI.min.js"></script>
<script type="text/javascript" src="lib/linq/linq.min.js"></script>
<script type="text/javascript" src="lib/jquery/jquery.min.js"></script>
<script type="text/javascript" src="lib/jquery-validation/jquery.validate.min.js"></script>
<script type="text/javascript" src="lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript" src="lib/vue/vue.min.js"></script>
<script type="text/javascript" src="lib/framework7/js/framework7.bundle.min.js"></script>
<script type="text/javascript" src="lib/framework7/js/framework7-vue.bundle.min.js"></script>
<script type="text/javascript" src="lib/flv.js/flv.min.js"></script>
<script type="text/javascript" src="lib/toastr/toastr.min.js"></script>
<script type="text/javascript" src="js/page.js"></script>
<script type="text/javascript" src="js/nodes.js"></script>
<script>
var debug = true;
var wsUrl = localStorage.getItem('server') + '/IoTCenter/hub?group=page';

@ -1,5 +1,5 @@
{
"version": "1.0.0-rc.31",
"version": "1.0.0-rc.40",
"Logging": {
"LogLevel": {
"Default": "Warning",

Loading…
Cancel
Save