Deprecated: Constant PDO::MYSQL_ATTR_USE_BUFFERED_QUERY is deprecated since 8.5, use Pdo\Mysql::ATTR_USE_BUFFERED_QUERY instead in /www/wwwroot/www.1998123.xyz/var/Typecho/Db/Adapter/Pdo/Mysql.php on line 71
小程序 request封装 - 98123_学习与记录

封装
/**

  • 封装request
    */

    class Request {
    constructor (parms) {

     this.withBaseURL = parms.withBaseURL
     this.baseURL = parms.baseURL

    }
    get (url, data) {

     return this.request('GET', url, data)

    }
    post (url, data) {

     return this.request('POST', url, data)

    }
    put (url, data) {

     return this.request('PUT', url, data)

    }
    request (method, url, data) {

     const vm = this
     return new Promise((resolve, reject) => {
       wx.request({
         url: vm.withBaseURL ? vm.baseURL + url : url,
         data,
         method,
         header: {
           'content-type': 'application/json' // 默认值
          },
         success (res) {
           resolve(res)
         },
         fail () {
           reject({
             msg: '请求失败',
             url: vm.withBaseURL ? vm.baseURL + url : url,
             method,
             data
           })
         }
       })
     })

    }
    }

    const request = new Request({
    baseURL: 'http://127.0.0.1',//本地环境
    // baseURL: 'http://127.0.0.1',//线上
    withBaseURL: true
    })

    module.exports = request

使用办法

在page上面加上这个

var libs = require('../../utils/request')

//get请求

libs.get('/aaa', {
  a: 0,
  b: 1
}).then(res => {
  console.log(res)
}).catch(e => {
  console.log(e)
})

//post请求

libs.post('/aaa', {
  a: 0,
  b: 1
}).then(res => {
  console.log(res)
}).catch(e => {
  console.log(e)
})

举一反三。

标签: none

添加新评论