feat:【mall 商城】API 风格调整

This commit is contained in:
YunaiV
2025-10-08 11:17:22 +08:00
parent 4648f2023b
commit 5cdf1af39f
26 changed files with 399 additions and 731 deletions

View File

@@ -5,18 +5,18 @@ import { requestClient } from '#/api/request';
export namespace MallBannerApi {
/** Banner 信息 */
export interface Banner {
id: number;
title: string;
picUrl: string;
status: number;
url: string;
position: number;
sort: number;
memo: string;
id: number; // Banner 编号
title: string; // Banner 标题
picUrl: string; // Banner 图片
status: number; // 状态
url: string; // 链接地址
position: number; // Banner 位置
sort: number; // 排序
memo: string; // 备注
}
}
/** 查询Banner管理列表 */
/** 查询 Banner 管理列表 */
export function getBannerPage(params: PageParam) {
return requestClient.get<PageResult<MallBannerApi.Banner>>(
'/promotion/banner/page',
@@ -24,24 +24,24 @@ export function getBannerPage(params: PageParam) {
);
}
/** 查询Banner管理详情 */
/** 查询 Banner 管理详情 */
export function getBanner(id: number) {
return requestClient.get<MallBannerApi.Banner>(
`/promotion/banner/get?id=${id}`,
);
}
/** 新增Banner管理 */
/** 新增 Banner 管理 */
export function createBanner(data: MallBannerApi.Banner) {
return requestClient.post('/promotion/banner/create', data);
}
/** 修改Banner管理 */
/** 修改 Banner 管理 */
export function updateBanner(data: MallBannerApi.Banner) {
return requestClient.put('/promotion/banner/update', data);
}
/** 删除Banner管理 */
/** 删除 Banner 管理 */
export function deleteBanner(id: number) {
return requestClient.delete(`/promotion/banner/delete?id=${id}`);
}

View File

@@ -5,18 +5,12 @@ import { requestClient } from '#/api/request';
export namespace MallBrandApi {
/** 商品品牌 */
export interface Brand {
/** 品牌编号 */
id?: number;
/** 品牌名称 */
name: string;
/** 品牌图片 */
picUrl: string;
/** 品牌排序 */
sort?: number;
/** 品牌描述 */
description?: string;
/** 开启状态 */
status: number;
id?: number; // 品牌编号
name: string; // 品牌名称
picUrl: string; // 品牌图片
sort?: number; // 品牌排序
description?: string; // 品牌描述
status: number; // 开启状态
}
}

View File

@@ -3,18 +3,12 @@ import { requestClient } from '#/api/request';
export namespace MallCategoryApi {
/** 产品分类 */
export interface Category {
/** 分类编号 */
id?: number;
/** 父分类编号 */
parentId?: number;
/** 分类名称 */
name: string;
/** 移动端分类图 */
picUrl: string;
/** 分类排序 */
sort: number;
/** 开启状态 */
status: number;
id?: number; // 分类编号
parentId?: number; // 父分类编号
name: string; // 分类名称
picUrl: string; // 移动端分类图
sort: number; // 分类排序
status: number; // 开启状态
}
}

View File

@@ -4,47 +4,47 @@ import { requestClient } from '#/api/request';
export namespace MallCommentApi {
export interface Property {
propertyId: number;
propertyName: string;
valueId: number;
valueName: string;
propertyId: number; // 属性 ID
propertyName: string; // 属性名称
valueId: number; // 属性值 ID
valueName: string; // 属性值名称
}
/** 商品评论 */
export interface Comment {
id: number;
userId: number;
userNickname: string;
userAvatar: string;
anonymous: boolean;
orderId: number;
orderItemId: number;
spuId: number;
spuName: string;
skuId: number;
visible: boolean;
scores: number;
descriptionScores: number;
benefitScores: number;
content: string;
picUrls: string[];
replyStatus: boolean;
replyUserId: number;
replyContent: string;
replyTime: Date;
createTime: Date;
skuProperties: Property[];
id: number; // 评论编号
userId: number; // 用户编号
userNickname: string; // 用户昵称
userAvatar: string; // 用户头像
anonymous: boolean; // 是否匿名
orderId: number; // 订单编号
orderItemId: number; // 订单项编号
spuId: number; // 商品SPU编号
spuName: string; // 商品名称
skuId: number; // 商品SKU编号
visible: boolean; // 是否可见
scores: number; // 总评分
descriptionScores: number; // 描述评分
benefitScores: number; // 服务评分
content: string; // 评论内容
picUrls: string[]; // 评论图片
replyStatus: boolean; // 是否回复
replyUserId: number; // 回复人编号
replyContent: string; // 回复内容
replyTime: Date; // 回复时间
createTime: Date; // 创建时间
skuProperties: Property[]; // SKU 属性数组
}
/** 评论可见性更新 */
export interface CommentVisibleUpdate {
id: number;
visible: boolean;
id: number; // 评论编号
visible: boolean; // 是否可见
}
/** 评论回复 */
export interface CommentReply {
id: number;
replyContent: string;
id: number; // 评论编号
replyContent: string; // 回复内容
}
}

View File

@@ -5,12 +5,9 @@ import { requestClient } from '#/api/request';
export namespace MallFavoriteApi {
/** 商品收藏 */
export interface Favorite {
/** 收藏编号 */
id?: number;
/** 用户编号 */
userId?: string;
/** 商品 SPU 编号 */
spuId?: null | number;
id?: number; // 收藏编号
userId?: string; // 用户编号
spuId?: number; // 商品 SPU 编号
}
}

View File

@@ -5,21 +5,15 @@ import { requestClient } from '#/api/request';
export namespace MallHistoryApi {
/** 商品浏览记录 */
export interface BrowseHistory {
/** 记录编号 */
id?: number;
/** 用户编号 */
userId?: number;
/** 商品 SPU 编号 */
spuId?: number;
/** 浏览时间 */
createTime?: Date;
id?: number; // 记录编号
userId?: number; // 用户编号
spuId?: number; // 商品 SPU 编号
createTime?: Date; // 浏览时间
}
}
/**
* 获得商品浏览记录分页
*
* @param params 请求参数
*/
export function getBrowseHistoryPage(params: PageParam) {
return requestClient.get<PageResult<MallHistoryApi.BrowseHistory>>(

View File

@@ -5,29 +5,22 @@ import { requestClient } from '#/api/request';
export namespace MallPropertyApi {
/** 商品属性 */
export interface Property {
/** 属性编号 */
id?: number;
/** 名称 */
name: string;
/** 备注 */
remark?: string;
id?: number; // 属性编号
name: string; // 名称
remark?: string; // 备注
}
/** 属性值 */
export interface PropertyValue {
/** 属性值编号 */
id?: number;
/** 属性项的编号 */
propertyId?: number;
/** 名称 */
name: string;
/** 备注 */
remark?: string;
id?: number; // 属性值编号
propertyId?: number; // 属性项的编号
name: string; // 名称
remark?: string; // 备注
}
/** 属性值查询参数 */
export interface PropertyValueQuery extends PageParam {
propertyId?: number;
propertyId?: number; // 属性编号
}
}

View File

@@ -5,124 +5,73 @@ import { requestClient } from '#/api/request';
export namespace MallSpuApi {
/** 商品属性 */
export interface Property {
/** 属性编号 */
propertyId?: number;
/** 属性名称 */
propertyName?: string;
/** 属性值编号 */
valueId?: number;
/** 属性值名称 */
valueName?: string;
propertyId?: number; // 属性编号
propertyName?: string; // 属性名称
valueId?: number; // 属性值编号
valueName?: string; // 属性值名称
}
/** 商品 SKU */
export interface Sku {
/** 商品 SKU 编号 */
id?: number;
/** 商品 SKU 名称 */
name?: string;
/** SPU 编号 */
spuId?: number;
/** 属性数组 */
properties?: Property[];
/** 商品价格 */
price?: number | string;
/** 市场价 */
marketPrice?: number | string;
/** 成本价 */
costPrice?: number | string;
/** 商品条码 */
barCode?: string;
/** 图片地址 */
picUrl?: string;
/** 库存 */
stock?: number;
/** 商品重量单位kg 千克 */
weight?: number;
/** 商品体积单位m^3 平米 */
volume?: number;
/** 一级分销的佣金 */
firstBrokeragePrice?: number | string;
/** 二级分销的佣金 */
secondBrokeragePrice?: number | string;
/** 商品销量 */
salesCount?: number;
id?: number; // 商品 SKU 编号
name?: string; // 商品 SKU 名称
spuId?: number; // SPU 编号
properties?: Property[]; // 属性数组
price?: number | string; // 商品价格
marketPrice?: number | string; // 市场价
costPrice?: number | string; // 成本价
barCode?: string; // 商品条码
picUrl?: string; // 图片地址
stock?: number; // 库存
weight?: number; // 商品重量单位kg 千克
volume?: number; // 商品体积单位m^3 平米
firstBrokeragePrice?: number | string; // 一级分销的佣金
secondBrokeragePrice?: number | string; // 二级分销的佣金
salesCount?: number; // 商品销量
}
/** 优惠券模板 */
export interface GiveCouponTemplate {
/** 优惠券编号 */
id?: number;
/** 优惠券名称 */
name?: string;
id?: number; // 优惠券编号
name?: string; // 优惠券名称
}
/** 商品 SPU */
export interface Spu {
/** 商品编号 */
id?: number;
/** 商品名称 */
name?: string;
/** 商品分类 */
categoryId?: number;
/** 关键字 */
keyword?: string;
/** 单位 */
unit?: number | undefined;
/** 商品封面图 */
picUrl?: string;
/** 商品轮播图 */
sliderPicUrls?: string[];
/** 商品简介 */
introduction?: string;
/** 配送方式 */
deliveryTypes?: number[];
/** 运费模版 */
deliveryTemplateId?: number | undefined;
/** 商品品牌编号 */
brandId?: number;
/** 商品规格 */
specType?: boolean;
/** 分销类型 */
subCommissionType?: boolean;
/** sku数组 */
skus?: Sku[];
/** 商品详情 */
description?: string;
/** 商品排序 */
sort?: number;
/** 赠送积分 */
giveIntegral?: number;
/** 虚拟销量 */
virtualSalesCount?: number;
/** 商品价格 */
price?: number;
/** 商品拼团价格 */
combinationPrice?: number;
/** 商品秒杀价格 */
seckillPrice?: number;
/** 商品销量 */
salesCount?: number;
/** 市场价 */
marketPrice?: number;
/** 成本价 */
costPrice?: number;
/** 商品库存 */
stock?: number;
/** 商品创建时间 */
createTime?: Date;
/** 商品状态 */
status?: number;
/** 浏览量 */
browseCount?: number;
id?: number; // 商品编号
name?: string; // 商品名称
categoryId?: number; // 商品分类
keyword?: string; // 关键字
unit?: number; // 单位
picUrl?: string; // 商品封面图
sliderPicUrls?: string[]; // 商品轮播图
introduction?: string; // 商品简介
deliveryTypes?: number[]; // 配送方式
deliveryTemplateId?: number; // 运费模版
brandId?: number; // 商品品牌编号
specType?: boolean; // 商品规格
subCommissionType?: boolean; // 分销类型
skus?: Sku[]; // sku数组
description?: string; // 商品详情
sort?: number; // 商品排序
giveIntegral?: number; // 赠送积分
virtualSalesCount?: number; // 虚拟销量
price?: number; // 商品价格
combinationPrice?: number; // 商品拼团价格
seckillPrice?: number; // 商品秒杀价格
salesCount?: number; // 商品销量
marketPrice?: number; // 市场价
costPrice?: number; // 成本价
stock?: number; // 商品库存
createTime?: Date; // 商品创建时间
status?: number; // 商品状态
browseCount?: number; // 浏览量
}
/** 商品状态更新 */
export interface StatusUpdate {
/** 商品编号 */
id: number;
/** 商品状态 */
status: number;
id: number; // 商品编号
status: number; // 商品状态
}
}

View File

@@ -5,32 +5,19 @@ import { requestClient } from '#/api/request';
export namespace MallArticleApi {
/** 文章管理 */
export interface Article {
/** 文章编号 */
id: number;
/** 分类编号 */
categoryId: number;
/** 文章标题 */
title: string;
/** 作者 */
author: string;
/** 封面图 */
picUrl: string;
/** 文章简介 */
introduction: string;
/** 浏览数量 */
browseCount: string;
/** 排序 */
sort: number;
/** 状态 */
status: number;
/** 商品编号 */
spuId: number;
/** 是否热门 */
recommendHot: boolean;
/** 是否轮播图 */
recommendBanner: boolean;
/** 文章内容 */
content: string;
id: number; // 文章编号
categoryId: number; // 分类编号
title: string; // 文章标题
author: string; // 作者
picUrl: string; // 封面图
introduction: string; // 文章简介
browseCount: string; // 浏览数量
sort: number; // 排序
status: number; // 状态
spuId: number; // 商品编号
recommendHot: boolean; // 是否热门
recommendBanner: boolean; // 是否轮播图
content: string; // 文章内容
}
}

View File

@@ -5,16 +5,11 @@ import { requestClient } from '#/api/request';
export namespace MallArticleCategoryApi {
/** 文章分类 */
export interface ArticleCategory {
/** 分类编号 */
id: number;
/** 分类名称 */
name: string;
/** 分类图片 */
picUrl: string;
/** 状态 */
status: number;
/** 排序 */
sort: number;
id: number; // 分类编号
name: string; // 分类名称
picUrl: string; // 分类图片
status: number; // 状态
sort: number; // 排序
}
}

View File

@@ -7,62 +7,40 @@ import { requestClient } from '#/api/request';
export namespace MallBargainActivityApi {
/** 砍价活动 */
export interface BargainActivity {
/** 活动编号 */
id?: number;
/** 活动名称 */
name?: string;
/** 开始时间 */
startTime?: Date;
/** 结束时间 */
endTime?: Date;
/** 状态 */
status?: number;
/** 达到该人数,才能砍到低价 */
helpMaxCount?: number;
/** 最大帮砍次数 */
bargainCount?: number;
/** 最大购买次数 */
totalLimitCount?: number;
/** 商品 SPU 编号 */
spuId: number;
/** 商品 SKU 编号 */
skuId: number;
/** 砍价起始价格,单位分 */
bargainFirstPrice: number;
/** 砍价底价 */
bargainMinPrice: number;
/** 活动库存 */
stock: number;
/** 用户每次砍价的最小金额,单位:分 */
randomMinPrice?: number;
/** 用户每次砍价的最大金额,单位:分 */
randomMaxPrice?: number;
id?: number; // 活动编号
name?: string; // 活动名称
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
status?: number; // 状态
helpMaxCount?: number; // 达到该人数,才能砍到低价
bargainCount?: number; // 最大帮砍次数
totalLimitCount?: number; // 最大购买次数
spuId: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
bargainFirstPrice: number; // 砍价起始价格,单位分
bargainMinPrice: number; // 砍价底价
stock: number; // 活动库存
randomMinPrice?: number; // 用户每次砍价的最小金额,单位:分
randomMaxPrice?: number; // 用户每次砍价的最大金额,单位:分
}
/** 砍价活动所需属性。选择的商品和属性的时候使用方便使用活动的通用封装 */
export interface BargainProduct {
/** 商品 SPU 编号 */
spuId: number;
/** 商品 SKU 编号 */
skuId: number;
/** 砍价起始价格,单位分 */
bargainFirstPrice: number;
/** 砍价底价 */
bargainMinPrice: number;
/** 活动库存 */
stock: number;
spuId: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
bargainFirstPrice: number; // 砍价起始价格,单位分
bargainMinPrice: number; // 砍价底价
stock: number; // 活动库存
}
/** 扩展 SKU 配置 */
export type SkuExtension = {
/** 砍价活动配置 */
productConfig: BargainProduct;
productConfig: BargainProduct; // 砍价活动配置
} & MallSpuApi.Sku;
/** 扩展 SPU 配置 */
export interface SpuExtension extends MallSpuApi.Spu {
/** SKU 列表 */
skus: SkuExtension[];
skus: SkuExtension[]; // SKU 列表
}
}

View File

@@ -5,16 +5,11 @@ import { requestClient } from '#/api/request';
export namespace MallBargainHelpApi {
/** 砍价记录 */
export interface BargainHelp {
/** 记录编号 */
id: number;
/** 砍价记录编号 */
record: number;
/** 用户编号 */
userId: number;
/** 砍掉金额 */
reducePrice: number;
/** 结束时间 */
endTime: Date;
id: number; // 记录编号
record: number; // 砍价记录编号
userId: number; // 用户编号
reducePrice: number; // 砍掉金额
endTime: Date; // 结束时间
}
}

View File

@@ -5,26 +5,16 @@ import { requestClient } from '#/api/request';
export namespace MallBargainRecordApi {
/** 砍价记录 */
export interface BargainRecord {
/** 记录编号 */
id: number;
/** 活动编号 */
activityId: number;
/** 用户编号 */
userId: number;
/** 商品 SPU 编号 */
spuId: number;
/** 商品 SKU 编号 */
skuId: number;
/** 砍价起始价格 */
bargainFirstPrice: number;
/** 砍价价格 */
bargainPrice: number;
/** 状态 */
status: number;
/** 订单编号 */
orderId: number;
/** 结束时间 */
endTime: Date;
id: number; // 记录编号
activityId: number; // 活动编号
userId: number; // 用户编号
spuId: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
bargainFirstPrice: number; // 砍价起始价格
bargainPrice: number; // 砍价价格
status: number; // 状态
orderId: number; // 订单编号
endTime: Date; // 结束时间
}
}

View File

@@ -7,59 +7,38 @@ import { requestClient } from '#/api/request';
export namespace MallCombinationActivityApi {
/** 拼团活动所需属性 */
export interface CombinationProduct {
/** 商品 SPU 编号 */
spuId: number;
/** 商品 SKU 编号 */
skuId: number;
/** 拼团价格 */
combinationPrice: number;
spuId: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
combinationPrice: number; // 拼团价格
}
/** 拼团活动 */
export interface CombinationActivity {
/** 活动编号 */
id?: number;
/** 活动名称 */
name?: string;
/** 商品 SPU 编号 */
spuId?: number;
/** 总限购数量 */
totalLimitCount?: number;
/** 单次限购数量 */
singleLimitCount?: number;
/** 开始时间 */
startTime?: Date;
/** 结束时间 */
endTime?: Date;
/** 用户数量 */
userSize?: number;
/** 总数量 */
totalCount?: number;
/** 成功数量 */
successCount?: number;
/** 订单用户数量 */
orderUserCount?: number;
/** 虚拟成团 */
virtualGroup?: number;
/** 状态 */
status?: number;
/** 限制时长 */
limitDuration?: number;
/** 拼团价格 */
combinationPrice?: number;
/** 商品列表 */
products: CombinationProduct[];
id?: number; // 活动编号
name?: string; // 活动名称
spuId?: number; // 商品 SPU 编号
totalLimitCount?: number; // 总限购数量
singleLimitCount?: number; // 单次限购数量
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
userSize?: number; // 用户数量
totalCount?: number; // 总数量
successCount?: number; // 成功数量
orderUserCount?: number; // 订单用户数量
virtualGroup?: number; // 虚拟成团
status?: number; // 状态
limitDuration?: number; // 限制时长
combinationPrice?: number; // 拼团价格
products: CombinationProduct[]; // 商品列表
}
/** 扩展 SKU 配置 */
export type SkuExtension = {
/** 拼团活动配置 */
productConfig: CombinationProduct;
productConfig: CombinationProduct; // 拼团活动配置
} & MallSpuApi.Sku;
/** 扩展 SPU 配置 */
export interface SpuExtension extends MallSpuApi.Spu {
/** SKU 列表 */
skus: SkuExtension[];
skus: SkuExtension[]; // SKU 列表
}
}

View File

@@ -5,44 +5,27 @@ import { requestClient } from '#/api/request';
export namespace MallCombinationRecordApi {
/** 拼团记录 */
export interface CombinationRecord {
/** 拼团记录编号 */
id: number;
/** 拼团活动编号 */
activityId: number;
/** 用户昵称 */
nickname: string;
/** 用户头像 */
avatar: string;
/** 团长编号 */
headId: number;
/** 过期时间 */
expireTime: string;
/** 可参团人数 */
userSize: number;
/** 已参团人数 */
userCount: number;
/** 拼团状态 */
status: number;
/** 商品名字 */
spuName: string;
/** 商品图片 */
picUrl: string;
/** 是否虚拟成团 */
virtualGroup: boolean;
/** 开始时间 (订单付款后开始的时间) */
startTime: string;
/** 结束时间(成团时间/失败时间) */
endTime: string;
id: number; // 拼团记录编号
activityId: number; // 拼团活动编号
nickname: string; // 用户昵称
avatar: string; // 用户头像
headId: number; // 团长编号
expireTime: string; // 过期时间
userSize: number; // 可参团人数
userCount: number; // 已参团人数
status: number; // 拼团状态
spuName: string; // 商品名字
picUrl: string; // 商品图片
virtualGroup: boolean; // 是否虚拟成团
startTime: string; // 开始时间 (订单付款后开始的时间)
endTime: string; // 结束时间(成团时间/失败时间)
}
/** 拼团记录概要信息 */
export interface RecordSummary {
/** 待成团数量 */
pendingCount: number;
/** 已成团数量 */
successCount: number;
/** 已失败数量 */
failCount: number;
pendingCount: number; // 待成团数量
successCount: number; // 已成团数量
failCount: number; // 已失败数量
}
}

View File

@@ -5,54 +5,32 @@ import { requestClient } from '#/api/request';
export namespace MallCouponTemplateApi {
/** 优惠券模板 */
export interface CouponTemplate {
/** 模板编号 */
id: number;
/** 模板名称 */
name: string;
/** 状态 */
status: number;
/** 发放数量 */
totalCount: number;
/** 每人限领个数 */
takeLimitCount: number;
/** 领取方式 */
takeType: number;
/** 使用门槛 */
usePrice: number;
/** 商品范围 */
productScope: number;
/** 商品范围值 */
productScopeValues: number[];
/** 有效期类型 */
validityType: number;
/** 固定日期-生效开始时间 */
validStartTime: Date;
/** 固定日期-生效结束时间 */
validEndTime: Date;
/** 领取日期-开始天数 */
fixedStartTerm: number;
/** 领取日期-结束天数 */
fixedEndTerm: number;
/** 优惠类型 */
discountType: number;
/** 折扣百分比 */
discountPercent: number;
/** 优惠金额 */
discountPrice: number;
/** 折扣上限 */
discountLimitPrice: number;
/** 已领取数量 */
takeCount: number;
/** 已使用数量 */
useCount: number;
id: number; // 模板编号
name: string; // 模板名称
status: number; // 状态
totalCount: number; // 发放数量
takeLimitCount: number; // 每人限领个数
takeType: number; // 领取方式
usePrice: number; // 使用门槛
productScope: number; // 商品范围
productScopeValues: number[]; // 商品范围值
validityType: number; // 有效期类型
validStartTime: Date; // 固定日期-生效开始时间
validEndTime: Date; // 固定日期-生效结束时间
fixedStartTerm: number; // 领取日期-开始天数
fixedEndTerm: number; // 领取日期-结束天数
discountType: number; // 优惠类型
discountPercent: number; // 折扣百分比
discountPrice: number; // 优惠金额
discountLimitPrice: number; // 折扣上限
takeCount: number; // 已领取数量
useCount: number; // 已使用数量
}
/** 优惠券模板状态更新 */
export interface StatusUpdate {
/** 模板编号 */
id: number;
/** 状态 */
status: 0 | 1;
id: number; // 模板编号
status: 0 | 1; // 状态
}
}

View File

@@ -7,48 +7,33 @@ import { requestClient } from '#/api/request';
export namespace MallDiscountActivityApi {
/** 限时折扣相关属性 */
export interface DiscountProduct {
/** 商品 SPU 编号 */
spuId: number;
/** 商品 SKU 编号 */
skuId: number;
/** 折扣类型 */
discountType: number;
/** 折扣百分比 */
discountPercent: number;
/** 折扣价格 */
discountPrice: number;
spuId: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
discountType: number; // 折扣类型
discountPercent: number; // 折扣百分比
discountPrice: number; // 折扣价格
}
/** 限时折扣活动 */
export interface DiscountActivity {
/** 活动编号 */
id?: number;
/** 商品 SPU 编号 */
spuId?: number;
/** 活动名称 */
name?: string;
/** 状态 */
status?: number;
/** 备注 */
remark?: string;
/** 开始时间 */
startTime?: Date;
/** 结束时间 */
endTime?: Date;
/** 商品列表 */
products?: DiscountProduct[];
id?: number; // 活动编号
spuId?: number; // 商品 SPU 编号
name?: string; // 活动名称
status?: number; // 状态
remark?: string; // 备注
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
products?: DiscountProduct[]; // 商品列表
}
/** 扩展 SKU 配置 */
export type SkuExtension = {
/** 限时折扣配置 */
productConfig: DiscountProduct;
productConfig: DiscountProduct; // 限时折扣配置
} & MallSpuApi.Sku;
/** 扩展 SPU 配置 */
export interface SpuExtension extends MallSpuApi.Spu {
/** SKU 列表 */
skus: SkuExtension[];
skus: SkuExtension[]; // SKU 列表
}
}

View File

@@ -5,18 +5,12 @@ import { requestClient } from '#/api/request';
export namespace MallDiyPageApi {
/** 装修页面 */
export interface DiyPage {
/** 页面编号 */
id?: number;
/** 模板编号 */
templateId?: number;
/** 页面名称 */
name: string;
/** 备注 */
remark: string;
/** 预览图片地址数组 */
previewPicUrls: string[];
/** 页面属性 */
property: string;
id?: number; // 页面编号
templateId?: number; // 模板编号
name: string; // 页面名称
remark: string; // 备注
previewPicUrls: string[]; // 预览图片地址数组
property: string; // 页面属性
}
}

View File

@@ -7,26 +7,18 @@ import { requestClient } from '#/api/request';
export namespace MallDiyTemplateApi {
/** 装修模板 */
export interface DiyTemplate {
/** 模板编号 */
id?: number;
/** 模板名称 */
name: string;
/** 是否使用 */
used: boolean;
/** 使用时间 */
usedTime?: Date;
/** 备注 */
remark: string;
/** 预览图片地址数组 */
previewPicUrls: string[];
/** 模板属性 */
property: string;
id?: number; // 模板编号
name: string; // 模板名称
used: boolean; // 是否使用
usedTime?: Date; // 使用时间
remark: string; // 备注
previewPicUrls: string[]; // 预览图片地址数组
property: string; // 模板属性
}
/** 装修模板属性(包含页面列表) */
export interface DiyTemplateProperty extends DiyTemplate {
/** 页面列表 */
pages: MallDiyPageApi.DiyPage[];
pages: MallDiyPageApi.DiyPage[]; // 页面列表
}
}

View File

@@ -5,38 +5,24 @@ import { requestClient } from '#/api/request';
export namespace MallKefuConversationApi {
/** 客服会话 */
export interface Conversation {
/** 编号 */
id: number;
/** 会话所属用户 */
userId: number;
/** 会话所属用户头像 */
userAvatar: string;
/** 会话所属用户昵称 */
userNickname: string;
/** 最后聊天时间 */
lastMessageTime: Date;
/** 最后聊天内容 */
lastMessageContent: string;
/** 最后发送的消息类型 */
lastMessageContentType: number;
/** 管理端置顶 */
adminPinned: boolean;
/** 用户是否可见 */
userDeleted: boolean;
/** 管理员是否可见 */
adminDeleted: boolean;
/** 管理员未读消息数 */
adminUnreadMessageCount: number;
/** 创建时间 */
createTime?: string;
id: number; // 编号
userId: number; // 会话所属用户
userAvatar: string; // 会话所属用户头像
userNickname: string; // 会话所属用户昵称
lastMessageTime: Date; // 最后聊天时间
lastMessageContent: string; // 最后聊天内容
lastMessageContentType: number; // 最后发送的消息类型
adminPinned: boolean; // 管理端置顶
userDeleted: boolean; // 用户是否可见
adminDeleted: boolean; // 管理员是否可见
adminUnreadMessageCount: number; // 管理员未读消息数
createTime?: string; // 创建时间
}
/** 会话置顶请求 */
export interface ConversationPinnedUpdate {
/** 会话编号 */
id: number;
/** 是否置顶 */
pinned: boolean;
id: number; // 会话编号
pinned: boolean; // 是否置顶
}
}

View File

@@ -5,44 +5,29 @@ import { requestClient } from '#/api/request';
export namespace MallKefuMessageApi {
/** 客服消息 */
export interface Message {
/** 编号 */
id: number;
/** 会话编号 */
conversationId: number;
/** 发送人编号 */
senderId: number;
/** 发送人头像 */
senderAvatar: string;
/** 发送人类型 */
senderType: number;
/** 接收人编号 */
receiverId: number;
/** 接收人类型 */
receiverType: number;
/** 消息类型 */
contentType: number;
/** 消息内容 */
content: string;
/** 是否已读 */
readStatus: boolean;
/** 创建时间 */
createTime: Date;
id: number; // 编号
conversationId: number; // 会话编号
senderId: number; // 发送人编号
senderAvatar: string; // 发送人头像
senderType: number; // 发送人类型
receiverId: number; // 接收人编号
receiverType: number; // 接收人类型
contentType: number; // 消息类型
content: string; // 消息内容
readStatus: boolean; // 是否已读
createTime: Date; // 创建时间
}
/** 发送消息请求 */
export interface MessageSend {
/** 会话编号 */
conversationId: number;
/** 消息类型 */
contentType: number;
/** 消息内容 */
content: string;
conversationId: number; // 会话编号
contentType: number; // 消息类型
content: string; // 消息内容
}
/** 消息列表查询参数 */
export interface MessageQuery extends PageParam {
/** 会话编号 */
conversationId: number;
conversationId: number; // 会话编号
}
}

View File

@@ -7,80 +7,51 @@ import { requestClient } from '#/api/request';
export namespace MallPointActivityApi {
/** 积分商城商品 */
export interface PointProduct {
/** 积分商城商品编号 */
id?: number;
/** 积分商城活动 id */
activityId?: number;
/** 商品 SPU 编号 */
spuId?: number;
/** 商品 SKU 编号 */
skuId: number;
/** 可兑换数量 */
count: number;
/** 兑换积分 */
point: number;
/** 兑换金额,单位:分 */
price: number;
/** 积分商城商品库存 */
stock: number;
/** 积分商城商品状态 */
activityStatus?: number;
id?: number; // 积分商城商品编号
activityId?: number; // 积分商城活动 id
spuId?: number; // 商品 SPU 编号
skuId: number; // 商品 SKU 编号
count: number; // 可兑换数量
point: number; // 兑换积分
price: number; // 兑换金额,单位:分
stock: number; // 积分商城商品库存
activityStatus?: number; // 积分商城商品状态
}
/** 积分商城活动 */
export interface PointActivity {
/** 积分商城活动编号 */
id: number;
/** 积分商城活动商品 */
spuId: number;
/** 活动状态 */
status: number;
/** 积分商城活动库存 */
stock: number;
/** 积分商城活动总库存 */
totalStock: number;
/** 备注 */
remark?: string;
/** 排序 */
sort: number;
/** 创建时间 */
createTime: string;
/** 积分商城商品 */
products: PointProduct[];
/** 商品名称 */
spuName: string;
/** 商品主图 */
picUrl: string;
/** 商品市场价,单位:分 */
marketPrice: number;
/** 兑换积分 */
point: number;
/** 兑换金额,单位:分 */
price: number;
id: number; // 积分商城活动编号
spuId: number; // 积分商城活动商品
status: number; // 活动状态
stock: number; // 积分商城活动库存
totalStock: number; // 积分商城活动总库存
remark?: string; // 备注
sort: number; // 排序
createTime: string; // 创建时间
products: PointProduct[]; // 积分商城商品
spuName: string; // 商品名称
picUrl: string; // 商品主图
marketPrice: number; // 商品市场价,单位:分
point: number; // 兑换积分
price: number; // 兑换金额,单位:分
}
/** 扩展 SKU 配置 */
export type SkuExtension = {
/** 积分商城商品配置 */
productConfig: PointProduct;
productConfig: PointProduct; // 积分商城商品配置
} & MallSpuApi.Sku;
/** 扩展 SPU 配置 */
export interface SpuExtension extends MallSpuApi.Spu {
/** SKU 列表 */
skus: SkuExtension[];
skus: SkuExtension[]; // SKU 列表
}
/** 扩展 SPU 配置(带积分信息) */
export interface SpuExtensionWithPoint extends MallSpuApi.Spu {
/** 积分商城活动库存 */
pointStock: number;
/** 积分商城活动总库存 */
pointTotalStock: number;
/** 兑换积分 */
point: number;
/** 兑换金额,单位:分 */
pointPrice: number;
pointStock: number; // 积分商城活动库存
pointTotalStock: number; // 积分商城活动总库存
point: number; // 兑换积分
pointPrice: number; // 兑换金额,单位:分
}
}

View File

@@ -5,46 +5,29 @@ import { requestClient } from '#/api/request';
export namespace MallRewardActivityApi {
/** 优惠规则 */
export interface RewardRule {
/** 满足金额 */
limit?: number;
/** 优惠金额 */
discountPrice?: number;
/** 是否包邮 */
freeDelivery?: boolean;
/** 赠送积分 */
point: number;
/** 赠送优惠券数量 */
limit?: number; // 满足金额
discountPrice?: number; // 优惠金额
freeDelivery?: boolean; // 是否包邮
point: number; // 赠送积分
giveCouponTemplateCounts?: {
[key: number]: number;
};
}; // 赠送优惠券数量
}
/** 满减送活动 */
export interface RewardActivity {
/** 活动编号 */
id?: number;
/** 活动名称 */
name?: string;
/** 开始时间 */
startTime?: Date;
/** 结束时间 */
endTime?: Date;
/** 开始和结束时间(仅前端使用) */
startAndEndTime?: Date[];
/** 备注 */
remark?: string;
/** 条件类型 */
conditionType?: number;
/** 商品范围 */
productScope?: number;
/** 优惠规则列表 */
rules: RewardRule[];
/** 商品范围值(仅表单使用):值为品类编号列表、商品编号列表 */
productScopeValues?: number[];
/** 商品分类编号列表(仅表单使用) */
productCategoryIds?: number[];
/** 商品 SPU 编号列表(仅表单使用) */
productSpuIds?: number[];
id?: number; // 活动编号
name?: string; // 活动名称
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
startAndEndTime?: Date[]; // 开始和结束时间(仅前端使用)
remark?: string; // 备注
conditionType?: number; // 条件类型
productScope?: number; // 商品范围
rules: RewardRule[]; // 优惠规则列表
productScopeValues?: number[]; // 商品范围值(仅表单使用):值为品类编号列表、商品编号列表
productCategoryIds?: number[]; // 商品分类编号列表(仅表单使用)
productSpuIds?: number[]; // 商品 SPU 编号列表(仅表单使用)
}
}

View File

@@ -7,66 +7,42 @@ import { requestClient } from '#/api/request';
export namespace MallSeckillActivityApi {
/** 秒杀商品 */
export interface SeckillProduct {
/** 商品 SKU 编号 */
skuId: number;
/** 商品 SPU 编号 */
spuId: number;
/** 秒杀价格 */
seckillPrice: number;
/** 秒杀库存 */
stock: number;
skuId: number; // 商品 SKU 编号
spuId: number; // 商品 SPU 编号
seckillPrice: number; // 秒杀价格
stock: number; // 秒杀库存
}
/** 秒杀活动 */
export interface SeckillActivity {
/** 活动编号 */
id?: number;
/** 商品 SPU 编号 */
spuId?: number;
/** 活动名称 */
name?: string;
/** 活动状态 */
status?: number;
/** 备注 */
remark?: string;
/** 开始时间 */
startTime?: Date;
/** 结束时间 */
endTime?: Date;
/** 排序 */
sort?: number;
/** 配置编号 */
configIds?: string;
/** 订单数量 */
orderCount?: number;
/** 用户数量 */
userCount?: number;
/** 总金额 */
totalPrice?: number;
/** 总限购数量 */
totalLimitCount?: number;
/** 单次限购数量 */
singleLimitCount?: number;
/** 秒杀库存 */
stock?: number;
/** 秒杀总库存 */
totalStock?: number;
/** 秒杀价格 */
seckillPrice?: number;
/** 秒杀商品列表 */
products?: SeckillProduct[];
id?: number; // 活动编号
spuId?: number; // 商品 SPU 编号
name?: string; // 活动名称
status?: number; // 活动状态
remark?: string; // 备注
startTime?: Date; // 开始时间
endTime?: Date; // 结束时间
sort?: number; // 排序
configIds?: string; // 配置编号
orderCount?: number; // 订单数量
userCount?: number; // 用户数量
totalPrice?: number; // 总金额
totalLimitCount?: number; // 总限购数量
singleLimitCount?: number; // 单次限购数量
stock?: number; // 秒杀库存
totalStock?: number; // 秒杀总库存
seckillPrice?: number; // 秒杀价格
products?: SeckillProduct[]; // 秒杀商品列表
}
/** 扩展 SKU 配置 */
export type SkuExtension = {
/** 秒杀商品配置 */
productConfig: SeckillProduct;
productConfig: SeckillProduct; // 秒杀商品配置
} & MallSpuApi.Sku;
/** 扩展 SPU 配置 */
export interface SpuExtension extends MallSpuApi.Spu {
/** SKU 列表 */
skus: SkuExtension[];
skus: SkuExtension[]; // SKU 列表
}
}

View File

@@ -5,26 +5,18 @@ import { requestClient } from '#/api/request';
export namespace MallSeckillConfigApi {
/** 秒杀时段 */
export interface SeckillConfig {
/** 编号 */
id: number;
/** 秒杀时段名称 */
name: string;
/** 开始时间点 */
startTime: string;
/** 结束时间点 */
endTime: string;
/** 秒杀轮播图 */
sliderPicUrls: string[];
/** 活动状态 */
status: number;
id: number; // 编号
name: string; // 秒杀时段名称
startTime: string; // 开始时间点
endTime: string; // 结束时间点
sliderPicUrls: string[]; // 秒杀轮播图
status: number; // 活动状态
}
/** 时段配置状态更新 */
export interface StatusUpdate {
/** 编号 */
id: number;
/** 状态 */
status: number;
id: number; // 编号
status: number; // 状态
}
}

View File

@@ -7,67 +7,65 @@ import { requestClient } from '#/api/request';
export namespace MallMemberStatisticsApi {
/** 会员分析 Request */
export interface AnalyseReq {
times: Date[];
times: Date[]; // 时间范围
}
/** 会员分析对照数据 Response */
export interface AnalyseComparison {
registerUserCount: number;
visitUserCount: number;
rechargeUserCount: number;
registerUserCount: number; // 注册用户数
visitUserCount: number; // 访问用户数
rechargeUserCount: number; // 充值用户数
}
/** 会员分析 Response */
export interface Analyse {
visitUserCount: number;
orderUserCount: number;
payUserCount: number;
atv: number;
comparison: MallDataComparisonResp<AnalyseComparison>;
visitUserCount: number; // 访问用户数
orderUserCount: number; // 下单用户数
payUserCount: number; // 支付用户数
atv: number; // 平均客单价
comparison: MallDataComparisonResp<AnalyseComparison>; // 对照数据
}
/** 会员地区统计 Response */
export interface AreaStatistics {
areaId: number;
areaName: string;
userCount: number;
orderCreateUserCount: number;
orderPayUserCount: number;
orderPayPrice: number;
areaId: number; // 地区ID
areaName: string; // 地区名称
userCount: number; // 用户数
orderCreateUserCount: number; // 下单用户数
orderPayUserCount: number; // 支付用户数
orderPayPrice: number; // 支付金额
}
/** 会员性别统计 Response */
export interface SexStatistics {
sex: number;
userCount: number;
sex: number; // 性别
userCount: number; // 用户数
}
/** 会员统计 Response */
export interface Summary {
userCount: number;
rechargeUserCount: number;
rechargePrice: number;
expensePrice: number;
userCount: number; // 用户数
rechargeUserCount: number; // 充值用户数
rechargePrice: number; // 充值金额
expensePrice: number; // 消费金额
}
/** 会员终端统计 Response */
export interface TerminalStatistics {
terminal: number;
userCount: number;
terminal: number; // 终端
userCount: number; // 用户数
}
/** 会员数量统计 Response */
export interface Count {
/** 用户访问量 */
visitUserCount: string;
/** 注册用户数量 */
registerUserCount: number;
visitUserCount: string; // 用户访问量
registerUserCount: number; // 注册用户数量
}
/** 会员注册数量 Response */
export interface RegisterCount {
date: string;
count: number;
date: string; // 日期
count: number; // 数量
}
}