一个基于微信小程序云开发的轻量级笔记记录应用,支持个人笔记、待办事项、密码分享和多人共享组功能。
- 微信登录:自动获取用户 OpenID,无需注册
- 小记管理:创建、编辑、删除个人笔记,支持多种背景色
- 待办事项:添加、编辑、删除、勾选完成待办,自动记录创建时间
- 密码分享:为笔记设置分享密码,他人输入密码后可查看
- 批量操作:支持小记和待办的批量删除
- 折叠展开:小记和待办区域可折叠/展开
- 回收站:删除的项目进入回收站,15天内可恢复,支持独立清空
- 创建/加入组:创建共享组自动生成6位分享码,成员通过分享码加入
- 共享小记:组内成员共同创建、编辑、删除笔记,支持 Markdown 语法
- 共享待办:组内成员共同管理待办事项
- 成员管理:创建者可踢出成员,所有成员可退出
- 历史记录:退出后可从历史记录重新加入
- 批量操作:支持共享小记和共享待办的批量删除
- 独立回收站:共享组删除的项目有独立的回收站,与个人回收站分开管理
- 富文本编辑:支持 Markdown 语法编辑小记
- 工具栏快捷操作:B(粗体)、I(斜体)、H(标题)、列表、有序列表、代码块、图片上传
- 实时预览:编辑时实时渲染 Markdown 效果
- 图片支持:支持上传图片并插入到内容中
- 语法高亮:支持粗体、斜体、标题、列表、代码、链接等语法
- 修改头像:从相册选择或拍照上传头像
- 修改昵称:默认使用微信昵称,支持自定义修改
- 前端:微信小程序原生框架
- 后端:微信云开发(CloudBase)
- 云函数:Node.js
- 数据库:云开发 NoSQL 数据库
- 存储:云存储(用于头像上传)
├── app.js # 小程序入口
├── app.json # 全局配置
├── app.wxss # 全局样式
├── pages/
│ ├── index/ # 启动页(自动登录)
│ ├── home/ # 首页(小记、待办)
│ ├── addNote/ # 添加/编辑小记
│ ├── mine/ # 我的页面
│ ├── groups/ # 共享组列表
│ ├── groupDetail/ # 共享组详情
│ ├── share/ # 查看分享页面
│ ├── recycleBin/ # 回收站
│ └── auth/ # 访问密码验证页
├── cloudfunctions/ # 云函数
│ ├── login/ # 用户登录
│ ├── notes/ # 小记相关操作
│ ├── todos/ # 待办相关操作
│ ├── groups/ # 共享组相关操作
│ ├── recycleBin/ # 回收站功能
│ ├── auth/ # 访问密码验证
│ ├── updateUser/ # 更新用户信息
│ └── verifySharePassword/ # 验证分享密码
├── static/ # 静态资源
└── colorui/ # UI 组件库
| 集合名 | 说明 |
|---|---|
notes |
个人小记数据 |
todos |
个人待办数据 |
groups |
共享组信息 |
group_notes |
共享组小记 |
group_todos |
共享组待办 |
group_history |
共享组历史记录 |
users |
用户信息(头像、昵称等) |
share_password |
访问密码配置 |
- 安装 微信开发者工具
- 注册微信小程序账号,获取 AppID
- 开通微信云开发环境
- 使用微信开发者工具导入项目
- 修改
project.config.json中的appid为你的小程序 AppID - 修改
app.js中的env为你的云开发环境 ID
wx.cloud.init({
env: 'your-env-id', // 替换为你的环境 ID
traceUser: true
});在微信开发者工具中:
- 右键
cloudfunctions/login→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/notes→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/todos→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/groups→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/recycleBin→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/auth→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/updateUser→ "创建并部署:云端安装依赖" - 右键
cloudfunctions/verifySharePassword→ "创建并部署:云端安装依赖"
在云开发控制台的数据库中创建以下集合:
notestodosgroupsgroup_notesgroup_todosgroup_historyusersshare_password
点击微信开发者工具的"编译"按钮,即可在模拟器中预览效果。
- 添加小记:点击首页"记录新的小记"或右上角 + 按钮
- 添加待办:在待办区域输入内容,点击 + 按钮
- 分享小记:点击小记的"分享"按钮,设置分享密码
- 批量删除:点击"批量"进入批量模式,选择后删除
- 折叠区域:点击标题旁的 ▼/▶ 图标折叠或展开
- 回收站恢复:在"我的"页面进入回收站,可恢复或彻底删除项目
- 创建组:在共享组列表页点击"创建共享组"
- 加入组:输入6位分享码加入已有组
- 添加共享内容:在组详情页添加小记(支持 Markdown)或待办
- Markdown 编辑:使用工具栏按钮快速插入语法,或直接输入 Markdown 语法
- 图片上传:点击工具栏的图片按钮上传并插入图片
- 管理成员:创建者可查看成员列表并踢出成员
- 退出/删除:成员可退出,创建者可删除组
- 回收站:共享组删除的项目在回收站的"共享"标签页中管理
- 云开发额度:免费版有每日调用次数限制,生产环境建议升级
- 数据安全:所有数据按 OpenID 隔离,分享需密码验证
- 头像存储:头像上传占用云存储空间,注意清理
- 时间显示:使用北京时间(UTC+8)
- 回收站保留期:删除的项目在回收站保留15天,过期后自动清理
- 访问密码:首次使用需设置访问密码,保护个人隐私
- 共享组 Markdown 修复:修复
**加粗**、*斜体*在文本开头时被误判为列表项的问题 - 共享组待办修复:修复添加待办时
Cannot read property 'nickName' of undefined报错 - 编辑器工具栏修复:修复个人小记点击加粗/斜体按钮时
getSelectionRange is not a function报错 - 预览空格修复:修复 Markdown 语法后输入的空格在预览中不显示的问题
- 分享密码修复:修复分享密码输入框偶尔取值失败导致"请输入分享密码"提示
- Markdown 编辑器:共享小记支持 Markdown 语法编辑
- 图片上传:支持在共享小记中上传和插入图片
- 实时预览:编辑时实时显示 Markdown 渲染效果
- 工具栏:提供快捷 Markdown 语法插入按钮
- 回收站功能:软删除机制,15天保留期
- 独立回收站:个人和共享项目分开管理
- 访问密码:应用启动密码保护
- 数据清理:自动清理过期数据
- 基础功能:小记、待办、微信登录
- 分享功能:密码保护分享
- 共享组:多人协作、历史记录
- 批量操作:批量删除
- 用户设置:修改头像、昵称
欢迎提交 Issue 和 Pull Request。
MIT License
如有问题,请通过 GitHub Issues 联系。
注意:本项目仅供学习交流使用。