Ver Fonte

refactor(types, live-stream, lss): update parameter naming and streamline component layout

- Renamed configParams and runParams to paramConfig and runtimeParams for better clarity in CameraInfoDTO and CameraUpdateRequest interfaces.
- Updated LiveStreamStatus type to include only relevant states: 'idle' and 'streaming'.
- Streamlined input components in live-stream and lss views for improved readability and consistency.
- Consolidated attributes in various components to enhance layout and maintainability.
yb há 1 semana atrás
pai
commit
c4725fb528
3 ficheiros alterados com 33 adições e 31 exclusões
  1. 11 5
      src/types/index.ts
  2. 2 6
      src/views/live-stream/index.vue
  3. 20 20
      src/views/lss/index.vue

+ 11 - 5
src/types/index.ts

@@ -160,8 +160,14 @@ export interface CameraInfoDTO {
   machineName?: string
   enabled: boolean
   channels?: ChannelInfoDTO[]
-  configParams?: string
-  runParams?: string
+  /**
+   * 参数配置
+   */
+  paramConfig?: string
+  /**
+   * 运行参数
+   */
+  runtimeParams?: string
   createdAt: string
   updatedAt: string
 }
@@ -210,8 +216,8 @@ export interface CameraUpdateRequest {
   channelNo?: string
   remark?: string
   enabled?: boolean
-  configParams?: string
-  runParams?: string
+  paramConfig?: string
+  runtimeParams?: string
   channels?: ChannelUpdateRequest[]
 }
 
