فهرست منبع

refactor(api): 统一接口返回类型为Promise<AxiosResponse>

yz 5 روز پیش
والد
کامیت
ebcba3a194
4فایلهای تغییر یافته به همراه21 افزوده شده و 21 حذف شده
  1. 6 6
      src/api/announcement/category.js
  2. 7 7
      src/api/announcement/index.js
  3. 3 3
      src/api/types/lead.d.ts
  4. 5 5
      src/api/types/order.d.ts

+ 6 - 6
src/api/announcement/category.js

@@ -17,7 +17,7 @@ import request from '@/router/axios';
 
 /**
  * 获取分类列表
- * @returns {Promise<CategoryListResponse>} 分类列表
+ * @returns {Promise<AxiosResponse<ApiResponse<CategoryItem[]>>>} 分类列表
  * @throws {Error} 当请求失败时抛出错误
  * @example
  * // 获取所有分类
@@ -34,7 +34,7 @@ export const getCategoryList = () => {
 /**
  * 新增分类
  * @param {CategoryCreateParams} params - 分类参数
- * @returns {Promise<CategoryOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败或参数验证失败时抛出错误
  * @example
  * // 新增分类
@@ -63,7 +63,7 @@ export const addCategory = (params) => {
 /**
  * 更新分类
  * @param {CategoryUpdateParams} params - 分类信息(包含id)
- * @returns {Promise<CategoryOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败、参数验证失败或分类不存在时抛出错误
  * @example
  * // 更新分类
@@ -86,7 +86,7 @@ export const updateCategory = (params) => {
 /**
  * 删除分类
  * @param {string|number} ids - 分类ID,多个用逗号分隔
- * @returns {Promise<CategoryOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败或分类不存在时抛出错误
  * @example
  * // 删除单个分类
@@ -108,7 +108,7 @@ export const removeCategory = (ids) => {
 /**
  * 获取分类详情
  * @param {string|number} id - 分类ID
- * @returns {Promise<CategoryDetailResponse>} 分类详情
+ * @returns {Promise<AxiosResponse<ApiResponse<CategoryItem>>>} 分类详情
  * @throws {Error} 当请求失败或分类不存在时抛出错误
  * @example
  * // 获取分类详情
@@ -130,7 +130,7 @@ export const getCategoryDetail = (id) => {
  * 更新分类状态
  * @param {string|number} id - 分类ID
  * @param {0|1} status - 状态(0-禁用 1-启用)
- * @returns {Promise<CategoryOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败或分类不存在时抛出错误
  * @example
  * // 启用分类

+ 7 - 7
src/api/announcement/index.js

@@ -27,7 +27,7 @@ import { ANNOUNCEMENT_STATUS, ROLE_TYPES } from '@/views/announcement/constants'
  * @param {number} current - 当前页码(必须大于0)
  * @param {number} size - 每页大小(建议10-100之间)
  * @param {NoticeQueryParams} [params={}] - 查询参数
- * @returns {Promise<NoticeListResponse>} 分页公告列表
+ * @returns {Promise<AxiosResponse<ApiResponse<PageResult<NoticeRecord>>>>} 分页公告列表
  * @throws {Error} 当请求失败时抛出错误
  * @example
  * // 获取第一页公告列表
@@ -49,7 +49,7 @@ export const getList = (current, size, params = /** @type {Partial<NoticeQueryPa
 /**
  * 新增公告
  * @param {NoticeFormData} row - 公告表单数据
- * @returns {Promise<NoticeOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败或数据验证失败时抛出错误
  * @example
  * // 新增公告
@@ -72,7 +72,7 @@ export const add = (row) => {
 /**
  * 修改公告
  * @param {NoticeFormData} row - 公告表单数据(必须包含id)
- * @returns {Promise<NoticeOperationResponse>} 操作结果
+ * @returns {Promise<AxiosResponse<ApiResponse<boolean>>>} 操作结果
  * @throws {Error} 当请求失败、数据验证失败或公告不存在时抛出错误
  * @example
  * // 更新公告
@@ -94,7 +94,7 @@ export const update = (row) => {
 /**
  * 获取公告详情
  * @param {string} id - 公告ID(必填)
- * @returns {Promise<NoticeDetailResponse>} 公告详情
+ * @returns {Promise<AxiosResponse<ApiResponse<NoticeRecord>>>} 公告详情
  * @throws {Error} 当请求失败或公告不存在时抛出错误
  * @example
  * // 获取公告详情
@@ -115,7 +115,7 @@ export const getAnnouncement = (id) => {
 
 /**
  * 获取经销商列表(保留兼容性)
- * @returns {Promise<DealerListResponse>} 经销商列表
+ * @returns {Promise<AxiosResponse<ApiResponse<DealerOption[]>>>} 经销商列表
  * @throws {Error} 当请求失败时抛出错误
  * @deprecated 建议使用更具体的经销商API
  */
