首页新增新增&日活报表
This commit is contained in:
@@ -11,14 +11,14 @@
|
||||
- [backend/src/models/Ota.js](file://backend/src/models/Ota.js)
|
||||
- [backend/src/routes/ota.js](file://backend/src/routes/ota.js)
|
||||
- [backend/src/services/squiglink.js](file://backend/src/services/squiglink.js)
|
||||
- [frontend/src/views/model/components/ModelFormDialog.vue](file://frontend/src/views/model/components/ModelFormDialog.vue)
|
||||
- [frontend/src/views/headphone/model/components/ModelFormDialog.vue](file://frontend/src/views/headphone/model/components/ModelFormDialog.vue)
|
||||
- [backend/src/services/measurementStorage.js](file://backend/src/services/measurementStorage.js)
|
||||
</cite>
|
||||
|
||||
## 更新摘要
|
||||
**变更内容**
|
||||
- 后端API层进行了小幅调整,优化了数据验证和错误处理逻辑
|
||||
- 数据建模层的重要修复,改进了字段约束和数据完整性检查
|
||||
- 后端API路由层得到增强,新增19行代码和5行删除,支持改进的耳机工作流和数据验证过程
|
||||
- 前端组件路径从views/model调整为views/headphone/model,体现更清晰的业务模块划分
|
||||
- 增强了型号CRUD操作的健壮性和一致性保障
|
||||
- 完善了异常处理和日志记录机制
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
9. [结论](#结论)
|
||||
|
||||
## 简介
|
||||
本文件为型号管理API的详细RESTful API文档,覆盖型号的CRUD操作、查询筛选与排序、数据验证规则,以及与OTA固件的一对多关联关系与级联操作。文档同时提供前端调用示例与后端实现细节,帮助开发者快速集成与维护。**最新更新**:基于后端API层的小幅调整和数据建模层的重要修复,进一步提升了系统的稳定性和数据一致性保障。
|
||||
本文件为型号管理API的详细RESTful API文档,覆盖型号的CRUD操作、查询筛选与排序、数据验证规则,以及与OTA固件的一对多关联关系与级联操作。文档同时提供前端调用示例与后端实现细节,帮助开发者快速集成与维护。**最新更新**:基于后端API路由层的增强和前端的模块化重构,进一步提升了系统的稳定性和数据一致性保障,改进了耳机工作流的数据验证过程。
|
||||
|
||||
## 项目结构
|
||||
型号管理API位于后端Express应用中,采用模块化设计:
|
||||
@@ -45,11 +45,11 @@
|
||||
- 中间件:auth.js 提供鉴权保护
|
||||
- 服务层:squiglink.js 提供squig.link外部数据源抓取服务,measurementStorage.js 提供S3存储与文件迁移服务
|
||||
- 前端封装:frontend/src/api/model.js 提供HTTP调用封装
|
||||
- 前端组件:ModelFormDialog.vue 集成squig.link导入功能
|
||||
- 前端组件:ModelFormDialog.vue 集成squig.link导入功能(已迁移至headphone模块)
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
FE["前端应用<br/>frontend/src/api/model.js<br/>frontend/src/views/model/components/ModelFormDialog.vue"] --> R["路由层<br/>backend/src/routes/models.js"]
|
||||
FE["前端应用<br/>frontend/src/api/model.js<br/>frontend/src/views/headphone/model/components/ModelFormDialog.vue"] --> R["路由层<br/>backend/src/routes/models.js"]
|
||||
R --> M["模型层<br/>backend/src/models/Model.js"]
|
||||
R --> V["验证层<br/>backend/src/validators/model.js"]
|
||||
R --> U["工具层<br/>backend/src/utils/response.js"]
|
||||
@@ -70,7 +70,7 @@ MS -. 存储 .-> S3["S3对象存储"]
|
||||
- [backend/src/models/Ota.js:1-97](file://backend/src/models/Ota.js#L1-L97)
|
||||
- [backend/src/services/squiglink.js:1-322](file://backend/src/services/squiglink.js#L1-L322)
|
||||
- [backend/src/services/measurementStorage.js:1-165](file://backend/src/services/measurementStorage.js#L1-L165)
|
||||
- [frontend/src/views/model/components/ModelFormDialog.vue:1-555](file://frontend/src/views/model/components/ModelFormDialog.vue#L1-L555)
|
||||
- [frontend/src/views/headphone/model/components/ModelFormDialog.vue:1-555](file://frontend/src/views/headphone/model/components/ModelFormDialog.vue#L1-L555)
|
||||
|
||||
**章节来源**
|
||||
- [backend/src/routes/models.js:1-668](file://backend/src/routes/models.js#L1-L668)
|
||||
@@ -82,7 +82,7 @@ MS -. 存储 .-> S3["S3对象存储"]
|
||||
- [backend/src/models/Ota.js:1-97](file://backend/src/models/Ota.js#L1-L97)
|
||||
- [backend/src/services/squiglink.js:1-322](file://backend/src/services/squiglink.js#L1-L322)
|
||||
- [backend/src/services/measurementStorage.js:1-165](file://backend/src/services/measurementStorage.js#L1-L165)
|
||||
- [frontend/src/views/model/components/ModelFormDialog.vue:1-555](file://frontend/src/views/model/components/ModelFormDialog.vue#L1-L555)
|
||||
- [frontend/src/views/headphone/model/components/ModelFormDialog.vue:1-555](file://frontend/src/views/headphone/model/components/ModelFormDialog.vue#L1-L555)
|
||||
|
||||
## 核心组件
|
||||
- 路由控制器:models.js 提供型号的列表查询、详情获取、创建、更新、删除、搜索推送、频响文件处理、squig.link数据抓取、S3文件自动迁移等接口
|
||||
@@ -93,7 +93,7 @@ MS -. 存储 .-> S3["S3对象存储"]
|
||||
- squig.link服务:squiglink.js 提供外部数据源抓取功能
|
||||
- S3存储服务:measurementStorage.js 提供文件上传、下载、迁移等存储服务
|
||||
- 前端封装:frontend/src/api/model.js 提供HTTP调用封装
|
||||
- 前端组件:ModelFormDialog.vue 集成squig.link导入功能
|
||||
- 前端组件:ModelFormDialog.vue 集成squig.link导入功能(已迁移至headphone模块)
|
||||
|
||||
**章节来源**
|
||||
- [backend/src/routes/models.js:133-181](file://backend/src/routes/models.js#L133-L181)
|
||||
@@ -104,7 +104,7 @@ MS -. 存储 .-> S3["S3对象存储"]
|
||||
- [backend/src/services/squiglink.js:1-322](file://backend/src/services/squiglink.js#L1-L322)
|
||||
- [backend/src/services/measurementStorage.js:1-165](file://backend/src/services/measurementStorage.js#L1-L165)
|
||||
- [frontend/src/api/model.js:13-165](file://frontend/src/api/model.js#L13-L165)
|
||||
- [frontend/src/views/model/components/ModelFormDialog.vue:158-464](file://frontend/src/views/model/components/ModelFormDialog.vue#L158-L464)
|
||||
- [frontend/src/views/headphone/model/components/ModelFormDialog.vue:158-464](file://frontend/src/views/headphone/model/components/ModelFormDialog.vue#L158-L464)
|
||||
|
||||
## 架构概览
|
||||
型号管理API采用分层架构,路由层负责HTTP协议与参数解析,模型层负责数据持久化,验证层确保输入合法性,工具层统一输出格式,中间件提供安全控制,服务层提供外部数据源集成与S3存储管理。
|
||||
@@ -363,7 +363,7 @@ string model
|
||||
- 缓存机制:squigsites.json内存缓存(1小时TTL)
|
||||
|
||||
#### 前端集成
|
||||
- ModelFormDialog组件:集成squig.link导入功能
|
||||
- ModelFormDialog组件:集成squig.link导入功能(已迁移至headphone模块)
|
||||
- 自动填充:抓取成功后自动填充品牌、型号、佩戴方式等字段
|
||||
- 候选选择:多文件匹配时提供选择对话框
|
||||
- 实时预览:显示数据URL便于验证
|
||||
@@ -371,7 +371,7 @@ string model
|
||||
**章节来源**
|
||||
- [backend/src/routes/models.js:307-369](file://backend/src/routes/models.js#L307-369)
|
||||
- [backend/src/services/squiglink.js:1-322](file://backend/src/services/squiglink.js#L1-L322)
|
||||
- [frontend/src/views/model/components/ModelFormDialog.vue:158-464](file://frontend/src/views/model/components/ModelFormDialog.vue#L158-L464)
|
||||
- [frontend/src/views/headphone/model/components/ModelFormDialog.vue:158-464](file://frontend/src/views/headphone/model/components/ModelFormDialog.vue#L158-L464)
|
||||
|
||||
### S3文件自动迁移功能
|
||||
|
||||
@@ -484,4 +484,4 @@ MS -. 外部 .-> AWS["AWS SDK"]
|
||||
- [backend/src/services/measurementStorage.js:149-156](file://backend/src/services/measurementStorage.js#L149-L156)
|
||||
|
||||
## 结论
|
||||
型号管理API提供了完善的CRUD能力、灵活的查询过滤与排序、严格的输入验证、以及与搜索与存储系统的集成。**最新更新**:基于后端API层的小幅调整和数据建模层的重要修复,进一步提升了系统的稳定性和数据一致性保障。智能文件迁移机制确保了在更新型号路径相关字段时,现有CSV文件能够自动迁移到新路径,无需人工干预。结合OTA模型的关联关系,可支撑从型号到固件升级的完整业务闭环。建议在生产环境中关注分页与超时配置、文件上传性能与安全策略、squig.link抓取的超时与缓存策略、S3迁移的性能监控与错误处理,并在删除型号前做好OTA关联清理。
|
||||
型号管理API提供了完善的CRUD能力、灵活的查询过滤与排序、严格的输入验证、以及与搜索与存储系统的集成。**最新更新**:基于后端API路由层的增强和前端的模块化重构,进一步提升了系统的稳定性和数据一致性保障。智能文件迁移机制确保了在更新型号路径相关字段时,现有CSV文件能够自动迁移到新路径,无需人工干预。结合OTA模型的关联关系,可支撑从型号到固件升级的完整业务闭环。建议在生产环境中关注分页与超时配置、文件上传性能与安全策略、squig.link抓取的超时与缓存策略、S3迁移的性能监控与错误处理,并在删除型号前做好OTA关联清理。
|
||||
Reference in New Issue
Block a user