feat(r3-order-pay): 结算与订单支付流程、支付倒计时/商品图组件,接口地址改为构建期注入

- 新增 PaymentCountdown、ProductImage 组件
- 完善 checkout/orders/orderDetail 订单支付链路与地址、商品、设计数据
- request 接口地址改为构建期注入并保留真实网络错误,默认兜底线上地址
- 同步重新构建 dist 产物
This commit is contained in:
fenjoyoung
2026-09-13 14:50:39 +08:00
parent a13e380009
commit 8fdf0b1b4f
50 changed files with 895 additions and 777 deletions
+15 -9
View File
@@ -11,6 +11,7 @@ import ScrollTopMask from '../../components/ScrollTopMask'
import { login, getMe, updateProfile, getToken } from '../../utils/api'
import { safeHideLoading } from '../../utils/request'
import { assetUrl } from '../../utils/asset'
import { fetchOrders } from '../../utils/api/order'
const ICON_MAP: Record<string, string> = {
'我的设计': assetUrl('/icon/调色盘.png'),
@@ -60,16 +61,21 @@ export default function ProfilePage() {
toDesign: 0, pending: 0, paid: 0, shipping: 0, done: 0
})
const loadStats = () => {
const orders = getOrderList()
const loadStats = async () => {
const designs = getDesignList()
setOrderStats({
toDesign: designs.filter(d => d.status === 'undesigned' || d.status === 'designing').length,
pending: orders.filter(o => o.statusCode === 'pending').length,
paid: orders.filter(o => o.statusCode === 'paid').length,
shipping: orders.filter(o => o.statusCode === 'shipping').length,
done: orders.filter(o => o.statusCode === 'done').length
})
try {
const remote = (await fetchOrders({ page: 1, pageSize: 100 })).list
setOrderStats({
toDesign: designs.filter(d => d.status === 'undesigned' || d.status === 'designing').length,
pending: remote.filter(o => o.status === 'PENDING').length,
paid: remote.filter(o => o.status === 'PAID' || o.status === 'PROCESSING').length,
shipping: remote.filter(o => o.status === 'SHIPPED').length,
done: remote.filter(o => o.status === 'COMPLETED').length
})
} catch {
const orders = getOrderList()
setOrderStats({ toDesign: designs.filter(d => d.status === 'undesigned' || d.status === 'designing').length, pending: orders.filter(o => o.statusCode === 'pending').length, paid: orders.filter(o => o.statusCode === 'paid').length, shipping: orders.filter(o => o.statusCode === 'shipping').length, done: orders.filter(o => o.statusCode === 'done').length })
}
}
const sync = () => {