|
|
@@ -1,43 +1,44 @@
|
|
|
import axios from 'axios';
|
|
|
import { Member } from '../types/member';
|
|
|
|
|
|
-const API_URL = '/api/members'; // 假设这是您的API端点
|
|
|
+const API_URL = '/api/members';
|
|
|
+
|
|
|
+// 模拟 API 延迟
|
|
|
+const delay = (ms: number) => new Promise(resolve => setTimeout(resolve, ms));
|
|
|
+
|
|
|
+// 模拟会友数据
|
|
|
+let mockMembers: Member[] = [
|
|
|
+ { id: '1', name: '张三', idNumber: '310000199001011234', phone: '13800138000' },
|
|
|
+ { id: '2', name: '李四', idNumber: '310000199201022345', phone: '13900139000' },
|
|
|
+];
|
|
|
|
|
|
export const fetchMembers = async (): Promise<Member[]> => {
|
|
|
- try {
|
|
|
- const response = await axios.get(API_URL);
|
|
|
- return response.data;
|
|
|
- } catch (error) {
|
|
|
- console.error('Error fetching members:', error);
|
|
|
- throw error;
|
|
|
- }
|
|
|
+ await delay(500); // 模拟网络延迟
|
|
|
+ console.log('Fetched members:', mockMembers);
|
|
|
+ return mockMembers;
|
|
|
};
|
|
|
|
|
|
export const addMember = async (member: Omit<Member, 'id'>): Promise<Member> => {
|
|
|
- try {
|
|
|
- const response = await axios.post(API_URL, member);
|
|
|
- return response.data;
|
|
|
- } catch (error) {
|
|
|
- console.error('Error adding member:', error);
|
|
|
- throw error;
|
|
|
- }
|
|
|
+ await delay(500);
|
|
|
+ const newMember = { ...member, id: Date.now().toString() };
|
|
|
+ mockMembers.push(newMember);
|
|
|
+ console.log('Added member:', newMember);
|
|
|
+ return newMember;
|
|
|
};
|
|
|
|
|
|
export const updateMember = async (member: Member): Promise<Member> => {
|
|
|
- try {
|
|
|
- const response = await axios.put(`${API_URL}/${member.id}`, member);
|
|
|
- return response.data;
|
|
|
- } catch (error) {
|
|
|
- console.error('Error updating member:', error);
|
|
|
- throw error;
|
|
|
+ await delay(500);
|
|
|
+ const index = mockMembers.findIndex(m => m.id === member.id);
|
|
|
+ if (index !== -1) {
|
|
|
+ mockMembers[index] = member;
|
|
|
+ console.log('Updated member:', member);
|
|
|
+ return member;
|
|
|
}
|
|
|
+ throw new Error('Member not found');
|
|
|
};
|
|
|
|
|
|
export const deleteMember = async (memberId: string): Promise<void> => {
|
|
|
- try {
|
|
|
- await axios.delete(`${API_URL}/${memberId}`);
|
|
|
- } catch (error) {
|
|
|
- console.error('Error deleting member:', error);
|
|
|
- throw error;
|
|
|
- }
|
|
|
+ await delay(500);
|
|
|
+ mockMembers = mockMembers.filter(m => m.id !== memberId);
|
|
|
+ console.log('Deleted member with id:', memberId);
|
|
|
};
|