大量的代码格式化
Some checks failed
Docker Build & Deploy / Build Docker Image (push) Failing after 1m10s
Docker Build & Deploy / Deploy to Production (push) Has been skipped
Docker Build & Deploy / Cleanup Dangling Images (push) Successful in 1s
Docker Build & Deploy / WeChat Notification (push) Successful in 1s

This commit is contained in:
孙诚
2026-01-16 11:15:44 +08:00
parent 9069e3dbcf
commit 319f8f7d7b
54 changed files with 2973 additions and 2200 deletions

View File

@@ -26,45 +26,47 @@ export const uploadBillFile = (file, type) => {
Authorization: `Bearer ${useAuthStore().token || ''}`
},
timeout: 60000 // 文件上传增加超时时间
}).then(response => {
const { data } = response
if (data.success === false) {
showToast(data.message || '上传失败')
return Promise.reject(new Error(data.message || '上传失败'))
}
return data
}).catch(error => {
console.error('上传错误:', error)
if (error.response) {
const { status, data } = error.response
let message = '上传失败'
switch (status) {
case 400:
message = data?.message || '请求参数错误'
break
case 401:
message = '未授权,请先登录'
break
case 403:
message = '没有权限'
break
case 413:
message = '文件过大'
break
case 500:
message = '服务器错误'
break
}
showToast(message)
return Promise.reject(new Error(message))
}
showToast('网络错误,请检查网络连接')
return Promise.reject(error)
})
.then((response) => {
const { data } = response
if (data.success === false) {
showToast(data.message || '上传失败')
return Promise.reject(new Error(data.message || '上传失败'))
}
return data
})
.catch((error) => {
console.error('上传错误:', error)
if (error.response) {
const { status, data } = error.response
let message = '上传失败'
switch (status) {
case 400:
message = data?.message || '请求参数错误'
break
case 401:
message = '未授权,请先登录'
break
case 403:
message = '没有权限'
break
case 413:
message = '文件过大'
break
case 500:
message = '服务器错误'
break
}
showToast(message)
return Promise.reject(new Error(message))
}
showToast('网络错误,请检查网络连接')
return Promise.reject(error)
})
}

View File

@@ -37,7 +37,7 @@ export const getEmailDetail = (id) => {
*/
export const deleteEmail = (id) => {
return request({
url: `/EmailMessage/DeleteById`,
url: '/EmailMessage/DeleteById',
method: 'post',
params: { id }
})
@@ -50,7 +50,7 @@ export const deleteEmail = (id) => {
*/
export const refreshTransactionRecords = (id) => {
return request({
url: `/EmailMessage/RefreshTransactionRecords`,
url: '/EmailMessage/RefreshTransactionRecords',
method: 'post',
params: { id }
})
@@ -62,7 +62,7 @@ export const refreshTransactionRecords = (id) => {
*/
export const syncEmails = () => {
return request({
url: `/EmailMessage/SyncEmails`,
url: '/EmailMessage/SyncEmails',
method: 'post'
})
}

View File

@@ -1,13 +1,13 @@
import request from '@/api/request'
export function getJobs() {
export function getJobs () {
return request({
url: '/Job/GetJobs',
method: 'get'
})
}
export function executeJob(jobName) {
export function executeJob (jobName) {
return request({
url: '/Job/Execute',
method: 'post',
@@ -15,7 +15,7 @@ export function executeJob(jobName) {
})
}
export function pauseJob(jobName) {
export function pauseJob (jobName) {
return request({
url: '/Job/Pause',
method: 'post',
@@ -23,7 +23,7 @@ export function pauseJob(jobName) {
})
}
export function resumeJob(jobName) {
export function resumeJob (jobName) {
return request({
url: '/Job/Resume',
method: 'post',

View File

@@ -14,7 +14,7 @@ const request = axios.create({
// 请求拦截器
request.interceptors.request.use(
config => {
(config) => {
// 添加 token 认证信息
const authStore = useAuthStore()
if (authStore.token) {
@@ -22,7 +22,7 @@ request.interceptors.request.use(
}
return config
},
error => {
(error) => {
console.error('请求错误:', error)
return Promise.reject(error)
}
@@ -30,25 +30,25 @@ request.interceptors.request.use(
// 响应拦截器
request.interceptors.response.use(
response => {
(response) => {
const { data } = response
// 统一处理业务错误
if (data.success === false) {
showToast(data.message || '请求失败')
return Promise.reject(new Error(data.message || '请求失败'))
}
return data
},
error => {
(error) => {
console.error('响应错误:', error)
// 统一处理 HTTP 错误
if (error.response) {
const { status, data } = error.response
let message = '请求失败'
switch (status) {
case 400:
message = data?.message || '请求参数错误'
@@ -58,7 +58,10 @@ request.interceptors.response.use(
// 清除登录状态并跳转到登录页
const authStore = useAuthStore()
authStore.logout()
router.push({ name: 'login', query: { redirect: router.currentRoute.value.fullPath } })
router.push({
name: 'login',
query: { redirect: router.currentRoute.value.fullPath }
})
break
}
case 403:
@@ -73,14 +76,14 @@ request.interceptors.response.use(
default:
message = data?.message || `请求失败 (${status})`
}
showToast(message)
} else if (error.request) {
showToast('网络连接失败,请检查网络')
} else {
showToast(error.message || '请求失败')
}
return Promise.reject(error)
}
)

View File

@@ -79,7 +79,7 @@ export const updatePeriodic = (data) => {
*/
export const deletePeriodic = (id) => {
return request({
url: `/TransactionPeriodic/DeleteById`,
url: '/TransactionPeriodic/DeleteById',
method: 'post',
params: { id }
})

View File

@@ -99,7 +99,7 @@ export const updateTransaction = (data) => {
*/
export const deleteTransaction = (id) => {
return request({
url: `/TransactionRecord/DeleteById`,
url: '/TransactionRecord/DeleteById',
method: 'post',
params: { id }
})
@@ -118,7 +118,6 @@ export const getTransactionsByDate = (date) => {
})
}
// 注意分类相关的API已迁移到 transactionCategory.js
// 请使用 getCategoryList 等新接口
@@ -155,12 +154,12 @@ export const smartClassify = (transactionIds = []) => {
const baseURL = import.meta.env.VITE_API_BASE_URL || 'http://localhost:5071/api'
const token = localStorage.getItem('token')
const url = `${baseURL}/TransactionRecord/SmartClassify`
return fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
Authorization: `Bearer ${token}`
},
body: JSON.stringify({ transactionIds })
})
@@ -261,4 +260,4 @@ export const parseOneLine = (text) => {
method: 'post',
data: { text }
})
}
}