From ca74ae7c719a0f5c11e2de2552099a0918a26be9 Mon Sep 17 00:00:00 2001
From: aijinhui <aijinhui>
Date: 星期一, 16 十月 2023 15:48:05 +0800
Subject: [PATCH] 油围栏

---
 ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java |   95 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java b/ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java
index 0f8adfc..70fa4da 100644
--- a/ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java
+++ b/ard-work/src/main/java/com/ruoyi/utils/forest/MediaClient.java
@@ -1,10 +1,10 @@
 package com.ruoyi.utils.forest;
 
-import com.dtflys.forest.annotation.Get;
-import com.dtflys.forest.annotation.JSONBody;
-import com.dtflys.forest.annotation.Post;
-import com.dtflys.forest.annotation.Var;
+import com.dtflys.forest.annotation.*;
+import com.dtflys.forest.callback.OnError;
 import com.ruoyi.media.domain.Conf;
+import com.ruoyi.media.domain.Config;
+import com.ruoyi.media.domain.Items;
 
 /**
  * @Description: mediamtx娴佸獟浣撳鎴风
@@ -13,14 +13,89 @@
  * @Date: 2023骞�07鏈�06鏃�9:51
  * @Version: 1.0
  **/
+@BaseRequest(baseURL = "http://#{mediamtx.host}:9997/v2")
 public interface MediaClient {
+    /**
+     * 澧炲姞璺緞
+     */
+    @Post(url = "/config/paths/add/{name}")
+    public String addPath(@Var("name") String name, @JSONBody Conf body);
 
-    @Post("{apiUrl}/config/paths/add/{name}")
-    String add(@Var("apiUrl") String apiUrl,@Var("name") String name, @JSONBody Conf body);
+    /**
+     * 淇敼璺緞
+     */
+    @Post(url = "/config/paths/edit/{name}", async = true)
+    public String editPath(@Var("name") String name, @JSONBody Conf body);
 
-    @Post("{apiUrl}/config/paths/remove/{name}")
-    String remove(@Var("apiUrl") String apiUrl,@Var("name") String name);
+    /**
+     * 绉婚櫎璺緞
+     */
+    @Post("/config/paths/remove/{name}")
+    public String removePath(@Var("name") String name);
 
-    @Get("{apiUrl}/paths/list")
-    String list(@Var("apiUrl") String apiUrl);
+    /**
+     * 鑾峰彇璺緞璇︽儏
+     */
+    @Get("/paths/get/{name}")
+    public Items getPathInfo(@Var("name") String name);
+
+    /**
+     * 鏌ヨ鎵�鏈夎矾寰�
+     */
+    @Get("/paths/list")
+    public String paths();
+
+    /**
+     * 鏌ヨ鎵�鏈塺tsp浼氳瘽
+     */
+    @Get("/rtspsessions/list")
+    public String rtspsessions();
+
+    /**
+     * 鏌ヨ鎵�鏈塺tsp杩炴帴
+     */
+    @Get("/rtspconns/list")
+    public String rtspconns();
+
+    /**
+     * 鎸塻essionId鏌ヨrtsp浼氳瘽
+     */
+    @Get("/rtspsessions/get/{sessionId}")
+    public String getRtspsessionById(@Var("sessionId") String sessionId);
+
+    /**
+     * 鎸塻essionId鏌ヨwebrtc浼氳瘽
+     */
+    @Get("/webrtcsessions/get/{sessionId}")
+    public String getWebrtcsessionById(@Var("sessionId") String sessionId);
+
+    /**
+     * 鎸塻essionId鏌ヨrtmp浼氳瘽
+     */
+    @Get("/rtmpconns/get/{sessionId}")
+    public String getRtmpsessionById(@Var("sessionId") String sessionId);
+
+    /**
+     * 鎸塻essionId鍒犻櫎rtsp浼氳瘽
+     */
+    @Post("/rtspsessions/kick/{sessionId}")
+    public String kickRtspSessions(@Var("sessionId") String sessionId);
+
+    /**
+     * 鎸塻essionId鍒犻櫎rtmp杩炴帴
+     */
+    @Post("/rtmpconns/kick/{sessionId}")
+    public String kickRtmpSessions(@Var("sessionId") String sessionId);
+
+    /**
+     * 鎸塻essionId鍒犻櫎webrtc浼氳瘽
+     */
+    @Post("/webrtcsessions/kick/{sessionId}")
+    public String kickWebrtcSessions(@Var("sessionId") String sessionId);
+
+    /**
+     * 閰嶇疆娴佸獟浣撳弬鏁�
+     */
+    @Post("/config/set")
+    public String setConfig(@JSONBody Config config);
 }

--
Gitblit v1.9.3