feat: 整站全量采集与订单写入接口契约补全

- GET 全量扫描 279 个接口并留档(HTTP200=90, 业务成功=76)
- POST 安全探测 24 个只读/计算接口(白名单制, 支付/短信/删除类零触碰)
- 订单写入接口契约经 chunk 源码静态分析补全:
  orders CRUD / 创建订单{contract_id,drawing_data,pic_url} / windoor_default 保存
- 确认付费墙语义 code=10086 及到期/角色权限响应
- doc/API.md 新增整站采集结果章节, 更新订单模块契约表
This commit is contained in:
HHY
2026-09-20 07:19:10 -07:00
parent 0d94fa2f29
commit 7554f2e3c7
293 changed files with 2511 additions and 6 deletions
@@ -0,0 +1 @@
{"endpoint": "verification-code-new", "status": 500, "body": "{\n \"message\": \"SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'phone_number' cannot be null (SQL: insert into `verification_codes` (`phone_number`, `type`, `code`, `expired_at`, `use_times`) values (?, ?, 6716, 2026-09-20 22:22:55, 0))\",\n \"exception\": \"Illuminate\\\\Database\\\\QueryException\",\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Connection.php\",\n \"line\": 664,\n \"trace\": [\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Connection.php\",\n \"line\": 624,\n \"function\": \"runQueryCallback\",\n \"class\": \"Illuminate\\\\Database\\\\Connection\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Connection.php\",\n \"line\": 459,\n \"function\": \"run\",\n \"class\": \"Illuminate\\\\Database\\\\Connection\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Connection.php\",\n \"line\": 411,\n \"function\": \"statement\",\n \"class\": \"Illuminate\\\\Database\\\\Connection\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Query/Processors/Processor.php\",\n \"line\": 32,\n \"function\": \"insert\",\n \"class\": \"Illuminate\\\\Database\\\\Connection\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php\",\n \"line\": 2690,\n \"function\": \"processInsertGetId\",\n \"class\": \"Illuminate\\\\Database\\\\Query\\\\Processors\\\\Processor\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php\",\n \"line\": 1353,\n \"function\": \"insertGetId\",\n \"class\": \"Illuminate\\\\Database\\\\Query\\\\Builder\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php\",\n \"line\": 839,\n \"function\": \"__call\",\n \"class\": \"Illuminate\\\\Database\\\\Eloquent\\\\Builder\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php\",\n \"line\": 804,\n \"function\": \"insertAndSetId\",\n \"class\": \"Illuminate\\\\Database\\\\Eloquent\\\\Model\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php\",\n \"line\": 667,\n \"function\": \"performInsert\",\n \"class\": \"Illuminate\\\\Database\\\\Eloquent\\\\Model\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php\",\n \"line\": 795,\n \"function\": \"save\",\n \"class\": \"Illuminate\\\\Database\\\\Eloquent\\\\Model\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Support/helpers.php\",\n \"line\": 1124,\n \"function\": \"Illuminate\\\\Database\\\\Eloquent\\\\{closure}\",\n \"class\": \"Illuminate\\\\Database\\\\Eloquent\\\\Builder\",\n \"type\": \"->\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php\",\n \"line\": 796,\n \"function\": \"tap\"\n },\n {\n \"file\": \"/data/www/prod/hmc-service/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php\",\n \"line\""}