12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- class Request {
- constructor(options = {}) {
- // 请求的根路径
- this.baseUrl = options.baseUrl || ''
- // 请求的 url 地址
- this.url = options.url || ''
- // 请求方式
- this.method = 'GET'
- // 请求的参数对象
- this.data = null
- // header 请求头
- this.header = options.header || {}
- this.beforeRequest = null
- this.afterRequest = null
- }
- get(url, data = {}) {
- this.method = 'GET'
- this.url = this.baseUrl + url
- this.data = data
- return this._()
- }
- post(url, data = {}) {
- this.method = 'POST'
- this.url = this.baseUrl + url
- this.data = data
- 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._()
- }
- _() {
- // 清空 header 对象
- this.header = {}
- // 请求之前做一些事
- this.beforeRequest && typeof this.beforeRequest === 'function' && this.beforeRequest(this)
- // 发起请求
- return new Promise((resolve, reject) => {
- let weixin = wx
- // 适配 uniapp
- if ('undefined' !== typeof uni) {
- weixin = uni
- }
- weixin.request({
- url: this.url,
- method: this.method,
- data: this.data,
- header: this.header,
- success: (res) => { resolve(res) },
- fail: (err) => { reject(err) },
- complete: (res) => {
- // 请求完成以后做一些事情
- this.afterRequest && typeof this.afterRequest === 'function' && this.afterRequest(res)
- }
- })
- })
- }
- }
- export const $http = new Request()
|