微信小程序如何封装wx.request请求封装步骤(基于面对对象)

本文详细介绍了如何在微信小程序中封装网络请求,包括创建utils文件夹及base.js文件,封装服务器接口路径,以及如何在具体页面中使用封装后的请求方法进行数据获取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

步骤

1.新建utils文件夹(微信小程序自带),在utils下创建base.js(名字可以由自己来定)。
2.封住代码
.`class Base {
constructor() {
this.baseRequestUrl = “http://123.cn/” //封装服务器接口路径,方便修改
}
reuqest(params) { //将所有request中需要用到的放进params参数中
var url = this.baseRequestUrl + params.url; //构造完整接口路径
if (!params.type) { //判断请求方式如果为空即默认让它为GET请求
params.type = ‘GET’;
}
wx.request({
url: url,
data: params.data,//请求的数据为默认
header: {
‘content-type’: ‘application/json’,
‘token’: wx.getStorageSync(‘token’)
},
method: params.type,
success: function(res) {
params.sCallback && params.sCallback(res) //sCallback为回调函数为了解决异步请求结果
},
fail: function(err) {

  }
})

}
}

export {Base} //抛出Base类`

3.去需要请求数据新建页面
例:在这里插入图片描述
4.在request-model.js文件中`import {
Base
} from ‘…/…/utils/base.js’ //导入封装request的Base类

class Home extends Base { //继承类
constructor() { //创建构造函数以防报红
super();
}
getBannerData(id, callBack) { //id ,callBack为参数作为传递
var params = {
url: ‘banner/’ + id,
sCallback: function(res) { //回调函数接受res结果
callBack && callBack(res.items)
}
}

}
}
export {
Home
};
5.// requestPackage/request/request.js
import {
Home
} from ‘request-model.js’; //导入类
var home = new Home(); //实例化类名
Page({

/**

  • 页面的初始数据
    */
    data: {

},

/**

  • 生命周期函数–监听页面加载
    */
    onLoad: function(options) {
    this._loadData() //页面加载时调用请求数据
    },
    _loadData: function() {
    var id = 1;
    home.getBannerData(id, (res) => { //用home类下的getBannerData请求
    console.log(res);
    //接下来直接数据绑定
    this.setData({
    banner: res
    })
    })
    },

})`

好了完成!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值