一个完全通过AI编程开发的脱单课程预约小程序,基于微信小程序 + 腾讯云开发(CloudBase)构建,展示了AI辅助开发全栈应用的完整过程。
💡 应用亮点:通过科学的脱单课程体系,帮助用户提升社交能力,轻松预约线下活动课程!
📝 说明:这是AI开发的完整小程序应用演示。想要学习如何用AI开发类似应用,请参考下面的开发提示词和代码实现。
本项目基于 CloudBase AI ToolKit 开发,通过AI提示词和 MCP 协议+云开发,让开发更智能、更高效,支持AI生成全栈代码、一键部署至腾讯云开发(免服务器)、智能日志修复。
首先可以按照 CloudBase AI ToolKit 快速上手指南 准备好 AI 开发环境。
以下是开发本项目时使用的完整提示词,展示了如何通过自然语言与AI协作完成全栈应用开发:
阶段一:项目需求描述
我想开发一个脱单课程预约小程序,功能要求:
1. 用户可以浏览各种脱单课程(咖啡约会、电影约会、运动约会等)
2. 支持按分类筛选课程
3. 用户可以预约感兴趣的课程,查看课程详情
4. 个人中心显示预约记录,支持取消预约
5. 用户登录和个人信息管理
请用微信小程序做前端,腾讯云开发做后端,帮我开发这个应用。
阶段二:界面设计要求
请设计以下几个页面:
1. 首页:轮播图展示热门课程,课程分类导航,课程列表
2. 课程详情页:课程介绍、时间地点、预约按钮
3. 个人中心:用户信息、预约记录、设置等
界面要求:
- 设计要现代化、符合年轻人审美
- 使用粉色系主题色,营造温馨浪漫氛围
- 支持下拉刷新和分类切换
- 清晰的课程卡片设计
- 完善的交互反馈
请使用微信小程序原生组件和样式。
阶段三:功能逻辑实现
请实现课程预约系统的核心逻辑:
1. 课程管理:
- 支持多种课程分类(咖啡、电影、运动、美食等)
- 课程信息包含名称、描述、时间、地点、价格、人数限制
- 课程状态管理(开放预约、已满、已结束)
2. 预约功能:
- 用户预约课程时检查是否重复预约
- 预约成功后更新课程剩余名额
- 支持取消预约,释放名额
3. 用户系统:
- 微信登录获取用户信息
- 用户个人资料管理
- 预约记录查看和管理
阶段四:数据存储和云函数
请用腾讯云开发来存储数据:
1. 需要存储的数据:
- 课程信息(名称、分类、时间、地点、价格、容量等)
- 用户信息(微信用户数据、个人资料)
- 预约记录(用户、课程、预约时间、状态)
2. 云函数设计:
- dating_getCourses: 获取课程列表,支持分类筛选
- dating_getCourseDetail: 获取课程详情
- dating_bookCourse: 预约课程
- dating_cancelBooking: 取消预约
- dating_getUserBookings: 获取用户预约记录
- dating_userLogin: 用户登录
- dating_getUserInfo/updateUserInfo: 用户信息管理
3. 数据库权限:
- 课程信息:所有人可读
- 用户信息:仅本人可读写
- 预约记录:通过云函数控制访问权限
阶段五:部署和优化
请完成以下功能:
1. 小程序配置:
- 设置合适的导航栏样式和tabBar
- 配置页面路由和参数传递
- 添加下拉刷新和错误处理
2. 部署配置:
- 配置cloudbaserc.json部署文件
- 部署云函数和初始化数据库
- 测试所有功能是否正常
3. 写一个README文档:
- 说明这个项目是做什么的
- 列出用到了哪些云开发资源
- 如何本地开发和部署
💡 学习要点:通过这些提示词可以看出,AI开发的关键是逐步细化需求,从整体功能到具体实现,从前端界面到后端逻辑,层层递进完成复杂应用的开发。
这是一个AI编程实践案例,从需求分析到完整应用,全程通过与AI对话完成开发:
- 🧠 纯AI开发:通过自然语言描述需求,AI生成全部代码
- 🎯 学习参考:展示AI辅助开发的完整workflow和最佳实践
- 📚 提示词分享:公开完整的开发提示词,供学习参考
- 🚀 一键部署:结合CloudBase AI ToolKit实现智能部署
- 💡 最佳实践:展示微信小程序 + CloudBase的标准架构
- 💝 科学脱单体系:多样化课程分类,涵盖社交各个场景
- 📅 便捷预约系统:一键预约心仪课程,实时查看预约状态
- 👥 智能匹配推荐:根据用户兴趣推荐合适的脱单课程
- 📱 原生小程序体验:流畅的用户交互,符合微信使用习惯
- 🔄 实时数据同步:预约状态实时更新,避免重复预约
- 🎨 现代化UI设计:温馨浪漫的视觉风格,符合年轻用户审美
- 📊 个人数据管理:完整的用户信息和预约记录管理
- 🛡️ 安全可靠:基于微信登录体系,保障用户数据安全
- 框架:微信小程序原生开发
- 样式:WXSS + 小程序原生组件
- 状态管理:页面级数据管理
- 路由:小程序原生路由系统
- 云开发SDK:微信小程序云开发
本项目使用了以下腾讯云开发(CloudBase)资源来实现课程预约功能:
-
dating_courses: 脱单课程集合_id: 课程IDtitle: 课程标题description: 课程描述category: 课程分类(coffee/movie/sports/food/art/music/shopping/game)instructor: 导师信息datetime: 课程时间location: 课程地点price: 课程价格capacity: 课程容量booked: 已预约人数status: 课程状态(active/full/ended)image: 课程封面图tags: 课程标签createdAt: 创建时间
-
dating_bookings: 课程预约记录集合_id: 预约IDuserId: 用户ID(openid)courseId: 课程IDstatus: 预约状态(active/cancelled)bookedAt: 预约时间cancelledAt: 取消时间userInfo: 预约用户信息
-
dating_users: 用户信息集合_id: 用户ID(openid)nickName: 用户昵称avatarUrl: 头像地址gender: 性别age: 年龄interests: 兴趣爱好registeredAt: 注册时间lastLoginAt: 最后登录时间
-
dating_getCourses: 获取课程列表- 支持按分类筛选课程
- 分页获取课程数据
- 返回课程基本信息和预约状态
-
dating_getCourseDetail: 获取课程详情- 根据courseId获取详细课程信息
- 检查用户是否已预约该课程
- 返回完整课程数据
-
dating_bookCourse: 预约课程- 验证课程是否可预约
- 检查用户是否重复预约
- 更新课程预约人数
- 创建预约记录
-
dating_cancelBooking: 取消预约- 验证预约记录有效性
- 更新预约状态为已取消
- 释放课程名额
-
dating_getUserBookings: 获取用户预约记录- 获取用户所有预约记录
- 包含课程基本信息
- 支持按状态筛选
-
dating_userLogin: 用户登录- 处理微信登录流程
- 获取或创建用户信息
- 更新登录时间
-
dating_getUserInfo: 获取用户信息- 根据openid获取用户详细信息
- 返回用户个人资料
-
dating_updateUserInfo: 更新用户信息- 更新用户个人资料
- 包括昵称、年龄、兴趣等
-
getOpenId: 获取用户OpenID- 通过code获取用户openid
- 用于用户身份识别
- AppID:
wx8c2a1161b0dc1bdc - 页面结构:
- 首页(课程列表)
- 课程详情页
- 个人中心页
- TabBar导航: 首页、个人中心
- 微信开发者工具
- 腾讯云开发账号 (腾讯云开发官网注册)
- 微信小程序AppID
学习实践:如何配置云开发环境
- 访问 腾讯云开发控制台
- 创建新的云开发环境,选择按量计费模式
- 记录您的环境 ID(格式类似:
your-env-id-1234567890)
打开 cloudbaserc.json 文件,将环境 ID 替换为您的实际环境 ID:
{
"envId": "your-env-id"
}在云开发控制台的数据库中创建以下集合:
dating_courses:脱单课程集合(权限设置为"所有人可读,仅管理端可写")dating_bookings:预约记录集合(权限设置为"仅创建者可读写")dating_users:用户信息集合(权限设置为"仅创建者可读写")
- 使用微信开发者工具打开项目
- 右键点击
cloudfunctions目录下的各个云函数 - 选择"上传并部署(云端安装依赖)"
- 等待所有云函数部署完成
- 使用微信开发者工具打开项目
- 确保已配置正确的AppID和云开发环境
- 点击编译,即可在模拟器中预览
可以在云开发控制台的数据库中手动添加一些示例课程数据,或者创建初始化云函数来批量添加数据。
├── cloudfunctions/ # 云函数目录
│ ├── dating_getCourses/ # 获取课程列表
│ ├── dating_getCourseDetail/ # 获取课程详情
│ ├── dating_bookCourse/ # 预约课程
│ ├── dating_cancelBooking/ # 取消预约
│ ├── dating_getUserBookings/ # 获取用户预约
│ ├── dating_userLogin/ # 用户登录
│ ├── dating_getUserInfo/ # 获取用户信息
│ ├── dating_updateUserInfo/ # 更新用户信息
│ └── getOpenId/ # 获取OpenID
├── miniprogram/ # 小程序源码目录
│ ├── components/ # 可复用组件
│ ├── images/ # 图片资源
│ ├── pages/ # 页面文件
│ │ ├── index/ # 首页
│ │ ├── course-detail/ # 课程详情页
│ │ └── profile/ # 个人中心页
│ ├── app.js # 小程序逻辑
│ ├── app.json # 小程序配置
│ ├── app.wxss # 全局样式
│ └── sitemap.json # 站点地图
├── cloudbaserc.json # 云开发配置
├── project.config.json # 项目配置
└── README.md # 项目说明
获取脱单课程列表,支持分类筛选。
wx.cloud.callFunction({
name: 'dating_getCourses',
data: {
category: 'all', // 课程分类:all/coffee/movie/sports等
limit: 20, // 每页数量
offset: 0 // 偏移量
}
})根据课程ID获取详细信息。
wx.cloud.callFunction({
name: 'dating_getCourseDetail',
data: {
courseId: 'course_id_here'
}
})用户预约指定课程。
wx.cloud.callFunction({
name: 'dating_bookCourse',
data: {
courseId: 'course_id_here'
}
})取消已预约的课程。
wx.cloud.callFunction({
name: 'dating_cancelBooking',
data: {
bookingId: 'booking_id_here'
}
})获取当前用户的所有预约记录。
wx.cloud.callFunction({
name: 'dating_getUserBookings',
data: {
status: 'active' // 预约状态:active/cancelled/all
}
})- 🎯 分类导航:8大类脱单课程,精准匹配用户兴趣
- 📱 响应式设计:适配不同尺寸的手机屏幕
- 🔄 下拉刷新:实时获取最新课程信息
- 🎨 视觉设计:温馨粉色主题,营造浪漫氛围
- ⚡ 一键预约:简单快捷的预约流程
- 🚫 重复检测:防止用户重复预约同一课程
- 📊 实时更新:课程容量和预约状态实时同步
- 📋 记录管理:完整的预约历史和状态管理
- 🔐 微信登录:基于微信授权,安全便捷
- 💾 数据持久化:用户信息和预约记录云端存储
⚠️ 错误处理:完善的异常处理和用户提示- 📱 原生体验:符合微信小程序设计规范
本项目在小程序中通过 wx.cloud.init() 初始化云开发环境。
通过云函数实现安全可靠的预约系统:
// 预约课程流程
wx.cloud.callFunction({
name: 'dating_bookCourse',
data: { courseId },
success: (res) => {
if (res.result.success) {
// 预约成功,更新界面状态
this.setData({
isBooked: true,
currentCourse: res.result.data
});
wx.showToast({
title: '预约成功',
icon: 'success'
});
} else {
// 处理预约失败情况
wx.showToast({
title: res.result.error,
icon: 'none'
});
}
}
});
// 获取用户预约记录
wx.cloud.callFunction({
name: 'dating_getUserBookings',
data: { status: 'active' },
success: (res) => {
this.setData({
bookings: res.result.data
});
}
});- 环境配置:在
cloudbaserc.json中配置云开发环境和资源 - 微信登录:使用微信小程序原生登录体系
- 数据安全:通过云函数控制数据访问权限
- 性能优化:合理的数据库索引和查询优化
- 状态同步:实时更新课程容量和预约状态
- 错误处理:完善的异常处理和重试机制
💡 AI开发优势:通过AI生成的代码架构清晰、注释完整,非常适合学习CloudBase小程序开发的最佳实践。
-
数据库变更
- 在相应集合中添加新字段
- 更新云函数中的数据库操作逻辑
-
云函数更新
- 创建新的云函数或扩展现有函数功能
- 更新函数配置和依赖
-
小程序开发
- 创建新页面或组件
- 更新
app.json中的页面配置 - 实现前端交互逻辑
-
预约状态同步问题
- 检查云函数是否正确更新数据库
- 确认数据库权限配置是否正确
-
用户登录问题
- 确保小程序AppID配置正确
- 检查云开发环境是否正常
-
部署问题
- 确保所有云函数都已正确部署
- 检查数据库集合和索引是否创建
- 课程评价系统:用户可以对参与的课程进行评价
- 好友邀请:邀请微信好友一起参加课程
- 消息通知:课程提醒和状态变更通知
- 课程分享:分享感兴趣的课程给朋友
- 优惠券系统:新用户优惠和活动促销
- 个性化推荐:基于用户兴趣推荐相关课程
- 地理位置:显示课程地点和距离信息
- 日历集成:将预约的课程添加到日历
- 课程搜索:支持关键词搜索课程
- 离线缓存:缓存常用数据,提升加载速度
- 数据分析:用户行为分析和课程热度统计
- 性能优化:图片压缩和懒加载
- 多端支持:H5版本和其他平台适配
如果您想基于此项目学习AI开发或搭建类似应用:
- 研究源码结构:了解微信小程序 + CloudBase的架构设计
- 分析提示词:学习如何与AI协作,逐步完成复杂需求
- 实践开发:
- 克隆项目到本地
- 配置您的云开发环境(参考配置说明)
- 使用微信开发者工具打开项目
- 部署云函数和测试功能
基于本项目的技术架构,您可以学习开发:
预约类应用
- 健身房预约系统
- 会议室预约管理
- 医疗挂号系统
- 餐厅订座系统
社交类应用
- 兴趣小组活动
- 同城交友平台
- 技能交换社区
- 学习伙伴匹配
核心技术要点:用户登录体系、数据权限控制、状态管理、预约冲突处理
欢迎贡献代码、报告问题或提出改进建议!
- Fork 项目
- 创建功能分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
MIT License
