Files
vmall/apps/mall/nuxt.config.ts
T
james 9904696e76 feat: wave 2 migration (P3, P5, P7 openspec changes)
Implements, verifies, and archives the three remaining Wave 2 changes from
openspec/MIGRATION-PLAN.md.

- add-wallet-settlement (P3): demo recharge, guarded withdrawal freeze and
  one-time admin review, paginated own fund entries, idempotent per-shop
  weekly/monthly settlement statements with commission rate and one-time
  payout confirmation.
- add-merchant-onboarding (P5): personal/enterprise applications with one live
  application per user, guarded review with mandatory rejection reason, and
  transactional shop + owner provisioning returning one-time credentials;
  mall onboarding/status pages and an admin review console.
- add-membership-messaging (P7): platform member levels, append-only growth
  accrual on order completion with guarded one-way leveling, order/shipment/
  refund system messages with unread/read state and soft deletion, plus the
  mall header unread badge.

Backend: migrations 0019-0023, new wallet, settlement, merchant_onboarding,
membership and messaging modules, event hooks in order/fulfillment/aftersale,
and integration suites for each. Shared contract extended and all three
frontends updated; code indexes, domain docs, backend guidelines and the
migration tracker synced.

Verification: cargo test -p vmall-api green twice consecutively; mall, admin
and shop-admin builds pass; browser smoke on every new surface; openspec
validate --all --strict green (33 passed).

The three changes share the @vmall/shared contract, the mall mock adapter and
per-app locale/nav files, so they are committed together to keep every commit
buildable.
2026-09-25 15:25:29 +00:00

55 lines
1.4 KiB
TypeScript

import tailwindcss from "@tailwindcss/vite";
export default defineNuxtConfig({
modules: ["@pinia/nuxt", "@nuxtjs/i18n", "@vmall/ui/nuxt"],
css: ["@vmall/shared/theme.css"],
vite: { plugins: [tailwindcss()] },
devtools: { enabled: false },
devServer: { port: 3000 },
runtimeConfig: {
public: {
apiBase: "http://localhost:8080/api",
// Domains served by the live backend; every other domain stays on the
// fixed-data adapter. Override with NUXT_PUBLIC_LIVE_DOMAINS='["catalog"]'.
// See openspec/changes/replace-mock-api-wave-1/design.md and waves 2-3.
liveDomains: [
"catalog",
"currency",
"content",
"shops",
"brands",
"auth",
"account",
"cart",
"orders",
"shipments",
"invoices",
"addresses",
"coupons",
"points",
"flashSales",
"groupBuying",
"favorites",
"aftersales",
"reviews",
"wallet",
"membership",
"messaging",
"merchantOnboarding",
],
appName: "mall",
},
},
i18n: {
strategy: "no_prefix",
defaultLocale: "en",
locales: [
{ code: "en", name: "English" },
{ code: "zh", name: "中文" },
],
vueI18n: "../i18n.config.ts",
bundle: { optimizeTranslationDirective: false },
},
compatibilityDate: "2025-01-01",
});