chore: init saasshop repo + sql migrations runner + gitee go

This commit is contained in:
萝卜
2026-03-10 11:31:02 +00:00
commit 50f15cdea8
210 changed files with 29534 additions and 0 deletions

84
docs/ADMIN_BASELINE.md Normal file
View File

@@ -0,0 +1,84 @@
# 总台管理基础能力(当前已完成)
## 访问入口
- 登录页:`/admin/login`
- 总台仪表盘:`/admin`
- 站点管理:`/admin/merchants`
- 商品巡检:`/admin/products`
- 订单监控:`/admin/orders`
- 系统配置:`/admin/settings/system`
- 渠道配置:`/admin/settings/channels`
## 当前定位
当前 `/admin` 已明确为 **总台管理Platform Ops**,面向平台运营方:
- 管理站点
- 查看总台视角的订单 / 商品 / 用户规模
- 承接全局系统配置与渠道配置骨架
- 为后续拆分站点后台、商家后台做边界准备
## 当前能力
- 总台管理登录Session
- 登录态校验中间件 `admin.auth`
- 总台统一布局模板与导航分组
- 总台仪表盘与总台定位说明
- 站点管理列表 + 新增站点
- 商品巡检列表 + 新增 / 更新 / 删除
- 订单监控列表 + 状态更新 + 详情页
- 系统配置页面已接入数据库读取(`system_configs`
- 渠道配置页面已接入数据库读取(`channel_configs`
- 支付配置基线已落库并在渠道配置页展示(`payment_configs`
- Session 中已记录 `admin_role` / `admin_merchant_id` / `admin_merchant_id` / `admin_scope`,其中商家后台优先使用 `admin_merchant_id`,为后续总台 / 站点 / 商家三层后台边界做准备
## 演示账号
### 总台管理
- 邮箱:`platform.admin@demo.local`
- 密码:`Platform@123456`
- 作用域:总台管理员(`merchant_id = null`
### 站点后台
- 邮箱:`merchant.admin@demo.local`
- 密码:`Merchant@123456`
- 作用域:站点管理员(当前绑定 `merchant_id = 1`,第一阶段复用 Merchant 承接)
### 商家后台
- 邮箱:`merchant.admin@demo.local`
- 密码:`Merchant@123456`
- 作用域:商家管理员(当前绑定 `merchant_id = 1`
> 生产环境需要补独立权限体系、菜单权限控制、配置落库、操作审计,以及更细粒度的管理员角色权限。
## 当前三层后台边界
### 总台管理(`/admin`
- 管站点
- 看总台视角订单 / 商品 / 用户规模
- 管系统配置、渠道配置、支付配置
- 仅允许 `merchant_id = null` 的总台管理员登录
- 面向平台运营方
### 站点后台(`/site-admin`
- 当前先展示绑定站点范围内的数据
- 第一阶段继续复用 `Merchant / merchants / merchant_id` 作为站点承接层
- 已具备站点商品、站点订单的最小筛选与导出入口
- 仅允许绑定商家的管理员登录,并映射为站点作用域
- 面向站点运营人员
### 商家后台(`/merchant-admin`
- 只展示当前登录商家的数据
- 当前商家后台会使用 `admin_merchant_id` 作为登录态中的商家作用域标识,并在数据查询时继续映射到底层 `merchant_id` 过滤:仪表盘、商品列表、订单列表、订单详情、订单状态更新、商品新增
- 仅允许绑定商家的管理员登录
- 面向商家运营人员
## 当前代码层封装进展
- `Admin` 模型已补充商家语义方法:`merchant()``merchantId()``isPlatformAdmin()``isMerchantAdmin()`
- 商家后台已新增 `ResolvesMerchantContext` trait用于统一解析 `merchantId()``merchant()``merchantAdmin()`
- 站点后台已新增 `ResolvesSiteContext` trait用于统一解析 `siteId()``site()``siteAdmin()`
- 商家后台控制器已开始改用封装后的商家上下文,而不直接在每个控制器里重复读取 session
- `Product` / `Order` / `User` 模型已新增 `forMerchant($merchantId)` scope商家侧与站点侧查询开始用统一 scope 收口
- 商家后台已补充商品编辑 / 删除,以及商家用户列表页 `/merchant-admin/users`
## 下一步建议
1. 继续把站点后台从最小筛选 / 导出推进到更贴近运营流程的汇总与异常提示
2. 为总台站点管理到站点后台补更顺滑的链路设计(例如后续单独设计站点管理员体系或安全代入方案)
3. 给商家后台继续补订单筛选、商品分类、用户详情等经营能力
4. 给总台配置、渠道配置、支付配置补编辑能力与审计
5. 继续补齐 merchant 语义收口后的配置编辑、审计与权限细化