Przeglądaj źródła

refactor(live-stream): remove auto-generated type declaration files and update component formatting

- Deleted auto-generated type declaration files for auto-imports and components to streamline the project structure.
- Improved formatting of the live-stream view by consolidating attributes in various components for better readability.
- Enhanced overall code organization and maintainability in the live-stream view.
yb 6 dni temu
rodzic
commit
8881602de7
4 zmienionych plików z 12 dodań i 203 usunięć
  1. 4 0
      .gitignore
  2. 0 91
      src/auto-imports.d.ts
  3. 0 85
      src/components.d.ts
  4. 8 27
      src/views/live-stream/index.vue

+ 4 - 0
.gitignore

@@ -34,3 +34,7 @@ coverage/
 # Compiled JavaScript (from vue-tsc)
 src/**/*.js
 tests/**/*.js
+
+# Auto-generated type declarations (unplugin-auto-import & unplugin-vue-components)
+src/auto-imports.d.ts
+src/components.d.ts

+ 0 - 91
src/auto-imports.d.ts

@@ -1,91 +0,0 @@
-/* eslint-disable */
-/* prettier-ignore */
-// @ts-nocheck
-// noinspection JSUnusedGlobalSymbols
-// Generated by unplugin-auto-import
-// biome-ignore lint: disable
-export {}
-declare global {
-  const EffectScope: typeof import('vue')['EffectScope']
-  const Icon: typeof import('@iconify/vue')['Icon']
-  const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate']
-  const computed: typeof import('vue')['computed']
-  const createApp: typeof import('vue')['createApp']
-  const createPinia: typeof import('pinia')['createPinia']
-  const customRef: typeof import('vue')['customRef']
-  const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
-  const defineComponent: typeof import('vue')['defineComponent']
-  const defineStore: typeof import('pinia')['defineStore']
-  const effectScope: typeof import('vue')['effectScope']
-  const getActivePinia: typeof import('pinia')['getActivePinia']
-  const getCurrentInstance: typeof import('vue')['getCurrentInstance']
-  const getCurrentScope: typeof import('vue')['getCurrentScope']
-  const getCurrentWatcher: typeof import('vue').getCurrentWatcher
-  const h: typeof import('vue')['h']
-  const inject: typeof import('vue')['inject']
-  const isProxy: typeof import('vue')['isProxy']
-  const isReactive: typeof import('vue')['isReactive']
-  const isReadonly: typeof import('vue')['isReadonly']
-  const isRef: typeof import('vue')['isRef']
-  const isShallow: typeof import('vue').isShallow
-  const mapActions: typeof import('pinia')['mapActions']
-  const mapGetters: typeof import('pinia')['mapGetters']
-  const mapState: typeof import('pinia')['mapState']
-  const mapStores: typeof import('pinia')['mapStores']
-  const mapWritableState: typeof import('pinia')['mapWritableState']
-  const markRaw: typeof import('vue')['markRaw']
-  const nextTick: typeof import('vue')['nextTick']
-  const onActivated: typeof import('vue')['onActivated']
-  const onBeforeMount: typeof import('vue')['onBeforeMount']
-  const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
-  const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
-  const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
-  const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
-  const onDeactivated: typeof import('vue')['onDeactivated']
-  const onErrorCaptured: typeof import('vue')['onErrorCaptured']
-  const onMounted: typeof import('vue')['onMounted']
-  const onRenderTracked: typeof import('vue')['onRenderTracked']
-  const onRenderTriggered: typeof import('vue')['onRenderTriggered']
-  const onScopeDispose: typeof import('vue')['onScopeDispose']
-  const onServerPrefetch: typeof import('vue')['onServerPrefetch']
-  const onUnmounted: typeof import('vue')['onUnmounted']
-  const onUpdated: typeof import('vue')['onUpdated']
-  const onWatcherCleanup: typeof import('vue')['onWatcherCleanup']
-  const provide: typeof import('vue')['provide']
-  const reactive: typeof import('vue')['reactive']
-  const readonly: typeof import('vue')['readonly']
-  const ref: typeof import('vue')['ref']
-  const resolveComponent: typeof import('vue')['resolveComponent']
-  const setActivePinia: typeof import('pinia')['setActivePinia']
-  const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix']
-  const shallowReactive: typeof import('vue')['shallowReactive']
-  const shallowReadonly: typeof import('vue')['shallowReadonly']
-  const shallowRef: typeof import('vue')['shallowRef']
-  const storeToRefs: typeof import('pinia')['storeToRefs']
-  const toRaw: typeof import('vue')['toRaw']
-  const toRef: typeof import('vue')['toRef']
-  const toRefs: typeof import('vue')['toRefs']
-  const toValue: typeof import('vue')['toValue']
-  const triggerRef: typeof import('vue')['triggerRef']
-  const unref: typeof import('vue')['unref']
-  const useAttrs: typeof import('vue')['useAttrs']
-  const useCssModule: typeof import('vue')['useCssModule']
-  const useCssVars: typeof import('vue')['useCssVars']
-  const useId: typeof import('vue')['useId']
-  const useLink: typeof import('vue-router')['useLink']
-  const useModel: typeof import('vue')['useModel']
-  const useRoute: typeof import('vue-router')['useRoute']
-  const useRouter: typeof import('vue-router')['useRouter']
-  const useSlots: typeof import('vue')['useSlots']
-  const useTemplateRef: typeof import('vue')['useTemplateRef']
-  const watch: typeof import('vue')['watch']
-  const watchEffect: typeof import('vue')['watchEffect']
-  const watchPostEffect: typeof import('vue')['watchPostEffect']
-  const watchSyncEffect: typeof import('vue')['watchSyncEffect']
-}
-// for type re-export
-declare global {
-  // @ts-ignore
-  export type { Component, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
-  import('vue')
-}

+ 0 - 85
src/components.d.ts

@@ -1,85 +0,0 @@
-/* eslint-disable */
-// @ts-nocheck
-// Generated by unplugin-vue-components
-// Read more: https://github.com/vuejs/core/pull/3399
-export {}
-
-/* prettier-ignore */
-declare module 'vue' {
-  export interface GlobalComponents {
-    BashEditor: typeof import('./components/BashEditor.vue')['default']
-    CameraSelector: typeof import('./components/monitor/CameraSelector.vue')['default']
-    CodeEditor: typeof import('./components/CodeEditor.vue')['default']
-    ElAlert: typeof import('element-plus/es')['ElAlert']
-    ElButton: typeof import('element-plus/es')['ElButton']
-    ElCard: typeof import('element-plus/es')['ElCard']
-    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
-    ElCol: typeof import('element-plus/es')['ElCol']
-    ElCollapse: typeof import('element-plus/es')['ElCollapse']
-    ElCollapseItem: typeof import('element-plus/es')['ElCollapseItem']
-    ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
-    ElDescriptions: typeof import('element-plus/es')['ElDescriptions']
-    ElDescriptionsItem: typeof import('element-plus/es')['ElDescriptionsItem']
-    ElDialog: typeof import('element-plus/es')['ElDialog']
-    ElDivider: typeof import('element-plus/es')['ElDivider']
-    ElDrawer: typeof import('element-plus/es')['ElDrawer']
-    ElDropdown: typeof import('element-plus/es')['ElDropdown']
-    ElDropdownItem: typeof import('element-plus/es')['ElDropdownItem']
-    ElDropdownMenu: typeof import('element-plus/es')['ElDropdownMenu']
-    ElEmpty: typeof import('element-plus/es')['ElEmpty']
-    ElForm: typeof import('element-plus/es')['ElForm']
-    ElFormItem: typeof import('element-plus/es')['ElFormItem']
-    ElIcon: typeof import('element-plus/es')['ElIcon']
-    ElImage: typeof import('element-plus/es')['ElImage']
-    ElInput: typeof import('element-plus/es')['ElInput']
-    ElInputNumber: typeof import('element-plus/es')['ElInputNumber']
-    ElLink: typeof import('element-plus/es')['ElLink']
-    ElOption: typeof import('element-plus/es')['ElOption']
-    ElOptionGroup: typeof import('element-plus/es')['ElOptionGroup']
-    ElPagination: typeof import('element-plus/es')['ElPagination']
-    ElProgress: typeof import('element-plus/es')['ElProgress']
-    ElRadio: typeof import('element-plus/es')['ElRadio']
-    ElRadioGroup: typeof import('element-plus/es')['ElRadioGroup']
-    ElResult: typeof import('element-plus/es')['ElResult']
-    ElRow: typeof import('element-plus/es')['ElRow']
-    ElScrollbar: typeof import('element-plus/es')['ElScrollbar']
-    ElSelect: typeof import('element-plus/es')['ElSelect']
-    ElSlider: typeof import('element-plus/es')['ElSlider']
-    ElSpace: typeof import('element-plus/es')['ElSpace']
-    ElStatistic: typeof import('element-plus/es')['ElStatistic']
-    ElSwitch: typeof import('element-plus/es')['ElSwitch']
-    ElTable: typeof import('element-plus/es')['ElTable']
-    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
-    ElTabPane: typeof import('element-plus/es')['ElTabPane']
-    ElTabs: typeof import('element-plus/es')['ElTabs']
-    ElTag: typeof import('element-plus/es')['ElTag']
-    ElText: typeof import('element-plus/es')['ElText']
-    ElTooltip: typeof import('element-plus/es')['ElTooltip']
-    ElUpload: typeof import('element-plus/es')['ElUpload']
-    HelloWorld: typeof import('./components/HelloWorld.vue')['default']
-    IEpArrowDown: typeof import('~icons/ep/arrow-down')['default']
-    IEpArrowLeft: typeof import('~icons/ep/arrow-left')['default']
-    IEpArrowRight: typeof import('~icons/ep/arrow-right')['default']
-    IEpArrowUp: typeof import('~icons/ep/arrow-up')['default']
-    IEpBottomLeft: typeof import('~icons/ep/bottom-left')['default']
-    IEpBottomRight: typeof import('~icons/ep/bottom-right')['default']
-    IEpLoading: typeof import('~icons/ep/loading')['default']
-    IEpTopLeft: typeof import('~icons/ep/top-left')['default']
-    IEpTopRight: typeof import('~icons/ep/top-right')['default']
-    JsonEditor: typeof import('./components/JsonEditor.vue')['default']
-    LangDropdown: typeof import('./components/LangDropdown.vue')['default']
-    MTable: typeof import('./components/mTable/index.vue')['default']
-    PTZController: typeof import('./components/PTZController.vue')['default']
-    PtzOverlay: typeof import('./components/monitor/PtzOverlay.vue')['default']
-    RouterLink: typeof import('vue-router')['RouterLink']
-    RouterView: typeof import('vue-router')['RouterView']
-    ThemeSettings: typeof import('./components/ThemeSettings.vue')['default']
-    ThemeSwitch: typeof import('./components/ThemeSwitch.vue')['default']
-    VideoCell: typeof import('./components/monitor/VideoCell.vue')['default']
-    VideoGrid: typeof import('./components/monitor/VideoGrid.vue')['default']
-    VideoPlayer: typeof import('./components/VideoPlayer.vue')['default']
-  }
-  export interface ComponentCustomProperties {
-    vLoading: typeof import('element-plus/es')['ElLoadingDirective']
-  }
-}

+ 8 - 27
src/views/live-stream/index.vue

@@ -157,24 +157,20 @@
               <span style="margin-left: 8px; color: #909399">秒</span>
             </el-form-item> -->
             <el-form-item label="命令模板:" prop="commandTemplate">
-              <div class="textarea-wrapper">
-                <el-input
-                  v-model="form.commandTemplate"
-                  type="textarea"
-                  :rows="6"
-                  placeholder="FFmpeg 命令模板,可使用 {RTSP_URL} 等变量"
-                  maxlength="2000"
-                  show-word-limit
-                />
-              </div>
+              <CodeEditor
+                v-model="form.commandTemplate"
+                language="bash"
+                height="200px"
+                placeholder="#!/bin/bash&#10;# FFmpeg 命令模板,可使用 {RTSP_URL} 等变量"
+              />
             </el-form-item>
             <!-- <el-form-item label="备注:" prop="remark">
               <el-input v-model="form.remark" type="textarea" :rows="2" placeholder="备注信息" maxlength="500"
                 style="width: 300px" />
             </el-form-item> -->
-            <el-form-item v-if="isEdit" label="启用状态:" prop="enabled">
+            <!-- <el-form-item v-if="isEdit" label="启用状态:" prop="enabled">
               <el-switch v-model="form.enabled" />
-            </el-form-item>
+            </el-form-item> -->
           </el-form>
         </div>
         <div class="drawer-footer">
@@ -1225,21 +1221,6 @@ onMounted(() => {
     color: #606266;
     font-size: 14px;
   }
-
-  .textarea-wrapper {
-    width: 100%;
-
-    :deep(.el-textarea__inner) {
-      font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', monospace;
-      font-size: 13px;
-      background-color: #fafafa;
-      border: 1px solid #dcdfe6;
-
-      &:focus {
-        border-color: #4f46e5;
-      }
-    }
-  }
 }
 
 .drawer-footer {