Files
template-10579/src/api/credit/creditCompetitor/index.ts
赵忠林 31098f889b refactor(api): 重构信用模块API请求和数据作用域逻辑
- 将companyId API中的参数处理改为查询字符串拼接方式
- 优化数据作用域工具函数,改用Taro存储并增加H5降级方案
- 统一所有信用相关API的响应数据结构访问方式
- 将API请求方法调用格式统一为更简洁的形式
- 修改文件上传接口的headers字段名为header以适配Taro
- 更新批量删除接口的数据传递方式为直接传递数组参数
2026-03-05 12:13:46 +08:00

123 lines
3.0 KiB
TypeScript

import request from '@/utils/request';
import { withCreditUserScope } from '@/api/credit/utils/data-scope';
import type { ApiResult, PageResult } from '@/api';
import type { CreditCompetitor, CreditCompetitorParam } from './model';
/**
* 分页查询竞争对手
*/
export async function pageCreditCompetitor(params: CreditCompetitorParam) {
const res = await request.get<ApiResult<PageResult<CreditCompetitor>>>(
'/credit/credit-competitor/page', withCreditUserScope(params));
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询竞争对手列表
*/
export async function listCreditCompetitor(params?: CreditCompetitorParam) {
const res = await request.get<ApiResult<CreditCompetitor[]>>(
'/credit/credit-competitor', withCreditUserScope(params));
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加竞争对手
*/
export async function addCreditCompetitor(data: CreditCompetitor) {
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-competitor',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改竞争对手
*/
export async function updateCreditCompetitor(data: CreditCompetitor) {
const res = await request.put<ApiResult<unknown>>(
'/credit/credit-competitor',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除竞争对手
*/
export async function removeCreditCompetitor(id?: number) {
const res = await request.del<ApiResult<unknown>>(
'/credit/credit-competitor/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除竞争对手
*/
export async function removeBatchCreditCompetitor(
data: (number | undefined)[]
) {
const res = await request.del<ApiResult<unknown>>(
'/credit/credit-competitor/batch',
data);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询竞争对手
*/
export async function getCreditCompetitor(id: number) {
const res = await request.get<ApiResult<CreditCompetitor>>(
'/credit/credit-competitor/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 导入竞争对手
*/
export async function importCreditCompetitor(file: File, companyId?: number) {
const formData = new FormData();
formData.append('file', file);
if (companyId != null) {
formData.append('companyId', String(companyId));
}
const res = await request.post<ApiResult<unknown>>(
'/credit/credit-competitor/import',
formData,
{
header: {
'Content-Type': 'multipart/form-data'
}
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}