printhome¶
暂无简介,欢迎浏览仓库了解更多。
| 项目信息 | |
|---|---|
| 仓库 | https://github.com/Maicarons/printhome |
| 主要语言 | Python |
| Stars | 1 |
| 类型 | 原创项目 |
| 许可证 | AGPL-3.0 |
| 最近更新 | 2025-05-14 |
PrintHome 打印零售商城¶
这是一个专注于打印服务的在线商城应用。用户可以在应用中注册登录,创建打印订单,上传打印内容,追踪订单处理状态,获得打印材料领取位置。
主要功能¶
- 用户账号管理
- 手机号/邮箱注册和登录
- 账号找回功能
- 个人信息管理
- 订单管理
- 创建打印订单
- 上传打印文件(自动转PDF)
- 自动统计打印页数
- 订单状态追踪
- 支付系统
- 微信支付集成
- 支付宝支付集成
- 支付状态实时更新
- 管理员后台
- 订单信息查看
- 打印文件下载
- 订单状态管理
- 用户管理
- 通知系统
- 订单状态更新通知
- 支付成功邮件通知
- 打印完成提醒
技术架构¶
- 前端:Streamlit
- 用户认证:Streamlit-Authenticator
- 响应式界面
- 实时状态更新
- 后端:FastAPI
- RESTful API
- 异步处理
- WebSocket 实时通信
- 数据存储
- 主数据库:MySQL
- 缓存:SQLite
- 文件处理
- PDF 转换:PyPDF2
- 图片处理:pdf2image
- 支付集成
- 支付宝:python-alipay-sdk
- 微信支付:wechatpy
项目结构¶
printhome/
├── backend/ # FastAPI 后端
│ ├── api/ # API 路由
│ ├── core/ # 核心配置
│ ├── db/ # 数据库模型和工具
│ ├── schemas/ # Pydantic 模型
│ └── services/ # 业务逻辑
├── frontend/ # Streamlit 前端
│ ├── pages/ # 页面组件
│ ├── components/ # UI 组件
│ └── utils/ # 工具函数
├── scripts/ # 脚本文件
├── tests/ # 测试文件
├── .env.example # 环境变量示例
├── requirements.txt # 项目依赖
└── README.md # 项目文档
开发计划¶
- 基础架构搭建
- 项目结构初始化
- 数据库设计
- API 接口设计
- 用户系统实现
- 注册登录功能
- 用户认证
- 个人信息管理
- 文件处理系统
- 文件上传
- PDF 转换
- 页数统计
- 订单系统
- 订单创建
- 状态管理
- 通知系统
- 支付系统
- 支付接口集成
- 支付流程优化
- 管理后台
- 订单管理
- 用户管理
- 系统监控
环境要求¶
- Python 3.8+
- MySQL 8.0+
- 支付宝开发者账号
- 微信支付商户号
项目运行指南¶
-
环境准备
## 克隆项目 git clone https://github.com/yourname/printhome.git cd printhome ## 安装依赖 pip install -r requirements.txt ## 复制环境变量文件 cp backend/.env.example backend/.env -
数据库初始化
## 创建MySQL数据库 mysql -u root -p -e "CREATE DATABASE printhome;" ## 运行迁移脚本 python scripts/init_db.py -
启动服务
## 启动后端服务 uvicorn backend.main:app --reload --port 8000 ## 启动前端服务 streamlit run frontend/main.py
调试与测试¶
- 常见问题排查
- 端口冲突:检查8000和8501端口是否被占用
- 数据库连接失败:确认.env文件中的数据库配置
-
支付回调异常:检查ngrok等内网穿透工具配置
-
测试方法
## 运行单元测试 pytest tests/ ## 接口测试(需安装httpie) http POST http://localhost:8000/api/v1/auth/register email=test@example.com password=123456