Browse Source

添加大南湖视频列表接口

qiuzijian 4 years ago
parent
commit
23a72417c9

+ 80 - 95
.idea/workspace.xml

@@ -2,7 +2,12 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="b5beace6-e4f4-419b-8299-c67e17af5998" name="Default Changelist" comment="">
-      <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$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" 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/Camera/Services/CameraServices.php" beforeDir="false" afterPath="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/app/Enum/ApiEnum.php" beforeDir="false" afterPath="$PROJECT_DIR$/app/Enum/ApiEnum.php" afterDir="false" />
     </list>
     <option name="EXCLUDED_CONVERTED_TO_IGNORED" value="true" />
     <option name="SHOW_DIALOG" value="false" />
@@ -18,20 +23,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="159">
-              <caret line="16" column="10" selection-start-line="16" selection-start-column="10" selection-end-line="16" selection-end-column="10" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="458">
-              <caret line="113" column="64" lean-forward="true" selection-start-line="113" selection-start-column="18" selection-end-line="113" selection-end-column="64" />
-              <folding>
-                <element signature="e#127#148#0#PHP" expanded="true" />
-              </folding>
+            <state relative-caret-position="676">
+              <caret line="67" column="30" selection-start-line="67" selection-start-column="10" selection-end-line="67" selection-end-column="30" />
             </state>
           </provider>
         </entry>
@@ -39,8 +32,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="154">
-              <caret line="23" column="62" lean-forward="true" selection-start-line="23" selection-start-column="62" selection-end-line="23" selection-end-column="62" />
+            <state relative-caret-position="148">
+              <caret line="22" column="5" selection-start-line="22" selection-start-column="5" selection-end-line="22" selection-end-column="5" />
               <folding>
                 <element signature="e#126#164#0#PHP" expanded="true" />
               </folding>
@@ -51,8 +44,8 @@
       <file pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="422">
-              <caret line="41" column="44" lean-forward="true" selection-start-line="41" selection-start-column="44" selection-end-line="41" selection-end-column="44" />
+            <state relative-caret-position="571">
+              <caret line="112" column="39" selection-start-line="112" selection-start-column="39" selection-end-line="112" selection-end-column="39" />
               <folding>
                 <element signature="e#141#162#0#PHP" expanded="true" />
               </folding>
@@ -60,44 +53,32 @@
           </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="147">
-              <caret line="16" column="30" lean-forward="true" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="30" />
-            </state>
-          </provider>
-        </entry>
-      </file>
-      <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php">
+      <file pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="341">
-              <caret line="45" column="37" lean-forward="true" selection-start-line="45" selection-start-column="37" selection-end-line="45" selection-end-column="37" />
+            <state relative-caret-position="359">
+              <caret line="600" column="51" selection-start-line="600" selection-start-column="51" selection-end-line="600" selection-end-column="51" />
               <folding>
-                <element signature="e#139#160#0#PHP" expanded="true" />
+                <element signature="e#129#150#0#PHP" expanded="true" />
               </folding>
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+        <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="555">
-              <caret line="280" column="43" selection-start-line="280" selection-start-column="43" selection-end-line="280" selection-end-column="43" />
-              <folding>
-                <element signature="e#129#150#0#PHP" expanded="true" />
-              </folding>
+            <state relative-caret-position="609">
+              <caret line="34" column="31" selection-start-line="34" selection-start-column="10" selection-end-line="34" selection-end-column="31" />
             </state>
           </provider>
         </entry>
       </file>
       <file pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
+        <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="588">
-              <caret line="33" column="18" lean-forward="true" selection-start-line="33" selection-start-column="18" selection-end-line="33" selection-end-column="18" />
+            <state relative-caret-position="210">
+              <caret line="19" column="36" lean-forward="true" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="36" />
             </state>
           </provider>
         </entry>
@@ -172,7 +153,6 @@
         <option value="$PROJECT_DIR$/app/Http/Controllers/Api/BaseController.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Enum/MineEnum.php" />
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-05-08.log" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Routes/api.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_05_11_092132_add_camera_type_to_camera_list.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Jobs/CameraListExcel.php" />
         <option value="$PROJECT_DIR$/storage/logs/laravel-2021-05-11.log" />
@@ -188,13 +168,14 @@
         <option value="$PROJECT_DIR$/app/Console/Commands/UpdateHkList.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Database/Migrations/2021_04_23_032650_update_camera_list_table_fields.php" />
         <option value="$PROJECT_DIR$/.env" />
