更新:课程确认订单和订单支付功能初步完成
This commit is contained in:
@@ -4,7 +4,11 @@ import type { IApiResponse } from '@/api/types'
|
||||
import type {
|
||||
ICreateOrderParams,
|
||||
IGooglePayVerifyParams,
|
||||
ICreateOrderResponse
|
||||
ICreateOrderResponse,
|
||||
IOrderGoods,
|
||||
ICoupon,
|
||||
ICourseOrderCreateParams,
|
||||
IOrderInitData
|
||||
} from '@/types/order'
|
||||
import type { IUserInfo } from '@/types/user'
|
||||
|
||||
@@ -59,5 +63,96 @@ export const orderApi = {
|
||||
method: 'POST'
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 初始化订单准备数据
|
||||
* @param params 初始化参数
|
||||
*/
|
||||
async initPrepareOrder(params: { uid: number; productList: Array<{ productId: number; quantity: number }> }) {
|
||||
const res = await mainClient.request<IApiResponse<IOrderInitData>>({
|
||||
url: 'common/buyOrder/initPrepareOrder',
|
||||
method: 'POST',
|
||||
data: params
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 根据商品ID获取商品详情列表
|
||||
* @param productIds 商品ID字符串(逗号分隔)
|
||||
*/
|
||||
async getShopProductListByIds(productIds: string) {
|
||||
const res = await mainClient.request<IApiResponse<{ shopProductList: IOrderGoods[] }>>({
|
||||
url: 'book/buyOrder/getShopProductListByIds',
|
||||
method: 'POST',
|
||||
data: { productIds }
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取VIP优惠金额
|
||||
* @param productList 商品列表
|
||||
*/
|
||||
async getVipDiscountAmount(productList: Array<{ productId: number; quantity: number }>) {
|
||||
const res = await mainClient.request<IApiResponse<{ discountAmount: number }>>({
|
||||
url: 'book/buyOrder/getVipDiscountAmount',
|
||||
method: 'POST',
|
||||
data: { productList }
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取地区优惠金额
|
||||
* @param productList 商品列表
|
||||
*/
|
||||
async getDistrictAmount(productList: Array<{ productId: number; quantity: number }>) {
|
||||
const res = await mainClient.request<IApiResponse<{ districtAmount: number }>>({
|
||||
url: 'book/buyOrder/getDistrictAmount',
|
||||
method: 'POST',
|
||||
data: { productList }
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 获取可用优惠券列表
|
||||
* @param shopProductInfos 商品信息字符串(格式:productId:price:quantity,productId:price:quantity)
|
||||
*/
|
||||
async getCouponListPayment(shopProductInfos: string) {
|
||||
const res = await mainClient.request<IApiResponse<{ couponHistoryList: ICoupon[] }>>({
|
||||
url: 'common/coupon/getCouponListPayment',
|
||||
method: 'POST',
|
||||
data: { shopProductInfos }
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 更新购物车商品
|
||||
* @param data 商品数据
|
||||
*/
|
||||
async updateCart(data: { productId: number; productAmount: number; price: number }) {
|
||||
const res = await mainClient.request<IApiResponse>({
|
||||
url: 'book/ordercart/update',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return res
|
||||
},
|
||||
|
||||
/**
|
||||
* 创建课程订单
|
||||
* @param data 订单数据
|
||||
*/
|
||||
async placeCourseOrder(data: ICourseOrderCreateParams) {
|
||||
const res = await mainClient.request<IApiResponse<{ orderSn: string; money: number }>>({
|
||||
url: 'book/buyOrder/placeOrder',
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
return res
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user