# 心愿小程序 **Repository Path**: mayoung123/wish-mini-program ## Basic Information - **Project Name**: 心愿小程序 - **Description**: 帮助一个姐妹的作业,基于fastapi和uniapp写的一个简单的心愿小程序 完整代码请看dev分支 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-09 - **Last Updated**: 2025-04-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 心愿小程序后端 API ## 项目介绍 心愿小程序是一个轻量级的心愿发布与分享平台,用户可以在平台上发布自己的心愿,选择公开或私密,并查看其他人公开的心愿。 项目采用前后端分离架构: - 前端:UniApp 框架开发的小程序,支持多端部署(微信、支付宝等) - 后端:FastAPI 框架,使用 Python 开发的 RESTful API ## 技术架构 - 后端框架:FastAPI - 数据库:MySQL - ORM:Tortoise-ORM - 认证:JWT (JSON Web Token) - API 文档:Swagger UI、ReDoc ## 功能特性 - 用户注册与登录 - 发布个人心愿(公开/私密) - 浏览心愿广场(查看所有公开心愿) - 查看、编辑、删除个人心愿 - 简洁现代的界面设计 ## 安装与使用 ### 环境要求 - Python 3.7+ - MySQL 5.7+ ### 设置步骤 1. 克隆仓库 ```bash git clone https://github.com/yourusername/wish-mini-program.git cd wish-mini-program ``` 2. 安装依赖 ```bash pip install -r requirements.txt ``` 3. 配置数据库 在 `config.py` 文件中修改数据库连接信息: ```python TORTOISE_ORM = { 'connections': { 'default': { 'engine': 'tortoise.backends.mysql', 'credentials': { 'host': '127.0.0.1', 'port': '3306', 'user': 'your_username', 'password': 'your_password', 'database': 'wish_db', 'charset': 'utf8mb4', "echo": True } }, }, # ... } ``` 4. 运行应用程序 ```bash uvicorn main:app --reload ``` 5. 访问 API 文档: - Swagger UI:http://localhost:8000/docs - ReDoc:http://localhost:8000/redoc ## API 接口说明 ### 用户相关接口 - `POST /api/users/register` - 用户注册 - `POST /api/users/login` - 用户登录 - `GET /api/users/me` - 获取当前用户信息 - `PUT /api/users/me` - 更新用户信息 ### 心愿相关接口 - `POST /api/wishes` - 创建心愿 - `GET /api/wishes` - 获取所有公开心愿(心愿广场) - `GET /api/wishes/my` - 获取当前用户的所有心愿 - `GET /api/wishes/{wish_id}` - 获取指定心愿详情 - `PUT /api/wishes/{wish_id}` - 更新指定心愿 - `DELETE /api/wishes/{wish_id}` - 删除指定心愿 ## 前端项目 前端 UniApp 项目位于 [另一个仓库链接]。前端实现了琉璃态设计风格,具有简洁现代的界面。 ## 开发与贡献 欢迎提交问题和功能需求!如果你想为项目做贡献,请: 1. Fork 本仓库 2. 创建新的分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m 'Add some amazing feature'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 创建 Pull Request ## 许可证 此项目采用 MIT 许可证 - 详情见 [LICENSE](LICENSE) 文件