feat(aftersale): per-line refund/return flow with ledger-backed completion (add-aftersale-refunds)

This commit is contained in:
Chengdong Zhang
2026-09-23 16:56:30 +08:00
parent 93e5a05d48
commit 2c2b54c21c
43 changed files with 4889 additions and 32 deletions
+12 -1
View File
@@ -24,7 +24,8 @@ type LiveDomain =
| "points"
| "flashSales"
| "groupBuying"
| "favorites";
| "favorites"
| "aftersales";
/**
* Explicit per-domain method picks rather than a string allowlist: indexing
@@ -92,6 +93,15 @@ const LIVE_PICKS = {
addShopFavorite: a.addShopFavorite,
removeShopFavorite: a.removeShopFavorite,
}),
aftersales: (a: ApiClient) => ({
applyForAftersale: a.applyForAftersale,
listMyAftersales: a.listMyAftersales,
getAftersale: a.getAftersale,
cancelAftersale: a.cancelAftersale,
reopenAftersale: a.reopenAftersale,
submitAftersaleReturnTracking: a.submitAftersaleReturnTracking,
addAftersaleMessage: a.addAftersaleMessage,
}),
} satisfies Record<LiveDomain, (a: ApiClient) => Partial<ApiClient>>;
const KNOWN_DOMAINS = Object.keys(LIVE_PICKS) as LiveDomain[];
@@ -115,6 +125,7 @@ const DEFAULT_LIVE_DOMAINS: LiveDomain[] = [
"flashSales",
"groupBuying",
"favorites",
"aftersales",
];
export default defineNuxtPlugin(() => {