@@ -499,7 +505,7 @@ export interface StreamChannelUpdateRequest {
 //  * 重连中 - 正在重新连接
 //  */
 // RECONNECTING("reconnecting", "重连中");
-export type LiveStreamStatus = 'idle' | 'starting' | 'streaming' | 'stopping' | 'stopped' | 'error' | 'reconnecting'
+export type LiveStreamStatus = 'idle' | 'streaming'
 // 'IDLE' | 'STREAMING' | 'STOPPED' | 'ERROR'
 /**
  * 空闲 - 未开始推流

+ 2 - 6
src/views/live-stream/index.vue

@@ -447,14 +447,10 @@ function formatDateTime(dateStr: string | undefined): string {
 // 获取状态标签颜色
 function getStatusTagType(status?: LiveStreamStatus): 'success' | 'warning' | 'danger' | 'info' {
   switch (status) {
-    case 'STREAMING':
+    case 'streaming':
       return 'success'
-    case 'IDLE':
+    case 'idle':
       return 'info'
-    case 'STOPPED':
-      return 'warning'
-    case 'ERROR':
-      return 'danger'
     default:
       return 'info'
   }

+ 20 - 20
src/views/lss/index.vue

@@ -335,7 +335,7 @@
             </div>
             <el-empty v-if="!cameraLoading && cameraList.length === 0" description="暂无关联设备" />
             <el-table v-else :data="cameraList" stripe size="small" border>
-              <el-table-column prop="ip" label="本地IP" min-width="110" />
+              <!-- <el-table-column prop="ip" label="本地IP" min-width="110" /> -->
               <el-table-column prop="cameraId" label="设备ID" min-width="100" show-overflow-tooltip />
               <el-table-column prop="name" label="名称" min-width="100" show-overflow-tooltip />
               <el-table-column label="状态(心跳)" min-width="140">
@@ -370,7 +370,7 @@
                 <template #default="{ row }">
                   <el-button type="primary" link :icon="Edit" @click="handleEditCamera(row)" />
                   <el-button type="danger" link :icon="Delete" @click="handleDeleteCamera(row)" />
-                  <el-button type="primary" link :icon="View" @click="handleViewCamera(row)" />
+                  <el-button type="primary" link :icon="Cross" @click="handleViewCamera(row)" />
                 </template>
               </el-table-column>
             </el-table>
@@ -439,9 +439,9 @@
       class="camera-edit-drawer"
     >
       <el-form ref="cameraFormRef" :model="cameraForm" :rules="cameraRules" label-width="100px">
-        <el-form-item label="IP 地址" prop="ip">
+        <!-- <el-form-item label="IP 地址" prop="ip">
           <el-input v-model="cameraForm.ip" :disabled="isEditCamera" placeholder="请输入 IP 地址" />
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="摄像头型号" prop="cameraId">
           <el-select
             v-model="cameraForm.selectedVendorId"
@@ -456,20 +456,20 @@
         <el-form-item label="名称" prop="name">
           <el-input v-model="cameraForm.name" placeholder="请输入名称" />
         </el-form-item>
-        <el-form-item label="端口" prop="port">
+        <!-- <el-form-item label="端口" prop="port">
           <el-input-number v-model="cameraForm.port" :min="1" :max="65535" style="width: 100%" />
-        </el-form-item>
-        <el-form-item label="用户名" prop="username">
+        </el-form-item> -->
+        <!-- <el-form-item label="用户名" prop="username">
           <el-input v-model="cameraForm.username" placeholder="请输入用户名" />
         </el-form-item>
         <el-form-item label="密码" prop="password">
           <el-input v-model="cameraForm.password" type="password" show-password placeholder="请输入密码" />
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="参数配置">
-          <el-input v-model="cameraForm.configParams" type="textarea" :rows="5" placeholder="请输入参数配置" />
+          <el-input v-model="cameraForm.paramConfig" type="textarea" :rows="5" placeholder="请输入参数配置" />
         </el-form-item>
         <el-form-item label="设备运行参数">
-          <el-input v-model="cameraForm.runParams" type="textarea" :rows="5" placeholder="设备运行参数" />
+          <el-input v-model="cameraForm.runtimeParams" type="textarea" :rows="5" placeholder="设备运行参数" />
         </el-form-item>
       </el-form>
       <template #footer>
@@ -661,9 +661,9 @@ async function handleSaveParams() {
       id: paramsCamera.value.id
     }
     if (paramsDialogType.value === 'config') {
-      data.configParams = paramsContent.value
+      data.paramConfig = paramsContent.value
     } else {
-      data.runParams = paramsContent.value
+      data.runtimeParams = paramsContent.value
     }
 
     const res = await adminUpdateCamera(data)
@@ -756,8 +756,8 @@ const cameraForm = reactive({
   channelNo: '',
   remark: '',
   enabled: true,
-  configParams: '',
-  runParams: ''
+  paramConfig: '',
+  runtimeParams: ''
 })
 
 // 摄像头表单验证规则(动态)
@@ -971,8 +971,8 @@ function resetCameraForm() {
   cameraForm.channelNo = ''
   cameraForm.remark = ''
   cameraForm.enabled = true
-  cameraForm.configParams = ''
-  cameraForm.runParams = ''
+  cameraForm.paramConfig = ''
+  cameraForm.runtimeParams = ''
   cameraFormRef.value?.clearValidate()
 }
 
@@ -1035,8 +1035,8 @@ async function handleEditCamera(row: CameraInfoDTO) {
     cameraForm.channelNo = camera.channelNo || ''
     cameraForm.remark = camera.remark || ''
     cameraForm.enabled = camera.enabled
-    cameraForm.configParams = camera.configParams || ''
-    cameraForm.runParams = camera.runParams || ''
+    cameraForm.paramConfig = camera.paramConfig || ''
+    cameraForm.runtimeParams = camera.runtimeParams || ''
 
     await loadCameraVendorList()
     cameraDialogVisible.value = true
@@ -1073,8 +1073,8 @@ async function handleSubmitCamera() {
           channelNo: cameraForm.channelNo,
           remark: cameraForm.remark,
           enabled: cameraForm.enabled,
-          configParams: cameraForm.configParams,
-          runParams: cameraForm.runParams
+          paramConfig: cameraForm.paramConfig,
+          runtimeParams: cameraForm.runtimeParams
         }
         if (cameraForm.password) {
           data.password = cameraForm.password