Jelajahi Sumber

Merge branch 'master' of http://git.jieweizhineng.com/ushio/video_system

qiuzijian 3 tahun lalu
induk
melakukan
4dbbeee71e

+ 7 - 1
Modules/Admin/Http/Controllers/BaseController.php

@@ -190,7 +190,13 @@ class BaseController extends Controller
         $data['primaryKey'] = $fromObj->primaryKey;
         $data['footBtns']   = $fromObj->footBtns;
         $data['colWidth']   = $fromObj->colWidth;
-        return $this->view('admin::component.template_from', $data);
+        if($data['path'] == '/admin/camera/list/add'){
+            return $this->view('camera::camera_add', $data);
+        }else{
+            return $this->view('admin::component.template_from', $data);
+        }
+
+//
     }
 
     /**

+ 1 - 1
Modules/Camera/Entities/CameraList.php

@@ -10,5 +10,5 @@ class CameraList extends Model
     protected $table        = 'camera_list';
     public    $incrementing = false;
     protected $keyType      = 'string';
-    protected $fillable     = ['mine_id', 'index_code', 'camera_name', 'camera_source', 'revert_id', 'ip', 'port', 'com_number'];
+    protected $fillable     = ['mine_id', 'index_code', 'camera_name', 'camera_source', 'revert_id', 'ip', 'port', 'com_number','sort','video_recorder'];
 }

+ 3 - 2
Modules/Camera/Enum/CameraEnum.php

@@ -63,18 +63,19 @@ class CameraEnum
     //摄像头来源
     const CAMERA_SOURCE_1 = 1;  //视频录像机
     const CAMERA_SOURCE_2 = 2;  //视频服务器
-    const CAMERA_SOURCE_3 = 3;  //内网服务器
+    const CAMERA_SOURCE_3 = 3;  //内网摄像头
 
     const CAMERA_SOURCE_EXCHANGE = [
         self::CAMERA_SOURCE_1 => '硬盘录像机',
         self::CAMERA_SOURCE_2 => '视频服务器',
-        self::CAMERA_SOURCE_3 => '内网服务器',
+        self::CAMERA_SOURCE_3 => '内网摄像头',
     ];
 
     //视频服务器来源
     const VIDEO_RECORDER_HK = 1;  //海康
     const VIDEO_RECORDER_DH = 2;  //大华
     const VIDEO_RECORDER_YS = 3;  //宇视
+    const VIDEO_RECORDER_TD = 4;  //天地伟业
 
     const VIDEO_RECORDER_EXCHANGE = [
         self::VIDEO_RECORDER_HK => '海康',

+ 15 - 8
Modules/Camera/Http/Controllers/CameraController.php

@@ -45,13 +45,17 @@ class CameraController extends BaseController
         )->orderBy('camera_list.sort', 'desc');
 
         if ($request->has('mine_name') && $request->input('mine_name')) {
-            $mine_id = MineList::where('title', 'like', '%' . $request->input('mine_name') . '%')->where('parent_id', 0)->value('id');
-            $camera_list = $camera_list->where('mine_list.degree', 'like', $mine_id . '|' . '%');
+//            $mine_id = MineList::where('title', 'like', '%' . $request->input('mine_name') . '%')->where('parent_id', 0)->value('id');
+//            $camera_list = $camera_list->where('mine_list.degree', 'like', $mine_id . '|' . '%');
+            $camera_list = $camera_list->where('mine_list.title', 'like', '%' . $request->input('mine_name')  . '%')->where('parent_id', 0);
         }
 
         if ($request->has('area_name') && $request->input('area_name')) {
             $area_id = MineList::where('title', 'like', '%' . $request->input('area_name') . '%')->where('parent_id', '!=', 0)->value('id');
-            $camera_list = $camera_list->where('mine_list.degree', 'like', '%' . '|' . $area_id);
+            $camera_list = $camera_list->where('title', 'like', '%' . $request->input('area_name') . '%');
+//            dd($camera_list);exit;
+//            $camera_list = $camera_list->where('mine_list.degree', 'like', '%' . '|' . $area_id);
+//            $camera_list = $camera_list->where('mine_list.title', 'like', '%' . $request->input('mine_name')  . '%')->where('parent_id','!=', 0);
         }
 
         if ($request->has('camera_name') && $request->input('camera_name')) {
@@ -205,13 +209,16 @@ class CameraController extends BaseController
             return $this->error(1, '请输入摄像头名称');
         }
 
-        if ($request->input('camera_source') == CameraEnum::CAMERA_SOURCE_3 && !$request->input('camera_url')) {
-            return $this->error(1, '请输入摄像头链接');
+        if ($request->input('camera_source') == CameraEnum::CAMERA_SOURCE_1 && (!$request->input('ip') || !$request->input('port') || !$request->input('user_name')
+                || !$request->input('password') ||!$request->input('com_number'))) {
+            return $this->error(1, '请输入必填字段');
+        }
+        if ($request->input('camera_source') == CameraEnum::CAMERA_SOURCE_2 && $request->input('code_stream') == 0) {
+            return $this->error(1, '请选择视频码流');
         }
 
-        if ($request->input('camera_source') != CameraEnum::CAMERA_SOURCE_3 && (!$request->input('ip') || !$request->input('port') || !$request->input('user_name')
-            || !$request->input('password') ||!$request->input('com_number'))) {
-            return $this->error(1, '请输入必填字段');
+        if ($request->input('camera_source') == CameraEnum::CAMERA_SOURCE_3 && !$request->input('camera_url')) {
+            return $this->error(1, '请输入摄像头链接');
         }
 
         if (!$request->input('code_stream')) {

+ 455 - 0
Modules/Camera/Resources/views/camera_add.blade.php

@@ -0,0 +1,455 @@
+<style>
+    .layui-upload-list {
+        width: auto;
+        height: auto;
+        margin-bottom: 0;
+    }
+
+    .layui-elem-quote {
+        padding-bottom: 5px;
+    }
+
+    .layui-upload-img {
+        /*width: 92px;*/
+        height: 92px;
+    }
+
+    hr {
+        margin: 15px 0;
+    }
+
+    .uk-alert-danger {
+        background: #fff1f0;
+        color: #d85030;
+        margin-bottom: 15px;
+        padding: 10px;
+        border: 1px solid rgba(216, 80, 48, .3);
+        border-radius: 4px;
+        text-shadow: 0 1px 0 #fff;
+    }
+
+    .imgItem {
+        display: inline-block;
+        position: relative;
+        margin: 0 10px 10px 0;
+    }
+
+    .imgItem .layui-close {
+        position: absolute;
+        top: 0;
+        right: 0;
+        height: 16px;
+        line-height: 16px;
+        text-align: center;
+        color: #000;
+        width: 16px;
+        border: 1px solid #000;
+        background-color: #fff;
+    }
+
+    iframe.fr-iframe {
+        padding: 0 20px;
+    }
+
+    .fr-wrapper.show-placeholder .fr-placeholder {
+        padding-left: 30px !important;
+    }
+
+    .layui-form-label {
+        width: {{ $colWidth }}px;
+    }
+
+    .layui-input-block {
+        margin-left: {{ $colWidth + 30 }}px;
+    }
+
+    .weadmin-body {
+        overflow: initial;
+    }
+</style>
+<script src="/js/admin/xm-select.js"></script>
+<script src="/laydate/laydate.js"></script>
+<form class="layui-form" id="form-unify" method="post" action="{{ $path ?? '' }}" style="padding:20px;">
+    @csrf
+    <h2 class="uk-modal-title">{{ $fromTitle }}</h2>
+    <br>
+    @foreach($columns as $key => $column)
+        @switch($column['type'])
+            @case('tree_select')
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ $column['label'] }}</label>
+                <div class="layui-input-block">
+                    {{-- {!! json_encode($column) !!} --}}
+                    <select name="{{ $key }}">
+                        @if($column['isShowNull'] == true)
+                            <option value="0" @if(!isset($item)) selected @endif>无</option>
+                        @endif
+                        @if(count($column['options']) > 0)
+                            @include('admin::component.multi_select_option', ['selects' => $column['options'], 'selectPid' => $item[$key] ?? ($column['default'] ?? '')])
+                        @endif
+                    </select>
+                </div>
+            </div>
+            @break
+        @endswitch
+    @endforeach
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">摄像头名称</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入摄像头名称" name="camera_name"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">摄像头类型</label>
+        <div class="layui-input-block">
+            <?php /*dd($columns);exit;*/?>
+            <select name="camera_type">
+                <option value="0">无</option>
+                @foreach($columns['camera_type']['options'] as $k=>$v)
+                    @if($k == 1 && count($columns['camera_type']['options']) > 0)
+                        <option value="{{ $k }}" selected>{{ $v }}</option>
+                    @else
+                        <option value="{{ $k }}">{{ $v }}</option>
+                    @endif
+                @endforeach
+            </select>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">摄像头来源</label>
+        <div class="layui-input-block">
+            <select name="camera_source" id="camera_source" lay-filter="camera_source">
+                <option value="0">无</option>
+                @foreach($columns['camera_source']['options'] as $k=>$v)
+                    @if($k == 1 && count($columns['camera_source']['options']) > 0)
+                        <option value="{{ $k }}" selected>{{ $v }}</option>
+                    @else
+                        <option value="{{ $k }}">{{ $v }}</option>
+                    @endif
+                @endforeach
+            </select>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <div class="layui-form-label">录像机品牌</div>
+        <div class="layui-input-block">
+            @foreach($columns['video_recorder']['options'] as $k => $v)
+                @if($k == 1 && count($columns['video_recorder']['options']) > 0)
+                    <label><input type="radio" name="video_recorder" value="{{ $k }}" checked title="{{ $v }}"/></label>
+                @else
+                    <label><input type="radio" name="video_recorder" value="{{ $k }}" title="{{ $v }}"/></label>
+                @endif
+            @endforeach
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="camera_url">
+        <label class="layui-form-label">摄像头链接</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入摄像头链接" name="camera_url"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="user_name">
+        <label class="layui-form-label">用户名</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入用户名" name="user_name"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="password">
+        <label class="layui-form-label">密码</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入密码" name="password"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="ip">
+        <label class="layui-form-label">ip地址</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入ip地址" name="ip"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="port">
+        <label class="layui-form-label">端口</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入端口" name="port"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="com_number">
+        <label class="layui-form-label">通道号</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入通道号" name="com_number"/>
+        </div>
+    </div>
+
+    <div class="layui-form-item" id="code_stream">
+        <label class="layui-form-label">视频码流</label>
+        <div class="layui-input-block">
+            <?php /*dd($columns);exit;*/?>
+            <select name="code_stream">
+                <option value="0">无</option>
+                @foreach($columns['code_stream']['options'] as $k=>$v)
+                    @if($k == 1 && count($columns['code_stream']['options']) > 0)
+                        <option value="{{ $k }}" selected>{{ $v }}</option>
+                    @else
+                        <option value="{{ $k }}">{{ $v }}</option>
+                    @endif
+                @endforeach
+            </select>
+        </div>
+    </div>
+
+    <div class="layui-form-item">
+        <label class="layui-form-label">排序</label>
+        <div class="layui-input-block">
+            <input class="layui-input" type="text" placeholder="请输入排序" name="sort" value="0"/>
+        </div>
+    </div>
+
+    @foreach($columns as $key => $column)
+        @switch($column['type'])
+            @case('uploadImg')
+            <label class="layui-form-label">{{ $column['label'] }}</label>
+            <div class="layui-upload">
+                <img id="pre" class="layui-upload-img none">
+
+                @if (strlen($column['default']) > 0)
+                    <script>
+                        $('#pre').attr('src', '{{ $column['default'] }}');
+                    </script>
+                @endif
+
+                <span style="display: inline-table;">
+                    <button type="button" class="layui-btn" id="selectImgBtn">上传图片</button>
+                    <p id="uploadTips">
+                        <input type="hidden" name="{{ $key }}" value="{{ $column['default'] ?? '' }}"/>
+                    </p>
+                </span>
+            </div>
+            <style>
+                .layui-upload-img {
+                    /*width: 92px;*/
+                    height: 92px;
+                    margin: 10px 10px 10px 10px;
+                }
+
+                #uploadTips {
+                    line-height: 30px;
+                }
+            </style>
+            <script>
+                layui.use('upload', function () {
+
+                    var $ = layui.jquery
+                        , upload = layui.upload;
+
+                    var uploadInst = upload.render({
+                        elem: '#selectImgBtn'
+                        , url: "{{ $column['uploadURLPath'] }}"
+                        , acceptMime: 'image/jpg, image/png, image/jpeg'
+                        , number: 1
+                        , before: function (obj) {
+                            //预读本地文件示例,不支持ie8
+                            obj.preview(function (index, file, result) {
+                                $('#pre').attr('src', result); //图片链接(base64)
+                            });
+                        }
+                        , done: function (res) {
+                            //如果上传失败
+                            if (res.code > 0) {
+                                return layer.msg('上传失败');
+                            }
+                            //上传成功
+                            $("input[name='{{ $key }}']").val(res.data.image_path);
+                        }
+                        , error: function () {
+                            //演示失败状态,并实现重传
+                            var uploadTips = $('#uploadTips');
+                            uploadTips.html('<span style="color: #FF5722; text-align:center">上传失败</span> <a class="layui-btn layui-btn-xs demo-reload">重试</a>');
+                            uploadTips.find('.demo-reload').on('click', function () {
+                                uploadInst.upload();
+                            });
+                        }
+                    });
+
+                });
+            </script>
+            @break
+
+            @default
+        @endswitch
+        @if($hasHr)
+            <hr>
+        @endif
+    @endforeach
+
+    @if(!is_null($footBtns))
+        <hr>
+        <div style="text-align: right">
+            @if(in_array('goback',$footBtns))
+                @if($isAjax)
+                    <button class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;"
+                            type="button">
+                        取消
+                    </button>
+                @else
+                    <button class="layui-btn layui-btn-primary layui-layer-close" style="position:relative;"
+                            type="button"
+                            onclick="javascript:history.go(-1);">返回
+                    </button>
+                @endif
+            @endif
+            @if(in_array('save',$footBtns))
+                <button class="layui-btn" type="submit" lay-submit lay-filter="formBox">保存</button>
+            @endif
+        </div>
+    @endif
+</form>
+
+<script>
+    //根据摄像头来源显示内容
+    if(document.getElementById("camera_source").value == 1){//硬盘录像机
+        document.getElementById("camera_url").style.display = 'none';
+        document.getElementById("user_name").style.display = 'block';
+        document.getElementById("password").style.display = 'block';
+        document.getElementById("ip").style.display = 'block';
+        document.getElementById("port").style.display = 'block';
+        document.getElementById("com_number").style.display = 'block';
+        document.getElementById("code_stream").style.display = 'block';
+    }
+    if(document.getElementById("camera_source").value == 2){//视频服务器
+        document.getElementById("camera_url").style.display = 'none';
+        document.getElementById("user_name").style.display = 'none';
+        document.getElementById("password").style.display = 'none';
+        document.getElementById("ip").style.display = 'none';
+        document.getElementById("port").style.display = 'none';
+        document.getElementById("com_number").style.display = 'none';
+        document.getElementById("code_stream").style.display = 'block';
+    }
+    if(document.getElementById("camera_source").value == 3){//内网摄像头
+        document.getElementById("camera_url").style.display = 'block';
+        document.getElementById("user_name").style.display = 'none';
+        document.getElementById("password").style.display = 'none';
+        document.getElementById("ip").style.display = 'none';
+        document.getElementById("port").style.display = 'none';
+        document.getElementById("com_number").style.display = 'none';
+        document.getElementById("code_stream").style.display = 'none';
+    }
+    layui.use(['form', 'laydate', 'table'], function () {
+
+        var form = layui.form, table = layui.table;
+        form.render();
+
+        form.on('checkbox', function (data) {
+            $(data.othis).toggleClass('layui-form-checked');
+        });
+
+        form.on('select(camera_source)', function(data){
+            var val=data.value;
+            if(val == 1){
+                document.getElementById("camera_url").style.display = 'none';
+                document.getElementById("user_name").style.display = 'block';
+                document.getElementById("password").style.display = 'block';
+                document.getElementById("ip").style.display = 'block';
+                document.getElementById("port").style.display = 'block';
+                document.getElementById("com_number").style.display = 'block';
+                document.getElementById("code_stream").style.display = 'block';
+            }else if(val == 2){
+                document.getElementById("camera_url").style.display = 'none';
+                document.getElementById("user_name").style.display = 'none';
+                document.getElementById("password").style.display = 'none';
+                document.getElementById("ip").style.display = 'none';
+                document.getElementById("port").style.display = 'none';
+                document.getElementById("com_number").style.display = 'none';
+                document.getElementById("code_stream").style.display = 'block';
+            }else if(val == 3){
+                document.getElementById("camera_url").style.display = 'block';
+                document.getElementById("user_name").style.display = 'none';
+                document.getElementById("password").style.display = 'none';
+                document.getElementById("ip").style.display = 'none';
+                document.getElementById("port").style.display = 'none';
+                document.getElementById("com_number").style.display = 'none';
+                document.getElementById("code_stream").style.display = 'none';
+            }
+        });
+
+        @if($isAjax)
+        form.on('submit(formBox)', function (data) {
+            var urlPost = $('#form-unify').attr('action');
+            var submitBtn = $(data.elem);
+            submitBtn.addClass('layui-btn-disabled').prop('disabled', true).text('提交中……');
+            $.ajax({
+                url: urlPost,
+                type: 'POST',
+                dataType: 'json',
+                data: data.field
+            })
+                .done(function (res) {
+                    if (res.code === 0) {
+                        submitBtn.text('完成');
+                        layer.msg('完成!', {anim: 0}, function () {
+                            if (res.data.table === '') {
+                                location.reload();
+                            } else {
+                                layer.closeAll();
+                                if (res.data.table !== undefined) {
+                                    table.reload(res.data.table);
+                                }
+                                if (res.url !== undefined) {
+                                    location.href = res.url;
+                                }
+                            }
+                        });
+                    } else {
+                        layer.msg(res.message, {anim: 0}, function () {
+                            submitBtn.removeClass('layui-btn-disabled').prop('disabled', false).text('重新保存');
+                        });
+                    }
+                })
+                .fail(function (res) {
+                    layer.msg(res.message, {anim: 0}, function () {
+                        submitBtn.removeClass('layui-btn-disabled').prop('disabled', false).text('重新保存');
+                    });
+                });
+            return false;
+        });
+        @endif
+    });
+
+    $('.layui-form').on('click', '.layui-close', function () {
+        var self = $(this);
+        self.closest('.imgItem').remove();
+    });
+
+    $('.layui-form').on('click', '.file-delete', function () {
+        var self = $(this);
+        self.closest('tr').remove();
+    });
+
+    $('.date-input').datepicker({
+        language: 'zh-CN',
+        format: 'yyyy-mm-dd',
+        zIndex: 19999999,
+        autoHide: true
+    });
+    $('.dateMonth-input').datepicker({
+        language: 'zh-CN',
+        format: 'yyyy-mm',
+        zIndex: 19999999,
+        autoHide: true
+    });
+    $('.dateYear-input').datepicker({
+        language: 'zh-CN',
+        format: 'yyyy',
+        zIndex: 19999999,
+        autoHide: true
+    });
+</script>
+

