first commit

This commit is contained in:
2026-09-11 01:45:04 +08:00
commit 0a8d60d87f
145 changed files with 40978 additions and 0 deletions
+154
View File
@@ -0,0 +1,154 @@
// 全局配置与常量
// 后端服务域名(不含 /api/v1 前缀、不含结尾斜杠)
export const BASE_URL = 'https://zt-closet-backend.lzcwy.cn'
// API 统一前缀
export const API_PREFIX = '/api/v1'
// 本地存储 key
export const STORAGE_KEYS = {
ACCESS_TOKEN: 'zt_closet_access_token',
REFRESH_TOKEN: 'zt_closet_refresh_token',
EXPIRE_TIME: 'zt_closet_expire_time',
USER_INFO: 'zt_closet_user_info',
}
// 衣物图片处理状态
export enum ProcessStatus {
MATTING = 1, // 抠图中
CLASSIFYING = 2, // 分类中
QUEUED = 3, // 排队中
SUCCESS = 4, // 成功
FAILED = 5, // 失败
}
// 订单状态
export enum OrderStatus {
PENDING = 1, // 待支付
PAID = 2, // 已支付
CANCELLED = 3, // 已取消
EXPIRED = 4, // 已过期
REFUNDED = 5, // 已退款
}
// 额度类型
export enum QuotaType {
UPLOAD = 1, // 上传
AI = 2, // AI 推荐
OUTFIT_SHARE = 3, // 社区分享(搭配分享)
CLOSET_SHARE = 4, // 衣柜分享
}
// 通知类型
export enum MsgType {
LIKE = 1, // 点赞通知
ORDER = 2, // 订单通知
SYSTEM = 3, // 系统通知
}
// 穿搭来源
export enum OutfitSource {
USER = 1, // 用户创建
AI = 2, // AI 推荐
}
// 公开状态
export enum IsPublic {
PRIVATE = 1, // 不公开
PUBLIC = 2, // 公开
}
// 穿搭审核状态
export enum AuditStatus {
PENDING = 1, // 待审核
PASS = 2, // 审核通过
REJECT = 3, // 审核不通过
}
// 衣柜分享状态
export enum ShareStatus {
NORMAL = 1, // 正常
CANCELLED = 2, // 已取消
EXPIRED = 3, // 已过期
BANNED = 4, // 已封禁
}
// 分享类型
export enum ShareType {
PARTIAL = 1, // 部分衣物
FULL = 2, // 全量快照
}
// 商品类型
export enum GoodsType {
MEMBER = 1, // 会员包
UPLOAD = 2, // 上传包
AI = 3, // AI 推荐包
CLOSET_SHARE = 4, // 衣柜分享包
OUTFIT_SHARE = 5, // 搭配分享包
}
// 额度名称映射
export const QUOTA_NAMES: Record<number, string> = {
[QuotaType.UPLOAD]: '上传额度',
[QuotaType.AI]: 'AI 推荐额度',
[QuotaType.OUTFIT_SHARE]: '社区分享额度',
[QuotaType.CLOSET_SHARE]: '衣柜分享额度',
}
// 商品类型名称映射
export const GOODS_TYPE_NAMES: Record<number, string> = {
[GoodsType.MEMBER]: '会员',
[GoodsType.UPLOAD]: '上传',
[GoodsType.AI]: 'AI 推荐',
[GoodsType.CLOSET_SHARE]: '衣柜分享',
[GoodsType.OUTFIT_SHARE]: '搭配分享',
}
// 错误码统一文案(兜底,优先展示服务端 details[0])
export const ERROR_MESSAGES: Record<number, string> = {
80000: '额度不足',
80001: '额度记录不存在',
90401: 'AI 推荐次数已达上限',
90400: 'AI 推荐失败',
90300: '运势生成中,请稍后重试',
10003: '操作过于频繁,请稍后重试',
11000: '请先登录',
11001: '登录状态已失效',
11002: '登录状态已过期',
11004: '请先登录',
12000: '无权限操作',
21001: '账号已被禁用',
22000: '用户不存在',
30000: '上传文件为空',
30001: '不支持的文件类型',
30002: '文件大小超过限制',
50000: '衣物不存在',
50001: '该衣物已被搭配使用,无法删除',
50005: '无权操作该衣物',
40000: '穿搭不存在',
40004: '无权操作该穿搭',
60000: '商品不存在',
60001: '商品已下架',
70000: '订单不存在',
70001: '订单状态不正确',
70002: '订单已支付',
70005: '虚拟支付未开通',
70006: '商品尚未发布为虚拟支付道具',
70007: '虚拟支付订单不支持取消',
70008: 'iOS 虚拟支付最低 1 元',
70009: '订单真实性校验失败',
71001: '当前状态不允许退款',
71004: 'iOS 订单请通过 App Store 申请退款',
79003: '创建虚拟支付订单失败',
90100: '分享不存在',
90101: '分享已过期',
90102: '分享已取消',
90200: '目标内容不存在',
19000: '服务繁忙,请稍后重试',
19001: '服务繁忙,请稍后重试',
19002: '服务繁忙,请稍后重试',
19003: '服务繁忙,请稍后重试',
19999: '服务繁忙,请稍后重试',
}