# xuhe **Repository Path**: DeTan/xuhe ## Basic Information - **Project Name**: xuhe - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-24 - **Last Updated**: 2026-10-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 序禾生物后台管理 Vue 3 + Vite + TypeScript + Element Plus 前端,Spring Boot 3 + JWT + JPA 后端。涵盖 RBAC、二维码、信息采集(同步到谷禾 bindraw 接口)、可插拔物流配置与邮寄任务。 ## 目录 - `frontend/` — 管理端 + 公开表单/落地页 - `backend/` — REST API ## 本地启动(默认 H2) ```bash # 后端 :18080 cd backend mvn spring-boot:run # 前端 :5178(代理 /api -> 18080) cd frontend npm install npm run dev ``` - 管理端:[http://127.0.0.1:5178](http://127.0.0.1:5178) - API:[http://127.0.0.1:18080/api](http://127.0.0.1:18080/api) - 默认账号:`admin` / `admin123` - 公开采集表单:[/p/form](http://127.0.0.1:5178/p/form) ## MySQL(目标库) 目标库主机:`192.168.100.106:3306/dev_special_steel_waste`。 **不要把密码写进仓库。** 通过环境变量或 gitignore 的本地文件: ```bash export SPRING_DATASOURCE_URL='jdbc:mysql://192.168.100.106:3306/dev_special_steel_waste?useUnicode=true&characterEncoding=UTF-8&useSSL=true&autoReconnect=true&serverTimezone=Asia/Shanghai' export SPRING_DATASOURCE_USERNAME='app' export SPRING_DATASOURCE_PASSWORD='' cd backend mvn spring-boot:run -Dspring-boot.run.profiles=mysql ``` 也可复制 `backend/src/main/resources/application-mysql.yml.example` 为 `application-local.yml`(已 gitignore),使用 `--spring.profiles.active=local`。 云端 / 内网不通时保持默认 H2 即可。 ## 关键配置 | 项 | 说明 | |----|------| | `guhe.jwt.secret` | JWT 密钥 | | `guhe.public-base-url` | 二维码落地页前缀(默认 `http://127.0.0.1:5178`) | | `guhe.bindraw.enabled` | 是否向 guhejk bindraw 同步 | | `guhe.bindraw.mock-on-failure` | 远程失败时本地保留并标记 FAILED | | `guhe.logistics.mock-when-no-credentials` | 无物流密钥时 Mock 下单 | | `guhe.report-pull.username` / `password` | 谷禾管理后台账号。只放环境变量 `GUHE_REPORT_USERNAME`、`GUHE_REPORT_PASSWORD`,不要写进仓库 | | `guhe.report-pull.cron` | 默认每天 09:00、16:00(Asia/Shanghai)拉取报告 PDF | | `guhe.report-pull.dir` | PDF 存放目录,默认 `uploads/reports` | 管理端「检测报告」(`/reports`) 列出已拉取的 PDF。已保存的样本不会重复下载。每份报告可以换封面、换封底、修改内容,或换页眉、换页脚(左、中、右可写字或放小图)。页眉和页脚会印在每一页上,包括已换过的封面和封底。员工打开和下载的是改过的文件,原始拉取文件仍留在服务器上。中文写入需要系统里的中文字体,或环境变量 `GUHE_PDF_FONT` 指向一个 `.ttf` / `.otf` / `.ttc`。 ## 模块摘要 1. **RBAC**:人员、组织树、角色、菜单权限、JWT 登录 2. **二维码**:视频 / 富文本 / 外链,服务端生成 PNG,公开落地页 `/p/qr/:code` 3. **信息采集**:对标 bindraw 字段 + 身高/体重;登录后向 bindraw 接口提交;失败指数退避;可开关同步 4. **物流**:物流服务配置 CRUD(默认京东);邮寄任务调用当前默认适配器;无密钥 Mock