Skip to content

AIWhatYouNeed/wechat-light-notes

Repository files navigation

随便记 - 轻量小记记录系统

一个基于微信小程序云开发的轻量级笔记记录应用,支持个人笔记、待办事项、密码分享和多人共享组功能。

功能特性

个人功能

  • 微信登录:自动获取用户 OpenID,无需注册
  • 小记管理:创建、编辑、删除个人笔记,支持多种背景色
  • 待办事项:添加、编辑、删除、勾选完成待办,自动记录创建时间
  • 密码分享:为笔记设置分享密码,他人输入密码后可查看
  • 批量操作:支持小记和待办的批量删除
  • 折叠展开:小记和待办区域可折叠/展开
  • 回收站:删除的项目进入回收站,15天内可恢复,支持独立清空

共享组功能

  • 创建/加入组:创建共享组自动生成6位分享码,成员通过分享码加入
  • 共享小记:组内成员共同创建、编辑、删除笔记,支持 Markdown 语法
  • 共享待办:组内成员共同管理待办事项
  • 成员管理:创建者可踢出成员,所有成员可退出
  • 历史记录:退出后可从历史记录重新加入
  • 批量操作:支持共享小记和共享待办的批量删除
  • 独立回收站:共享组删除的项目有独立的回收站,与个人回收站分开管理

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 访问密码配置

快速开始

1. 环境准备

2. 项目配置

  1. 使用微信开发者工具导入项目
  2. 修改 project.config.json 中的 appid 为你的小程序 AppID
  3. 修改 app.js 中的 env 为你的云开发环境 ID
wx.cloud.init({
  env: 'your-env-id',  // 替换为你的环境 ID
  traceUser: true
});

3. 部署云函数

在微信开发者工具中:

  1. 右键 cloudfunctions/login → "创建并部署:云端安装依赖"
  2. 右键 cloudfunctions/notes → "创建并部署:云端安装依赖"
  3. 右键 cloudfunctions/todos → "创建并部署:云端安装依赖"
  4. 右键 cloudfunctions/groups → "创建并部署:云端安装依赖"
  5. 右键 cloudfunctions/recycleBin → "创建并部署:云端安装依赖"
  6. 右键 cloudfunctions/auth → "创建并部署:云端安装依赖"
  7. 右键 cloudfunctions/updateUser → "创建并部署:云端安装依赖"
  8. 右键 cloudfunctions/verifySharePassword → "创建并部署:云端安装依赖"

4. 创建数据库集合

在云开发控制台的数据库中创建以下集合:

  • notes
  • todos
  • groups
  • group_notes
  • group_todos
  • group_history
  • users
  • share_password

5. 运行项目

点击微信开发者工具的"编译"按钮,即可在模拟器中预览效果。

使用说明

个人使用

  1. 添加小记:点击首页"记录新的小记"或右上角 + 按钮
  2. 添加待办:在待办区域输入内容,点击 + 按钮
  3. 分享小记:点击小记的"分享"按钮,设置分享密码
  4. 批量删除:点击"批量"进入批量模式,选择后删除
  5. 折叠区域:点击标题旁的 ▼/▶ 图标折叠或展开
  6. 回收站恢复:在"我的"页面进入回收站,可恢复或彻底删除项目

共享组使用

  1. 创建组:在共享组列表页点击"创建共享组"
  2. 加入组:输入6位分享码加入已有组
  3. 添加共享内容:在组详情页添加小记(支持 Markdown)或待办
  4. Markdown 编辑:使用工具栏按钮快速插入语法,或直接输入 Markdown 语法
  5. 图片上传:点击工具栏的图片按钮上传并插入图片
  6. 管理成员:创建者可查看成员列表并踢出成员
  7. 退出/删除:成员可退出,创建者可删除组
  8. 回收站:共享组删除的项目在回收站的"共享"标签页中管理

注意事项

  1. 云开发额度:免费版有每日调用次数限制,生产环境建议升级
  2. 数据安全:所有数据按 OpenID 隔离,分享需密码验证
  3. 头像存储:头像上传占用云存储空间,注意清理
  4. 时间显示:使用北京时间(UTC+8)
  5. 回收站保留期:删除的项目在回收站保留15天,过期后自动清理
  6. 访问密码:首次使用需设置访问密码,保护个人隐私

更新日志

v1.2.1

  • 共享组 Markdown 修复:修复 **加粗***斜体* 在文本开头时被误判为列表项的问题
  • 共享组待办修复:修复添加待办时 Cannot read property 'nickName' of undefined 报错
  • 编辑器工具栏修复:修复个人小记点击加粗/斜体按钮时 getSelectionRange is not a function 报错
  • 预览空格修复:修复 Markdown 语法后输入的空格在预览中不显示的问题
  • 分享密码修复:修复分享密码输入框偶尔取值失败导致"请输入分享密码"提示

v1.2.0

  • Markdown 编辑器:共享小记支持 Markdown 语法编辑
  • 图片上传:支持在共享小记中上传和插入图片
  • 实时预览:编辑时实时显示 Markdown 渲染效果
  • 工具栏:提供快捷 Markdown 语法插入按钮

v1.1.0

  • 回收站功能:软删除机制,15天保留期
  • 独立回收站:个人和共享项目分开管理
  • 访问密码:应用启动密码保护
  • 数据清理:自动清理过期数据

v1.0.0

  • 基础功能:小记、待办、微信登录
  • 分享功能:密码保护分享
  • 共享组:多人协作、历史记录
  • 批量操作:批量删除
  • 用户设置:修改头像、昵称

贡献

欢迎提交 Issue 和 Pull Request。

许可证

MIT License

联系方式

如有问题,请通过 GitHub Issues 联系。


注意:本项目仅供学习交流使用。

About

一个基于微信小程序云开发的轻量级笔记记录应用,支持个人笔记、待办事项、密码分享和多人共享组功能。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors