Browse Source
- 新增文章详情页面组件,用于显示文章内容 - 优化购物车页面样式,增加空购物车状态的透明背景 - 添加多个购物相关 API 接口,包括优惠券、订单等 - 更新环境配置,修改 API 基础 URL - 调整发现页面布局,增加文章详情入口master
21 changed files with 1072 additions and 179 deletions
@ -0,0 +1,3 @@ |
|||
export default definePageConfig({ |
|||
navigationBarTitleText: '文章详情' |
|||
}) |
@ -0,0 +1,53 @@ |
|||
import Taro from '@tarojs/taro' |
|||
import {useEffect, useState} from 'react' |
|||
import {useRouter} from '@tarojs/taro' |
|||
import {Loading} from '@nutui/nutui-react-taro' |
|||
import {View, RichText} from '@tarojs/components' |
|||
import {wxParse} from "@/utils/common"; |
|||
import {getCmsArticle} from "@/api/cms/cmsArticle"; |
|||
import {CmsArticle} from "@/api/cms/cmsArticle/model" |
|||
import Line from "@/components/Gap"; |
|||
import './index.scss' |
|||
|
|||
function Detail() { |
|||
const {params} = useRouter(); |
|||
const [loading, setLoading] = useState<boolean>(true) |
|||
// 文章详情
|
|||
const [item, setItem] = useState<CmsArticle>() |
|||
const reload = async () => { |
|||
const item = await getCmsArticle(Number(params.id)) |
|||
|
|||
if (item) { |
|||
item.content = wxParse(item.content) |
|||
setItem(item) |
|||
Taro.setNavigationBarTitle({ |
|||
title: `${item?.categoryName}` |
|||
}) |
|||
} |
|||
} |
|||
|
|||
useEffect(() => { |
|||
reload().then(() => { |
|||
setLoading(false) |
|||
}); |
|||
}, []); |
|||
|
|||
if (loading) { |
|||
return ( |
|||
<Loading className={'px-2'}>加载中</Loading> |
|||
) |
|||
} |
|||
|
|||
return ( |
|||
<div className={'bg-white'}> |
|||
<div className={'p-4 font-bold text-lg'}>{item?.title}</div> |
|||
<div className={'text-gray-400 text-sm px-4 '}>{item?.createTime}</div> |
|||
<View className={'content p-4'}> |
|||
<RichText nodes={item?.content}/> |
|||
</View> |
|||
<Line height={44}/> |
|||
</div> |
|||
) |
|||
} |
|||
|
|||
export default Detail |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
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)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerApply, ShopDealerApplyParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商申请记录表 |
|||
*/ |
|||
export async function pageShopDealerApply(params: ShopDealerApplyParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerApply>>>( |
|||
'/shop/shop-dealer-apply/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商申请记录表列表 |
|||
*/ |
|||
export async function listShopDealerApply(params?: ShopDealerApplyParam) { |
|||
const res = await request.get<ApiResult<ShopDealerApply[]>>( |
|||
'/shop/shop-dealer-apply', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商申请记录表 |
|||
*/ |
|||
export async function addShopDealerApply(data: ShopDealerApply) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-apply', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商申请记录表 |
|||
*/ |
|||
export async function updateShopDealerApply(data: ShopDealerApply) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-apply', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商申请记录表 |
|||
*/ |
|||
export async function removeShopDealerApply(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-apply/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商申请记录表 |
|||
*/ |
|||
export async function removeBatchShopDealerApply(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-apply/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商申请记录表 |
|||
*/ |
|||
export async function getShopDealerApply(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerApply>>( |
|||
'/shop/shop-dealer-apply/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerCapital, ShopDealerCapitalParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商资金明细表 |
|||
*/ |
|||
export async function pageShopDealerCapital(params: ShopDealerCapitalParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerCapital>>>( |
|||
'/shop/shop-dealer-capital/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商资金明细表列表 |
|||
*/ |
|||
export async function listShopDealerCapital(params?: ShopDealerCapitalParam) { |
|||
const res = await request.get<ApiResult<ShopDealerCapital[]>>( |
|||
'/shop/shop-dealer-capital', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商资金明细表 |
|||
*/ |
|||
export async function addShopDealerCapital(data: ShopDealerCapital) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-capital', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商资金明细表 |
|||
*/ |
|||
export async function updateShopDealerCapital(data: ShopDealerCapital) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-capital', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商资金明细表 |
|||
*/ |
|||
export async function removeShopDealerCapital(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-capital/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商资金明细表 |
|||
*/ |
|||
export async function removeBatchShopDealerCapital(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-capital/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商资金明细表 |
|||
*/ |
|||
export async function getShopDealerCapital(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerCapital>>( |
|||
'/shop/shop-dealer-capital/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerOrder, ShopDealerOrderParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商订单记录表 |
|||
*/ |
|||
export async function pageShopDealerOrder(params: ShopDealerOrderParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerOrder>>>( |
|||
'/shop/shop-dealer-order/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商订单记录表列表 |
|||
*/ |
|||
export async function listShopDealerOrder(params?: ShopDealerOrderParam) { |
|||
const res = await request.get<ApiResult<ShopDealerOrder[]>>( |
|||
'/shop/shop-dealer-order', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商订单记录表 |
|||
*/ |
|||
export async function addShopDealerOrder(data: ShopDealerOrder) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-order', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商订单记录表 |
|||
*/ |
|||
export async function updateShopDealerOrder(data: ShopDealerOrder) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-order', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商订单记录表 |
|||
*/ |
|||
export async function removeShopDealerOrder(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-order/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商订单记录表 |
|||
*/ |
|||
export async function removeBatchShopDealerOrder(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-order/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商订单记录表 |
|||
*/ |
|||
export async function getShopDealerOrder(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerOrder>>( |
|||
'/shop/shop-dealer-order/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerReferee, ShopDealerRefereeParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商推荐关系表 |
|||
*/ |
|||
export async function pageShopDealerReferee(params: ShopDealerRefereeParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerReferee>>>( |
|||
'/shop/shop-dealer-referee/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商推荐关系表列表 |
|||
*/ |
|||
export async function listShopDealerReferee(params?: ShopDealerRefereeParam) { |
|||
const res = await request.get<ApiResult<ShopDealerReferee[]>>( |
|||
'/shop/shop-dealer-referee', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商推荐关系表 |
|||
*/ |
|||
export async function addShopDealerReferee(data: ShopDealerReferee) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-referee', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商推荐关系表 |
|||
*/ |
|||
export async function updateShopDealerReferee(data: ShopDealerReferee) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-referee', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商推荐关系表 |
|||
*/ |
|||
export async function removeShopDealerReferee(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-referee/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商推荐关系表 |
|||
*/ |
|||
export async function removeBatchShopDealerReferee(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-referee/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商推荐关系表 |
|||
*/ |
|||
export async function getShopDealerReferee(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerReferee>>( |
|||
'/shop/shop-dealer-referee/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerSetting, ShopDealerSettingParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商设置表 |
|||
*/ |
|||
export async function pageShopDealerSetting(params: ShopDealerSettingParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerSetting>>>( |
|||
'/shop/shop-dealer-setting/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商设置表列表 |
|||
*/ |
|||
export async function listShopDealerSetting(params?: ShopDealerSettingParam) { |
|||
const res = await request.get<ApiResult<ShopDealerSetting[]>>( |
|||
'/shop/shop-dealer-setting', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商设置表 |
|||
*/ |
|||
export async function addShopDealerSetting(data: ShopDealerSetting) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-setting', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商设置表 |
|||
*/ |
|||
export async function updateShopDealerSetting(data: ShopDealerSetting) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-setting', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商设置表 |
|||
*/ |
|||
export async function removeShopDealerSetting(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-setting/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商设置表 |
|||
*/ |
|||
export async function removeBatchShopDealerSetting(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-setting/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商设置表 |
|||
*/ |
|||
export async function getShopDealerSetting(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerSetting>>( |
|||
'/shop/shop-dealer-setting/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerUser, ShopDealerUserParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商用户记录表 |
|||
*/ |
|||
export async function pageShopDealerUser(params: ShopDealerUserParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerUser>>>( |
|||
'/shop/shop-dealer-user/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商用户记录表列表 |
|||
*/ |
|||
export async function listShopDealerUser(params?: ShopDealerUserParam) { |
|||
const res = await request.get<ApiResult<ShopDealerUser[]>>( |
|||
'/shop/shop-dealer-user', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商用户记录表 |
|||
*/ |
|||
export async function addShopDealerUser(data: ShopDealerUser) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-user', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商用户记录表 |
|||
*/ |
|||
export async function updateShopDealerUser(data: ShopDealerUser) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-user', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商用户记录表 |
|||
*/ |
|||
export async function removeShopDealerUser(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-user/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商用户记录表 |
|||
*/ |
|||
export async function removeBatchShopDealerUser(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-user/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商用户记录表 |
|||
*/ |
|||
export async function getShopDealerUser(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerUser>>( |
|||
'/shop/shop-dealer-user/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopDealerWithdraw, ShopDealerWithdrawParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询分销商提现明细表 |
|||
*/ |
|||
export async function pageShopDealerWithdraw(params: ShopDealerWithdrawParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopDealerWithdraw>>>( |
|||
'/shop/shop-dealer-withdraw/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询分销商提现明细表列表 |
|||
*/ |
|||
export async function listShopDealerWithdraw(params?: ShopDealerWithdrawParam) { |
|||
const res = await request.get<ApiResult<ShopDealerWithdraw[]>>( |
|||
'/shop/shop-dealer-withdraw', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加分销商提现明细表 |
|||
*/ |
|||
export async function addShopDealerWithdraw(data: ShopDealerWithdraw) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-withdraw', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改分销商提现明细表 |
|||
*/ |
|||
export async function updateShopDealerWithdraw(data: ShopDealerWithdraw) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-withdraw', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除分销商提现明细表 |
|||
*/ |
|||
export async function removeShopDealerWithdraw(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-withdraw/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除分销商提现明细表 |
|||
*/ |
|||
export async function removeBatchShopDealerWithdraw(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-dealer-withdraw/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询分销商提现明细表 |
|||
*/ |
|||
export async function getShopDealerWithdraw(id: number) { |
|||
const res = await request.get<ApiResult<ShopDealerWithdraw>>( |
|||
'/shop/shop-dealer-withdraw/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -1,35 +0,0 @@ |
|||
import type { PageParam } from '@/api/index'; |
|||
|
|||
/** |
|||
* 商品优惠券表 |
|||
*/ |
|||
export interface ShopGoodsCoupon { |
|||
//
|
|||
id?: number; |
|||
// 商品id
|
|||
goodsId?: number; |
|||
// 优惠劵id
|
|||
issueCouponId?: number; |
|||
// 排序(数字越小越靠前)
|
|||
sortNumber?: number; |
|||
// 状态, 0正常, 1冻结
|
|||
status?: number; |
|||
// 是否删除, 0否, 1是
|
|||
deleted?: number; |
|||
// 用户ID
|
|||
userId?: number; |
|||
// 租户id
|
|||
tenantId?: number; |
|||
// 注册时间
|
|||
createTime?: string; |
|||
// 修改时间
|
|||
updateTime?: string; |
|||
} |
|||
|
|||
/** |
|||
* 商品优惠券表搜索条件 |
|||
*/ |
|||
export interface ShopGoodsCouponParam extends PageParam { |
|||
id?: number; |
|||
keywords?: string; |
|||
} |
@ -1,113 +0,0 @@ |
|||
import type { PageParam } from '@/api/index'; |
|||
|
|||
/** |
|||
* 商品评价 |
|||
*/ |
|||
export interface ShopGoodsReview { |
|||
// 评价ID
|
|||
reviewId?: number; |
|||
// 商品ID
|
|||
goodsId?: number; |
|||
// 订单ID
|
|||
orderId?: number; |
|||
// 用户ID
|
|||
userId?: number; |
|||
// 用户昵称
|
|||
nickname?: string; |
|||
// 用户头像
|
|||
avatar?: string; |
|||
// 评价内容
|
|||
content?: string; |
|||
// 评分 1-5星
|
|||
rating?: number; |
|||
// 评价图片,JSON数组格式
|
|||
images?: string; |
|||
// 是否匿名评价
|
|||
isAnonymous?: boolean; |
|||
// 商家回复
|
|||
reply?: string; |
|||
// 商家回复时间
|
|||
replyTime?: string; |
|||
// 评价状态 0待审核 1已通过 2已拒绝
|
|||
status?: number; |
|||
// 是否置顶
|
|||
isTop?: boolean; |
|||
// 点赞数
|
|||
likeCount?: number; |
|||
// 创建时间
|
|||
createTime?: string; |
|||
// 更新时间
|
|||
updateTime?: string; |
|||
// 商品信息
|
|||
goodsName?: string; |
|||
goodsImage?: string; |
|||
goodsPrice?: string; |
|||
// SKU信息
|
|||
skuId?: number; |
|||
specInfo?: string; |
|||
} |
|||
|
|||
/** |
|||
* 评价统计 |
|||
*/ |
|||
export interface ReviewStats { |
|||
// 总评价数
|
|||
totalCount: number; |
|||
// 好评数
|
|||
goodCount: number; |
|||
// 中评数
|
|||
mediumCount: number; |
|||
// 差评数
|
|||
badCount: number; |
|||
// 好评率
|
|||
goodRate: number; |
|||
// 平均评分
|
|||
avgRating: number; |
|||
// 各星级统计
|
|||
ratingStats: { |
|||
[key: number]: number; // 星级 -> 数量
|
|||
}; |
|||
} |
|||
|
|||
/** |
|||
* 评价查询参数 |
|||
*/ |
|||
export interface ShopGoodsReviewParam extends PageParam { |
|||
// 商品ID
|
|||
goodsId?: number; |
|||
// 用户ID
|
|||
userId?: number; |
|||
// 订单ID
|
|||
orderId?: number; |
|||
// 评分筛选
|
|||
rating?: number; |
|||
// 状态筛选
|
|||
status?: number; |
|||
// 是否有图片
|
|||
hasImages?: boolean; |
|||
// 排序方式 time:时间 rating:评分 like:点赞数
|
|||
sortBy?: string; |
|||
// 排序方向 asc:升序 desc:降序
|
|||
sortOrder?: string; |
|||
} |
|||
|
|||
/** |
|||
* 提交评价请求 |
|||
*/ |
|||
export interface SubmitReviewRequest { |
|||
// 商品ID
|
|||
goodsId: number; |
|||
// 订单ID
|
|||
orderId: number; |
|||
// 评价内容
|
|||
content: string; |
|||
// 评分
|
|||
rating: number; |
|||
// 评价图片
|
|||
images?: string[]; |
|||
// 是否匿名
|
|||
isAnonymous?: boolean; |
|||
// SKU信息
|
|||
skuId?: number; |
|||
specInfo?: string; |
|||
} |
@ -0,0 +1,101 @@ |
|||
import request from '@/utils/request'; |
|||
import type { ApiResult, PageResult } from '@/api/index'; |
|||
import type { ShopUserCoupon, ShopUserCouponParam } from './model'; |
|||
|
|||
/** |
|||
* 分页查询用户优惠券 |
|||
*/ |
|||
export async function pageShopUserCoupon(params: ShopUserCouponParam) { |
|||
const res = await request.get<ApiResult<PageResult<ShopUserCoupon>>>( |
|||
'/shop/shop-user-coupon/page', |
|||
params |
|||
); |
|||
if (res.code === 0) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 查询用户优惠券列表 |
|||
*/ |
|||
export async function listShopUserCoupon(params?: ShopUserCouponParam) { |
|||
const res = await request.get<ApiResult<ShopUserCoupon[]>>( |
|||
'/shop/shop-user-coupon', |
|||
params |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 添加用户优惠券 |
|||
*/ |
|||
export async function addShopUserCoupon(data: ShopUserCoupon) { |
|||
const res = await request.post<ApiResult<unknown>>( |
|||
'/shop/shop-user-coupon', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 修改用户优惠券 |
|||
*/ |
|||
export async function updateShopUserCoupon(data: ShopUserCoupon) { |
|||
const res = await request.put<ApiResult<unknown>>( |
|||
'/shop/shop-user-coupon', |
|||
data |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 删除用户优惠券 |
|||
*/ |
|||
export async function removeShopUserCoupon(id?: number) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-user-coupon/' + id |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 批量删除用户优惠券 |
|||
*/ |
|||
export async function removeBatchShopUserCoupon(data: (number | undefined)[]) { |
|||
const res = await request.del<ApiResult<unknown>>( |
|||
'/shop/shop-user-coupon/batch', |
|||
{ |
|||
data |
|||
} |
|||
); |
|||
if (res.code === 0) { |
|||
return res.message; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
|||
|
|||
/** |
|||
* 根据id查询用户优惠券 |
|||
*/ |
|||
export async function getShopUserCoupon(id: number) { |
|||
const res = await request.get<ApiResult<ShopUserCoupon>>( |
|||
'/shop/shop-user-coupon/' + id |
|||
); |
|||
if (res.code === 0 && res.data) { |
|||
return res.data; |
|||
} |
|||
return Promise.reject(new Error(res.message)); |
|||
} |
@ -0,0 +1,31 @@ |
|||
// 购物车页面样式 |
|||
.cart-page { |
|||
// 当购物车为空时,设置透明背景 |
|||
&.empty { |
|||
page { |
|||
background-color: transparent !important; |
|||
} |
|||
|
|||
.cart-empty-container { |
|||
background-color: transparent !important; |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 空购物车容器样式 |
|||
.cart-empty-container { |
|||
background-color: transparent !important; |
|||
|
|||
// 确保 Empty 组件及其子元素也是透明的 |
|||
.nut-empty { |
|||
background-color: transparent !important; |
|||
} |
|||
|
|||
.nut-empty__image { |
|||
background-color: transparent !important; |
|||
} |
|||
|
|||
.nut-empty__description { |
|||
background-color: transparent !important; |
|||
} |
|||
} |
Loading…
Reference in new issue