Files
offerpai_web/src/api/member.ts
T
2026-05-21 15:10:02 +08:00

98 lines
2.5 KiB
TypeScript

import request from '@/utils/request'
import type { ApiResult } from '@/api/auth'
/** 会员商品项类型(后端返回) */
export interface MemberProduct {
id: number
/** 商品名称 */
productName: string
/** 标签,如"限时优惠"、"最划算" */
tag: string
/** 主推标识 0=否 1=是 */
isFeatured: number
/** 购买按钮文字 */
buyButtonText: string
/** 实付价格(分) */
price: number
/** 划线价(分) */
originalPrice: number
/** 折算月价(分) */
monthlyPrice: number
/** 有效天数 */
durationDays: number
/** 排序,越小越靠前 */
sortOrder: number
/** 状态 0=下架 1=上架 */
status: number
/** 创建时间 */
createTime: { seconds: number; nanos: number }
/** 更新时间 */
updateTime: { seconds: number; nanos: number }
/** 逻辑删除 0=正常 非0=已删除 */
isDelete: number
}
/**
* 查询会员商品列表
* GET /member/product/list
*/
export function fetchMemberProductList() {
return request.get<any, ApiResult<MemberProduct[]>>('/member/product/list')
}
/** 创建订单请求参数 */
export interface CreateOrderParams {
/** 商品ID */
productId: string
/** 支付渠道 1=微信 2=支付宝 */
payChannel: number
}
/** 创建订单返回数据 */
export interface CreateOrderResult {
/** 订单ID,用于轮询状态 */
orderId: string
/** 支付渠道 */
payChannel: number
/** 支付数据(支付宝表单HTML / 微信二维码链接) */
payData: string
}
/**
* 创建会员订单
* POST /member/product/createOrder
*/
export function createMemberOrder(data: CreateOrderParams) {
return request.post<any, ApiResult<CreateOrderResult>>('/member/product/createOrder', data)
}
/** 订单详情返回数据 */
export interface OrderDetailResult {
/** 订单ID */
orderId: string
/** 订单编号 */
orderNo: string
/** 商品名称 */
productName: string
/** 实付金额(分) */
payAmount: number
/** 订单状态 0=待支付 1=已支付 2=已退款 3=已关闭 */
status: number
/** 支付渠道 1=微信 2=支付宝 */
payChannel: number
/** 支付时间 */
payTime: { seconds: number; nanos: number }
/** 下单时间 */
createTime: { seconds: number; nanos: number }
}
/**
* 查询订单详情
* GET /member/product/orderDetail
*/
export function fetchOrderDetail(orderId: string) {
return request.get<any, ApiResult<OrderDetailResult>>('/member/product/orderDetail', {
params: { orderId },
})
}