HaniBlindBox/honey_box/common/server/coupon.js
2026-02-02 20:25:31 +08:00

135 lines
3.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 优惠券模块 - 优惠券列表、领取、合成相关接口
*/
import RequestManager from '../request';
/**
* 获取待领取优惠券数量
* @returns {Promise} 待领取优惠券数量
*/
export const getPendingCouponCount = async () => {
return await RequestManager.get('/coupon_pending_count', {}, true);
};
/**
* 获取优惠券列表
* @param {Object} params 查询参数
* @param {Number} params.page 页码
* @param {Number} params.pageSize 每页数量
* @param {Number} params.type 类型 1-可用 2-已使用 3-已过期
* @returns {Promise} 优惠券列表
*/
export const getCouponList = async (params = {}) => {
return await RequestManager.get('/coupon_list', params, true);
};
/**
* 获取优惠券详情
* @param {Number} couponId 优惠券ID
* @returns {Promise} 优惠券详情
*/
export const getCouponDetail = async (couponId) => {
return await RequestManager.post('/coupon_detail', {
coupon_id: couponId
});
};
/**
* 领取优惠券
* @param {Number} couponId 优惠券ID
* @returns {Promise} 领取结果
*/
export const receiveCoupon = async (couponId) => {
return await RequestManager.post('/coupon_ling', {
coupon_id: couponId
});
};
/**
* 批量领取优惠券
* @param {String} couponIds 优惠券ID列表逗号分隔
* @returns {Promise} 领取结果
*/
export const receiveCoupons = async (couponIds) => {
return await RequestManager.post('/receive', {
coupon_id: couponIds
});
};
/**
* 分享优惠券
* @param {Number} couponId 优惠券ID
* @returns {Promise} 分享结果
*/
export const shareCoupon = async (couponId) => {
return await RequestManager.post('/coupon_share', {
coupon_id: couponId
});
};
/**
* 合成优惠券
* @param {String} couponIds 优惠券ID列表逗号分隔
* @returns {Promise} 合成结果
*/
export const synthesisCoupon = async (couponIds) => {
return await RequestManager.post('/coupon_synthesis', {
coupon_ids: couponIds
});
};
/**
* 计算合成结果
* @param {String} couponIds 优惠券ID列表逗号分隔
* @returns {Promise} 计算结果
*/
export const calcSynthesis = async (couponIds) => {
return await RequestManager.post('/coupon_ji_suan', {
coupon_ids: couponIds
});
};
/**
* 获取可领取的优惠券列表
* @returns {Promise} 优惠券列表
*/
export const getAvailableCoupons = async () => {
return await RequestManager.get('/coupon', {});
};
/**
* 获取可使用的优惠券列表(用于订单页面)
* @param {Object} params 查询参数
* @param {Number} params.page 页码
* @param {Number} params.type 页面类型
* @param {Number} params.type1 优惠券状态 1-可用 2-不可用
* @param {Number} params.status 状态
* @param {Number} params.total_price 订单总价(可选)
* @returns {Promise} 优惠券列表
*/
export const getUsedCouponList = async (params = {}) => {
return await RequestManager.get('/used', params, true);
};
/**
* 获取领券中心优惠券列表
* @param {Object} params 查询参数
* @param {Number} params.page 页码
* @param {Number} params.coupon_id 优惠券ID可选
* @returns {Promise} 优惠券列表
*/
export const getCouponCenterList = async (params = {}) => {
return await RequestManager.post('/t_coupon_list', params);
};
/**
* 领取领券中心优惠券
* @param {Number} couponId 优惠券ID
* @returns {Promise} 领取结果
*/
export const receiveCouponCenter = async (couponId) => {
return await RequestManager.post('/t_coupon_ling', {
coupon_id: couponId
});
};