Files
wordpress-theme-aksrt/docs/admin-ia-map.md
T
kate522 cf6ad0e972 feat(forum,admin): plate follow-pay MVP, sales column, order type tabs
Wire paid plate follow (admin meta + points/balance purchase + AJAX),
re-check plate gate on topics, post list sales column, and order type
subtabs; update gap matrix and admin IA map.
2026-07-15 11:00:36 +08:00

152 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Admin IA Map — zibll-aligned native ops + SPA config
> Living blueprint for AKSRT admin information architecture after the zibll 1:1 ops-menu migration.
> Source of truth for *where* a surface lives; field-level schema remains in Vue schema / PHP schema provider.
## Split rule (locked)
| Layer | Surface | Purpose |
|-------|---------|---------|
| **WP native sidebar** | CPT menus, `aksrt_pay` top menu, `users.php` submenus | Day-to-day **operations** (content CRUD, orders, tickets) |
| **AKSRT SPA** (`admin.php?page=aksrt-settings#/...`) | Schema-driven pages only | **Configuration** (switches, layout, gateways, policies) |
Do **not** reintroduce operational workbenches into the SPA once native pages ship.
---
## Native sidebar tree (target)
```
[pos ~34 separator]
商城 (aksrt_product) pos 35, dashicons-store
├─ 所有商品 / 新增商品
├─ 商品分类 (aksrt_product_cat)
├─ 特色标签 (aksrt_product_tag)
└─ 优惠活动 (shop_discount)
支付中心 (aksrt_pay) pos ~36–38, dashicons-cart
├─ 概览 aksrt_pay
├─ 订单 aksrt_orders
├─ 付费文章 aksrt_pay_products
├─ 发货及物流 aksrt_shipping
├─ 售后管理 aksrt_after_sale
├─ 优惠码 aksrt_coupons
├─ 卡密管理 aksrt_charge_cards
├─ 创作分成 aksrt_income
├─ 推广返佣 aksrt_rebate
└─ 提现审核 aksrt_withdraw
[pos ~39 separator]
论坛版块 (aksrt_forum_plate) pos 40, dashicons-buddicons-forums
├─ 所有版块 / 添加版块
└─ 分区 (aksrt_plate_cat)
论坛帖子 (aksrt_forum_topic) pos 40, dashicons-buddicons-topics
├─ 所有帖子 / 添加帖子
├─ 话题 (aksrt_forum_topic_cat)
└─ 标签 (aksrt_forum_tag)
用户 (WP core users.php)
├─ 消息管理 users.php?page=aksrt_messages
├─ 邀请码管理 users.php?page=aksrt_invite_codes
├─ 身份认证 users.php?page=aksrt_user_auth
└─ 举报&禁封 users.php?page=aksrt_user_ban
AKSRT (SPA shell) pos 58, dashicons-admin-generic
└─ hash routes: config-only sections
```
### Feature gates
| Surface | Settings key | Notes |
|---------|--------------|-------|
| 商城 CPT/tax | `shop_s` → `AKSRT_Settings::get_shop_settings()['enabled']` | Hide menu when shop off |
| 论坛 CPT/tax | `bbs_s` → `get_forum_settings()['enabled']` | Front skips registration when off; admin still registers but may hide menu |
| 支付中心子项 | payment/shop/rebate switches | Per-submenu |
| 用户子菜单 | message / invite / verify / ban flags | Align SPA users schema |
Capability baseline: `manage_options` (later may tighten toward super-admin like zibll).
---
## SPA config tree (retained)
### 支付&付费 `/payment`
| Route | Type | Notes |
|-------|------|-------|
| `/payment/paid` | custom/schema | Download / paid-content **policy** |
| `/payment/recharge` | schema | Balance recharge |
| `/payment/vip` | schema | VIP plans |
| `/payment/gateway` | custom | Gateway credentials |
| `/payment/order` | schema | Order display settings (not order list) |
| `/payment/affiliate` | schema | Rebate **rules** |
| `/payment/card-pass` | schema | Card rules/copy |
| `/payment/withdrawal` | schema | Withdraw **policy** (tickets → native) |
**Removed from SPA (ops):** charge-card workbench, revenue table, rebate table.
### 商城&商品 `/shop`
| Route | Type |
|-------|------|
| `/shop/basic` | schema |
| `/shop/list` | schema |
| `/shop/single` | schema |
| `/shop/product-defaults` | schema |
| `/shop/contact` | schema |
| `/shop/shipping-config` | schema |
| `/shop/timing` | schema |
**Removed from SPA (ops):** products, orders, after-sale, shipping, coupons, withdrawals, dashboard.
Default SPA entry after strip: `/shop/basic`.
### 社区&论坛 `/forum`
| Route | Type |
|-------|------|
| `/forum/settings` | schema basic |
| `/forum/settings/names` | schema |
| `/forum/settings/homepage` | schema |
| `/forum/settings/board-page` | schema |
| `/forum/settings/post-page` | schema |
| `/forum/settings/reply` | schema |
| `/forum/settings/permissions` | schema |
| `/forum/settings/other` | schema |
| `/forum/settings/upload` | schema |
| `/forum/settings/credits` | schema |
**Removed from SPA (ops):** boards, topics, moderators, moderator-applications, dashboard.
Default SPA entry after strip: `/forum/settings`.
### 用户&互动 `/users` (config kept)
auth, oauth, features, signin, credits, verify **settings**, level, badge, notifications, sms, wechat, wechat-template.
**Removed from SPA (ops):** messages, invite-codes, ban, report queues.
---
## Canonical domain keys
Internal keys remain: `global`, `page_display`, `post_list`, `permissions`, `users`, `payment`, `shop`, `forum`, `extensions`, `tools`.
Route paths may stay friendly (`/page-display/...`); ops native pages use `admin.php?page=aksrt_*` slugs above.
---
## Rollout phases
| Phase | Deliverable |
|-------|-------------|
| 0 | This map + gap matrix |
| 1 | CPT/tax native menus |
| 2 | `aksrt_pay` PHP list pages |
| 3 | `users.php` governance submenus |
| 4 | Strip SPA ops routes/components |
| 5+ | Runtime behavior parity backlog |
See also: [zibll-gap-matrix.md](./zibll-gap-matrix.md).