docs: architecture, guidelines, domain designs, progressive code index

This commit is contained in:
Chengdong Zhang
2026-09-24 16:59:32 +08:00
parent c532f87b03
commit a968327b12
19 changed files with 728 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Index: Mall storefront app (`apps/mall`)
Guidelines: `docs/frontend-guidelines.md`.
| Path | Holds |
|---|---|
| `plugins/api.ts` | `$api` composition: mock base + per-domain live picks (`LiveDomain`, `LIVE_PICKS`, `DEFAULT_LIVE_DOMAINS`) |
| `mock/api.ts` | deterministic fixed-data adapter; versioned persisted state (`STORAGE_KEY`) |
| `mock/data.ts` | seed fixtures for the mock adapter |
| `nuxt.config.ts` | `liveDomains` runtime default (JSON array env `NUXT_PUBLIC_LIVE_DOMAINS` overrides) |
| `pages/index.vue` | home: banners/promos/quick links/category floors |
| `pages/search.vue`, `pages/goods/[id].vue` | catalog browsing; goods detail has reviews tab |
| `pages/cart.vue`, `pages/checkout/*` | cart and checkout (address → quote → submit → pay → success) |
| `pages/stores/*` | store directory + store detail |
| `pages/user/*` | buyer center: orders, aftersales, reviews, coupons, addresses, invoices, favorites |
| `pages/seckill.vue`, `collective.vue`, `integral.vue` | flash sale, group buying, points mall |
| `app.vue` + `components/shell/*` | header/footer shell |
| `composables/` | session/cart stores, `usePrice` (currency conversion display) |
Remember: mall is the only app with a mock adapter; every new live domain
needs mock parity so `NUXT_PUBLIC_LIVE_DOMAINS` rollback keeps working.