# Wechat Miniprogram Cloud

> 此Skill专门用于微信小程序云开发项目。当用户需要： 1. 创建新的微信小程序云开发项目 2. 实现常见功能（用户登录、商品管理、购物车、订单系统、支付等） 3. 规范化项目结构和代码管理 4. 解决云开发中的常见问题（权限、数据库操作、云函数部署等） 时使用此Skill。 此Skill提供完整的项目模板、代码片段、最佳实践指南和上下文记忆机制，帮助快速搭建和维护微信小程序云应用。

- Skill: `yanlin-cheng/wechat-miniprogram-cloud` (Agent Skill, multi-file: 16 files)
- Install (CLI): `npx skillmds@latest add yanlin-cheng/wechat-miniprogram-cloud`
- Raw SKILL.md: https://api.skillmd.com/api/skills/yanlin-cheng/wechat-miniprogram-cloud/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: yanlin-cheng (https://skillmd.com/u/yanlin-cheng)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/yanlin-cheng/wechat-miniprogram-cloud

---


# 微信小程序云开发 Skill

## 概述

此Skill提供微信小程序云开发的完整解决方案，包括项目初始化、功能模块实现、规范化管理和问题排查。

## 适用场景

- 从零开始创建微信小程序云开发项目
- 快速实现常见业务功能（电商、社交、工具类）
- 规范化现有项目的代码结构和开发流程
- 解决云开发中的技术难题（权限、性能、安全）
- 维护和管理长期运行的云开发项目

## 核心功能模块

### 1. 项目初始化
- 基础项目结构搭建
- 云开发环境配置
- 全局样式和工具函数
- 页面路由配置

### 2. 用户系统
- 微信登录授权
- 用户信息管理
- 权限控制

### 3. 数据管理
- 云数据库设计
- CRUD操作封装
- 数据权限配置

### 4. 业务功能
- 商品展示系统
- 购物车功能
- 订单管理
- 微信支付集成
- 图片上传与管理

### 5. 管理后台
- 商品管理
- 订单管理
- 数据统计

## 使用流程

### 第一步：加载项目上下文

每次开始工作时，首先检查并加载项目上下文记忆文件：

```bash
读取文件：.codebuddy/skills/wechat-miniprogram-cloud/context-memory.yaml
```

如果文件不存在，创建新的上下文记忆文件，询问用户以下信息：
- 项目名称
- 当前开发阶段（初始化/功能开发/维护优化）
- 已完成功能列表
- 正在开发的功能
- 使用的云开发环境ID
- 管理员OpenID（如有）

### 第二步：根据需求选择对应模板

| 需求类型 | 参考资源 |
|---------|---------|
| 项目结构规范 | references/project-structure.md |
| 代码规范 | references/coding-standards.md |
| 调试指南 | references/debugging-guide.md |
| 常见问题 | references/common-issues.md |

### 第三步：实现功能模块

根据具体需求，参考对应的功能实现指南：

1. **新建页面**：使用 `assets/templates/page/` 模板
2. **新建云函数**：使用 `assets/templates/cloudfunction/` 模板
3. **数据库操作**：参考 `assets/snippets/database-operations.md`
4. **权限控制**：参考 `assets/snippets/permission-control.md`

### 第四步：更新上下文记忆

完成工作后，更新上下文记忆文件，记录：
- 新完成的功能
- 遇到的问题和解决方案
- 重要的技术决策

## 项目结构规范

标准的微信小程序云开发项目结构：

```
project/
├── app.js                 # 应用入口
├── app.json               # 全局配置
├── app.wxss               # 全局样式
├── project.config.json    # 项目配置
├── sitemap.json           # 站点地图
├── pages/                 # 页面目录
│   ├── index/            # 首页
│   ├── profile/          # 个人中心
│   └── ...
├── components/           # 自定义组件
├── utils/               # 工具函数
│   ├── util.js
│   └── api.js
├── cloudfunctions/      # 云函数目录
│   ├── login/          # 登录云函数
│   ├── manage/         # 管理后台云函数
│   └── utils/          # 云函数工具
└── images/             # 图片资源
```

详细规范参考：references/project-structure.md

## 数据库设计规范