+ 0 - 1
Modules/Camera/Services/CameraServices.php

@@ -113,7 +113,6 @@ class CameraServices
                 $url  = 'rtsp://' . $params['user_name'] . ':' . $params['password'] . '@';
                 $url .= $params['ip'] . ':' . $params['port'] . '/cam/realmonitor?channel=' . $params['com_number'] . '&';
                 $url .= 'subtype=' . $code_stream;
-                dd($url);exit;
             } else {
                 $url = '';
             }

+ 93 - 1
app/Console/Commands/UpdateHkList.php

@@ -9,6 +9,7 @@ use Modules\Camera\Services\CameraServices;
 use Modules\Mine\Entities\MineList;
 use Modules\Mine\Entities\MineListExt;
 use Modules\Mine\Services\MineServices;
+use Illuminate\Support\Facades\DB;
 
 class UpdateHkList extends Command
 {
@@ -60,7 +61,7 @@ class UpdateHkList extends Command
 
     public function updateCameraList()
     {
-
+        //海康
         //查询存在index_code列表
         $index_code_list = MineList::where('index_code', '!=', null)->get();
 
@@ -108,6 +109,97 @@ class UpdateHkList extends Command
                 CameraList::where('mine_id', $val->id)->where('index_code', '!=', NULL)->whereNotIn('index_code', $index_code_arr)->delete();
             }
         }
