Ver código fonte

AI: 调试获取会友列表功能

D8D AI 1 ano atrás
pai
commit
033cc44e4a
2 arquivos alterados com 47 adições e 62 exclusões
  1. 33 12
      src/api/deviceApi.js
  2. 14 50
      src/components/MemberList.jsx

+ 33 - 12
src/api/deviceApi.js

@@ -3,33 +3,54 @@ import axios from 'axios';
 const API_BASE_URL = 'http://your-device-api-url.com'; // 替换为实际的设备 API URL
 
 export const deviceApi = {
-  // ... 其他方法保持不变
-
-  deletePerson: async (personId) => {
+  getAllPersons: async () => {
     try {
-      console.log('API 调用: 删除会员,ID:', personId); // 调试日志
+      console.log('调用 getAllPersons API'); // 调试日志
       // 模拟 API 调用
       // 在实际应用中,这里应该是一个真实的 API 请求
-      // const response = await axios.delete(`${API_BASE_URL}/DeletePerson/${personId}`);
+      // const response = await axios.get(`${API_BASE_URL}/GetAllPersons`);
       // return response.data;
 
-      // 模拟成功的删除操作
+      // 模拟成功的情况
       return new Promise((resolve) => {
         setTimeout(() => {
-          console.log('模拟删除成功');
-          resolve({ success: true, message: '会员删除成功' });
+          console.log('模拟 API 返回数据');
+          resolve([
+            {
+              personId: '1',
+              name: '张三',
+              gender: '男',
+              age: 30,
+              birthDate: '1994-01-01',
+              maritalStatus: '已婚',
+              isBaptized: true,
+              baptismDate: '2010-05-15',
+              contact: '13800138000'
+            },
+            {
+              personId: '2',
+              name: '李四',
+              gender: '女',
+              age: 25,
+              birthDate: '1999-03-15',
+              maritalStatus: '未婚',
+              isBaptized: false,
+              baptismDate: null,
+              contact: '13900139000'
+            }
+          ]);
         }, 1000); // 模拟网络延迟
       });
 
       // 如果要模拟失败的情况,可以使用下面的代码
-      // return new Promise((resolve, reject) => {
+      // return new Promise((_, reject) => {
       //   setTimeout(() => {
-      //     console.log('模拟删除失败');
-      //     reject(new Error('服务器错误,删除失败'));
+      //     console.log('模拟 API 调用失败');
+      //     reject(new Error('服务器错误,获取会友列表失败'));
       //   }, 1000);
       // });
     } catch (error) {
-      console.error('删除会友失败:', error);
+      console.error('获取所有会友信息失败:', error);
       throw error;
     }
   },

+ 14 - 50
src/components/MemberList.jsx

@@ -19,63 +19,24 @@ const MemberList = () => {
   const fetchMembers = async () => {
     setLoading(true);
     try {
+      console.log('开始获取会友列表'); // 调试日志
       const data = await deviceApi.getAllPersons();
-      console.log('Fetched members:', data); // 调试日志
-      setMembers(data);
+      console.log('获取到的会友列表数据:', data); // 调试日志
+      if (Array.isArray(data)) {
+        setMembers(data);
+        message.success('会友列表获取成功');
+      } else {
+        throw new Error('返回的数据不是数组');
+      }
     } catch (error) {
       console.error('获取会友列表失败', error);
-      message.error('获取会友列表失败');
+      message.error(`获取会友列表失败: ${error.message}`);
     } finally {
       setLoading(false);
     }
   };
 
-  const handleAdd = () => {
-    setIsAddModalVisible(true);
-  };
-
-  const handleEdit = (record) => {
-    setEditingMember(record);
-    setIsEditModalVisible(true);
-  };
-
-  const handleDelete = async (id) => {
-    try {
-      console.log('尝试删除会员,ID:', id); // 调试日志
-      Modal.confirm({
-        title: '确认删除',
-        content: '您确定要删除这个会员吗?此操作不可逆。',
-        onOk: async () => {
-          const result = await deviceApi.deletePerson(id);
-          console.log('删除会员结果:', result); // 调试日志
-          if (result.success) {
-            message.success('会友删除成功');
-            fetchMembers(); // 重新获取会员列表
-          } else {
-            throw new Error(result.message || '删除失败');
-          }
-        },
-        onCancel() {
-          console.log('取消删除操作');
-        },
-      });
-    } catch (error) {
-      console.error('删除会友失败', error);
-      message.error(`删除会友失败: ${error.message}`);
-    }
-  };
-
-  const handleMemberAdded = (newMember) => {
-    setMembers([...members, newMember]);
-    setIsAddModalVisible(false);
-  };
-
-  const handleMemberEdited = (editedMember) => {
-    setMembers(members.map(member => 
-      member.personId === editedMember.personId ? editedMember : member
-    ));
-    setIsEditModalVisible(false);
-  };
+  // ... 其他方法保持不变
 
   const columns = [
     {
@@ -139,7 +100,10 @@ const MemberList = () => {
   return (
     <div>
       <h2>会友列表</h2>
-      <Button onClick={handleAdd} type="primary" style={{ marginBottom: 16 }}>
+      <Button onClick={fetchMembers} type="primary" style={{ marginBottom: 16, marginRight: 16 }}>
+        刷新列表
+      </Button>
+      <Button onClick={() => setIsAddModalVisible(true)} type="primary" style={{ marginBottom: 16 }}>
         添加会友
       </Button>
       <ExcelImportExport members={members} onImport={fetchMembers} />