1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
| class Request { constructor(options = {}) { this.baseUrl = options.baseUrl || '' this.url = options.url || '' this.method = 'GET' this.data = null this.header = options.header || {} this.beforeRequest = null this.afterRequest = null }
_mergeHeaders(customHeader = {}) { return Object.assign({}, this.header, customHeader); }
get(url, data = {}) { this.method = 'GET' this.url = this.baseUrl + url this.data = data return this._() }
post(url, data = {}, header = {}) { this.method = 'POST' this.url = this.baseUrl + url this.data = data this.header = this._mergeHeaders(header) return this._() }
put(url, data = {}) { this.method = 'PUT' this.url = this.baseUrl + url this.data = data return this._() }
delete(url, data = {}) { this.method = 'DELETE' this.url = this.baseUrl + url this.data = data return this._() }
_() { this.header = {} this.beforeRequest && typeof this.beforeRequest === 'function' && this.beforeRequest(this) return new Promise((resolve, reject) => { uni.request({ url: this.url, method: this.method, data: this.data, header: this.header, success: (res) => { if (res.statusCode == 200) { resolve(res.data) } else { resolve({ code: 1, msg: "请求失败" }); } }, fail: (err) => { resolve({ code: 1, msg: "请求失败"
}); }, complete: (res) => { this.afterRequest && typeof this.afterRequest === 'function' && this .afterRequest(res) } }) }) } }
export const $http = new Request()
|