+        //同步天地伟业摄像头
+        //登录
+        // $url = 'http://10.71.177.215:7000/pangu/sdkServer/user/loginUser';
+        // $format = 'post';
+        // $data = array('username'=>'admin1','password'=>'Td123..','sysId'=>'PG');
+        // $res =  $this->httpRequest($url,$format,$data);
+        //设备列表
+        //通过接口获取设备
+         $url = 'http://10.71.177.215:7000/pangu/sdkServer/device/queryDeviceList';
+         $format = 'post';
+         $data = array('sOrgId'=>'21dsec1d-4a27-48d1-we4c5-e44fcc23110','iDeviceTypes'=>'5','rootCodes'=>'BH-0001','isOrgTree'=>true,'needPage'=>true,'pageSize'=>50,'currentPage'=>1);
+         $device_list =  $this->httpRequest($url,$format,$data);
+         //获取金家渠mine_id
+         $mine_list0 = DB::table('mine_list')->where('title', 'like', '%金家渠煤矿%')->get();
+         if(sizeof($mine_list0)>0){
+             $mine_id0 = $mine_list0[0]->id;
+         }else{
+             $res0['parent_id'] = 0;
+             $res0['title'] = '金家渠煤矿';
+             $res0['slug'] = 'JinJiaQuMeiKuang';
+             $res0['created_at'] = date('y-m-d h:i:s',time());
+             $res0['updated_at'] = date('y-m-d h:i:s',time());
+             DB::table('mine_list')->insert($res0);
+             $mine_id0 = DB::getPdo()->lastInsertId();
+         }
+
+        $mine_list = DB::table('mine_list')->where('title', 'like', '%金家渠地面%')->get();
+        if(sizeof($mine_list)>0){
+            $mine_id = $mine_list[0]->id;
+        }else{
+            $res['parent_id'] = $mine_id0;
+            $res['title'] = '金家渠地面';
+            $res['slug'] = 'JinJiaQuDiMian';
+            $res['created_at'] = date('y-m-d h:i:s',time());
+            $res['updated_at'] = date('y-m-d h:i:s',time());
+            DB::table('mine_list')->insert($res);
+            $mine_id = DB::getPdo()->lastInsertId();
+        }
+
+         if(sizeof($device_list['content'])>0){
+             for($i=0;$i<sizeof($device_list['content']);$i++){
+                if(isset($device_list['content'][$i]['sId'])/* && $device_list['content'][$i]['onlineStatus']==1*/){
+                    //rtsp视频流
+                     $url = 'http://10.71.177.215:7000/pangu/sdkServer/videoStreaming/getRtspById';
+                     $format = 'post';
+                     $data = array('sId'=>$device_list['content'][$i]['sId'],'ip'=>'10.71.177.215','port'=>554,'type'=>0);
+                     $camera_url =  $this->httpRequest($url,$format,$data);
+                    $params = [
+                        'mine_id'       => $mine_id,
+                        'ip'            => '10.71.177.215',
+                        'port'          => 1554,
+//                        'user_name'     => 'admin1',
+//                        'password'      => 'Td123..',
+//                        'camera_url'    => $camera_url['content'][0]['url'],
+                        'revert_id'     => CameraEnum::CAMERA_DEFAULT_REVERT_ID,
+                        'sort'          => sizeof($device_list['content']) - $i,
+                        'camera_name'   => $device_list['content'][$i]['sName'],
+                        'camera_source' => CameraEnum::CAMERA_SOURCE_2,
+                        'index_code'    => $device_list['content'][$i]['sId'],
+                        'video_recorder'=> CameraEnum::VIDEO_RECORDER_TD,
+                    ];
+                    CameraList::updateOrCreate(['index_code' => $device_list['content'][$i]['sId']], $params);
+                }
+             }
+         }
+        //删除不存在的摄像头
+//        CameraList::where('mine_id', $mine_id)->where('onlineStatus',0)->delete();
+
+    }
+
+    public static function httpRequest($url, $format = 'get', $data = null){
+        //设置头信息
+        $headerArray =array("Content-type:application/json;","Accept:application/json","token:M3sWWDyqHsw3jmPP2VfIhd/z8KnV9gvJs2C4s/vbAfPAPuNUEmniC7OWtbFDSmWcm38LwUnZe2cuaClRsBegeQ==");
+        $curl=curl_init();
+        curl_setopt($curl, CURLOPT_URL, $url);
+        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
+        curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
+        if ($format == 'post') {
+            //post传值设置post传参
+            curl_setopt($curl, CURLOPT_POST, 1);
+            if ($data) {
+                $data = json_encode($data);
+                curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
+            }
+        }
+        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
+        curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray);
+        $data=json_decode(curl_exec($curl), true);
+        curl_close($curl);
+        //返回接口返回数据
+        return $data;
     }
 
     //转义摄像头名称中的特殊字符