refactor: 优化代码结构并修复类型问题
- 移除未使用的TabPane组件 - 修复类型定义和导入方式 - 优化mock数据源的环境变量判断逻辑 - 更新文档结构并归档旧文件 - 添加新的UI组件和Memo组件 - 调整API路径和响应处理
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/**
|
||||
* [MOCK-002] 证书数据源抽象层
|
||||
* 通过环境变量自动切换Mock/真实API
|
||||
* AI注意: 这是唯一入口,业务代码必须调用此层
|
||||
* AI注意: 这是唯一入口,业务代码必须调用此文件
|
||||
*
|
||||
* @module services/certificateDataSource
|
||||
* @author AI-Frontend-Team
|
||||
@@ -15,25 +15,11 @@ import { BaseDataSource, BaseMockDataSource, DataSourceFactory } from './dataSou
|
||||
export type { Certificate } from '@/types/certificate';
|
||||
export { CertificateStatus, CertificateType };
|
||||
|
||||
// ============================================
|
||||
// 真实API实现
|
||||
// ============================================
|
||||
|
||||
/**
|
||||
* 证书API数据源
|
||||
* 调用真实后端API
|
||||
*/
|
||||
class ApiCertificateDataSource extends BaseDataSource<Certificate, CertificateQueryParams> {
|
||||
constructor() {
|
||||
super('/api/v1/certificate/certificates');
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新证书状态(审核)
|
||||
* @param id 证书ID
|
||||
* @param status 新状态
|
||||
* @param approvedBy 审核人
|
||||
*/
|
||||
async updateStatus(id: string, status: string, approvedBy?: string): Promise<Certificate> {
|
||||
const response = await fetch(`${this.baseUrl}/${id}/status`, {
|
||||
method: 'PUT',
|
||||
@@ -44,33 +30,18 @@ class ApiCertificateDataSource extends BaseDataSource<Certificate, CertificateQu
|
||||
});
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`API Error: ${response.status}`);
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
|
||||
const result = await response.json();
|
||||
|
||||
// 更新成功后获取完整数据
|
||||
const updated = await this.detail(id);
|
||||
if (updated) return updated;
|
||||
|
||||
return result.data;
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// Mock实现 (完全独立文件)
|
||||
// ============================================
|
||||
|
||||
/**
|
||||
* [MOCK] 证书Mock数据源
|
||||
* AI注意: 这是Mock实现,不是真实业务逻辑
|
||||
* 仅在REACT_APP_USE_MOCK=true时启用
|
||||
*/
|
||||
class MockCertificateDataSource extends BaseMockDataSource<Certificate, CertificateQueryParams> {
|
||||
/** Mock数据源名称 */
|
||||
class MockCertificateDataSource extends BaseMockDataSource<Certificate, CertificateQueryParams> implements IDataSource<Certificate, CertificateQueryParams> {
|
||||
readonly __MOCK__ = true as const;
|
||||
readonly __MOCK_NAME__ = 'MockCertificateDataSource';
|
||||
|
||||
/** Mock数据 */
|
||||
protected mockData: Certificate[] = [
|
||||
{
|
||||
id: '1',
|
||||
@@ -156,12 +127,6 @@ class MockCertificateDataSource extends BaseMockDataSource<Certificate, Certific
|
||||
},
|
||||
];
|
||||
|
||||
/**
|
||||
* 更新证书状态(审核)
|
||||
* @param id 证书ID
|
||||
* @param status 新状态
|
||||
* @param approvedBy 审核人
|
||||
*/
|
||||
async updateStatus(id: string, status: string, approvedBy?: string): Promise<Certificate> {
|
||||
await this.delay(300);
|
||||
|
||||
@@ -184,10 +149,6 @@ class MockCertificateDataSource extends BaseMockDataSource<Certificate, Certific
|
||||
}
|
||||
}
|
||||
|
||||
// ============================================
|
||||
// 导出数据源
|
||||
// ============================================
|
||||
|
||||
export const certificateDataSource = DataSourceFactory.createWithMethods<
|
||||
Certificate,
|
||||
CertificateQueryParams,
|
||||
@@ -199,8 +160,4 @@ export const certificateDataSource = DataSourceFactory.createWithMethods<
|
||||
mockDataSource: MockCertificateDataSource,
|
||||
});
|
||||
|
||||
/**
|
||||
* Mock状态标记
|
||||
* 用于调试和开发环境识别
|
||||
*/
|
||||
export { __MOCK__, __DATA_SOURCE_TYPE__ } from './dataSourceFactory';
|
||||
|
||||
Reference in New Issue
Block a user