refactor(api): 更新 API调用以使用新的请求工具- 将所有 API 调用中的 request-legacy 替换为 request

- 优化部分 API 调用的参数传递方式
- 统一导入 ApiResult 和 PageResult 类型的路径
This commit is contained in:
2025-08-18 20:39:31 +08:00
parent ef134316b0
commit 06a3b15842
128 changed files with 494 additions and 693 deletions

31
src/utils/jsonUtils.ts Normal file
View File

@@ -0,0 +1,31 @@
/**
* 判断字符串是否为有效的JSON格式
* @param str 要检测的字符串
* @returns boolean
*/
export function isValidJSON(str: string): boolean {
if (typeof str !== 'string' || str.trim() === '') {
return false;
}
try {
JSON.parse(str);
return true;
} catch (error) {
return false;
}
}
/**
* 安全解析JSON失败时返回默认值
* @param str JSON字符串
* @param defaultValue 默认值
* @returns 解析结果或默认值
*/
export function safeJSONParse<T>(str: string, defaultValue: T): T {
try {
return JSON.parse(str);
} catch (error) {
return defaultValue;
}
}

View File

@@ -307,93 +307,98 @@ const buildQueryString = (params: Record<string, any>): string => {
return queryString ? `?${queryString}` : '';
};
// GET请求
// GET请求 - 返回完整的ApiResult响应适配后台生成的代码
export function get<T>(url: string, params?: any, config?: Partial<RequestConfig>): Promise<T> {
const fullUrl = buildUrl(url) + (params ? buildQueryString(params) : '');
return request<T>({
url: fullUrl,
method: 'GET',
returnRaw: true,
...config
});
}
// POST请求
// POST请求 - 返回完整的ApiResult响应适配后台生成的代码
export function post<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'POST',
data,
returnRaw: true,
...config
});
}
// PUT请求
// PUT请求 - 返回完整的ApiResult响应适配后台生成的代码
export function put<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'PUT',
data,
returnRaw: true,
...config
});
}
// PATCH请求
// PATCH请求 - 返回完整的ApiResult响应适配后台生成的代码
export function patch<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'PATCH',
data,
returnRaw: true,
...config
});
}
// DELETE请求
// DELETE请求 - 返回完整的ApiResult响应适配后台生成的代码
export function del<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'DELETE',
data,
returnRaw: true,
...config
});
}
// 兼容旧API的请求方法返回完整ApiResponse
export function getRaw<T>(url: string, params?: any, config?: Partial<RequestConfig>): Promise<T> {
// 便捷方法 - 自动提取data字段用于不需要处理完整ApiResult的场景
export function getData<T>(url: string, params?: any, config?: Partial<RequestConfig>): Promise<T> {
const fullUrl = buildUrl(url) + (params ? buildQueryString(params) : '');
return request<T>({
url: fullUrl,
method: 'GET',
returnRaw: true,
returnRaw: false,
...config
});
}
export function postRaw<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
export function postData<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'POST',
data,
returnRaw: true,
returnRaw: false,
...config
});
}
export function putRaw<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
export function putData<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'PUT',
data,
returnRaw: true,
returnRaw: false,
...config
});
}
export function delRaw<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
export function delData<T>(url: string, data?: any, config?: Partial<RequestConfig>): Promise<T> {
return request<T>({
url: buildUrl(url),
method: 'DELETE',
data,
returnRaw: true,
returnRaw: false,
...config
});
}
@@ -404,15 +409,17 @@ export { ErrorType, RequestError };
// 默认导出
export default {
request,
// 主要方法 - 返回完整ApiResult适配后台生成代码
get,
post,
put,
patch,
del,
getRaw,
postRaw,
putRaw,
delRaw,
// 便捷方法 - 自动提取data字段
getData,
postData,
putData,
delData,
ErrorType,
RequestError
};