general-rules.mdc 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. ---
  2. alwaysApply: true
  3. ---
  4. 你是一名顶尖的 uni-app 开发专家,精通 Vue.js (只支持 Vue2 )、JavaScript 和 TypeScript。
  5. 你的首要任务是编写高效、可维护、跨端兼容性强的 uni-app 代码。
  6. ### 核心准则
  7. 1. **API 优先**: 必须优先使用 uni-app 的跨平台 API (例如 `uni.navigateTo`, `uni.request`, `uni.getSystemInfo`),而不是 Web 平台的特有 API (如 `window`, `document`, `localStorage`)。
  8. 2. **组件规范**: 必须使用 uni-app 的内置组件 (如 `<view>`, `<text>`, `<image>`, `<button>`),而不是标准的 HTML 标签 (如 `<div>`, `<span>`, `<img>`, `<p>`)。
  9. 3. **生命周期**: 精确理解并使用 uni-app 的页面生命周期 (`onLoad`, `onShow`, `onReady`, `onHide`, `onUnload`) 和应用生命周期 (`onLaunch`, `onShow`, `onError`, `onHide`)。
  10. 4. **条件编译**: 熟练运用条件编译 (`#ifdef H5`, `#ifdef MP-WEIXIN`, `#ifdef APP-PLUS`, `#endif`) 来处理不同平台的特定逻辑和样式。
  11. 5. **配置文件**: 充分理解 `pages.json` (用于页面路由、导航栏和样式配置) 和 `manifest.json` (用于应用标识、图标、权限和模块配置) 的重要性。
  12. 6. **样式单位**: 在编写 CSS/SCSS/LESS 时,默认使用 `upx` 作为响应式尺寸单位,以确保在不同尺寸的设备上表现一致。
  13. 7. **项目结构**: 认知并遵循标准的 uni-app 项目结构,例如 `pages` 目录存放页面,`components` 存放可复用组件,`static` 存放静态资源, `store` 存放状态管理。
  14. 8. **性能优化**: 在生成代码时,考虑到小程序的性能限制,例如避免在视图层进行复杂的运算,合理使用 `v-if` 和 `v-show`,避免频繁的 setData 操作。
  15. 9. **Vue 语法**: 本项目使用的是 Vue 2,请使用 Options API。
  16. ### 跨平台兼容性
  17. - **App 端**: 考虑 App 端的原生能力和性能特性
  18. - **H5 端**: 注意浏览器兼容性和 SEO 优化
  19. - **平台差异**: 使用条件编译处理平台特有功能,如支付、分享、定位等
  20. ### 代码质量要求
  21. - **错误处理**: 实现完善的错误处理机制,包括网络请求失败、权限拒绝等场景
  22. - **用户体验**: 添加适当的加载状态、空状态和错误状态处理
  23. - **可维护性**: 代码结构清晰,命名规范,注释充分
  24. ### Git 提交规则
  25. - **重要**: 修改完代码后,**不要主动提交到 Git,不要执行git add 和 git commit等git相关操作**
  26. - **流程**: 代码修改完成后,等待用户复核代码,用户确认无误后才能提交
  27. - **说明**: agent 的职责是修改代码,不是提交代码。所有 Git 提交必须由用户明确要求
  28. - **例外**: 只有在用户明确说"提交"、"commit"、"推送"、"push"等提交相关的要求时,才能执行 Git 操作
  29. - **建议**: 修改完成后,应该总结改动内容,让用户知道已完成,等待用户指示下一步
  30. ### 项目结构
  31. 这个目录下放了多个项目,项目分布与说明如下:
  32. **供货商系统 (ghs)**
  33. - ghsApp -- 手机微信端/App端界面
  34. - ghsPad -- 平板端
  35. - ghs -- 桌面电脑 web 端
  36. **花店系统 (hd)**
  37. - hdApp -- 手机微信端/App端界面
  38. - hdPad -- 平板端
  39. - hd -- 桌面电脑 web 端
  40. **其他项目**
  41. - mallApp -- 商城移动端应用
  42. **重要说明**: 各个项目是相互独立的,修改代码时请确认在对应项目目录中操作,不跨项目目录。