小程序request封装

import {config} from "../config.js"

var hasClick = false ;

class HTTP{
  request({url,data={},method='GET'}){
    return new Promise((resolve, reject)=>{
      this._request(url, resolve, reject, data,method )
    })
  }

 _request(url,resolve,reject,data={},method='GET'){

   if (hasClick){
     return ;
   }

   hasClick = true ;

   wx.showLoading({
     title: '加载中...',
     mask: true
   })

   let token = wx.getStorageSync("token");

   let header = {
     'content-type': 'application/json',
   }
   if (token) {
     header.Authorization = 'Bearer ' + token
   }

   wx.request({
     url: config.api_url+url,
     method:method,
     data:data,
     header: header,
     success:(res)=>{
       if (res.statusCode && res.statusCode != 200) {
         reject()
         this._show_error('服务器 ' + res.statusCode + ' 错误')
         return 
       }

       if (res.data && res.data.code != 200) {
         reject()
         this._show_error(res.data.msg)
         return 
       }

       resolve(res.data.data)
     },
     fail:(err)=>{
       reject()
       this._show_error('异常')
     },
     complete:()=>{
       wx.hideLoading()
       hasClick=false
     }

   })
 }

 _show_error(msg){
   wx.showToast({
     title: msg,
     icon:"none",
     duration:2000
   })
 }
}

export {HTTP} ;

 

config.js

const config={
  api_url:"http://myyqapi.com/",
  appkey:""
}
export {config}

封装model

import {HTTP} from '../utils/http.js'
class Index extends HTTP{
  getHot(){
    return this.request({
      url:"pc_v1/demo/hot"
    })
  }
}
export {Index}

 

使用

index.getHot().then(
      res=>{
        console.log(res)
        console.log("11111")
      }
    ).then(
      res=>{
        console.log("222222")
      }
    ).then(
      res => {
        console.log("33333")
      }
    )
    .catch(
      err=>{
        console.log(err)
      }
    )

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值