Files
soul-yongping/miniprogram/pages/withdraw-records/withdraw-records.js

73 lines
1.8 KiB
JavaScript

/**
* 提现记录 - 独立页面
*/
const app = getApp()
Page({
data: {
statusBarHeight: 44,
list: [],
loading: true
},
onLoad() {
this.setData({ statusBarHeight: app.globalData.statusBarHeight || 44 })
this.loadRecords()
},
onShow() {
this.loadRecords()
},
async loadRecords() {
const userInfo = app.globalData.userInfo
if (!app.globalData.isLoggedIn || !userInfo || !userInfo.id) {
this.setData({ list: [], loading: false })
return
}
this.setData({ loading: true })
try {
const res = await app.request('/api/withdraw/records?userId=' + userInfo.id)
if (res && res.success && res.data && Array.isArray(res.data.list)) {
const list = (res.data.list || []).map(item => ({
id: item.id,
amount: (item.amount != null ? item.amount : 0).toFixed(2),
status: this.statusText(item.status),
statusRaw: item.status,
createdAt: (item.createdAt ?? item.created_at) ? this.formatDate(item.createdAt ?? item.created_at) : '--'
}))
this.setData({ list, loading: false })
} else {
this.setData({ list: [], loading: false })
}
} catch (e) {
console.log('[WithdrawRecords] 加载失败:', e)
this.setData({ list: [], loading: false })
}
},
statusText(status) {
const map = {
pending: '待审核',
pending_confirm: '待确认收款',
processing: '处理中',
success: '已到账',
failed: '已拒绝'
}
return map[status] || status || '--'
},
formatDate(dateStr) {
if (!dateStr) return '--'
const d = new Date(dateStr)
const y = d.getFullYear()
const m = (d.getMonth() + 1).toString().padStart(2, '0')
const day = d.getDate().toString().padStart(2, '0')
return `${y}-${m}-${day}`
},
goBack() {
wx.navigateBack()
}
})