页面提交
This commit is contained in:
206
src/typings/mall.ts
Normal file
206
src/typings/mall.ts
Normal file
@@ -0,0 +1,206 @@
|
||||
/**
|
||||
* 商品相关类型定义
|
||||
*/
|
||||
|
||||
// 商品规格
|
||||
export interface GoodsSpec {
|
||||
name: string // 规格名(如:颜色、尺寸)
|
||||
values: string[] // 规格值(如:红色、蓝色)
|
||||
}
|
||||
|
||||
// 商品信息
|
||||
export interface Goods {
|
||||
id: string
|
||||
shopId: string // 店铺ID
|
||||
shopName: string // 店铺名称
|
||||
name: string // 商品名称
|
||||
cover: string // 封面图
|
||||
images: string[] // 商品图片
|
||||
price: number // 价格
|
||||
originalPrice: number // 原价
|
||||
stock: number // 库存
|
||||
sales: number // 销量
|
||||
description: string // 商品描述
|
||||
specs: GoodsSpec[] // 规格
|
||||
tags: string[] // 标签
|
||||
categoryId: string // 分类ID
|
||||
categoryName: string // 分类名称
|
||||
}
|
||||
|
||||
/**
|
||||
* 分类相关类型定义
|
||||
*/
|
||||
export interface Category {
|
||||
id: string
|
||||
name: string // 分类名称
|
||||
icon: string // 分类图标
|
||||
cover: string // 分类封面
|
||||
parentId?: string // 父分类ID
|
||||
children?: Category[] // 子分类
|
||||
}
|
||||
|
||||
/**
|
||||
* 购物车相关类型定义
|
||||
*/
|
||||
export interface CartItem {
|
||||
id: string
|
||||
shopId: string
|
||||
shopName: string
|
||||
goodsId: string
|
||||
goodsName: string
|
||||
cover: string
|
||||
price: number
|
||||
selectedSpec: Record<string, string> // 选中的规格
|
||||
quantity: number
|
||||
stock: number
|
||||
checked: boolean // 是否选中
|
||||
}
|
||||
|
||||
/**
|
||||
* 订单相关类型定义
|
||||
*/
|
||||
export interface OrderItem {
|
||||
goodsId: string
|
||||
shopId: string
|
||||
shopName: string
|
||||
goodsName: string
|
||||
cover: string
|
||||
price: number
|
||||
quantity: number
|
||||
selectedSpec: Record<string, string>
|
||||
}
|
||||
|
||||
export enum OrderStatus {
|
||||
PENDING_PAYMENT = 'pending_payment', // 待支付
|
||||
PENDING_DELIVERY = 'pending_delivery', // 待发货
|
||||
PENDING_RECEIVE = 'pending_receive', // 待收货
|
||||
COMPLETED = 'completed', // 已完成
|
||||
CANCELLED = 'cancelled', // 已取消
|
||||
}
|
||||
|
||||
export interface Order {
|
||||
id: string
|
||||
orderNo: string // 订单号
|
||||
items: OrderItem[]
|
||||
totalAmount: number // 总金额
|
||||
actualAmount: number // 实付金额
|
||||
status: OrderStatus // 订单状态
|
||||
paymentMethod?: 'online' | 'credit' | 'mixed' // 支付方式
|
||||
paymentDetails?: { shopId: string, creditAmount: number, onlineAmount: number }[] // 混合支付详情
|
||||
address: Address // 收货地址
|
||||
createTime: string
|
||||
payTime?: string
|
||||
// 金融相关
|
||||
merchantId?: string // 关联商户ID
|
||||
isSettled: boolean // 是否已结
|
||||
settlementTime?: string // 结算时间
|
||||
dueDate?: string // 到期日期
|
||||
}
|
||||
|
||||
export interface Address {
|
||||
id: string
|
||||
name: string // 收货人
|
||||
phone: string // 手机号
|
||||
province: string // 省
|
||||
city: string // 市
|
||||
district: string // 区
|
||||
detail: string // 详细地址
|
||||
isDefault: boolean // 是否默认
|
||||
}
|
||||
|
||||
/**
|
||||
* 金融相关类型定义
|
||||
*/
|
||||
|
||||
// 信用额度
|
||||
export interface CreditLimit {
|
||||
merchantId: string // 商户ID
|
||||
merchantName: string // 商户名称(商户A、商户B)
|
||||
totalLimit: number // 总额度
|
||||
usedLimit: number // 已用额度
|
||||
availableLimit: number // 可用额度
|
||||
updateTime: string // 更新时间
|
||||
}
|
||||
|
||||
// 应结账款状态
|
||||
export enum SettlementStatus {
|
||||
SETTLED = 'settled', // 已结
|
||||
UNSETTLED = 'unsettled', // 未结
|
||||
OVERDUE = 'overdue', // 逾期
|
||||
}
|
||||
|
||||
// 应结账款
|
||||
export interface Settlement {
|
||||
id: string
|
||||
orderNo: string // 订单号
|
||||
merchantId: string // 商户ID
|
||||
merchantName: string // 商户名称
|
||||
amount: number // 金额
|
||||
status: SettlementStatus // 状态(已结/未结)
|
||||
dueDate: string // 到期日期
|
||||
settlementDate?: string // 结算日期
|
||||
relatedOrders: string[] // 关联订单号列表
|
||||
}
|
||||
|
||||
// 消账状态
|
||||
export enum WriteOffStatus {
|
||||
PENDING = 'pending', // 待审核
|
||||
APPROVED = 'approved', // 已通过
|
||||
REJECTED = 'rejected', // 已拒绝
|
||||
}
|
||||
|
||||
// 提交消账
|
||||
export interface WriteOff {
|
||||
id: string
|
||||
settlementId: string // 应结账款ID
|
||||
amount: number // 消账金额
|
||||
proof: string[] // 凭证图片
|
||||
remark: string // 备注
|
||||
submitTime: string // 提交时间
|
||||
status: WriteOffStatus // 状态
|
||||
}
|
||||
|
||||
/**
|
||||
* 会员相关类型定义
|
||||
*/
|
||||
export enum MemberLevel {
|
||||
NORMAL = 'normal', // 普通会员
|
||||
SILVER = 'silver', // 银卡会员
|
||||
GOLD = 'gold', // 金卡会员
|
||||
PLATINUM = 'platinum', // 白金会员
|
||||
}
|
||||
|
||||
export interface Member {
|
||||
id: string
|
||||
userId: string
|
||||
level: MemberLevel // 会员等级
|
||||
points: number // 积分
|
||||
expireDate: string // 到期日期
|
||||
benefits: string[] // 会员权益
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户相关类型定义
|
||||
*/
|
||||
export interface User {
|
||||
id: string
|
||||
username: string
|
||||
nickname: string
|
||||
avatar: string
|
||||
phone: string
|
||||
// 金融相关
|
||||
creditLimits: CreditLimit[] // 信用额度列表
|
||||
// 会员相关
|
||||
member?: Member // 会员信息
|
||||
}
|
||||
|
||||
/**
|
||||
* 轮播图相关类型定义
|
||||
*/
|
||||
export interface Banner {
|
||||
id: string
|
||||
image: string // 图片地址
|
||||
title: string // 标题
|
||||
link?: string // 跳转链接
|
||||
goodsId?: string // 关联商品ID
|
||||
}
|
||||
Reference in New Issue
Block a user