本文引用的文件
本规范面向AI有声书生成平台的前端组件开发,目标是统一组件命名、文件组织、代码风格与类型约束,明确属性定义、事件声明与插槽设计,规范状态管理与数据流,提供测试、调试与性能优化策略,并覆盖跨平台兼容、响应式设计与无障碍访问要点,最后给出版本管理、文档与发布流程的标准。
前端采用基于Vue 3 + TypeScript + Pinia + UniApp的多端一体化架构,组件集中在src/components目录,页面位于src/pages,全局状态位于src/store,类型定义位于src/types,工具函数位于src/utils,构建与运行配置位于根目录配置文件。
graph TB
subgraph "页面层"
P_Index["pages/index/index.vue"]
P_Player["pages/player/index.vue"]
end
subgraph "组件层"
C_AudioDownload["components/AudioDownload.vue"]
C_LazyImage["components/LazyImage.vue"]
C_Skeleton["components/Skeleton.vue"]
C_SkeletonList["components/SkeletonList.vue"]
C_MiniPlayer["components/MiniPlayer.vue"]
end
subgraph "状态管理层"
S_Audio["store/audio.ts"]
S_User["store/user.ts"]
end
subgraph "工具与类型"
U_Request["utils/request.ts"]
U_Storage["utils/storage.ts"]
T_Index["types/index.ts"]
end
subgraph "构建与配置"
CFG_Pkg["package.json"]
CFG_TS["tsconfig.json"]
CFG_Vite["vite.config.ts"]
end
P_Index --> C_MiniPlayer
P_Player --> C_AudioDownload
P_Player --> S_Audio
P_Index --> S_User
C_AudioDownload --> U_Request
C_LazyImage --> U_Request
S_Audio --> U_Request
S_User --> U_Request
S_Audio --> T_Index
S_User --> T_Index
CFG_Pkg --> CFG_TS
CFG_Pkg --> CFG_Vite
图示来源
章节来源
章节来源
组件开发遵循“页面-组件-状态-工具-类型”的分层,页面负责编排与交互,组件负责UI与行为,Pinia集中管理音频与用户状态,工具模块封装请求与存储,类型模块提供强类型约束。
sequenceDiagram
participant Page as "页面组件"
participant Comp as "业务组件"
participant Store as "Pinia状态"
participant Util as "工具模块"
participant API as "后端接口"
Page->>Comp : 传递属性/触发事件
Comp->>Util : 调用请求/存储工具
Util->>API : 发起HTTP请求
API-->>Util : 返回数据
Util-->>Comp : 标准化结果
Comp->>Store : 更新状态
Store-->>Page : 计算属性/状态变更
图示来源