|
|
|
@ -4,21 +4,25 @@ using Infrastructure.Data;
|
|
|
|
|
using Infrastructure.Extensions;
|
|
|
|
|
using Infrastructure.Security;
|
|
|
|
|
using IoT.Shared;
|
|
|
|
|
using Microsoft.AspNetCore.Hosting;
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using Microsoft.Extensions.Configuration;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
|
|
|
|
|
namespace IoTNode
|
|
|
|
|
{
|
|
|
|
|
public class DbConfig : IDbConfig
|
|
|
|
|
{
|
|
|
|
|
private readonly IWebHostEnvironment _env;
|
|
|
|
|
private readonly IConfiguration _cfg;
|
|
|
|
|
private readonly IEncryptionService _encryptionService;
|
|
|
|
|
|
|
|
|
|
public DbConfig(IConfiguration cfg, IEncryptionService encryptionService)
|
|
|
|
|
public DbConfig(IWebHostEnvironment env, IConfiguration cfg, IEncryptionService encryptionService)
|
|
|
|
|
{
|
|
|
|
|
this._env = env;
|
|
|
|
|
this._cfg = cfg;
|
|
|
|
|
this._encryptionService = encryptionService;
|
|
|
|
|
}
|
|
|
|
@ -76,23 +80,28 @@ namespace IoTNode
|
|
|
|
|
var macAddress = Helper.Instance.GetMacAddress();
|
|
|
|
|
set.Add(new Setting { Name = "sn", Value = macAddress, Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "id", Value = macAddress.Md5(), Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "code", Value = "根据id生成的授权码", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting
|
|
|
|
|
{
|
|
|
|
|
Name = "code",
|
|
|
|
|
Value = this._env.IsDevelopment() ? Helper.Instance.MacEncrypt(Helper.Instance.GetMacAddress()) : "根据id生成的授权码",
|
|
|
|
|
Type = SettingType.Text
|
|
|
|
|
});
|
|
|
|
|
//
|
|
|
|
|
var host = this._cfg.GetValue("seed:host", "localhost");
|
|
|
|
|
var stream = this._cfg.GetValue("seed:stream", "localhost");
|
|
|
|
|
var delay = this._cfg.GetValue("seed:delay", "100");
|
|
|
|
|
set.Add(new Setting { Name = "debug", Value = "false" });
|
|
|
|
|
set.Add(new Setting { Name = "notify:enabled", Value = "true" });
|
|
|
|
|
set.Add(new Setting { Name = "notify:host", Value = $"http://{host}/IoTCenter" });
|
|
|
|
|
set.Add(new Setting { Name = "timer.seconds", Value = "180" });
|
|
|
|
|
set.Add(new Setting { Name = "onvif.timer", Value = "1" });
|
|
|
|
|
set.Add(new Setting { Name = "onvif.speed", Value = "0.2" });
|
|
|
|
|
set.Add(new Setting { Name = "camera.usr", Value = "admin" });
|
|
|
|
|
set.Add(new Setting { Name = "camera.pwd", Value = "dsideal123" });
|
|
|
|
|
set.Add(new Setting { Name = "stream.rtmp", Value = stream });
|
|
|
|
|
set.Add(new Setting { Name = "ffmpeg.args", Value = " -y -threads {0} -rtsp_transport tcp -use_wallclock_as_timestamps 1 -stimeout 3000000 -i \"{1}\" -fflags +genpts -c copy -f flv \"{2}\"" });
|
|
|
|
|
set.Add(new Setting { Name = "fbee.writelist", Value = "" });
|
|
|
|
|
set.Add(new Setting { Name = "camera.writelist", Value = "" });
|
|
|
|
|
set.Add(new Setting { Name = "debug", Value = "false", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "notify:enabled", Value = "true", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "notify:host", Value = $"http://{host}/IoTCenter", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "timer.seconds", Value = "180", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "onvif.timer", Value = "1", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "onvif.speed", Value = "0.2", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "camera.usr", Value = "admin", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "camera.pwd", Value = "dsideal123", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "stream.rtmp", Value = stream, Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "ffmpeg.args", Value = " -y -threads {0} -rtsp_transport tcp -use_wallclock_as_timestamps 1 -stimeout 3000000 -i \"{1}\" -fflags +genpts -c copy -f flv \"{2}\"", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "fbee.writelist", Value = "", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "camera.writelist", Value = "", Type = SettingType.Text });
|
|
|
|
|
set.Add(new Setting { Name = "delay", Value = delay, Type = SettingType.Text });
|
|
|
|
|
db.SaveChanges();
|
|
|
|
|
|
|
|
|
|