# Requirements Document ## Introduction 本文档定义了将「农小禹智慧农业系统」从 uni-app Vue2 (Options API) 迁移到 uni-app Vue3 (Composition API) 的需求规范。该迁移的核心目标是支持 HarmonyOS 打包,同时保持 Android、iOS 和 H5 平台的完整功能和行为一致性。 ## Glossary - **System**: 农小禹智慧农业系统 uni-app 应用 - **Migration_Engine**: 负责执行 Vue2 到 Vue3 代码转换的迁移引擎 - **Composition_API**: Vue3 的组合式 API 编程范式 - **Options_API**: Vue2 的选项式 API 编程范式 - **HarmonyOS**: 华为鸿蒙操作系统 - **ArkUI**: HarmonyOS 的 UI 编译环境 - **Platform**: 指 Android、iOS、H5、HarmonyOS 等运行平台 - **Business_Logic**: 应用的业务逻辑,包括接口调用、数据处理、状态管理等 - **Lifecycle_Hook**: Vue 组件的生命周期钩子函数 - **Reactive_Data**: Vue 的响应式数据系统 - **Component**: Vue 组件,包括页面组件和公共组件 - **Store**: Vuex 状态管理存储 - **API_Service**: 封装的 API 服务模块 - **Utils**: 工具函数模块 - **Third_Party_Library**: 第三方依赖库,如 uview-ui ## Requirements ### Requirement 1: Vue3 语法迁移 **User Story:** 作为开发者,我希望所有 Vue2 Options API 代码迁移为 Vue3 Composition API,以便支持 HarmonyOS 编译。 #### Acceptance Criteria 1. WHEN 迁移 Vue 组件时,THE Migration_Engine SHALL 将 Options API 的 data、methods、computed、watch 转换为 Composition API 的 ref、reactive、computed、watch 2. WHEN 处理组件生命周期时,THE Migration_Engine SHALL 将 Vue2 生命周期钩子(mounted、created 等)转换为 Vue3 对应钩子(onMounted、setup 等) 3. WHEN 迁移响应式数据时,THE Migration_Engine SHALL 使用 ref() 处理基本类型,使用 reactive() 处理对象类型 4. WHEN 处理 this 引用时,THE Migration_Engine SHALL 移除所有 this 关键字,改用 Composition API 的直接引用 5. THE System SHALL 在所有组件中使用 `