Files
glt-taro/src/api/shop/shopCoupon/index.ts
赵忠林 46761bdacd feat(coupon): 添加优惠券领取中心功能
- 新增优惠券领取中心页面,包含热门优惠券轮播、优惠券列表、筛选功能等
- 实现优惠券数据加载、搜索、下拉刷新、加载更多等功能
- 添加优惠券领取逻辑,支持用户领取优惠券
- 优化邀请小程序码生成和分享功能
-调整首页和用户订单组件的样式
2025-08-22 11:46:12 +08:00

116 lines
2.5 KiB
TypeScript

import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api';
import type { ShopCoupon, ShopCouponParam } from './model';
/**
* 分页查询优惠券
*/
export async function pageShopCoupon(params: ShopCouponParam) {
const res = await request.get<ApiResult<PageResult<ShopCoupon>>>(
'/shop/shop-coupon/page',
params
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询优惠券列表
*/
export async function listShopCoupon(params?: ShopCouponParam) {
const res = await request.get<ApiResult<ShopCoupon[]>>(
'/shop/shop-coupon',
params
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加优惠券
*/
export async function addShopCoupon(data: ShopCoupon) {
const res = await request.post<ApiResult<unknown>>(
'/shop/shop-coupon',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改优惠券
*/
export async function updateShopCoupon(data: ShopCoupon) {
const res = await request.put<ApiResult<unknown>>(
'/shop/shop-coupon',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除优惠券
*/
export async function removeShopCoupon(id?: number) {
const res = await request.del<ApiResult<unknown>>(
'/shop/shop-coupon/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除优惠券
*/
export async function removeBatchShopCoupon(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
'/shop/shop-coupon/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询优惠券
*/
export async function getShopCoupon(id: number) {
const res = await request.get<ApiResult<ShopCoupon>>(
'/shop/shop-coupon/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 领取优惠券
*/
export async function receiveCoupon(params: { couponId: number; userId: number }) {
const res = await request.post<ApiResult<unknown>>(
'/shop/shop-coupon/receive',
params
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}