# 本地部署说明（当前环境）

## 访问地址
- 应用首页：`http://192.168.10.199:9001/`
- 总台管理：`http://192.168.10.199:9001/admin/login`
- 站点后台：`http://192.168.10.199:9001/site-admin/login`
- 商家后台：`http://192.168.10.199:9001/merchant-admin/login`
- phpMyAdmin：`http://192.168.10.199:888/`

## 应用目录
- Laravel 项目：`/var/www/sites/app`

## 技术栈
- Nginx 1.22
- PHP 8.2 FPM
- MariaDB 10.11
- Redis 7
- Laravel 12

## 已配置内容
- Laravel 已接入 MySQL 数据库 `appdb`
- Laravel 已接入 Redis（缓存 / 队列）
- `9001` 已指向 Laravel `public/`
- `888` 已指向 phpMyAdmin
- 当前项目已完成总台管理、站点后台、商家后台三层后台基础骨架
- 当前数据库与代码基线已统一使用 `merchant / merchants / merchant_id` 语义

## 数据库连接
- DB_HOST=`127.0.0.1`
- DB_PORT=`3306`
- DB_DATABASE=`appdb`
- DB_USERNAME=`appuser`
- 密码存放于：`/app/working.secret/appdb.env`

## phpMyAdmin
- 使用 MySQL 账号登录（推荐直接用 `appuser`）
- 地址：`http://192.168.10.199:888/`

## 商品导入失败明细文件
- 商品批量导入失败明细 CSV 通过 Laravel `local` 磁盘保存
- 当前 `local` 磁盘根目录为：`/var/www/sites/app/storage/app/private`
- 总台管理失败文件目录：`/var/www/sites/app/storage/app/private/imports/product-failures/platform/`
- 商家后台失败文件目录：`/var/www/sites/app/storage/app/private/imports/product-failures/merchant_<merchant_id>/`
- 页面下载入口：
  - 总台：`/admin/products/import-failures/{file}`
  - 商家：`/merchant-admin/products/import-failures/{file}`
- 文件内容包含：`row_number + 原始导入字段 + error`
- 已补定时清理脚本：`/usr/local/bin/saasshop_import_failures_cleanup.sh`
- 当前保留策略：默认保留 30 天，每天东八区 `04:30` 自动清理一次过期 failure CSV

## 注意
- 敏感凭证不要写进公开文档或长期记忆
- 当前项目已进入 SaaS 电商基础框架阶段，后续优先继续补经营能力、配置能力与筛选能力
