当前位置:首页小程序 > 正文

微信小程序中用于封装网络请求的方法

作者:野牛程序员:2025-01-02 08:32:47小程序阅读 2323
微信小程序中用于封装网络请求的方法

utils/api.js

const app = getApp();

/**
 * 封装的网络请求方法
 * @param {string} url 请求的 URL
 * @param {Object} data 请求的数据
 * @param {string} method 请求的方法(默认 GET)
 * @returns {Promise} 返回 Promise 对象
 */
const request = (url, data = {}, method = 'GET') => {
  return new Promise((resolve, reject) => {
    wx.request({
      url,
      data,
      method,
      header: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${app.globalData.token}` // 示例:添加授权头
      },
      success: (res) => {
        if (res.statusCode === 200) {
          resolve(res.data);
        } else {
          wx.showToast({
            title: `请求错误:${res.statusCode}`,
            icon: 'none'
          });
          reject(res);
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '网络错误,请检查网络连接',
          icon: 'none'
        });
        reject(err);
      }
    });
  });
};

module.exports = {
  request
};

说明

  1. 功能

    • request 方法是对 wx.request 的封装,方便发送 GET 或 POST 请求。

    • 默认采用 JSON 格式传递数据,并支持在请求头中添加认证信息。

  2. 使用方式

    • 引入 api.js 文件后,通过 request(url, data, method) 调用。

    • 例如:

const { request } = require('../../utils/api.js');

request('https://example.com/api', { key: 'value' }, 'POST')
  .then((response) => {
    console.log('成功:', response);
  })
  .catch((error) => {
    console.error('失败:', error);
  });

全局变量

    • 示例中使用了 app.globalData.token,需要在小程序 app.js 文件的 globalData 中初始化 token

如有需要,还可以扩展此文件以支持更多的请求功能,例如超时处理或重试机制。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 微信小程序中用于封装网络请求的方法
  • 相关推荐

    最新推荐

    热门点击