微信小程序中配置不同的环境变量,并依据环境变量编写API接口请求文件

发布于:2025-03-05 ⋅ 阅读:(20) ⋅ 点赞:(0)

在微信小程序中,为了在不同环境(如开发、测试、生产)下使用不同的 API 接口地址,我们可以通过配置环境变量来实现。以下是具体的实现步骤和示例代码:

1. 创建环境配置文件

在项目根目录下创建一个 env.js 文件,用于定义不同环境下的配置信息。

// env.js
const envConfig = {
    development: {
        apiBaseUrl: 'https://dev-api.example.com',
        // 可以添加其他开发环境的配置
    },
    production: {
        apiBaseUrl: 'https://prod-api.example.com',
        // 可以添加其他生产环境的配置
    },
    // 可以根据需要添加更多环境,如测试环境
    test: {
        apiBaseUrl: 'https://test-api.example.com',
    }
};

// 手动指定当前环境,可根据实际情况修改
const currentEnv = 'development'; 

export default envConfig[currentEnv];

2. 创建 API 请求文件

在项目中创建一个 api.js 文件,用于封装 API 请求方法,并使用前面定义的环境变量。

// api.js
import config from './env.js';

// 封装通用的请求方法
function request(url, method = 'GET', data = {}) {
    return new Promise((resolve, reject) => {
        wx.request({
            url: config.apiBaseUrl + url,
            method: method,
            data: data,
            header: {
                'Content-Type': 'application/json'
            },
            success: (res) => {
                if (res.statusCode === 200) {
                    resolve(res.data);
                } else {
                    reject(new Error(`请求失败,状态码: ${res.statusCode}`));
                }
            },
            fail: (err) => {
                reject(err);
            }
        });
    });
}

// 定义具体的 API 请求方法
const api = {
    // 获取用户信息
    getUserInfo: () => {
        return request('/user/info');
    },
    // 提交表单数据
    submitForm: (formData) => {
        return request('/form/submit', 'POST', formData);
    }
    // 可以根据需要添加更多的 API 请求方法
};

export default api;

3. 在页面中使用 API 请求

在需要使用 API 的页面中引入 api.js 文件,并调用相应的 API 方法。

// pages/index/index.js
import api from '../../api.js';

Page({
    data: {
        userInfo: null
    },
    onLoad() {
        this.fetchUserInfo();
    },
    async fetchUserInfo() {
        try {
            const userInfo = await api.getUserInfo();
            this.setData({
                userInfo: userInfo
            });
            console.log('用户信息:', userInfo);
        } catch (error) {
            console.error('获取用户信息失败:', error);
        }
    }
});

4. 切换环境

如果需要切换环境,只需要修改 env.js 文件中的 currentEnv 变量的值即可。例如,将其修改为 production 就可以使用生产环境的 API 接口地址。

// env.js
const envConfig = {
    development: {
        apiBaseUrl: 'https://dev-api.example.com',
    },
    production: {
        apiBaseUrl: 'https://prod-api.example.com',
    }
};

// 切换到生产环境
const currentEnv = 'production'; 

export default envConfig[currentEnv];

通过以上步骤,你可以在微信小程序中配置不同的环境变量,并依据环境变量编写 API 接口请求文件,实现不同环境下的 API 调用。


网站公告

今日签到

点亮在社区的每一天
去签到