Files
F8WebAI/README.md
T
fanhongcai c377421a3e 新增农户功能升级:身份证OCR/OSS上传、头像采集、同名村检测、Region热度排序及表单体验优化
- Region 表新增热度列,热门省份优先显示
- 区县下拉按地级市分组、已录区县优先、支持全省搜索
- 组选择内置一组至二十组
- 银行卡号独立行+粗体预览,开户行独立行
- 新增农户类型:农户/个体户/合作社/经营集体/公司
- 身份证正反面支持高拍仪/摄像头OCR与手机扫码上传,附件存本地/OSS
- 新增农户头像采集组件(摄像头/本地上传),预留人脸识别收购扩展
- 同名村弹窗提醒(防选错乡镇)
- 编辑窗体禁止遮罩/Esc误关,整体加宽适配高频操作
- 修复二维码局域网手机无法访问(监听0.0.0.0、局域网IP识别、Vite代理兜底)
2026-08-13 16:07:35 +08:00

89 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 农易富 · 农产品收购交易平台(BS 版)
基于主干信息 F8 农产品收购业务的产品化网页版(Browser/Server)平台,服务于**收购公司、收购站、收购个体**,向**农户**收购农产品,覆盖"农户管理 → 过磅称重 → 电子支付 → 反向开票 → 统计报表 → 可视化大屏"全业务链路。
## 技术栈
| 端 | 技术 |
| --- | --- |
| 后端 | C# / .NET 10ASP.NET Core Web API、EF Core 10、JWT、BCrypt |
| 数据库 | 在线 MySQL 8Pomelo 官方分支 `Microting.EntityFrameworkCore.MySql`,支持 EF Core 10 |
| 前端 | Vue 3(最新版)+ Vite + TypeScript + Pinia + Vue Router + Element Plus + ECharts + Axios |
| 适配 | 电脑 PC 与触摸屏(触摸屏过磅页大按钮 + 数字键盘) |
## 目录结构
```
backend/AgriculturalPlatform.Api/ # 后端 API
├── Models/ # 实体模型(组织/用户/农户/品种/收购单/支付/发票)
├── Data/ # DbContext 与种子数据
├── Dtos/ # 接口传输对象
├── Services/ # JWT、数据权限、单号生成、当前用户
└── Controllers/ # Auth/Orgs/Users/Farmers/Products/Purchases/Payments/Invoices/Reports/Dashboard
frontend/ # 前端
└── src/
├── api/ # Axios 封装与全部接口
├── views/ # 登录、工作台、大屏、各业务模块页面
├── layouts/ # 主布局(侧边菜单)
└── stores/ # Pinia 状态
docker-compose.yml # 可选:本地 MySQL 8 开发环境
```
## 快速开始
### 1. 准备数据库(在线 MySQL 或本地)
- **在线 MySQL**:将下方连接串改为你的在线数据库地址(首次启动会自动建库建表并写入演示数据)。
### 2. 后端
```bash
cd backend/AgriculturalPlatform.Api
# 修改 appsettings.json 中 ConnectionStrings:Default 为你的 MySQL 连接串
dotnet restore
dotnet run
```
后端默认地址:`http://localhost:5246`OpenAPI 文档:`http://localhost:5246/openapi/v1.json`)。
### 3. 前端
```bash
cd frontend
npm install
npm run dev
```
前端默认地址:`http://localhost:5173`,已配置 `/api` 代理到后端。
### 4. 登录
| 账号 | 密码 | 角色 |
| --- | --- | --- |
| admin | 123456 | 系统管理员 |
| company | 123456 | 公司管理员 |
| station1 / station2 | 123456 | 收购站员工 |
| individual | 123456 | 收购个体 |
## 功能清单
- **农户管理**:农户档案(身份证/联系方式/村组/银行账户)、信用评分、冻结/启用、交易统计。
- **过磅称重**:一次过磅(毛重)→ 二次回皮(皮重)自动计算净重与金额;支持 PC 列表操作与**触摸屏大字键盘**过磅;进行中单据实时展示。
- **电子支付**:按收购单或批量结算,微信/支付宝/银行转账/现金四种方式,支付确认与退款,农户应收/已付/未付汇总。
- **反向开票**:收购方向农户开具"农产品收购发票"(自产农产品免税,税率 0%),支持按已结算收购单一键开票、发票作废(红冲)。
- **统计报表**:收购汇总(按日/月/品种/农户/收购方)、付款统计(方式/状态)、开票统计,支持图表与 CSV 导出。
- **可视化大屏**:今日/本月 KPI、14 天趋势、品种占比、农户排行、收购方对比、实时过磅,30 秒自动刷新。
- **组织与用户**:公司 / 收购站 / 收购个体三级组织;四类角色;**数据权限隔离**(公司只看本公司及旗下站点数据)。
## 数据库配置说明
后端启动时会执行 `EnsureCreated + Seed`:数据库不存在则自动建表,空库自动写入演示数据(组织、账号、品种、农户及近 30 天收购/付款/发票历史)。
生产建议改用 EF Core Migration 管理表结构。
## 常见问题
- **后端启动报数据库连接失败**:检查 `appsettings.json``ConnectionStrings:Default`,MySQL 需允许远程连接(主机防火墙/云数据库白名单放行)。
- **前端接口 401**:登录过期,重新登录即可。
- **想换端口**:后端在 `Properties/launchSettings.json` 修改后,同步修改 `frontend/vite.config.ts` 的代理 target 与后端 `appsettings.json``FrontendUrl`