### 集合命名
- 使用小写字母，多个单词用下划线连接
- 复数形式：products, orders, users
- 系统集合以 _ 开头（不推荐自定义）

### 常用集合
| 集合名 | 用途 | 主要字段 |
|-------|------|---------|
| products | 商品信息 | name, price, stock, images, status |
| orders | 订单数据 | user_id, products, total, status, create_time |
| users | 用户信息 | openid, nickname, avatar, phone |
| cart | 购物车 | user_id, product_id, quantity |
| categories | 商品分类 | name, sort, icon |

### 权限配置建议

| 集合 | 读权限 | 写权限 | 说明 |
|-----|-------|-------|------|
| products | 所有用户 | 仅管理员 | 商品展示 |
| orders | 创建者+管理员 | 创建者+管理员 | 订单数据 |
| users | 仅自己 | 仅自己 | 用户隐私 |
| cart | 仅自己 | 仅自己 | 个人购物车 |

## 云函数开发规范

### 目录结构
```
cloudfunctions/functionName/
├── config.json          # 函数配置
├── index.js            # 主入口
├── package.json        # 依赖配置
└── auth.js            # 权限验证（可选）
```

### 标准模板
每个云函数应包含：
1. 权限验证（如需）
2. 参数校验
3. 业务逻辑
4. 错误处理
5. 统一返回格式

参考模板：assets/templates/cloudfunction/

## 客户端开发规范

### 页面结构
```javascript
Page({
  data: {
    // 页面数据
  },
  
  onLoad(options) {
    // 页面加载
  },
  
  async loadData() {
    // 数据加载
  },
  
  // 事件处理
  // 辅助函数
})
```

### 异步操作统一使用 async/await
```javascript
async fetchData() {
  try {
    const res = await wx.cloud.callFunction({
      name: 'functionName',
      data: { param: value }
    })
    return res.result
  } catch (err) {
    console.error('调用失败:', err)
    throw err
  }
}
```

## 常见问题快速解决

### 1. 订单查询失败 "cannot find document"
**原因**：客户端直接查询受_openid权限限制
**解决**：
- 方案1：创建云函数查询（推荐生产环境）
- 方案2：修改数据库权限为「所有用户可读」（仅测试环境）

参考：assets/snippets/permission-control.md

### 2. 云函数部署失败
**检查项**：
- 是否在云开发控制台创建环境
- project.config.json 中 cloudfunctionRoot 配置正确
- 右键云函数目录选择「创建并部署：云端安装依赖」

### 3. 支付功能调试
- 需在真机调试
- 配置正确的商户号和密钥
- 确保云函数有调用支付接口权限

详细问题排查：references/debugging-guide.md

## 上下文记忆机制

项目上下文保存在 `.codebuddy/skills/wechat-miniprogram-cloud/context-memory.yaml`

每次交互时：
1. 读取上下文了解项目状态
2. 根据上下文提供针对性建议
3. 完成任务后更新上下文

上下文模板参考：references/context-memory-template.yaml

## 代码片段速查

### 快速初始化云开发
```javascript
// app.js
App({
  onLaunch() {
    wx.cloud.init({
      env: 'your-env-id',
      traceUser: true
    })
  }
})
```

### 调用云函数
```javascript
const { result } = await wx.cloud.callFunction({
  name: 'functionName',
  data: { key: value }
})
```

### 数据库操作
```javascript
const db = wx.cloud.database()

// 查询
db.collection('collection').where({}).get()

// 添加
db.collection('collection').add({ data: {} })

// 更新
db.collection('collection').doc('id').update({ data: {} })
```

更多代码片段：assets/snippets/

## 最佳实践

1. **安全性**：敏感操作（支付、退款、修改订单状态）必须通过云函数完成
2. **性能**：列表查询使用分页，图片使用云存储CDN
3. **用户体验**：添加加载状态、错误提示、空状态处理
4. **代码复用**：通用逻辑抽取到 utils 或云函数
5. **版本管理**：重要修改前备份，使用Git管理代码

## 扩展资源

- 微信官方文档：https://developers.weixin.qq.com/miniprogram/dev/
- 云开发文档：https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html
- 微信支付文档：https://pay.weixin.qq.com/wiki/doc/apiv3/index.shtml

