Files
template-10560/src/utils/request-legacy.ts
赵忠林 217bfacadd feat(src): 新增文章、经销商申请、用户地址和礼物添加功能
- 新增文章添加页面,支持文章基本信息、设置、高级设置和图片上传
- 新增经销商申请页面,支持申请信息填写和审核状态显示
- 新增用户地址添加页面,支持地址信息填写和地址识别功能
- 新增礼物添加页面,功能与文章添加类似
- 统一使用 .tsx 文件格式
- 添加 .editorconfig、.eslintrc 和 .gitignore 文件,规范代码风格和项目结构
2025-08-20 14:56:38 +08:00

117 lines
3.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 兼容旧版API的请求工具
* 这个文件是为了保持向后兼容性让现有的API代码能够正常工作
* 逐步迁移完成后可以删除此文件
*/
import { getRaw, postRaw, putRaw, delRaw } from './request';
import { BaseUrl, TenantId } from "@/config/app";
import Taro from '@tarojs/taro';
let baseUrl = BaseUrl;
// 开发环境
if (process.env.NODE_ENV === 'development') {
// baseUrl = 'http://localhost:9200/api'
}
// 兼容旧版的request函数
export function request<T>(options: any): Promise<T> {
const token = Taro.getStorageSync('access_token');
const header: Record<string, string> = {
'Content-Type': 'application/json',
'TenantId': Taro.getStorageSync('TenantId') || TenantId
};
if (token) {
header['Authorization'] = token;
}
// 构建完整URL
let url = options.url;
if (url.indexOf('http') === -1) {
url = baseUrl + url;
}
// 根据方法调用对应的新请求函数
const method = (options.method || 'GET').toUpperCase();
const config = {
header: { ...header, ...options.header },
showError: false // 让API层自己处理错误
};
switch (method) {
case 'GET':
return getRaw<T>(url, null, config);
case 'POST':
return postRaw<T>(url, options.data, config);
case 'PUT':
return putRaw<T>(url, options.data, config);
case 'DELETE':
return delRaw<T>(url, options.data, config);
default:
return getRaw<T>(url, null, config);
}
}
// 兼容旧版的便捷方法
export function get<T>(url: string, data?: any): Promise<T> {
if (url.indexOf('http') === -1) {
url = baseUrl + url;
}
if (data) {
// 处理查询参数
if (data.params) {
// 如果data有params属性使用params作为查询参数
const queryString = Object.keys(data.params)
.filter(key => data.params[key] !== undefined && data.params[key] !== null)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(data.params[key])}`)
.join('&');
if (queryString) {
url += `?${queryString}`;
}
} else {
// 否则直接使用data作为查询参数
const queryString = Object.keys(data)
.filter(key => data[key] !== undefined && data[key] !== null)
.map(key => `${encodeURIComponent(key)}=${encodeURIComponent(data[key])}`)
.join('&');
if (queryString) {
url += `?${queryString}`;
}
}
}
return getRaw<T>(url, null, { showError: false });
}
export function post<T>(url: string, data?: any): Promise<T> {
if (url.indexOf('http') === -1) {
url = baseUrl + url;
}
return postRaw<T>(url, data, { showError: false });
}
export function put<T>(url: string, data?: any): Promise<T> {
if (url.indexOf('http') === -1) {
url = baseUrl + url;
}
return putRaw<T>(url, data, { showError: false });
}
export function del<T>(url: string, data?: any): Promise<T> {
if (url.indexOf('http') === -1) {
url = baseUrl + url;
}
return delRaw<T>(url, data, { showError: false });
}
export default {
request,
get,
post,
put,
del
};