学习旧岛小程序 (4)封装api 请求

时间:2023-03-10 08:22:08
学习旧岛小程序 (4)封装api 请求

1.配置基本的 请求路径 和 key

config.js

const config = {
baseUrl: 'http://bl.7yue.pro/v1/',
appkey: ""
}
export { config }
//Es6的导出

2.封装

util/http

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

class HTTP {
constructor() {
this.baseRestUrl = config.baseUrl
}
//http 请求类, 当noRefech为true时,不做未授权重试机制
request(params) {
var that = this
var url = this.baseRestUrl + params.url; if (!params.method) {
params.method = 'GET';
}
wx.request({
url: url,
data: params.data,
method: params.method,
header: {
'content-type': 'application/json',
'appkey':config.appkey
},
success: function (res) {
// 判断以2(2xx)开头的状态码为正确
// 异常不要返回到回调中,就在request中处理,记录日志并showToast一个统一的错误即可
// var code = res.statusCode.toString();
// var startChar = code.charAt(0);
let code = res.statusCode.toString();
if(code.startsWith('')) {
params.success && params.success(res.data);
}else {
params.error && params.error(res);
}
// if (startChar == '2') {
// params.success && params.success(res.data);
// } else {
// params.error && params.error(res);
// }
},
fail: function (err) {
params.fail && params.fail(err)
}
});
}
}; export { HTTP };

3.使用

先引入 ,再实例化

import  {HTTP} from   '../../utils/http.js'

  

let http = new  HTTP();

发送请求:

    // 单个请求
http.request({
url:'classic/latest',
success: function(res) {
console.log(res)
}
})