| | |
| | | import { GUIDE_WITHDRAWALS_KEY, initialWithdrawals, withdrawalSummary } from '../constants/mock' |
| | | |
| | | function readWithdrawals() { |
| | | const records = uni.getStorageSync(GUIDE_WITHDRAWALS_KEY) |
| | | if (Array.isArray(records) && records.length) { |
| | | return records |
| | | } |
| | | uni.setStorageSync(GUIDE_WITHDRAWALS_KEY, initialWithdrawals) |
| | | return initialWithdrawals.slice() |
| | | } |
| | | |
| | | function writeWithdrawals(records) { |
| | | uni.setStorageSync(GUIDE_WITHDRAWALS_KEY, records) |
| | | } |
| | | |
| | | function formatNow() { |
| | | const now = new Date() |
| | | const pad = (value) => String(value).padStart(2, '0') |
| | | return `${now.getFullYear()}-${pad(now.getMonth() + 1)}-${pad(now.getDate())} ${pad(now.getHours())}:${pad(now.getMinutes())}:${pad(now.getSeconds())}` |
| | | } |
| | | import { request } from '../utils/request' |
| | | |
| | | export function getWithdrawalSummary() { |
| | | return Promise.resolve({ ...withdrawalSummary }) |
| | | return request({ url: '/guide/withdrawals/summary' }) |
| | | } |
| | | |
| | | export function getWithdrawals() { |
| | | const records = readWithdrawals() |
| | | return Promise.resolve({ |
| | | records, |
| | | total: records.length |
| | | export function getWithdrawals(page = 1, size = 50) { |
| | | return request({ |
| | | url: '/guide/withdrawals', |
| | | data: { page, size } |
| | | }) |
| | | } |
| | | |
| | | export function createWithdrawal(amount, bank) { |
| | | const records = readWithdrawals() |
| | | const created = { |
| | | id: `WD${Date.now()}`, |
| | | withdrawalNo: `WD${Date.now()}`, |
| | | amount: Number(Number(amount).toFixed(2)), |
| | | status: 'PENDING', |
| | | reason: '', |
| | | bankName: (bank && bank.bankName) || '', |
| | | cardMasked: (bank && bank.cardMasked) || '', |
| | | appliedAt: formatNow(), |
| | | processedAt: '' |
| | | } |
| | | writeWithdrawals([created, ...records]) |
| | | return Promise.resolve(created) |
| | | return request({ |
| | | url: '/guide/withdrawals', |
| | | method: 'POST', |
| | | data: { |
| | | amount: Number(Number(amount).toFixed(2)), |
| | | bankCardId: bank && bank.id |
| | | } |
| | | }) |
| | | } |