- 🎯 用完即散的小群 —— 想跟几个人临时商量点事?随手拉起一个小群,事情聊完一键解散,干干净净
- 🚪 邀请制私密空间 —— 只有拿到邀请链接的人才能进来,没有陌生人、没有广告、没有信息流打扰
- 🗑️ 聊完不留痕 —— 创建者解散群聊后,群聊、成员和所有消息记录被彻底清理,不想留下的痕迹一个都不留
- 👥 人数灵活 —— 想拉几个就拉几个,介绍朋友、组局商量、临时讨论,怎么都行
- ⚡ 云端实时同步 —— 消息收发实时到达,无需刷新
- 🖼️ 图文随心发 —— 文字、图片自由发送,点击图片即可全屏预览
- 🔐 微信原生身份 —— 基于 openid 的唯一身份体系,无需注册登录,点开即聊
- 介绍朋友认识 —— 想把两个朋友互相介绍、一起商量个事?不用为此建一个永远挂在通讯录里的微信群
- 临时讨论不建群 —— 有个话题想拉几个人聊聊,但不想在正式群里留下记录,也不想建一个用完还长期存在的群
- 私密沟通不留痕 —— 有些话只想让在场的人知道,聊完即散,记录一起消散
一句话:不建群,也能聊。聊完,就散。
| 层级 | 技术 |
|---|---|
| 客户端 | 微信小程序原生(WXML / WXSS / JavaScript) |
| 后端 | 微信云开发(云函数 · 云数据库 · 云存储) |
| 实时通信 | 云数据库 watch() 监听器 |
| 身份认证 | 微信 openid |
| 数据一致性 | 云函数事务(解散 / 退出) |
miniGroup/
├── miniprogram/ # 小程序前端
│ ├── pages/
│ │ ├── index/ # 创建小群(邀请入口)
│ │ ├── join/ # 邀请链接落地页
│ │ ├── chat/ # 我的小群列表
│ │ └── chat-detail/ # 群聊聊天室
│ ├── utils/util.js # 工具函数(时间格式化等)
│ └── app.js # 全局初始化 · openid 获取
│
└── cloudfunctions/ # 云函数(每个目录一个函数)
├── createChat/ # 创建群聊
├── joinChat/ # 加入群聊
├── sendMessage/ # 发送消息
├── dissolveChat/ # 解散群聊
├── leaveChat/ # 退出群聊
├── getChatList/ # 我的小群列表
├── getChatInfo/ # 群聊详情
├── checkMemberStatus/ # 校验成员身份
└── ...(getOpenId / getMessages / getUserInfo)
-
获取代码
git clone git@github.com:mingzeng21/miniGroup.git
-
导入项目 —— 打开微信开发者工具 → 导入项目 → 选择仓库根目录
-
开通云开发 —— 点击工具栏「云开发」按钮,创建你自己的云环境
-
配置云环境 —— 在
miniprogram/app.js中,将wx.cloud.init({ env: '你的环境ID' })改为你的云环境 ID -
部署云函数 —— 在
cloudfunctions/下,对每个云函数目录右键 → 「上传并部署:云端安装依赖」 -
编译运行 —— 即可创建你的第一个临时小群 🎉
| 云函数 | 职责 | 数据库操作 |
|---|---|---|
createChat |
创建群聊 | 写 chats + chatMembers |
joinChat |
加入群聊 | 写 chatMembers,更新 memberCount |
sendMessage |
发送消息 | 写 messages,更新 lastMessage |
dissolveChat |
解散群聊(仅创建者) | 事务删除 chats / chatMembers / messages |
leaveChat |
退出群聊(成员) | 事务删除 chatMembers,递减 memberCount |
getChatList |
我的小群列表 | 只读 |
getChatInfo |
群聊详情 | 只读 |
checkMemberStatus |
校验成员身份 | 只读 |
getOpenId |
获取 openid | 无 |
chats(群聊)
| 字段 | 说明 |
|---|---|
groupName |
群名称 |
creator |
创建者 openid |
memberCount |
成员数量 |
lastMessage |
最后一条消息 |
createTime |
创建时间 |
chatMembers(成员)
| 字段 | 说明 |
|---|---|
chatId |
群聊 ID |
userId |
成员 openid |
role |
creator / member |
joinTime |
加入时间 |
messages(消息)
| 字段 | 说明 |
|---|---|
chatId |
群聊 ID |
userId |
发送者 openid |
type |
text / image |
content |
文本内容或图片 fileID |
createTime |
发送时间 |
有些话,不必留在正式群里:
- 想给两位朋友互相介绍、一起商量个事,却不想为此建一个永远存在的微信群;
- 有个临时话题想拉个小群聊聊,却不想在通讯录里留下一个"群聊"。
小群聊聊 就是这样一个"用完即散"的临时小房间 —— 拉上几个人,聊完就散,不留痕迹。
把朋友介绍给朋友,聊完即散。💛
MIT © MingZeng


