按周工交付的 SEC-Z-01 清理后源码建立 M-Z 主干,并按 Git 仓库惯例重排目录。 - aomin-gateway/ 后端工程 87 文件,原样保留,路径与构建命令未变 - demo/ 演示前端与设备模拟器 9 文件(原 02_前端与设备端),非正式三端 - docs/handover/ 交付与安全清理材料 6 份,内容未改 - docs/contract/ J-00 规格、OpenAPI、内部五接口、状态机、Mock 样例 - docs/reference/ 指纹与校验清单,含 84 个源码文件的 sha256 清单 目录重排只动位置不动内容:源码树 84 文件哈希与交付一致,逐文件自校验通过; 12 条 Flyway 迁移与交付包内镜像逐字节一致。 未纳入:迁移镜像目录(与工程内一套重复,改留指纹)、target/、证据 raw、 应急恢复脚本、评审用虚构台账数据。 安全:SEC-Z-01 15 处明文已清零,导入前重新扫描无新增命中,本仓库无历史污染。 行尾按交付字节原样保存(.gitattributes 设 * -text),不做归一化以免整树摘要失效。
80 lines
4.2 KiB
Markdown
80 lines
4.2 KiB
Markdown
# 包内容与使用说明
|
||
|
||
> 本包是 **M-Z 业务底座的受控源码**(SEC-Z-01 清理后),只覆盖中段业务层,不含其他段的东西。
|
||
> 用途:陈工按 AM-S1-GOV-020 §6.2(1) 接收此源码,建立唯一主干。
|
||
|
||
---
|
||
|
||
## 一、包里有什么(108 个条目)
|
||
|
||
| 目录 / 文件 | 数量 | 是什么 |
|
||
|---|---|---|
|
||
| `aomin-gateway/` | 87 | **M-Z 业务层完整 Maven 工程**:`pom.xml`、`src/main`(84 个文件:controller / service / dao / biz / engine / 迁移脚本 / 配置)、`README.md`、`start-gateway.bat` |
|
||
| `03_数据库与Flyway迁移/` | 13 | **迁移镜像**:12 条 SQL(V1.0.0~V1.0.28)+ 迁移说明。与 `aomin-gateway/src/main/resources/db/migration` **逐字节一致**,供"应用与镜像同源"核对 |
|
||
| `04_OpenAPI与内部IoT契约/` | 6 | J-00 接入接口规格(md + OpenAPI yaml)、内部五接口定义、状态机、Mock 样例、使用说明 |
|
||
| `01_SEC-Z-01_最小安全清理差异清单.md` | 1 | 15 处明文逐处改了什么 |
|
||
| `02_SEC-Z-01_敏感信息扫描报告.md` | 1 | 扫描范围、结果、复算方法、盲区、轮换结论 |
|
||
| `03_Z-02_清理后哈希与构建说明.md` | 1 | 清理前后指纹、构建步骤、入库顺序(**先清后推**) |
|
||
| `04_155条证据适用边界.md` | 1 | 155 条重跑结果,以及**它不能证明什么** |
|
||
| `gitignore_建议.txt` | 1 | 建主干时直接用的 `.gitignore` |
|
||
| `SHA256SUMS_包内.txt` | 1 | 包内文件哈希,解压后在包根执行 `sha256sum -c` 即可校验 |
|
||
|
||
---
|
||
|
||
## 二、包里**没有**什么,为什么
|
||
|
||
| 没给 | 原因 |
|
||
|---|---|
|
||
| `02_前端与设备端源码`(8 文件,演示前端) | 三端由陈工按 §6.2(3) 统一接入。这是评审用演示前端,给了反而分不清哪套是主干。**需要对照可以单独要** |
|
||
| `06_统一闭环题自测证据/raw`(12 份结果 JSON、11 份日志) | 体积大、每轮重跑全变。证据按受控目录交付,不进代码主干;要复跑见 `04` 里的命令 |
|
||
| `99_应急恢复(非正式路径)` | 明确是应急手段,不是主干迁移序列。给进去容易被当成常规路径 |
|
||
| `评审用虚构台账数据.sql` | 演示数据,不属于主干 |
|
||
| `09_代码与版本/SHA256SUMS.txt`(131 项全包清单) | 那是整个评审包的清单,路径以评审包为根;本包用 `SHA256SUMS_包内.txt`,路径与包内一致,可直接校验 |
|
||
| 明文口令 | 已按 SEC-Z-01 清空,**一个字符都没有** |
|
||
|
||
---
|
||
|
||
## 三、怎么用(三步)
|
||
|
||
```bash
|
||
# 1) 校验(在解压后的包根)
|
||
sha256sum -c SHA256SUMS_包内.txt
|
||
|
||
# 2) 编译(JDK 21;离线仓库按你们环境改)
|
||
cd aomin-gateway
|
||
mvn -o -q -s <settings.xml> -DskipTests clean package
|
||
# 产物 target/aomin-gateway-0.0.1-SNAPSHOT.jar,约 43.5 MB
|
||
|
||
# 3) 启动(必须带 DB_PASS,否则启动中止、退出码 1)
|
||
set DB_PASS=<口令>
|
||
java -jar target/aomin-gateway-0.0.1-SNAPSHOT.jar --server.port=8080 --server.address=0.0.0.0
|
||
curl http://127.0.0.1:8080/health
|
||
# 预期 db=connected、tables=87、flyway=1.0.28、status=UP
|
||
```
|
||
|
||
---
|
||
|
||
## 四、建主干前必读的两条
|
||
|
||
**① 顺序不能反:先清后推。**
|
||
当前目录**不是 git 仓库**,是干净起点。`git init` 必须在 15 处清理完成之后——一旦推上去,即使删除文件,第一条提交里仍有明文,只能重写全部历史。详见 `03_Z-02_清理后哈希与构建说明.md` §4.2。
|
||
|
||
**② 迁移只有一套序列。**
|
||
`aomin-gateway/src/main/resources/db/migration` 与 `03_数据库与Flyway迁移/` 是同一套 12 条的两次出现,**不是两套**。主干只保留一套默认序列;若两者路径必须二选一,以应用内那份为准,镜像目录作对照。
|
||
|
||
---
|
||
|
||
## 五、已知边界(不让接收方误判)
|
||
|
||
| 项 | 状态 |
|
||
|---|---|
|
||
| A-Z-01/02/03 | **未关闭**。作者自测通过,仍需接收方复验签认;本包不构成关闭 |
|
||
| 并发 PULL | 未覆盖(`v20` 是串行 10 条),由谢工按完整矩阵补测 |
|
||
| 真机 | 未覆盖,等黄工真机窗口 |
|
||
| 前端三端 | 不在本包范围 |
|
||
| 口令轮换 | **未轮换**,登记为待确认(见 `02` §4) |
|
||
|
||
---
|
||
|
||
*对应 GOV-020:Z-01(差异+扫描+轮换结论)、Z-02(哈希+构建说明+155 条边界)。*
|