微信小程序网络请求二次封装

在微信小程序中,网络请求操作是非常频繁的,这样导致重复的代码太多了,防止浪费一些不必要的时间,所以,在项目搭建之初,请封装好一切可以封装的代码。

首先配置一个基地址:

复制代码
export default {
    host: "http://localhost:3000",
}

封装请求:

复制代码
// 请求的二次封装
// 保留静态代码,抽离动态代码
import config from "./config";
 
export default (url, data = {}, method = "GET")=> {
    return new Promise((resolve,reject) => {
        wx.request({
            url: config.host + url,
            data,
            method,
            success: (res)=>{
                // 请求成功
                // this 是为undefined,所以不能使用this.setData设置数据了
                console.log(res);
                resolve(res.data)
            },
            fail: (err)=>{
                // 请求失败
                console.log(err);
                reject(err)
            },
        });
    }
}

如何使用:

复制代码
import request from "../../utils/request.js"
 
onLoad: async function (options) {
    const listData = await request("/banner", {type: 2})
    this.setData({
        list: listData.data
    })
    console.log(listData)
}    
相关推荐
2501_918941051 小时前
旅游微信小程序制作指南
微信小程序·小程序·旅游
全职计算机毕业设计1 小时前
SpringBoot+Mysql实现的停车场收费小程序系统+文档
spring boot·mysql·小程序
邹荣乐1 小时前
微信小程序动态tabBar实现:基于自定义组件,灵活支持不同用户角色与超过5个tab自由组合
前端·微信小程序·uni-app
半兽先生6 小时前
uniapp微信小程序视频实时流+pc端预览方案
微信小程序·uni-app·音视频
KerwinChou_CN7 小时前
自由开发者计划 004:创建一个苹果手机长截屏小程序
图像处理·算法·智能手机·小程序
Uyker7 小时前
空间利用率提升90%!小程序侧边导航设计与高级交互实现
前端·微信小程序·小程序
说私域7 小时前
基于开源AI智能名片链动2+1模式S2B2C商城小程序的生态农庄留存运营策略研究
人工智能·小程序·开源·零售
Nightne7 小时前
小程序引入deepseek
小程序
胡斌附体15 小时前
uniapp路由跳转toolbar页面
小程序·uni-app·switch·路由·type·uview-ui
小二·21 小时前
Vue前端篇——Vue 3的watch深度解析
微信小程序·小程序