@@ -128,7 +128,7 @@ export const getDealerList = () => {
 
 /**
  * 获取品牌列表(保留兼容性)
- * @returns {Promise<BrandListResponse>} 品牌列表
+ * @returns {Promise<AxiosResponse<ApiResponse<BrandOption[]>>>} 品牌列表
  * @throws {Error} 当请求失败时抛出错误
  * @deprecated 建议使用更具体的品牌API
  */
@@ -143,7 +143,7 @@ export const getBrandList = () => {
 
 /**
  * 获取分类列表
- * @returns {Promise<CategoryListResponse>} 分类列表
+ * @returns {Promise<AxiosResponse<ApiResponse<CategoryItem[]>>>} 分类列表
  * @throws {Error} 当请求失败时抛出错误
  * @example
  * // 获取分类列表

+ 3 - 3
src/api/types/lead.d.ts

@@ -91,14 +91,14 @@ export interface LeadUpdateParams extends LeadAddParams {
 /**
  * 销售线索列表响应
  */
-export type LeadListResponse = Promise<ApiResponse<PageResult<LeadRecord>>>;
+export type LeadListResponse = Promise<AxiosResponse<ApiResponse<PageResult<LeadRecord>>>>;
 
 /**
  * 销售线索详情响应
  */
-export type LeadDetailResponse = Promise<ApiResponse<LeadRecord>>;
+export type LeadDetailResponse = Promise<AxiosResponse<ApiResponse<LeadRecord>>>;
 
 /**
  * 销售线索操作响应
  */
-export type LeadOperationResponse = Promise<ApiResponse<boolean>>;
+export type LeadOperationResponse = Promise<AxiosResponse<ApiResponse<boolean>>>;

+ 5 - 5
src/api/types/order.d.ts

@@ -177,24 +177,24 @@ export interface CustomerAddressOption {
 /**
  * 订单列表响应接口
  */
-export type OrderListResponse = AxiosResponse<ApiResponseData<PageResult<OrderRecord>>>;
+export type OrderListResponse = Promise<AxiosResponse<ApiResponseData<PageResult<OrderRecord>>>>;
 
 /**
  * 订单详情响应接口
  */
-export type OrderDetailResponse = AxiosResponse<ApiResponseData<OrderRecord>>;
+export type OrderDetailResponse = Promise<AxiosResponse<ApiResponseData<OrderRecord>>>;
 
 /**
  * 订单操作响应接口
  */
-export type OrderOperationResponse = AxiosResponse<ApiResponseData<boolean>>;
+export type OrderOperationResponse = Promise<AxiosResponse<ApiResponseData<boolean>>>;
 
 /**
  * 客户地址列表响应接口
  */
-export type CustomerAddressListResponse = AxiosResponse<ApiResponseData<CustomerAddressOption[]>>;
+export type CustomerAddressListResponse = Promise<AxiosResponse<ApiResponseData<CustomerAddressOption[]>>>;
 
 /**
  * 销售订单创建响应接口
  */
-export type SalesOrderCreateResponse = AxiosResponse<ApiResponseData<boolean>>;
+export type SalesOrderCreateResponse = Promise<AxiosResponse<ApiResponseData<boolean>>>;