liyongli há 1 ano atrás
pai
commit
b685926fb4
4 ficheiros alterados com 48 adições e 18 exclusões
  1. 3 3
      src/api/api.d.ts
  2. 41 2
      src/api/index.tsx
  3. 2 11
      src/api/system.tsx
  4. 2 2
      src/view/login/index.tsx

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

@@ -1,4 +1,4 @@
 interface api_login_params {
-  username: string;
-  password: string;
-}
+  loginName: string;
+  loginPassword: string;
+}

+ 41 - 2
src/api/index.tsx

@@ -1,7 +1,8 @@
 import axios from 'axios';
+import { message } from 'antd';
 import { api } from '../config/index';
 
-export const _axios = axios.create({
+const _axios = axios.create({
   baseURL: api.url,
   timeout: api.timeout,
   headers: {
@@ -9,5 +10,43 @@ export const _axios = axios.create({
   }
 });
 
+// 拦截请求
+// 请求拦截器,用于显示加载提示
+_axios.interceptors.request.use(
+    config => {
+      // 显示加载提示(例如:加载中...)
+      message.loading('数据加载中...', 0); // duration设为0表示不会自动关闭
+      return config;
+    },
+    error => {
+      // 对请求错误进行处理,如显示错误提示
+      message.error('请求发送失败,请稍后再试');
+      return Promise.reject(error);
+    }
+  );
+  
+  // 响应拦截器,用于处理请求结果并关闭加载提示
+  _axios.interceptors.response.use(
+    response => {
+      // 请求成功,关闭加载提示
+      message.destroy(); // 关闭之前创建的loading提示
+      return response;
+    },
+    error => {
+      // 请求失败,关闭加载提示并显示错误信息
+      message.destroy();
+      if (error.response) {
+        message.error(`请求失败:${error.response.status} ${error.response.statusText}`);
+      } else {
+        message.error('网络异常,请检查网络连接');
+      }
+      if(error.response.data) {
+        const { message, code } = error.response.data;
+        if(code !== 0) message.error(`请求失败:${code} ${message}`);
+      }
+      return Promise.reject(error);
+    }
+  );
+  
 
-
+export default _axios;

+ 2 - 11
src/api/system.tsx

@@ -1,14 +1,5 @@
-import { _axios } from './index';
-import { message } from 'antd';
-const [messageApi] = message.useMessage();
+import _axios from './index';
 
 export const api_login = (params: api_login_params) => {
-  return _axios.post('/user/login2', params).catch(err => {
-    console.log(err.response.data.status);
-    const {} = err.response.data;
-    messageApi.open({
-      type: 'error',
-      content: `错误代码:`
-    });
-  });
+  return _axios.post('/user/login', params).catch(err => {});
 };

+ 2 - 2
src/view/login/index.tsx

@@ -23,7 +23,7 @@ const Login: React.FC = () => {
           onFinish={onFinish}
         >
           <Form.Item
-            name='username'
+            name='loginName'
             rules={[{ required: true, message: '请输入用户名!' }]}
           >
             <Input
@@ -32,7 +32,7 @@ const Login: React.FC = () => {
             />
           </Form.Item>
           <Form.Item
-            name='password'
+            name='loginPassword'
             rules={[{ required: true, message: '请输入密码!' }]}
           >
             <Input