微信小程序cursorrules

# 微信小程序项目规则(优化版)

## 目录结构规范

- 页面文件必须放在 `pages/` 目录下,按功能模块分类(如 `student/`、`login/` 等)
- 公共组件放在 `components/` 目录下,每个组件独立目录
- 工具函数按照功能分类:
  - API 请求相关:`api/` 目录
  - 通用工具:`util/` 目录
  - 枚举值:`enum/` 目录
  - 通用业务逻辑:`common/` 目录
- 静态资源管理:
  - 图片资源:`images/` 或 `assets/` 目录
  - 自定义 TabBar:`custom-tab-bar/` 目录

## 技术栈规范

- 使用 UnoCSS 进行样式管理:
  - 配置文件:`unocss.config.js`
  - 生成样式:`unocss.wxss`
- 使用 NPM 包管理依赖:
  - 第三方依赖统一在 `package.json` 中声明
  - 小程序 NPM 构建产物在 `miniprogram_npm/` 目录

## 代码规范

- JavaScript 规范:
  - 使用 ES6+ 语法
  - 遵循项目配置的 ESLint 规则
  - 使用 JSConfig 配置(`jsconfig.json`)增强开发体验
- 网络请求规范:
  - 所有请求必须通过 `api/` 目录下的接口函数调用
  - 支持 Mock 数据开发(`mock/` 目录)
  - 统一错误处理和响应拦截

## 组件开发规范

- 组件命名采用 kebab-case 风格(如 `course-card`、`employee-select`)
- 组件必须包含:
  - 组件配置文件(`.json`)
  - 组件逻辑文件(`.js`)
  - 组件模板文件(`.wxml`)
  - 组件样式文件(`.wxss`)
- 组件通信:
  - 属性传递使用 `properties`
  - 事件传递使用 `triggerEvent`
  - 复杂状态管理考虑使用全局状态

## 页面开发规范

- 页面命名规范:
  - 页面文件夹采用 kebab-case 命名(如:`course-detail/`)
  - 页面文件名必须与文件夹名称保持一致(如:`course-detail/course-detail.js`)
  - 完整的页面文件结构示例:
    ```
    pages/
    └── course-detail/
        ├── course-detail.js
        ├── course-detail.json
        ├── course-detail.wxml
        └── course-detail.wxss
    ```

- 页面分包加载:
  - 主包保持精简,合理使用分包
  - 分包配置在 `app.json` 中管理

- 页面性能优化:
  - 合理使用 `wx:if` 和 `hidden`
  - 避免不必要的数据更新和渲染
  - 及时销毁不需要的定时器和监听器


## 样式规范

- 使用 UnoCSS 工具类优先
- 自定义样式遵循以下规则:
  - 使用 `rpx` 作为主要单位
  - 避免行内样式
  - 组件样式隔离
  - 主题色值统一管理

## 开发流程规范

- 版本控制:
  - 遵循 `.gitignore` 规则
  - 合理管理 `project.config.json` 和 `project.private.config.json`
- 云开发规范(如果使用):
  - 云函数配置在 `.cloudbase/` 目录
  - 遵循最小权限原则

## 其他规范

- 小程序配置:
  - 页面配置统一在 `app.json` 管理
  - 权限管理通过 `permission.js` 统一控制
- 文档规范:
  - 重要功能模块必须包含 README 文档
  - 关键代码必须包含注释
  - 接口文档必须及时更新
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值