Explorar o código

修改海康视频接口

qiuzijian %!s(int64=4) %!d(string=hai) anos
pai
achega
405fcfc7a1

+ 85 - 105
.idea/workspace.xml

@@ -2,10 +2,8 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
-      <change afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Camera/Routes/api.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Routes/api.php" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -31,85 +29,67 @@
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="573">
-              <caret line="138" column="34" selection-start-line="138" selection-start-column="34" selection-end-line="138" selection-end-column="34" />
+            <state relative-caret-position="198">
+              <caret line="23" column="5" lean-forward="true" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
               <folding>
-                <element signature="e#49#93#0#PHP" expanded="true" />
+                <element signature="e#141#162#0#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="168">
-              <caret line="13" column="19" selection-start-line="13" selection-start-column="10" selection-end-line="13" selection-end-column="19" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="531">
-              <caret line="159" selection-start-line="159" selection-end-line="159" />
-              <folding>
-                <element signature="e#127#148#0#PHP" expanded="true" />
-              </folding>
+            <state relative-caret-position="231">
+              <caret line="20" column="44" lean-forward="true" selection-start-line="20" selection-start-column="44" selection-end-line="20" selection-end-column="44" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="414">
-              <caret line="43" column="54" lean-forward="true" selection-start-line="40" selection-start-column="10" selection-end-line="43" selection-end-column="54" />
+            <state relative-caret-position="557">
+              <caret line="55" column="29" selection-start-line="55" selection-start-column="29" selection-end-line="55" selection-end-column="29" />
               <folding>
-                <element signature="e#141#185#0#PHP" expanded="true" />
+                <element signature="e#139#183#0#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="252">
-              <caret line="21" column="47" lean-forward="true" selection-start-line="21" selection-start-column="47" selection-end-line="21" selection-end-column="47" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="63">
-              <caret line="8" column="46" lean-forward="true" selection-start-line="8" selection-start-column="10" selection-end-line="8" selection-end-column="46" />
+            <state relative-caret-position="-408">
+              <caret line="58" column="27" selection-start-line="58" selection-start-column="27" selection-end-line="58" selection-end-column="27" />
               <folding>
-                <element signature="e#141#162#0#PHP" expanded="true" />
+                <element signature="e#127#148#0#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-04-28.log">
+        <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="222">
-              <caret line="61" column="43" selection-start-line="61" selection-start-column="43" selection-end-line="61" selection-end-column="43" />
+            <state relative-caret-position="452">
+              <caret line="101" column="17" selection-start-line="101" selection-start-column="17" selection-end-line="101" selection-end-column="17" />
+              <folding>
+                <element signature="e#141#185#0#PHP" expanded="true" />
+              </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/api.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="253">
-              <caret line="87" column="20" selection-start-line="87" selection-start-column="20" selection-end-line="87" selection-end-column="20" />
+            <state relative-caret-position="357">
+              <caret line="17" column="28" selection-start-line="17" selection-start-column="21" selection-end-line="17" selection-end-column="28" />
             </state>
           </provider>
         </entry>
@@ -118,8 +98,6 @@
   </component>
   <component name="FindInProjectRecents">
     <findStrings>
-      <find>select</find>
-      <find>checkbox</find>
       <find>CAMERA_FIELD_ALREADY_EXIST</find>
       <find>CAMERA_FIELD_NOT_EXIST</find>
       <find>f</find>
@@ -138,7 +116,6 @@
       <find>sendLoginResponse</find>
       <find>queue:work</find>
       <find>VIDEO_SYSTEM_URL</find>
-      <find>getCamerasList</find>
       <find>queue</find>
       <find>Module</find>
       <find>QUEUE_CONNECTION</find>
@@ -148,6 +125,9 @@
       <find>//todo</find>
       <find>// todo</find>
       <find>人员定位</find>
+      <find>getCamerasUrl</find>
+      <find>getCamerasList</find>
+      <find>streamform</find>
     </findStrings>
   </component>
   <component name="Git.Settings">
@@ -192,7 +172,6 @@
         <option value="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/Api/BaseController.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Routes/api.php" />
-        <option value="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" />
         <option value="$PROJECT_DIR$/.env" />
         <option value="$PROJECT_DIR$/app/Helpers.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
@@ -207,6 +186,7 @@
         <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Routes/api.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php" />
+        <option value="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" />
       </list>
     </option>
   </component>
@@ -466,12 +446,12 @@
       <option name="presentableId" value="Default" />
       <updated>1618368322468</updated>
       <workItem from="1618368323697" duration="143000" />
