feat: membership benefits refinement - permissions and quotas linked to plans
This commit is contained in:
1 parent
0886c26157
commit
839be8f97f
4 files changed
+1188
-426
No files matched your search
@@ -360,13 +360,28 @@ export const adminAPI = {
|
||||
updateCustomRequest: (id: string, data: any) => put<any>(`/admin/services/custom-requests/${id}`, data),
|
||||
getAvailableAgents: () => get<any[]>('/admin/services/agents'),
|
||||
assignAgentToService: (id: string, agentId: string) => put<any>(`/admin/services/${id}/agent?agent_id=${agentId}`),
|
||||
// 会员管理
|
||||
// 会员管理(增强版)
|
||||
getPlans: () => get<any[]>('/admin/membership/plans'),
|
||||
addPlan: (data: any) => post<any>('/admin/membership/plans', data),
|
||||
updatePlan: (id: string, data: any) => put<any>(`/admin/membership/plans/${id}`, data),
|
||||
addPlan: (params: string) => post<any>(`/admin/membership/plans${params}`),
|
||||
updatePlan: (id: string, params: string) => put<any>(`/admin/membership/plans/${id}${params}`),
|
||||
deletePlan: (id: string) => del<any>(`/admin/membership/plans/${id}`),
|
||||
getSubscriptions: () => get<any[]>('/admin/membership/subscriptions'),
|
||||
getSubscriptions: (page?: number) => get<any>(`/admin/membership/subscriptions${page ? `?page=${page}` : ''}`),
|
||||
getAutomationRules: () => get<any>('/admin/membership/automation-rules'),
|
||||
getBenefitsComparison: () => get<any>('/admin/membership/benefits-comparison'),
|
||||
getMembershipConfigs: () => get<any[]>('/admin/membership/global-configs'),
|
||||
updateMembershipConfig: (key: string, params: string) => put<any>(`/admin/membership/global-configs/${key}${params}`),
|
||||
getUserMemberships: (page?: number, planId?: string, status?: string) => {
|
||||
const p = new URLSearchParams();
|
||||
if (page) p.append('page', String(page));
|
||||
if (planId) p.append('plan_id', planId);
|
||||
if (status) p.append('status', status);
|
||||
const qs = p.toString();
|
||||
return get<any>(`/admin/membership/user-memberships${qs ? `?${qs}` : ''}`);
|
||||
},
|
||||
assignPlan: (userId: string, planId: string, days: number) => put<any>(`/admin/membership/users/${userId}/assign-plan?plan_id=${planId}&duration_days=${days}`),
|
||||
revokeMembership: (userId: string) => put<any>(`/admin/membership/users/${userId}/revoke`),
|
||||
getUserUsage: (userId: string) => get<any>(`/admin/membership/users/${userId}/usage`),
|
||||
getMembershipStats: () => get<any>('/admin/membership/stats'),
|
||||
// 广告管理
|
||||
getAds: () => get<any[]>('/admin/ads/'),
|
||||
addAd: (data: any) => post<any>('/admin/ads/', data),
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user