| name | wechat-miniprogram-cloud |
| description | 此Skill专门用于微信小程序云开发项目。当用户需要:
1. 创建新的微信小程序云开发项目
2. 实现常见功能(用户登录、商品管理、购物车、订单系统、支付等)
3. 规范化项目结构和代码管理
4. 解决云开发中的常见问题(权限、数据库操作、云函数部署等)
时使用此Skill。
此Skill提供完整的项目模板、代码片段、最佳实践指南和上下文记忆机制,帮助快速搭建和维护微信小程序云应用。
|
微信小程序云开发 Skill
概述
此Skill提供微信小程序云开发的完整解决方案,包括项目初始化、功能模块实现、规范化管理和问题排查。
适用场景
- 从零开始创建微信小程序云开发项目
- 快速实现常见业务功能(电商、社交、工具类)
- 规范化现有项目的代码结构和开发流程
- 解决云开发中的技术难题(权限、性能、安全)
- 维护和管理长期运行的云开发项目
核心功能模块
1. 项目初始化
- 基础项目结构搭建
- 云开发环境配置
- 全局样式和工具函数
- 页面路由配置
2. 用户系统
3. 数据管理
4. 业务功能
- 商品展示系统
- 购物车功能
- 订单管理
- 微信支付集成
- 图片上传与管理
5. 管理后台
使用流程
第一步:加载项目上下文
每次开始工作时,首先检查并加载项目上下文记忆文件:
读取文件:.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 |
第三步:实现功能模块
根据具体需求,参考对应的功能实现指南:
- 新建页面:使用
assets/templates/page/ 模板
- 新建云函数:使用
assets/templates/cloudfunction/ 模板
- 数据库操作:参考
assets/snippets/database-operations.md
- 权限控制:参考
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 # 权限验证(可选)
标准模板
每个云函数应包含:
- 权限验证(如需)
- 参数校验
- 业务逻辑
- 错误处理
- 统一返回格式
参考模板:assets/templates/cloudfunction/
客户端开发规范
页面结构
Page({
data: {
},
onLoad(options) {
},
async loadData() {
},
})
异步操作统一使用 async/await
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
每次交互时:
- 读取上下文了解项目状态
- 根据上下文提供针对性建议
- 完成任务后更新上下文
上下文模板参考:references/context-memory-template.yaml
代码片段速查
快速初始化云开发
App({
onLaunch() {
wx.cloud.init({
env: 'your-env-id',
traceUser: true
})
}
})
调用云函数
const { result } = await wx.cloud.callFunction({
name: 'functionName',
data: { key: value }
})
数据库操作
const db = wx.cloud.database()
db.collection('collection').where({}).get()
db.collection('collection').add({ data: {} })
db.collection('collection').doc('id').update({ data: {} })
更多代码片段:assets/snippets/
最佳实践
- 安全性:敏感操作(支付、退款、修改订单状态)必须通过云函数完成
- 性能:列表查询使用分页,图片使用云存储CDN
- 用户体验:添加加载状态、错误提示、空状态处理
- 代码复用:通用逻辑抽取到 utils 或云函数
- 版本管理:重要修改前备份,使用Git管理代码
扩展资源