-      <workItem from="1618368497550" duration="159191000" />
+      <workItem from="1618368497550" duration="166465000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="159334000" />
+    <option name="totallyTimeSpent" value="166608000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -692,23 +672,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="300">
-          <caret line="22" column="33" lean-forward="true" selection-start-line="22" selection-start-column="33" selection-end-line="22" selection-end-column="33" />
-          <folding>
-            <element signature="e#139#183#0#PHP" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/api.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="252">
-          <caret line="12" column="1" lean-forward="true" selection-start-line="12" selection-start-column="1" selection-end-line="12" selection-end-column="1" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/.env">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="656">
@@ -775,34 +738,31 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Auxiliary/View/TreeAuxiliary.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="389">
-          <caret line="59" column="53" lean-forward="true" selection-start-line="58" selection-start-column="16" selection-end-line="59" selection-end-column="53" />
-          <folding>
-            <element signature="e#129#150#0#PHP" expanded="true" />
-          </folding>
+        <state relative-caret-position="216">
+          <caret line="79" column="20" selection-start-line="79" selection-start-column="20" selection-end-line="79" selection-end-column="20" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Auxiliary/View/TreeAuxiliary.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="216">
-          <caret line="79" column="20" selection-start-line="79" selection-start-column="20" selection-end-line="79" selection-end-column="20" />
+        <state relative-caret-position="168">
+          <caret line="13" column="19" selection-start-line="13" selection-start-column="10" selection-end-line="13" selection-end-column="19" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
+    <entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Support/helpers.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="253">
-          <caret line="87" column="20" selection-start-line="87" selection-start-column="20" selection-end-line="87" selection-end-column="20" />
+        <state relative-caret-position="260">
+          <caret line="640" column="13" selection-start-line="640" selection-start-column="13" selection-end-line="640" selection-end-column="13" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php">
+    <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-04-28.log">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="168">
-          <caret line="13" column="19" selection-start-line="13" selection-start-column="10" selection-end-line="13" selection-end-column="19" />
+        <state relative-caret-position="222">
+          <caret line="61" column="43" selection-start-line="61" selection-start-column="43" selection-end-line="61" selection-end-column="43" />
         </state>
       </provider>
     </entry>
@@ -816,56 +776,76 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="63">
-          <caret line="8" column="46" lean-forward="true" selection-start-line="8" selection-start-column="10" selection-end-line="8" selection-end-column="46" />
+        <state relative-caret-position="253">
+          <caret line="87" column="20" selection-start-line="87" selection-start-column="20" selection-end-line="87" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="389">
+          <caret line="59" column="53" lean-forward="true" selection-start-line="58" selection-start-column="16" selection-end-line="59" selection-end-column="53" />
           <folding>
-            <element signature="e#141#162#0#PHP" expanded="true" />
+            <element signature="e#129#150#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Support/helpers.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="260">
-          <caret line="640" column="13" selection-start-line="640" selection-start-column="13" selection-end-line="640" selection-end-column="13" />
+        <state relative-caret-position="231">
+          <caret line="20" column="44" lean-forward="true" selection-start-line="20" selection-start-column="44" selection-end-line="20" selection-end-column="44" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="531">
-          <caret line="159" selection-start-line="159" selection-end-line="159" />
-          <folding>
-            <element signature="e#127#148#0#PHP" expanded="true" />
-          </folding>
+        <state relative-caret-position="357">
+          <caret line="17" column="28" selection-start-line="17" selection-start-column="21" selection-end-line="17" selection-end-column="28" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="252">
-          <caret line="21" column="47" lean-forward="true" selection-start-line="21" selection-start-column="47" selection-end-line="21" selection-end-column="47" />
+        <state relative-caret-position="198">
+          <caret line="23" column="5" lean-forward="true" selection-start-line="23" selection-start-column="5" selection-end-line="23" selection-end-column="5" />
+          <folding>
+            <element signature="e#141#162#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-04-28.log">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="61" column="43" selection-start-line="61" selection-start-column="43" selection-end-line="61" selection-end-column="43" />
+        <state relative-caret-position="-408">
+          <caret line="58" column="27" selection-start-line="58" selection-start-column="27" selection-end-line="58" selection-end-column="27" />
+          <folding>
+            <element signature="e#127#148#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/HaiKangController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="414">
-          <caret line="43" column="54" lean-forward="true" selection-start-line="40" selection-start-column="10" selection-end-line="43" selection-end-column="54" />
+        <state relative-caret-position="452">
+          <caret line="101" column="17" selection-start-line="101" selection-start-column="17" selection-end-line="101" selection-end-column="17" />
           <folding>
             <element signature="e#141#185#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="557">
+          <caret line="55" column="29" selection-start-line="55" selection-start-column="29" selection-end-line="55" selection-end-column="29" />
+          <folding>
+            <element signature="e#139#183#0#PHP" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
   </component>
 </project>

+ 21 - 13
Modules/Camera/Http/Controllers/Api/HaiKangController.php

@@ -10,6 +10,8 @@ namespace Modules\Camera\Http\Controllers\Api;
 
 use App\Http\Controllers\Api\BaseController;
 use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Input;
+use Illuminate\Support\Facades\Log;
 
 
 class HaiKangController extends BaseController
@@ -34,14 +36,15 @@ class HaiKangController extends BaseController
 //            $this->app_secret = env('HAI_KANG_APP_SECRET');  // qqP7NLcIDwO9MgtYmp8L
 //            $this->artemis    = env('HAI_KANG_ARTEMIS_PATH');  // /artemis
 //        }
