# vibecoding图书管理系统小程序 **Repository Path**: suyu1314/vibecodingPro01 ## Basic Information - **Project Name**: vibecoding图书管理系统小程序 - **Description**: vibecoding图书管理系统小程序 用户端:原生微信小程序 管理员端:vue3 后端:fastapi 数据库:mysql - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-13 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 图书管理小程序 本项目是一个图书管理系统,包含 FastAPI 后端、Vue3 管理员端、微信小程序端三部分。当前开发模式下,后端只提供接口服务,管理员端通过 Vite 单独运行,小程序端使用微信开发者工具打开运行。 ## 技术栈 - 后端:Python、FastAPI、SQLAlchemy、PyMySQL、MySQL - 管理员端:Vue 3、Vue Router、Vite、原生 CSS - 小程序端:微信小程序原生开发 - 数据库:MySQL 8.x,字符集使用 `utf8mb4` ## 项目结构 ```text . ├── admin/ # 管理员端 Vue3/Vite 项目 ├── fastapi/ # FastAPI 后端接口项目 ├── user/ # 微信小程序端项目 └── docs/ └── init.sql # MySQL 初始化脚本 ``` ## 主要功能 管理员端已实现: - 管理员登录、退出、获取当前管理员信息 - 首页看板数据展示 - 图书分类管理 - 图书管理 - 图书封面上传 数据库表结构中已包含: - 管理员表 - 小程序用户表 - 图书分类表 - 图书表 - 借阅记录表 - 公告表 - 系统设置表 ## 环境准备 请先安装以下环境: - Python 3.10 或以上版本 - Node.js 18 或以上版本 - MySQL 8.x - 微信开发者工具 ## 一、初始化数据库 先创建并初始化数据库,执行文件: ```text docs/init.sql ``` 可以在 MySQL 命令行、Navicat、DataGrip 等工具中执行该 SQL 文件。 默认会创建数据库: ```text library_miniapp ``` 初始化脚本中提供了一个默认管理员账号: ```text 账号:admin 密码:123456 ``` 正式使用时请修改默认管理员密码。 ## 二、配置后端数据库密码 后端数据库连接配置在: ```text fastapi/app/core/config.py ``` 默认配置示例: ```python database_url = "mysql+pymysql://root:your_password@127.0.0.1:3306/library_miniapp?charset=utf8mb4" ``` 必须把里面的数据库账号和密码改成你自己本机的 MySQL 配置。 格式说明: ```text mysql+pymysql://数据库账号:数据库密码@数据库地址:端口号/数据库名?charset=utf8mb4 ``` 例如你的 MySQL 账号是 `root`,密码是 `123456`,数据库地址是本机,则改成: ```python database_url = "mysql+pymysql://root:123456@127.0.0.1:3306/library_miniapp?charset=utf8mb4" ``` 也可以在 `fastapi` 目录下新建 `.env` 文件,通过环境变量覆盖配置: ```env DATABASE_URL=mysql+pymysql://root:123456@127.0.0.1:3306/library_miniapp?charset=utf8mb4 APP_SECRET_KEY=请修改为你自己的随机密钥 ``` ## 三、运行后端接口服务 进入后端目录: ```bash cd fastapi ``` 安装 Python 依赖: ```bash pip install -r requirements.txt ``` 启动后端服务: ```bash uvicorn app.main:app --reload --host 127.0.0.1 --port 8000 ``` 启动成功后可以访问: ```text http://127.0.0.1:8000/health ``` 接口文档地址: ```text http://127.0.0.1:8000/docs ``` ## 四、运行管理员端 进入管理员端目录: ```bash cd admin ``` 安装依赖: ```bash npm install ``` 启动开发服务: ```bash npm run dev ``` 默认访问地址: ```text http://127.0.0.1:5173/admin/ ``` 管理员端开发环境已经在 `admin/vite.config.js` 中配置了代理: ```js /api -> http://127.0.0.1:8000 /uploads -> http://127.0.0.1:8000 ``` 所以本地开发时先启动后端,再启动管理员端即可。 如果需要改后端接口地址,可以修改: ```text admin/src/config/index.js ``` 或者通过 Vite 环境变量 `VITE_API_BASE_URL` 配置接口地址。 ## 五、配置并运行微信小程序端 小程序端目录是: ```text user/ ``` 使用微信开发者工具导入该目录即可。 导入后必须修改小程序 AppID,配置文件在: ```text user/project.config.json ``` 找到: ```json "appid": "touristappid" ``` 把它修改成你自己的微信小程序 AppID。 如果只是本地学习和预览,也可以在微信开发者工具中选择测试号或修改为自己的测试 AppID。 ## 六、推荐启动顺序 1. 启动 MySQL,并执行 `docs/init.sql` 2. 修改后端数据库连接密码 3. 启动后端 FastAPI 服务 4. 启动管理员端 Vue 项目 5. 使用微信开发者工具打开 `user` 小程序项目,并修改小程序 AppID ## 常见问题 ### 1. 管理员端登录失败 请检查: - 后端是否已启动 - MySQL 是否已启动 - `docs/init.sql` 是否已执行 - `fastapi/app/core/config.py` 中数据库账号和密码是否正确 - 管理员端是否通过 `npm run dev` 启动 ### 2. 数据库连接失败 请重点检查数据库连接字符串: ```text mysql+pymysql://账号:密码@地址:端口/数据库名?charset=utf8mb4 ``` 密码必须改成你自己本机 MySQL 的密码。 ### 3. 小程序无法导入或提示 AppID 不正确 请修改: ```text user/project.config.json ``` 将 `appid` 改成你自己的微信小程序 AppID。 ## 说明 本项目适合作为图书管理小程序课程、毕设或练习项目使用。后续可以继续扩展小程序端登录、图书查询、借阅申请、归还管理、公告展示、用户管理、借阅记录管理等功能。