# todo **Repository Path**: xinyi-it/todo ## Basic Information - **Project Name**: todo - **Description**: 待办事项应用,一个全栈待办事项管理应用,支持 Web 端和微信小程序。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: https://gitee.com/jf_wujianguo/todo - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-03 - **Last Updated**: 2026-04-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 待办事项应用 一个全栈待办事项管理应用,支持 Web 端和微信小程序。 ## 项目结构 ``` todo/ ├── server/ # 后端项目(Node.js + Express + MongoDB) ├── client/ # Web 前端项目(Vue 3 + Vite + Element Plus) ├── uniapp/ # 小程序/H5 项目(uni-app + Vue 3) └── README.md # 本文件 ``` ## 技术栈 ### 后端 - Node.js + Express - MongoDB + Mongoose - JWT 认证 - Docker 部署 ### Web 前端 - Vue 3 + Vite - Element Plus - Vue Router + Pinia ### 小程序 - uni-app (Vue 3 + Vite) - Pinia 状态管理 - 支持微信小程序 / H5 多端 ## 功能特性 - 用户注册 / 登录 - 待办事项增删改查 - 待办状态筛选(全部 / 进行中 / 已完成) - 修改密码 - 下拉刷新(小程序) - 管理员后台(Web 端) - Docker 一键部署 ## 快速开始 ### 1. 启动后端 ```bash cd server npm install npm run dev ``` ### 2. 启动 Web 前端 ```bash cd client npm install npm run dev ``` ### 3. 启动小程序 ```bash cd uniapp npm install npm run dev:mp-weixin # 微信小程序 npm run dev:h5 # H5 ``` ### 4. 访问应用 - Web 前端:http://localhost:5173 - 小程序:使用微信开发者工具导入 `uniapp/dist/dev/mp-weixin` - 后端 API:http://localhost:3000 ## 默认管理员账户 ```bash cd server node src/createAdmin.js ``` - 用户名:admin - 密码:admin123 ## 开发文档 - [后端开发文档](./server/README.md) - [Web 前端开发文档](./client/README.md) - [小程序开发文档](./uniapp/README.md) ## 部署文档 ### 服务器要求 - CentOS 7+ / Ubuntu 18+ - Docker & Docker Compose - Git ### 部署步骤 #### 1. 克隆项目 ```bash cd /var/www git clone https://gitee.com/jf_wujianguo/todo.git cd todo/server ``` #### 2. 配置环境变量 ```bash cp .env.example .env nano .env ``` 修改 `JWT_SECRET` 为随机字符串: ```bash JWT_SECRET=$(openssl rand -hex 32) sed -i "s/your-super-secret-jwt-key-change-this-in-production/$JWT_SECRET/" .env ``` #### 3. 配置 Docker 镜像加速(国内服务器) ```bash sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": [ "https://docker.1ms.run", "https://docker.xuanyuan.me" ] } EOF sudo systemctl daemon-reload sudo systemctl restart docker ``` #### 4. 启动服务 ```bash docker compose up -d mongodb api ``` #### 5. 创建管理员账户 ```bash docker exec -it todo-api sh node src/createAdmin.js exit ``` #### 6. 配置 Nginx 反向代理 在现有 Nginx 配置中添加: ```nginx location /api { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache_bypass $http_upgrade; } ``` 重载 Nginx: ```bash nginx -t && nginx -s reload ``` ### 微信小程序配置 1. 登录 [微信公众平台](https://mp.weixin.qq.com) 2. 开发管理 → 开发设置 → 服务器域名 3. 添加 request 合法域名:`https://你的域名.com` ### 常用命令 ```bash # 查看服务状态 docker compose ps # 查看日志 docker compose logs -f api # 重启服务 docker compose restart # 停止服务 docker compose down # 更新代码 git pull docker compose up -d --build ``` ## 项目地址 - Gitee:https://gitee.com/jf_wujianguo/todo - 线上 API:https://gogkd.com/api