-        $this->pre_url    = 'https://10.71.252.64:4433';  // https://120.253.79.51:4433
-        $this->app_key    = '25720460';  // 25720460
-        $this->app_secret = 'qqP7NLcIDwO9MgtYmp8L';  // qqP7NLcIDwO9MgtYmp8L
-        $this->artemis    = '/artemis';  // /artemis
-//        $this->pre_url    = 'https://120.253.79.51:4433';  // https://120.253.79.51:4433
+//        $this->pre_url    = 'https://10.71.252.64:4433';  // https://120.253.79.51:4433
 //        $this->app_key    = '25720460';  // 25720460
 //        $this->app_secret = 'qqP7NLcIDwO9MgtYmp8L';  // qqP7NLcIDwO9MgtYmp8L
 //        $this->artemis    = '/artemis';  // /artemis
+        $this->pre_url    = Input::get('url');  // https://120.253.79.51:4433
+        $this->app_key    = Input::get('key');  // 25720460
+        $this->app_secret = Input::get('secret');  // qqP7NLcIDwO9MgtYmp8L
+        $this->artemis    = '/artemis';  // /artemis
+
         list($msec, $sec) = explode(' ', microtime());
         $this->time = (float)sprintf('%.0f', (floatval($msec) + floatval($sec)) * 1000);
     }
@@ -71,9 +74,9 @@ class HaiKangController extends BaseController
             }
             $result['data']['list'] = array_values($list);
         }
-        if ($request->has('type') && $request->input('type') == 'has_sub') {
-            $result['data']['list'] = $this->regionsTree($result['data']['list']);
-        }
+//        if ($request->has('type') && $request->input('type') == 'has_sub') {
+        $result['data']['list'] = $this->regionsTree($result['data']['list']);
+//        }
         return $result;
     }
 
@@ -86,13 +89,17 @@ class HaiKangController extends BaseController
         foreach ($regions as $key => $value) {
             if (isset($value['parentIndexCode']) && $value['parentIndexCode'] == $pid) {
                 $arr[$key]['indexCode']       = $value['indexCode'];
+                $arr[$key]['mine_id']         = $value['indexCode'];
                 $arr[$key]['name']            = $value['name'];
                 $arr[$key]['parentIndexCode'] = $value['parentIndexCode'];
                 $arr[$key]['treeCode']        = $value['treeCode'];
                 $arr[$key]['children']        = array_values(self::regionsTree($regions, $value['indexCode']));
-//                if (count($arr[$key]['children']) == 0) {
-//                    unset($arr[$key]);
-//                }
+                unset($arr[$key]['indexCode']);
+                unset($arr[$key]['parentIndexCode']);
+                unset($arr[$key]['treeCode']);
+                if (count($arr[$key]['children']) == 0) {
+                    unset($arr[$key]['children']);
+                }
             }
         }
         return array_values($arr);
@@ -137,9 +144,10 @@ class HaiKangController extends BaseController
         $params = [];
 //        $params['regionIndexCode'] = $request->input('regionIndexCode');
         $params['cameraIndexCode'] = $request->input('cameraIndexCode');
-        $params['streamType']      = 0;
-        $params['protocol']        = 'rtsp';
+        $params['streamType']      = 1;
+        $params['protocol']        = 'hls';
         $params['transmode']       = 1;
+        $params['streamform']      = 'ps';
         if ($cameras_info['data']['channelType'] == 'analog') {
             $params['expand'] = 'transcode=1&videotype=h264';
         }

+ 22 - 1
Modules/Mine/Http/Controllers/Api/MineApiController.php

@@ -10,6 +10,9 @@ namespace Modules\Mine\Http\Controllers\Api;
 
 use App\Http\Controllers\Api\BaseController;
 use Illuminate\Support\Facades\Input;
+use Illuminate\Support\Facades\Log;
+use Modules\Camera\Http\Controllers\Api\HaiKangController;
+use Modules\Mine\Entities\MineListExt;
 use Modules\Mine\Services\MineServices;
 
 class MineApiController extends BaseController
@@ -36,7 +39,25 @@ class MineApiController extends BaseController
     {
         $mine_id = Input::get('mine_id', '');
 
-        $result = MineServices::getAreaList($mine_id);
+        //判断是否使用海康视频服务器
+        $query = MineListExt::where('mine_id', $mine_id)->first();
+
+        if ($query && $query->is_hak) {
+            Input::replace(
+                [
+                    'url'    => trim($query->ip, '/') . ':' . $query->port,
+                    'key'    => $query->key,
+                    'secret' => $query->secret,
+                ]
+            );
+            $haikang = new HaiKangController();
+            $result_hk = $haikang->getRegionsList();
+            $result = json_decode($result_hk->getContent(), true);
+            Log::info($result);
+            return $result;
+        } else {
+            $result = MineServices::getAreaList($mine_id);
+        }
 
         return self::successResponse($result);
     }