daShangDao_miniProgram/service/README.md
2025-11-24 10:25:20 +08:00

2.5 KiB
Raw Permalink Blame History

API 全局配置说明文档

概述

本项目实现了统一的API接口全局配置系统用于管理所有API请求的基础URL、请求头、超时设置等配置参数。这样可以在一处修改配置所有API请求都会自动应用这些配置。

配置文件结构

配置文件位于 utils/config.js,包含以下主要配置项:

  • baseURL: API基础URL所有相对路径的请求都会自动添加此前缀
  • clientId: 客户端ID用于API认证
  • grantType: 授权类型
  • timeout: 请求超时时间(毫秒)
  • headers: 默认请求头
  • 各模块API路径配置login、book等

请求工具

请求工具位于 utils/request.js封装了uni.request方法提供了以下功能

  • 自动添加baseURL
  • 自动添加请求头包括token
  • 统一的错误处理
  • 请求超时控制
  • 加载提示控制
  • 响应拦截401自动跳转登录页

API模块

API模块位于 service/api.js按功能模块组织API请求包括

  • loginApi: 登录相关API
  • bookApi: 书籍相关API
  • userApi: 用户相关API
  • warehouseApi: 仓库相关API

使用示例

1. 导入API模块

import { loginApi, bookApi } from '@/service/api.js';

2. 调用API方法

// 登录
loginApi.wxLogin(loginData)
  .then(response => {
    console.log('登录成功', response);
  })
  .catch(error => {
    console.error('登录失败', error);
  });

// 获取书籍记录
async function getBooks(phoneNumber) {
  try {
    const response = await bookApi.getBookRecords(phoneNumber);
    return response.data;
  } catch (error) {
    console.error('获取失败', error);
    return [];
  }
}

3. 添加新的API

service/api.js 中添加新的API方法

export const newModuleApi = {
  getMethod: (params) => {
    return request({
      url: '/path/to/api',
      method: 'GET',
      data: params,
      loading: true // 是否显示加载提示
    });
  },
  postMethod: (data) => {
    return request({
      url: '/path/to/api',
      method: 'POST',
      data,
      loading: true
    });
  }
};

注意事项

  1. 所有API请求都应该通过API模块进行不要直接调用uni.request
  2. 如需修改基础URL或其他全局配置只需修改utils/config.js文件
  3. 错误处理已在request.js中统一处理业务代码中可以专注于正常流程
  4. 对于特殊需求可以在调用API时传入自定义header覆盖默认配置