- 新增优惠券领取中心页面,包含热门优惠券轮播、优惠券列表、筛选功能等 - 实现优惠券数据加载、搜索、下拉刷新、加载更多等功能 - 添加优惠券领取逻辑,支持用户领取优惠券 - 优化邀请小程序码生成和分享功能 -调整首页和用户订单组件的样式
116 lines
2.5 KiB
TypeScript
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));
|
|
}
|