微信小程序二次封装request网异常提示

全是菜鸟教程,粘就行,或者有自己的想法

小程序里

进入utils文件夹 我在里面新建了一个叫Http.js的文件 并进入

//正好定义一个公共请求的接口名,如下
const host="http://www.laravel.wechat.com/api/";
//关于接口健全的token,也可以有自己的想法(可以不写)
const token=wx.getStorageSync('token')
//开始封装request
function request(url,data,method){
        return new Promise((resolve,reject)=>{
                //微信小插件提示信息
                wx.showLoading({
                  title: '加载中',
                  duration:3000
                })
                wx.request({
                  url: host+url,
                  data:data||{},
                  header:{
                        'Authorization': `Bearer ${token}`
                  },
                  method:method||'GET',
                  success:res=>{
                          //关闭小插件
                          wx.hideLoading()
                          let statusCode=res.statusCode;
                          if(statusCode==200){
                                  resolve(res)
                          }else{
                                  //返回的端口号不是200就提示网络异常
                                  wx.showToast({
                                    title: '网络异常,请检查网络状态',
                                    icon:'none',
                                    duration:3000
                                  })
                                  resolve(res)
                          }
                  },
                  //报错也返回
                  fail:res=>{
                          wx.hideLoading()
                          wx.showToast({
                                title: '网络异常,请检查网络状态',
                                icon:'none',
                                duration:3000
                              })
                              resolve(res)
                  }
                })
        })
}
//特别注意 调用 必须写
module.exports={
        request:request
}

在页面中引入

//跟着提示路径走好了
const requestReq = require('路径');

示例:

//见名思意
requestReq.request('二级域名').then(res => {
                      })
let that=this
    requestReq.request('datail',{'id':id,'name':name}).then(res=>{
        console.log(res)
        that.setData({
          article:res.data.data
        })
    })
对于微信小程序网络请求,可以使用微信官方提供的 wx.request 方法来实现。如果你希望封装一个类似 Axios 的网络请求库,可以按照以下步骤进行: 1. 创建一个封装网络请求类,例如命名为 Axios。 2. 在 Axios 类中创建一个方法,例如命名为 request,用于发送网络请求。 3. 在 request 方法中,使用 wx.request 方法发送网络请求,并返回一个 Promise 对象以便进行异步处理。 4. 在 Promise 的 resolve 中返回请求成功的结果,reject 中返回请求失败的原因。 5. 在 Axios 类中可以添加其他常用的方法,例如 get、post、put、delete 等,根据不同的请求类型调用 request 方法发送请求。 6. 在微信小程序的页面中引入 Axios 类,通过调用 Axios 类的方法来发送网络请求。 下面是一个简单的示例代码: ```javascript class Axios { static request(options) { return new Promise((resolve, reject) => { wx.request({ url: options.url, method: options.method || 'GET', data: options.data || {}, header: options.header || {}, success: res => { resolve(res.data); }, fail: error => { reject(error); } }); }); } static get(url, data, header) { return this.request({ url, data, header, method: 'GET' }); } static post(url, data, header) { return this.request({ url, data, header, method: 'POST' }); } // 其他常用方法... } // 在页面中使用 Axios.get('https://api.example.com/data') .then(res => { console.log(res); }) .catch(error => { console.error(error); }); ``` 通过以上封装,你可以像使用 Axios 一样使用 Axios 类发送网络请求。自然地,你可以根据实际需求对该网络请求库进行扩展和优化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值