This commit is contained in:
oneao committed 2026-01-28 22:32:28 +08:00
1 parent d9c49b34db
commit d33cef825a
36 files changed
+753 -1077

No files matched your search

@@ -2,27 +2,27 @@ import type {
DeleteMoneyRecordParams,
InsertMoneyRecordParams,
InsertMoneyRecordResult,
QueryMoneyRecordsParams,
QueryMoneyRecordsResult,
ListMoneyRecordsParams,
ListMoneyRecordsResult,
UpdateMoneyRecordParams,
} from '@/types/money/record'
import alovaInstance from '../../index'
const API_PREFIX = '/money/record'
const API_PREFIX = '/money'
export function queryMoneyRecordsApi(params: QueryMoneyRecordsParams) {
return alovaInstance.Post<ResponseData<QueryMoneyRecordsResult>>(`${API_PREFIX}/query`, params)
export function listMoneyRecordsApi(params: ListMoneyRecordsParams) {
return alovaInstance.Post<ResponseData<ListMoneyRecordsResult>>(`${API_PREFIX}/records`, params)
}
export function insertMoneyRecordApi(params: InsertMoneyRecordParams) {
return alovaInstance.Post<ResponseData<InsertMoneyRecordResult>>(`${API_PREFIX}/insert`, params)
return alovaInstance.Post<ResponseData<InsertMoneyRecordResult>>(`${API_PREFIX}/record/insert`, params)
}
export function updateMoneyRecordApi(params: UpdateMoneyRecordParams) {
return alovaInstance.Post<ResponseData<any>>(`${API_PREFIX}/update`, params)
return alovaInstance.Post<ResponseData<any>>(`${API_PREFIX}/record/update`, params)
}
export function deleteMoneyRecordApi(params: DeleteMoneyRecordParams) {
return alovaInstance.Post<ResponseData<any>>(`${API_PREFIX}/delete`, params)
return alovaInstance.Post<ResponseData<any>>(`${API_PREFIX}/record/delete`, params)
}
@@ -4,5 +4,5 @@ import alovaInstance from '../index'
const API_PREFIX = '/user'
export function getUserSpaceApi() {
return alovaInstance.Post<ResponseData<UserSpace>>(`${API_PREFIX}/space`)
return alovaInstance.Get<ResponseData<UserSpace>>(`${API_PREFIX}/space`)
}
+3 -27
View File
@@ -1,10 +1,8 @@
import type { Method } from 'alova'
import type { AxiosError } from 'axios'
import type { ListUserSpacesResult } from '@/types/user'
import { axiosRequestAdapter } from '@alova/adapter-axios'
import { createAlova } from 'alova'
import { useNavStore } from '@/store/navigation'
import { useSpaceStore } from '@/store/space'
import { useUserStore } from '@/store/user'
import { toast } from '@/utils/toast'
@@ -12,8 +10,6 @@ enum HttpCode {
Success = 200,
Unauthorized = 401,
Fail = 500,
ErrSpaceRequired = 501,
ErrSpaceNoPermission = 502,
}
// 仅保留「无需登录」接口
@@ -52,29 +48,15 @@ const alovaInstance = createAlova({
useNavStore.getState().navigateToAuth()
return Promise.reject(new Error('登录已失效'))
}
else if (resData.code === HttpCode.ErrSpaceRequired || resData.code === HttpCode.ErrSpaceNoPermission) {
if (method.meta?.spaceRetried)
return Promise.reject(new Error('space retry failed'))
method.meta = { ...method.meta, spaceRetried: true }
const res = await alovaInstance.Post<ResponseData<ListUserSpacesResult>>('/user/spaces').send()
if (!res.isSuccess || res.data.spaces.length === 0)
return Promise.reject(new Error('没有可用空间,请刷新后再试'))
const defaultSpace = res.data.spaces[0]
useSpaceStore.getState().setUserSpace(defaultSpace)
method.config.headers['X-Space-Id'] = defaultSpace.id
return method.send()
}
return result
},
onError: (error: AxiosError) => {
const status = error.status
const config = error.config
console.warn(`[HTTP ${status}] ${config?.method?.toUpperCase()} ${config?.url}`)
switch (status) {
case 400:
@@ -125,12 +107,6 @@ const alovaInstance = createAlova({
// 注入 JWT
method.config.headers.Token = userStore.userInfo!.token
// 注入 space 信息(如果存在)
const userSpace = useSpaceStore.getState().userSpace
if (userSpace) {
method.config.headers['X-Space-Id'] = userSpace.id
}
},
})