-        <option value="$PROJECT_DIR$/app/Enum/ApiEnum.php" />
         <option value="$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.php" />
-        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
+        <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
         <option value="$PROJECT_DIR$/app/Http/Controllers/TestsController.php" />
+        <option value="$PROJECT_DIR$/app/Enum/ApiEnum.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php" />
+        <option value="$PROJECT_DIR$/Modules/Camera/Routes/api.php" />
         <option value="$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php" />
-        <option value="$PROJECT_DIR$/Modules/Mine/Services/MineServices.php" />
       </list>
     </option>
   </component>
@@ -508,7 +489,7 @@
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="250405000" />
+    <option name="totallyTimeSpent" value="254029000" />
   </component>
   <component name="ToolWindowManager">
     <frame x="0" y="0" width="1440" height="900" extended-state="0" />
@@ -539,9 +520,6 @@
     <option name="version" value="1" />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/storage/logs/laravel-2021-04-26.log">
-      <provider selected="true" editor-type-id="text-editor" />
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/web.php">
       <provider selected="true" editor-type-id="text-editor" />
     </entry>
@@ -749,16 +727,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="455">
-          <caret line="237" column="52" selection-start-line="237" selection-start-column="52" selection-end-line="237" selection-end-column="52" />
-          <folding>
-            <element signature="e#126#153#0#PHP" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Mine/Entities/MineList.php">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="210">
@@ -804,90 +772,107 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="49">
-          <caret line="76" column="31" selection-start-line="75" selection-start-column="8" selection-end-line="76" selection-end-column="31" />
+        <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/Mine/Http/Controllers/Api/MineApiController.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="341">
+          <caret line="45" column="37" lean-forward="true" selection-start-line="45" selection-start-column="37" selection-end-line="45" selection-end-column="37" />
           <folding>
-            <element signature="e#49#93#0#PHP" expanded="true" />
+            <element signature="e#139#160#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="159">
-          <caret line="16" column="10" selection-start-line="16" selection-start-column="10" selection-end-line="16" selection-end-column="10" />
+        <state relative-caret-position="458">
+          <caret line="113" column="64" lean-forward="true" selection-start-line="113" selection-start-column="18" selection-end-line="113" selection-end-column="64" />
+          <folding>
+            <element signature="e#127#148#0#PHP" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
+    <entry file="file://$PROJECT_DIR$/vendor/laravel/framework/src/Illuminate/Support/Facades/Cache.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="588">
-          <caret line="33" column="18" lean-forward="true" selection-start-line="33" selection-start-column="18" selection-end-line="33" selection-end-column="18" />
+        <state relative-caret-position="210">
+          <caret line="10" column="3" selection-start-line="10" selection-start-column="3" selection-end-line="10" selection-end-column="3" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Admin/Traits/ClassifyMethod.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="154">
-          <caret line="23" column="62" lean-forward="true" selection-start-line="23" selection-start-column="62" selection-end-line="23" selection-end-column="62" />
+        <state relative-caret-position="480">
+          <caret line="202" column="30" selection-start-line="202" selection-start-column="16" selection-end-line="202" selection-end-column="30" />
           <folding>
-            <element signature="e#126#164#0#PHP" expanded="true" />
+            <element signature="e#126#153#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Http/Controllers/Api/CameraApiController.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/MineController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="422">
-          <caret line="41" column="44" lean-forward="true" selection-start-line="41" selection-start-column="44" selection-end-line="41" selection-end-column="44" />
+        <state relative-caret-position="330">
+          <caret line="129" column="24" lean-forward="true" selection-start-line="129" selection-start-column="24" selection-end-line="129" selection-end-column="24" />
           <folding>
-            <element signature="e#141#162#0#PHP" expanded="true" />
+            <element signature="e#49#93#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
+    <entry file="file://$PROJECT_DIR$/app/Http/Controllers/TestsController.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="555">
-          <caret line="280" column="43" selection-start-line="280" selection-start-column="43" selection-end-line="280" selection-end-column="43" />
+        <state relative-caret-position="148">
+          <caret line="22" column="5" selection-start-line="22" selection-start-column="5" selection-end-line="22" selection-end-column="5" />
           <folding>
-            <element signature="e#129#150#0#PHP" expanded="true" />
+            <element signature="e#126#164#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Routes/api.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Enum/CameraEnum.php">
       <provider selected="true" editor-type-id="text-editor">
