益选便利店查询商品程序
| .trae/documents | ||
| app | ||
| data | ||
| static | ||
| docker-compose.yml | ||
| Dockerfile | ||
| README.md | ||
| requirements.txt | ||
| 商品资料.xlsx | ||
| 部署文档.md | ||
商品查询系统
功能
- 导入Excel为数据库(以条码为主键Upsert)
- 查询商品:条码精确查、名称模糊查
- 响应式前端,手机/电脑可用
运行
- 安装依赖:
python -m pip install fastapi "uvicorn[standard]" pandas openpyxl python-multipart - 启动服务:
python -m uvicorn app.main:app --host 0.0.0.0 --port 57777(或设置环境变量PORT=57777) - 打开页面:
http://localhost:57777/
导入
- 页面“导入Excel”选择文件并提交
- 后端解析
Sheet1并映射列:名称(必填)、进货价(必填)、销售价(必填)、条码、可选分类(必填)
接口
POST /import表单上传fileGET /products/{barcode}返回名称、进价、卖价、条码GET /products?q=关键词&limit=20名称模糊查询GET /health健康检查
数据库
- SQLite 文件:
data/products.db - 表:
products(barcode primary key, name, purchase_price, sale_price, category, created_at, source_file) - 索引:
idx_products_name(name)
注意
- Excel中文列名需一致
- 非数字价格会被跳过或置为空
- 条码为空的行跳过
Docker(推荐部署)
- 构建并启动:
docker compose up --build -d - 端口:宿主机映射
57777:57777 - 数据与静态资源挂载:
./data:/app/data(SQLite 持久化)./static:/app/static:ro(前端文件,无需重建镜像即可更新)