用戶
 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

掃一掃,登錄網站

小程序社區 首頁 工具/框架 查看內容

:Dov,一個基于axios 體驗的微信小程序請求工具

巴黎彩票计划 www.hknsi.icu Rolan 2019-5-22 00:18

基于 axios 體驗的微信小程序請求工具,完全使用Promise,并提供了請求和響應的攔截。引入到項目中import dov from './libs/dov.min.js' 快速使用// http.js import dov from './libs/dov.min.js' dov.get('//w ...

基于 axios 體驗的微信巴黎彩票计划請求工具,完全使用Promise,并提供了請求和響應的攔截。

引入到項目中

import dov from './libs/dov.min.js'

快速使用

// http.js
import dov from './libs/dov.min.js'

dov.get('//www.baidu.com/user').then(response => {
    console.log(response)
})
// 或者
dov.defaults.baseURL = '//www.baidu.com'   // 設置默認地址
dov.get('//www.baidu.com/user').then(response => {
    console.log(response)
})
復制代碼

第二個參數可以追加參數

dov.get('//www.baidu.com/user', {
    data: {
        username: 'dov',
        password: 'asdkln211232345sa'
    }
}).then(response => {
    console.log(response)
})
復制代碼

多個請求合并

function getUserInfo(){
    return dov.get('/userinfo')
}
function getUserPerssion(){
    return dov.get('/userPerssion')
}
dov.all([getUserInfo(), getUserPerssion()]).then(response => {
    console.log(response)
}).catch(error => {
    console.log(error)
})
復制代碼

dov API

dov(config)

dov({
  method: 'post',
  url: '//www.baidu.com/getUserInfo',
  data: {
    username: 'king',
    password: 'kingpassword'
  }
}).then(response => {
  console.log(response)
})

// 或
dov.defaults.baseURL = '//www.baidu.com'
dov({
  method: 'post',
  url: '/getUserInfo',
  data: {
    username: 'king',
    password: 'kingpassword'
  }
}).then(response => {
  console.log(response)
})
復制代碼

dov.(url[,config])

dov('//www.baidu.com/getUserInfo', {
  method: 'post',
  data: {
    username: 'king',
    password: 'kingpassword'
  }
}).then(response => {
  console.log(response)
})

復制代碼

小程序中定義了8種請求類型:微信小程序請求方式

  • GET
  • POST
  • PUT
  • DELETE,
  • OPTIONS,
  • HEAD,
  • TRACE,
  • CONNECT

axios.get(url[, config])

axios.post(url[, config])

axios.put(url[, config])

axios.delete(url[, config])

axios.options(url[, config])

axios.head(url[, config])

axios.tracce(url[, config])

axios.connect(url[, config])

創建實例

可能需要多個實例來操作時,可以通過 create 方法來實現。

let server1 = dov.create({
    baseURL: 'https://api.baidu.com'
})
let server2 = dov.create({
    baseURL: 'https://img.baidu.com'
})

server1.get('/getUserInfo').then(response => {
    console.log(response)
})
復制代碼

一般的配置參數都是參照微信的

微信小程序 request 請求參數列表

{
    baseURL: '', // 默認地址
    
    url: '',
    
    data: {},
    
    header: {},
    
    method: '',
    
    dataType: '',
    
    responseType: '',
}
復制代碼

Interceptors

dov 也提供了和 axios 一樣的請求攔截和響應攔截,并且可以配置多個

request

// 1.第一個 request 的攔截器
dov.interceptors.request.use(function (config) {
    config.data.header['Authorization'] = wx.getStorageSync('token')
    // ...
    return config
})
// 2.第二個 request 的攔截器,
dov.interceptors.request.use(function (config) {
    config.data.token = wx.getStorageSync('token')
    // ...
    return config
})
復制代碼

response

// 1.第一個 response 的攔截器
dov.interceptors.response.use(function (response) {
   if (response.status === 200) {
       ...
   }
    return response
})
// 2.第二個 response 的攔截器,
dov.interceptors.response.use(function (response) {
    if (response.status === 300) {
       ...
   }
    return response
})
復制代碼
分享至 : QQ空間
收藏
原作者: hot_pot_Leo 來自: 掘金
新时时历史数据 重庆时时开彩结果今天 加拿大28会提前开奖吗 浙江20选五中奖规则 排列五l预测精准一注 十五选五往期开奖 江苏时时网址 山东十一夺金一定牛 3d166前后关系 内蒙古十一选五开奖结果5 广东公式网精英主论坛 3d直选综合走势图 天津体彩11选五开奖走势图 竞彩足球稳赚跟单计划 肖一码′期期准 北京pk赛车10官网