小程序网络请求封装

http.js

//请求地址
const tokenName = "token"
let token = ""
/**
 * 通用函数
 * @param {string} url 请求地址
 * @param {string} method 请求类型
 * @param {object} data 请求参数
 */
var http = function (url, method, data = {}) {
  let apiURL = getApp().globalData.baseURL + '/api'
  return new Promise((resolve, reject) => {
    let that = this
    wx.getStorage({
      key: tokenName,
      success(res) {
        //console.log("本地Token",res.data);
        token = res.data
      },
      fail(err) {
        //console.log("本地暂无用户数据:", err)
      },
      complete() {
        wx.request({
          url: apiURL + url,
          method,
          header: {
            token: token,
            appid: wx.getAccountInfoSync().miniProgram.appId
          },
          data,
          success: res => {
            resolve(res.data);
          },
          fail: err => {
            reject(err);
          }
        })
      }
    });
  })
}

/**
 * get请求
 * @param {string} url 请求地址
 * @param {object} data 请求参数
 */
var get = function (url, data) {
  return http(url, 'GET', data)
}

/**
 * post请求
 * @param {string} url 请求地址
 * @param {object} data 请求参数
 */
var post = function (url, data) {
  return http(url, 'POST', data)
}

/**
 * 上传文件
 */
var upload = function (url, data) {
  let apiURL = getApp().globalData.baseURL + '/api';
  return new Promise((resolve, reject) => {
    wx.getStorage({
      key: tokenName,
      success(res) {
        //console.log(res.data);
        token = res.data
      },
      fail(err) {
        //console.log("本地暂无用户数据:", err)
      },
      complete() {
        wx.uploadFile({
          url: apiURL + url,
          filePath: data,
          name: 'file',
          formData: {
            'from': 'xcx',
          },
          header: {
            'token': token
          },
          success: function (res) {
            let jsonstr = JSON.parse(res.data)
            resolve(jsonstr);
          },
          fail: function (res) {
            let jsonstr = JSON.parse(res.data)
            reject(jsonstr);
          },
        })
      }
    });
  })
}


module.exports = {
  get,
  post,
  upload
}

api.js

import http from "./http"

export default {

  //获取openID
  userOpenid: (params = {}) => {
    return http.get("/miniapp/getUserOpenid", params)
  },

}

使用方式

api.userOpenid({
    code: res.code
}).then(res => {
    //处理接收的数据
})

  

posted @ 2025-05-15 20:54  ヤBestァ玉露い  阅读(14)  评论(0)    收藏  举报