48 lines
1.3 KiB
TypeScript
48 lines
1.3 KiB
TypeScript
/**
|
|
* 订阅相关 API 函数
|
|
*/
|
|
import apiClient from "../client"
|
|
import type {
|
|
BillingRecord,
|
|
ChangePlanRequest,
|
|
ChangePlanResponse,
|
|
SubscriptionInfo,
|
|
} from "./types"
|
|
|
|
/** 获取当前订阅信息 */
|
|
export const getCurrentSubscription = async (): Promise<SubscriptionInfo> => {
|
|
const response = await apiClient.get("/subscription/current")
|
|
return response.data
|
|
}
|
|
|
|
/** 获取账单记录列表 */
|
|
export const getBillingRecords = async (): Promise<BillingRecord[]> => {
|
|
const response = await apiClient.get("/subscription/billing-records")
|
|
return response.data
|
|
}
|
|
|
|
/** 升级/降级套餐 */
|
|
export const changePlan = async (request: ChangePlanRequest): Promise<ChangePlanResponse> => {
|
|
const response = await apiClient.post("/subscription/change-plan", request)
|
|
return response.data
|
|
}
|
|
|
|
/** 取消订阅 */
|
|
export const cancelSubscription = async (): Promise<{
|
|
success: boolean
|
|
message: string
|
|
}> => {
|
|
const response = await apiClient.post("/subscription/cancel")
|
|
return response.data
|
|
}
|
|
|
|
/** 切换自动续费 */
|
|
export const toggleAutoRenew = async (
|
|
enabled: boolean,
|
|
): Promise<{ success: boolean; message: string }> => {
|
|
const response = await apiClient.post("/subscription/toggle-auto-renew", {
|
|
enabled,
|
|
})
|
|
return response.data
|
|
}
|