微信小程序跟支付寶小程序都提供了一個(gè)發(fā)起 HTTPS 網(wǎng)絡(luò)請求的方法request擅笔,那么為了節(jié)省一些操作我們有必要對它進(jìn)行一個(gè)二次的封裝
根目錄創(chuàng)建api文件夾
在api文件下創(chuàng)建request.js文件留美,然后引入getApp()痴施、loading組件胜卤,同時(shí)使用文檔上的方法創(chuàng)建:
import * as loader from '../components/loading'
export function request(config) {
// 加載loading
loader.showLoading()
let port = app.globalData.address;
// 解構(gòu)賦值
let {
url = '',
data = {},
method = 'POST'
} = { ...config }
return new Promise((resolve, reject) => {
my.request({
url: port + url,
method: method,
data: {...data},
success: (res) => {
loader.hideLoading()
resolve(res.data)
},
fail: (err) => {
loader.hideLoading()
reject(err)
}
});
})
}
頁面上使用方法
一瑟曲、在api文件下創(chuàng)建配置參數(shù)地址方法
比如index首頁需要請求接口,那么在api文件下創(chuàng)建getIndex.js呻征,然后再創(chuàng)建提供調(diào)用的方法:
import { request } from '../api/request'
/* 商家信息 */
export const getIndexData = (data) => {
return request({
url: '/DSP_API/video/getVideoDetail',
method: 'POST',
data
})
}
這里以對象的方式傳遞過去,request拿到對象數(shù)據(jù)用es6解構(gòu)賦值拿到對應(yīng)的參數(shù)
二罢浇、頁面調(diào)用getIndex.js方法
import { getIndexData } from '../../api/getIndex'
let app = getApp()
Page({
data: {
},
onLoad() {
this._getIndexData()
},
_getIndexData(){
const data = {
"video_id": "292"
}
getIndexData(data).then((res) => {
console.log(res)
}).catch((err) => {
console.log(err)
})
}
});