feat(r2): 前端 API 层——地址/设计清单切换到后端接口(阶段2)
- api/address.ts: fetchAddresses/createAddress/updateAddress/deleteAddress/ setDefaultAddress;region[] ↔ province/city/district 双向转换唯一落点 - api/design.ts: fetchDesignList/createDesign/updateDesign/deleteDesign/ deleteDesigns;状态映射 DRAFT↔undesigned、SUBMITTED↔designing、 PROCESSING↔processing、DONE↔ordered;一条设计=一条清单(items 固定 1 元素, title=productName,productIcon 不上传由页面按 productId 兜底) - types/index.ts: DesignItem.status 补 'processing'、productIcon 改 optional、 AddressItem 补 createdAt?;全部消费点已确认兼容(均有兜底) - docs/r2-workflow.md: R2 工作流程与阶段0 契约确认记录 验证:build:weapp 通过;Node 打桩 Taro.request 转发本地 3091 后端实测 13 项全过(region 往返/状态映射/designData 保留/越权 403/无效 token 401) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+12
-4
@@ -142,17 +142,23 @@ export interface WordCloudDispatchResult {
|
||||
message?: string
|
||||
}
|
||||
|
||||
/** 设计清单条目 */
|
||||
/** 设计清单条目(与后端 DesignList 一一对应,api-contract-v1 §5) */
|
||||
export interface DesignItem {
|
||||
id: string
|
||||
productId: string
|
||||
productName: string
|
||||
productIcon: string
|
||||
/**
|
||||
* 条目图标。服务端不存储(契约 forbidNonWhitelisted 拒绝多余字段),
|
||||
* 页面按 PRODUCT_ICON_MAP[productId] 兜底推导;仅本地缓存/旧数据可能携带
|
||||
*/
|
||||
productIcon?: string
|
||||
unitPrice: number
|
||||
count: number
|
||||
status: 'undesigned' | 'designing' | 'ordered'
|
||||
/** undesigned/designing 由前端驱动;processing/ordered 由服务端状态映射产生(R3 驱动) */
|
||||
status: 'undesigned' | 'designing' | 'processing' | 'ordered'
|
||||
designData?: DesignDataV1
|
||||
orderId?: string
|
||||
/** 服务端 createdAt(ISO),展示时取日期部分 */
|
||||
createdAt: string
|
||||
}
|
||||
|
||||
@@ -168,7 +174,7 @@ export interface OrderItem {
|
||||
sku: string
|
||||
}
|
||||
|
||||
/** 收货地址 */
|
||||
/** 收货地址(后端 province/city/district/detail 以 region 数组表达,转换只在 api/address.ts) */
|
||||
export interface AddressItem {
|
||||
id: string
|
||||
name: string
|
||||
@@ -176,6 +182,8 @@ export interface AddressItem {
|
||||
region: string[] // [province, city, district]
|
||||
detail: string // 门牌号/详细地址
|
||||
isDefault: boolean
|
||||
/** 服务端创建时间(ISO 8601),本地缓存数据可能没有 */
|
||||
createdAt?: string
|
||||
}
|
||||
|
||||
/** 编辑器中的图片状态(向后兼容) */
|
||||
|
||||
Reference in New Issue
Block a user