-        <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 relative-caret-position="676">
+          <caret line="67" column="30" selection-start-line="67" selection-start-column="10" selection-end-line="67" selection-end-column="30" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/Enum/ApiEnum.php">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="609">
+          <caret line="34" column="31" selection-start-line="34" selection-start-column="10" selection-end-line="34" selection-end-column="31" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/Modules/Camera/Routes/api.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="147">
-          <caret line="16" column="30" lean-forward="true" selection-start-line="16" selection-start-column="17" selection-end-line="16" selection-end-column="30" />
+        <state relative-caret-position="210">
+          <caret line="19" column="36" lean-forward="true" selection-start-line="19" selection-start-column="17" selection-end-line="19" selection-end-column="36" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Http/Controllers/Api/MineApiController.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="341">
-          <caret line="45" column="37" lean-forward="true" selection-start-line="45" selection-start-column="37" selection-end-line="45" selection-end-column="37" />
+        <state relative-caret-position="571">
+          <caret line="112" column="39" selection-start-line="112" selection-start-column="39" selection-end-line="112" selection-end-column="39" />
           <folding>
-            <element signature="e#139#160#0#PHP" expanded="true" />
+            <element signature="e#141#162#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/Modules/Mine/Services/MineServices.php">
+    <entry file="file://$PROJECT_DIR$/Modules/Camera/Services/CameraServices.php">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="458">
-          <caret line="113" column="64" lean-forward="true" selection-start-line="113" selection-start-column="18" selection-end-line="113" selection-end-column="64" />
+        <state relative-caret-position="359">
+          <caret line="600" column="51" selection-start-line="600" selection-start-column="51" selection-end-line="600" selection-end-column="51" />
           <folding>
-            <element signature="e#127#148#0#PHP" expanded="true" />
+            <element signature="e#129#150#0#PHP" expanded="true" />
           </folding>
         </state>
       </provider>

+ 10 - 0
Modules/Camera/Enum/CameraEnum.php

@@ -56,4 +56,14 @@ class CameraEnum
     //摄像头来源
     const CAMERA_SOURCE_1 = 1;  //视频录像机
     const CAMERA_SOURCE_2 = 2;  //视频服务器
+
+    //乐橙接口url
+    const ACCESS_TOKEN_URL = 'https://openapi.lechange.cn:443/openapi/accessToken';  //获取access_token
+    const LIVE_LIST_URL    = 'https://openapi.lechange.cn/openapi/liveList';         //获取视频列表
+
+    //乐橙access_token缓存key
+    const ACCESS_TOKEN_CACHE_KEY = 'lechange_access_token';
+
+    //乐橙接口返回状态
+    const LECHANGE_API_SUCCESS = 0;  //成功
 }

+ 8 - 1
Modules/Camera/Http/Controllers/Api/CameraApiController.php

@@ -103,8 +103,15 @@ class CameraApiController extends BaseController
         return self::successResponse($result);
     }
 
-    public function test()
+    /**
+     * 作者: qiuzijian
+     * 注释: 获取大南湖摄像头列表
+     * @return \App\Http\Controllers\Api\JsonResponse
+     */
+    public function getSouthLakeCamera()
     {
         $result = CameraServices::getLeChangeCamera();
+
+        return self::successResponse($result);
     }
 }

+ 1 - 1
Modules/Camera/Routes/api.php

