fix(api): 修复 API 导入导致的 TypeScript 编译错误

- 将所有 API 文件中的 import request from '@/utils/request'替换为 import request from '@/utils/request-legacy'
- 创建了 request-legacy.ts 兼容层,保持与现有 API 代码的完全兼容性
- 支持旧的 API 响应格式 {code, message, data}
- 自动处理认证头和错误处理
- 批量更新了 30+ 个 API 文件的导入路径
- 修复了 TypeScript 编译错误,项目现在可以正常编译和运行
This commit is contained in:
2025-08-14 19:22:02 +08:00
parent 745040d254
commit 6d9a6ef7e4
67 changed files with 2860 additions and 129 deletions

159
types/global.d.ts vendored
View File

@@ -1,27 +1,160 @@
/// <reference types="@tarojs/taro" />
declare module '*.png';
declare module '*.gif';
declare module '*.jpg';
declare module '*.jpeg';
declare module '*.svg';
declare module '*.css';
declare module '*.less';
declare module '*.scss';
declare module '*.sass';
declare module '*.styl';
// 静态资源模块声明
declare module '*.png' {
const content: string;
export default content;
}
declare module '*.gif' {
const content: string;
export default content;
}
declare module '*.jpg' {
const content: string;
export default content;
}
declare module '*.jpeg' {
const content: string;
export default content;
}
declare module '*.svg' {
const content: string;
export default content;
}
declare module '*.css' {
const content: Record<string, string>;
export default content;
}
declare module '*.less' {
const content: Record<string, string>;
export default content;
}
declare module '*.scss' {
const content: Record<string, string>;
export default content;
}
declare module '*.sass' {
const content: Record<string, string>;
export default content;
}
declare module '*.styl' {
const content: Record<string, string>;
export default content;
}
// 环境变量类型定义
declare namespace NodeJS {
interface ProcessEnv {
/** NODE 内置环境变量, 会影响到最终构建生成产物 */
NODE_ENV: 'development' | 'production',
NODE_ENV: 'development' | 'production' | 'test';
/** 当前构建的平台 */
TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd'
TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd';
/**
* 当前构建的小程序 appid
* @description 若不同环境有不同的小程序,可通过在 env 文件中配置环境变量`TARO_APP_ID`来方便快速切换 appid 而不必手动去修改 dist/project.config.json 文件
* @see https://taro-docs.jd.com/docs/next/env-mode-config#特殊环境变量-taro_app_id
*/
TARO_APP_ID: string
TARO_APP_ID: string;
/** API基础URL */
API_BASE_URL?: string;
/** 应用名称 */
APP_NAME?: string;
/** 调试模式 */
DEBUG?: string;
}
}
// 全局常量类型定义
declare const API_BASE_URL: string;
declare const APP_NAME: string;
declare const DEBUG: string;
// 基础类型定义
declare global {
/** 通用ID类型 */
type ID = string | number;
/** 时间戳类型 */
type Timestamp = number;
/** 可选的字符串或数字 */
type StringOrNumber = string | number;
/** 分页参数基础类型 */
interface BasePaginationParams {
page?: number;
limit?: number;
sort?: string;
order?: 'asc' | 'desc';
}
/** 分页响应基础类型 */
interface BasePaginationResponse<T = any> {
list: T[];
count: number;
page?: number;
limit?: number;
totalPages?: number;
}
/** API响应基础类型 */
interface BaseApiResponse<T = any> {
code: number;
message?: string;
data?: T;
timestamp?: Timestamp;
}
/** 基础实体类型 */
interface BaseEntity {
id?: ID;
createTime?: string;
updateTime?: string;
createBy?: string;
updateBy?: string;
}
/** 树形结构基础类型 */
interface BaseTreeNode<T = any> {
id: ID;
parentId?: ID;
children?: T[];
level?: number;
}
/** 选项类型 */
interface Option<T = StringOrNumber> {
label: string;
value: T;
disabled?: boolean;
children?: Option<T>[];
}
/** 文件上传类型 */
interface UploadFile {
uid: string;
name: string;
status: 'uploading' | 'done' | 'error';
url?: string;
size?: number;
type?: string;
}
/** 地址信息类型 */
interface AddressInfo {
province: string;
city: string;
district: string;
detail: string;
postalCode?: string;
longitude?: number;
latitude?: number;
}
/** 联系信息类型 */
interface ContactInfo {
name: string;
phone: string;
email?: string;
}
}