chore(repo): 导入 M-Z 业务底座 V1.9 基线并建立仓库规范

按周工交付的 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),不做归一化以免整树摘要失效。
This commit is contained in:
aomin committed 2026-11-13 17:32:37 +08:00
commit a7605ef8b8
121 files changed
+23629

No files matched your search

+83
View File
@@ -0,0 +1,83 @@
@echo off
chcp 936 >nul 2>&1
title aomin-gateway :8080
setlocal EnableDelayedExpansion
REM ============================================================
REM aomin-gateway 启动器(鹤仆云 S 线一期演示包)
REM
REM 绿色化要点:
REM 1) JAVA_HOME 用包内自带的 jdk-21.0.2,别人机器不用装 Java;
REM 2) 日志目录由 LOG_DIR 传给 Spring Boot,不写死盘符;
REM 3) 有 jar 就直接跑,不碰 Maven(构建只在没 jar 时才发生)。
REM ============================================================
REM 项目根 = 本文件往上两级(app\aomin-gateway -> 包根)
pushd "%~dp0..\.."
set "ROOT=%CD%\"
popd
set "JAVA_HOME=%ROOT%jdk-21.0.2"
set "LOG_DIR=%ROOT%logs"
set "JAR=%ROOT%app\aomin-gateway\target\aomin-gateway-0.0.1-SNAPSHOT.jar"
if not exist "%JAVA_HOME%\bin\java.exe" (
echo [ERROR] 找不到包内 JDK:%JAVA_HOME%
echo 包里必须自带 jdk-21.0.2 目录;如果被删了,请装 JDK 21 并改本脚本。
exit /b 1
)
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
set "PATH=%JAVA_HOME%\bin;%PATH%"
echo ================================================
echo aomin-gateway :8080
echo JAVA_HOME %JAVA_HOME%
echo LOG_DIR %LOG_DIR%
echo ================================================
echo.
cd /d "%ROOT%app\aomin-gateway"
if not exist "%JAR%" (
echo [INFO] 未找到 jar,开始构建(需要包内 maven 目录)...
if not exist "%ROOT%maven\bin\mvn.cmd" (
echo [ERROR] 没有 jar 也没有 maven,无法启动。
echo 正常发的包一定带 jar,请检查 app\aomin-gateway\target\
exit /b 1
)
set "PATH=%ROOT%maven\bin;%PATH%"
call mvn -B -o -Dmaven.repo.local="%ROOT%data\m2repo" clean package -DskipTests
if errorlevel 1 (
echo [ERROR] 构建失败,看上面的错误信息
exit /b 1
)
)
REM 环境里可能存在 SERVER__PORT(部分工具会注入),Spring Boot 会把它
REM 当成 server.port 读进去,导致端口变成随机值。清掉,并在命令行显式指定。
REM ---- SEC-Z-01: the DB password must come from the environment ----
REM No default password is built into this project or into this script.
if "%DB_PASS%"=="" (
echo [ERROR] DB_PASS is not set. Nothing will start.
echo Run: set DB_PASS=your_password
echo Then run this script again.
exit /b 1
)
set "SERVER__PORT="
REM 本地演示要灌演示数据(admin / 字典 / 示范小区)。
REM 生产环境不要设这个变量——application.yml 里默认 false。
set "BIZ_DEMO_ENABLED=true"
echo [INFO] 健康检查 http://127.0.0.1:8080/health
echo [INFO] 日志 %LOG_DIR%\app.log
echo [INFO] 按 Ctrl+C 停止
echo.
REM 前端目录也用绝对路径传进去(WebConfig 里不再写死盘符)。
REM 不传的话默认找“当前目录\web”,而这个 bat 已经 cd 到 app\aomin-gateway,会 404。
java -Dbiz.web.dir="%ROOT%web" -jar "%JAR%" --server.port=8080
echo.
echo [INFO] 已停止