Files
zt-closet-wxmini-frontend/miniprogram/types/models.ts
T
2026-09-15 16:01:59 +08:00

222 lines
5.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// 后端实体类型定义(对照 接口文档.md)
export interface UserInfo {
username: string
avatar: string
sex: number // 0 未知 1 男 2 女
birth_day: number // 秒级时间戳,0 未设置
phone: string
is_new_user: boolean
status: number // 1 正常 2 临时禁用 3 永久禁用 4 已注销
ban_reason: string
ban_start: number
ban_expire: number
vip_type: number // 1 非会员 2 月度会员 3 年度会员 4 体验会员
vip_expire: number
}
export interface ClothesItem {
clothes_uuid: string
category_main: string
category_sub: string
style: string
color_main: string
color_sub: string
thickness: string
version: string
material: string
pattern: string
sleeve_type: string
clothes_type: string
neckline_type: string
formality: string
occasions: string
visual_impact: string
name: string
remark: string
processed_image: string
}
export interface OutfitItem {
outfit_uuid: string
outfit_name: string
outfit_desc: string
scene: string
source: number // 1 用户创建 2 AI 推荐
is_public: number // 1 私有 2 公开
audit_status: number // 1 待审核 2 通过 3 不通过
items: Array<{ clothes_uuid: string; processed_image: string }>
}
// 社区穿搭列表项(/outfit/community 返回)
export interface CommunityOutfitItem {
outfit_uuid: string
outfit_name: string
outfit_desc: string
scene: string
source: number // 1 用户创建 2 AI 推荐
created_at: number // 秒级时间戳
items: Array<{ clothes_uuid: string; processed_image: string }>
owner_name: string
owner_avatar: string
like_count: number
collect_count: number
}
export interface GoodsItem {
id: number
goods_code: string
goods_name: string
goods_type: number // 1 会员 2 上传 3 AI 4 衣柜分享 5 搭配分享
price: number // 分
discount_price: number // 分
member_days: number
upload_quota: number
ai_recommend_quota: number
closet_share_quota: number
outfit_share_quota: number
valid_days: number
description: string
}
export interface OrderItem {
order_no: string
goods_name: string
unit_price: number // 分
pay_amount: number // 分
pay_channel: number // 1 微信支付 2 虚拟支付
order_status: number // 1 待支付 2 已支付 3 已取消 4 已过期 5 已退款
member_days: number
expire_time: number // 秒
pay_time: number
refund_time: number
refund_amount: number
created_at: number
}
export interface NotificationItem {
notification_uuid: string
msg_type: number // 1 点赞 2 订单 3 系统
title: string
content: string
is_read: number // 1 未读 2 已读
created_at: number
}
export interface QuotaItem {
quota_type: number
total: number
used: number
remain: number
}
export interface QuotaFlowItem {
quota_flow_uuid: string
quota_type: number
change_target: number
change_type: number // 1 购买 2 活动 3 上传消耗 4 删除回退 5 人工 6 退款回收
change_num: number // 正增负减
new_value: number
reason: string
order_no: string
created_at: number
}
export interface PayParams {
timeStamp: string
nonceStr: string
package: string
signType: string
paySign: string
}
// 虚拟支付下单响应(小程序虚拟支付 /order/virtual 返回)
export interface VirtualPayResult {
order_no: string
pay_amount: number // 分
expire_time: number // 秒
sign_data: string // 参与签名的 JSON 字符串(原样透传给 wx.requestVirtualPayment)
pay_sig: string // 支付签名
signature: string // 用户态签名
}
export interface HoroscopeData {
stat_date: number
zodiac: string
overall_score: number
love_score: number
career_score: number
wealth_score: number
daily_text: string
lucky_color: string
lucky_number: string
}
export interface ClosetShareItem {
share_uuid: string
share_type: number
clothes_count: number
expire_time: number
status: number
owner_name?: string
owner_avatar?: string
created_at: number
}
export interface ClosetShareDetail {
share_uuid: string
owner_name: string
owner_avatar: string
clothes: ClothesItem[]
expire_time: number
status: number
is_owner: boolean
}
// 穿搭分享列表项(/outfit-share 与 /outfit-share/received 返回)
export interface OutfitShareItem {
share_uuid: string
outfit_uuid: string
outfit_name: string
cover_image: string
items_count: number
status: number
owner_name?: string
owner_avatar?: string
created_at: number
}
// 穿搭分享详情(/outfit-share/:uuid 返回)
export interface OutfitShareDetail {
share_uuid: string
owner_name: string
owner_avatar: string
status: number
is_owner: boolean
outfit: OutfitItem
}
export interface AiRecommendResult {
outfit_uuid: string
outfit_name: string
outfit_desc: string
scene: string
source: number
status: number
outfit_item: Array<{ clothes_uuid: string }>
}
export interface LoginResult {
access_token: string
refresh_token: string
expire_time: number
user_info: UserInfo
}
export interface PagedResult<T> {
total: number
page: number
page_size: number
list: T[]
}