@@ -17,7 +17,7 @@ Route::namespace('Api')->group(function () {
     Route::post('camera/geturl', 'CameraApiController@getCamerasUrl');
     Route::post('camera/transcode', 'CameraApiController@getTranscodeInfo');
     Route::get('camera/stopstream', 'CameraApiController@stopCamerasStream');
-    Route::get('camera/test', 'CameraApiController@test');
+    Route::post('camera/lake/getlist', 'CameraApiController@getSouthLakeCamera');
 
     //海康视频接口
     Route::get('haikang/monitor/regions/list', 'HaiKangController@getRegionsList');

+ 64 - 31
Modules/Camera/Services/CameraServices.php

@@ -537,56 +537,89 @@ class CameraServices
         return $result;
     }
 
-    //
+    //获取大南湖监控列表
     public static function getLeChangeCamera()
     {
-        $url = 'https://openapi.lechange.cn/openapi/liveList';
+        $result['status'] = true;
+        $result['msg']    = ApiEnum::RETURN_SUCCESS;
+
+        $token = self::getLeChangeToken();
+
+        if (!$token) {
+            $result['status'] = false;
+            $result['msg']    = ApiEnum::LECHANGE_REQUEST_FAIL;
+            return $result;
+        }
+
+        $url    = CameraEnum::LIVE_LIST_URL;
         $params = [
-            'token' => 'At_0000ad07c9eb68084b4b827af8e0bba4',
+            'token'      => $token,
             'queryRange' => '1-10',
         ];
-        $data = self::getLeChangeSign($params);
-
-        $ch = curl_init();
-        $res= curl_setopt ($ch, CURLOPT_URL,$url);
-        var_dump($res);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
-        curl_setopt ($ch, CURLOPT_HEADER, 0);
+        $data   = self::getLeChangeSign($params);
+
+        $ch  = curl_init();
+        $res = curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+        curl_setopt($ch, CURLOPT_HEADER, 0);
         curl_setopt($ch, CURLOPT_POST, 1);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
-        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
-        $result = curl_exec ($ch);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        $curl_res = curl_exec($ch);
         curl_close($ch);
 
-        $utf8 = iconv('utf-8', 'UTF-8', $result);
+        $curl_res = json_decode(iconv('utf-8', 'UTF-8', $curl_res), true);
+
+        if ($curl_res == null || $curl_res['result']['msg'] != CameraEnum::LECHANGE_API_SUCCESS) {
+            $result['status'] = false;
+            $result['msg']    = ApiEnum::LECHANGE_REQUEST_FAIL;
+            return $result;
+        }
+
+        foreach ($curl_res['result']['data']['lives'] as $key => $val) {
+            $result['data'][$key] = [
+                'camera_name' => $val['deviceId'],
+                'camera_url'  => $val['streams'][3]['hls']
+            ];
+        }
 
-        dd(json_decode($utf8, true));
-        'http://cmgw-vpc.lechange.com:8888/LCO/5L02759PANB82DD/0/1/20210511T035148/20c1daf67ffc65657f0b8f52d262808b.m3u8';
-        'http://cmgw-vpc.lechange.com:8888/LCO/5L02759PANB82DD/0/0/20210511T035148/20c1daf67ffc65657f0b8f52d262808b.m3u8';
-        'https://cmgw-vpc.lechange.com:8890/LCO/5L02759PANB82DD/0/1/20210511T035148/20c1daf67ffc65657f0b8f52d262808b.m3u8?proto=https';
+        return $result;
+    }
 
+    //乐橙获取access_token
+    public static function getLeChangeToken()
+    {
+        if (Cache::has(CameraEnum::ACCESS_TOKEN_CACHE_KEY)) {
+            return Cache::get(CameraEnum::ACCESS_TOKEN_CACHE_KEY);
+        }
 
-        $url = 'https://openapi.lechange.cn:443/openapi/accessToken';
+        $url = CameraEnum::ACCESS_TOKEN_URL;
         $data = self::getLeChangeSign();
 
-        $ch = curl_init();
-        $res= curl_setopt ($ch, CURLOPT_URL,$url);
-        var_dump($res);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
-        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
-        curl_setopt ($ch, CURLOPT_HEADER, 0);
+        $ch  = curl_init();
+        $res = curl_setopt($ch, CURLOPT_URL, $url);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
+        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
+        curl_setopt($ch, CURLOPT_HEADER, 0);
         curl_setopt($ch, CURLOPT_POST, 1);
         curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
-        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
-        $result = curl_exec ($ch);
+        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
+        $result = curl_exec($ch);
         curl_close($ch);
-        if ($result == NULL) {
-            return 0;
+
+        $result = json_decode(nl2br(iconv('utf-8', 'UTF-8', $result)), true);
+
+        if ($result == null || $result['result']['msg'] != CameraEnum::LECHANGE_API_SUCCESS) {
+            return false;
         }
-        $utf8 = iconv('utf-8', 'UTF-8', $result);
 
-        dd(nl2br($utf8));
+        $token = $result['result']['data']['accessToken'];
+        $time  = substr($result['result']['data']['expireTime'], 0, 2) . '0000';
+
+        Cache::put(CameraEnum::ACCESS_TOKEN_CACHE_KEY, $token, $time);
+
+        return $token;
     }
 
     //乐橙数据接口验签

+ 1 - 0
app/Enum/ApiEnum.php

@@ -32,4 +32,5 @@ class ApiEnum
     const NO_CAMERA_URL           = '视频播放链接不存在';
     const EASY_DAWIN_REQUEST_FAIL = '请求流媒体服务器失败';
     const HK_REQUEST_FAIL         = '请求海康视频服务器失败';
+    const LECHANGE_REQUEST_FAIL   = '请求视频服务器失败';
 }