From ac401b0b52bfc0a30ebaced0f676c78b229cc504 Mon Sep 17 00:00:00 2001
From: 18631081161 <2088094923@qq.com>
Date: Sat, 18 Apr 2026 19:52:48 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=86=E8=8A=82=E6=8F=90=E7=A4=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
admin/src/utils/request.js | 4 +---
admin/src/views/Dashboard.vue | 2 +-
admin/src/views/Login.vue | 2 +-
admin/src/views/Withdrawals.vue | 12 +++++++++---
server/Endpoints/EarningEndpoints.cs | 1 +
5 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/admin/src/utils/request.js b/admin/src/utils/request.js
index 8ab7a6c..07af502 100644
--- a/admin/src/utils/request.js
+++ b/admin/src/utils/request.js
@@ -30,7 +30,6 @@ service.interceptors.response.use(
(response) => response.data,
(error) => {
const status = error.response?.status
- const message = error.response?.data?.message
if (status === 401) {
// 未登录或 token 过期,清除凭证并跳转登录页
@@ -39,9 +38,8 @@ service.interceptors.response.use(
ElMessage.error('登录已过期,请重新登录')
} else if (status === 403) {
ElMessage.error('权限不足')
- } else {
- ElMessage.error(message || '请求失败')
}
+ // 其他错误(如 400)不在此弹提示,由业务代码自行处理
return Promise.reject(error)
}
diff --git a/admin/src/views/Dashboard.vue b/admin/src/views/Dashboard.vue
index 4dc851e..907f897 100644
--- a/admin/src/views/Dashboard.vue
+++ b/admin/src/views/Dashboard.vue
@@ -147,7 +147,7 @@ onMounted(async () => {
const res = await request.get('/admin/dashboard')
Object.assign(data, res)
} catch (e) {
- // 错误已由拦截器处理
+ ElMessage.error('加载数据失败')
} finally {
loading.value = false
}
diff --git a/admin/src/views/Login.vue b/admin/src/views/Login.vue
index 1165351..f5ce1f7 100644
--- a/admin/src/views/Login.vue
+++ b/admin/src/views/Login.vue
@@ -80,7 +80,7 @@ async function handleLogin() {
ElMessage.success('登录成功')
router.push('/')
} catch {
- // 错误已由响应拦截器处理
+ ElMessage.error('登录失败,请检查用户名和密码')
} finally {
loading.value = false
}
diff --git a/admin/src/views/Withdrawals.vue b/admin/src/views/Withdrawals.vue
index 7d87bb6..4a1d0e8 100644
--- a/admin/src/views/Withdrawals.vue
+++ b/admin/src/views/Withdrawals.vue
@@ -47,6 +47,12 @@
等待用户确认收款
+
+
+ 拒绝:{{ row.rejectReason }}
+
+ 已拒绝
+
已处理
@@ -99,7 +105,7 @@ async function handleAction(row, action) {
} catch (e) {
if (e !== 'cancel' && e?.toString() !== 'cancel') {
const data = e?.response?.data
- const msg = data?.detail ? `${data.message}:${data.detail}` : (data?.message || '操作失败')
+ const msg = data?.message || '操作失败'
ElMessage.error({ message: msg, duration: 5000 })
}
}
@@ -115,8 +121,8 @@ function statusTagType(s) {
function formatTime(str) {
if (!str) return '-'
- // 后端存的是UTC时间,确保正确解析为UTC再转本地时间
- const d = new Date(typeof str === 'string' && !str.endsWith('Z') ? str + 'Z' : str)
+ // 后端存的是UTC时间,补 Z 后缀让浏览器按UTC解析,自动转为本地时间显示
+ const d = new Date(typeof str === 'string' && !str.endsWith('Z') && !str.includes('+') ? str + 'Z' : str)
const pad = n => String(n).padStart(2, '0')
return `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}`
}
diff --git a/server/Endpoints/EarningEndpoints.cs b/server/Endpoints/EarningEndpoints.cs
index 1dd6c71..21ddc48 100644
--- a/server/Endpoints/EarningEndpoints.cs
+++ b/server/Endpoints/EarningEndpoints.cs
@@ -210,6 +210,7 @@ public static class EarningEndpoints
w.Amount,
PaymentMethod = w.PaymentMethod.ToString(),
Status = w.Status.ToString(),
+ w.RejectReason,
w.CreatedAt,
w.ProcessedAt
})