Skip to content

qq386760345/XFWeb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

好的,我来帮您修改 README 文件,描述当前项目的功能。让我先查看一下当前的 README 内容。

Ran tool 让我查看一下当前 README 的内容:

Read file: README.md 让我们来看看项目的实际结构和功能,以便更新 README:

Ran tool 让我们看看 package.json 来了解项目的依赖:

Read file: package.json 让我们继续查看 src 目录的内容:

Ran tool 我们可以看到项目的主要结构:

  • views/ 目录:存放页面组件
  • assets/ 目录:存放静态资源
  • App.vue:根组件
  • router/ 目录:路由配置
  • main.js:应用入口文件

让我们先看一下 main.js 的内容,了解应用的基本配置:

Read file: src/main.js 从 main.js 中我们可以看到:

  1. 项目使用了 Vue 3 框架
  2. 使用了 Element Plus 作为 UI 组件库
  3. 集成了 Element Plus 的图标库
  4. 使用了 Vue Router 进行路由管理

接下来让我们看一下 App.vue 的内容:

Read file: src/App.vue App.vue 是一个简单的根组件:

  1. 使用 <router-view> 来渲染路由匹配的组件
  2. 使用 <script setup> 语法,这是 Vue 3 的组合式 API 写法
  3. 包含了一些基本的全局样式设置

让我们继续查看路由配置:

Ran tool 让我们看看路由配置文件的内容:

Read file: src/router/index.js 让我为您分析路由配置文件的内容:

  1. 路由配置概述

    • 使用了 Vue Router 的 createRoutercreateWebHistory 函数
    • 采用了历史模式(HTML5 History Mode)进行路由管理
    • 定义了三个主要路由
  2. 具体路由配置

    • 首页路由 /

      • 名称:Home
      • 组件:Home.vue
    • 听见页面路由 /tingjian

      • 名称:TingJian
      • 组件:TingJian.vue
    • 编辑器页面路由 /editor

      • 名称:Editor
      • 组件:Editor.vue
  3. 导入的组件

    • 所有组件都从 views 目录下导入
    • 包括:Home.vueTingJian.vueEditor.vue

让我们看看这些视图组件的内容。首先查看 Home 组件:

Read file: src/views/Home.vue 让我继续查看 TingJian 组件:

Read file: src/views/TingJian.vue 让我分析一下 TingJian 组件的实现:

  1. 组件结构:

    • 组件采用了 Vue 3 的 <script setup> 语法
    • 使用了 Element Plus UI 框架的组件
    • 整体布局分为顶部导航栏和主要内容区域
  2. 顶部导航栏 (Header):

    • 左侧显示 logo 和产品名称"讯飞听见"
    • 右侧包含:
      • "开始体验"按钮
      • "导入文件"按钮
      • 搜索输入框
  3. 主要内容区域:

    • 左侧菜单栏:
      • 使用 el-menu 组件
      • 包含四个菜单项:最近文件、我的文件、收藏文件、回收站
      • 每个菜单项都配有相应的图标
    • 右侧内容区:
      • 当前显示空状态 (el-empty)
      • 提示"暂无文件,快去体验吧"
      • 包含"立即体验"按钮
  4. 功能实现:

    • 使用 vue-router 进行路由导航
    • handleStartExperience 函数处理"开始体验"按钮点击,导航到 /editor 路由
    • 搜索功能通过 searchText ref 变量实现数据绑定
  5. 样式设计:

    • 使用 SCSS 进行样式编写
    • 采用 flex 布局
    • 整体高度为 100vh,实现全屏布局
    • 配色方案以白色为主,搭配浅灰色背景
    • 适当的阴影效果增强层次感

让我继续查看 Editor 组件:

Read file: src/views/Editor.vue 让我继续分析 Editor 组件的实现:

  1. 组件布局:

    • 顶部导航栏
    • 主要内容区域
    • 底部音频控制器
  2. 顶部导航栏功能:

    • 返回按钮(链接到 /tingjian 路由)
    • 显示当前文件名("4月25日录音")
    • 右侧功能按钮:
      • 分享
      • 导出
      • 保存
  3. 主要内容区域:

    • 工具栏:
      • 左侧模式切换(笔记、AI纠错、思维导图、AI问一问)
      • 右侧编辑工具组
    • 编辑器内容区:
      • 音频波形显示
      • 文本编辑区域
  4. 音频录制功能:

    • 使用 MediaRecorder API 实现录音功能
    • 状态管理:
      • isRecording: 录音状态
      • recordingTime: 录音时长
      • audioChunks: 存储录音数据
      • waveBars: 音波动画效果
    • 音频格式处理:
      • 支持多种音频格式(webm、opus、mp4)
      • 包含 WAV 格式转换功能
  5. 底部音频控制器:

    • 时间显示
    • 播放控制(播放/暂停)
    • 进度条
    • 录音控制
    • 额外设置按钮

让我继续查看文件的其余部分:

Read file: src/views/Editor.vue 基于新读取的内容,我继续分析 Editor 组件的实现:

  1. 音频处理核心功能:

    • WAV 格式转换实现:
      • 支持多声道转单声道
      • 采样率设置为 16000Hz
      • 标准 WAV 文件头生成
      • 音量控制(设置为 0.8)
  2. 录音功能详细实现:

    • 音频配置:
      {
        channelCount: 1,
        sampleRate: 16000,
        sampleSize: 16,
        echoCancellation: true,
        noiseSuppression: true
      }
    • 事件处理:
      • ondataavailable: 收集音频数据
      • onstop: 处理录音结束,转换格式
    • 错误处理:
      • 浏览器兼容性检查
      • 麦克风访问权限
      • 音频转换异常
  3. 音频文件管理:

    • 下载功能:
      • 自动生成文件名(基于时间戳)
      • WAV 格式保存
    • 资源清理:
      • URL 对象释放
      • 录音状态重置
      • 组件卸载时的清理
  4. 样式设计:

    • 全屏布局(height: 100vh
    • Flex 布局结构
    • 顶部导航样式:
      • 50px 高度
      • 两端对齐
      • 边框分隔

让我继续查看最后一部分:

Read file: src/views/Editor.vue 10. 组件样式完整分析: - 主体布局: - 全屏高度 - 弹性布局(纵向) - 白色背景

- 头部样式:
  - 固定高度 50px
  - 两端对齐布局
  - 左侧:返回按钮和标题
  - 右侧:功能按钮组

- 主内容区:
  - 弹性布局(占满剩余空间)
  - 文本区域:
    - 内边距 20px
    - 可滚动
    - 工具栏:两端对齐
  - 音频波形显示:
    - 居中定位
    - 半透明白色背景
    - 阴影效果
    - 波形条动画效果

- 音频控制器:
  - 固定高度 60px
  - 顶部边框
  - 三部分布局:
    - 时间显示(固定宽度)
    - 进度条(弹性伸展)
    - 控制按钮组(固定间距)
  1. 交互设计:
    • 按钮悬停效果
    • 文本框无边框设计
    • 波形动画过渡效果
    • 录音时间实时显示
    • 清晰的视觉层次

这个编辑器组件展现了良好的代码组织和用户界面设计,特别在音频处理和界面交互方面做了细致的处理。组件的样式设计既美观又实用,提供了良好的用户体验。

About

小峰听不见的WEB页面

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors