class request { static BASE_URL = 'https://llzlovesh.top/api/' static HEAD = { "Content-Type": "application/json", "defaultToken": 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE2MTY5MDg3NjAsImV4cCI6MjQ4MDgyMjM2MCwidXNlcklkIjoxMjM0NTY3ODksInZpc2l0b3IiOiJ2aXNpdG9yNjA2MDExZDg4NTQwYyIsImlzQWRtaW4iOjAsImFkbWluSWQiOjB9.7XrRxA3WYMBlqJWIXEw-71AxOxQvCc4VVVN6rlqn3uc', "token":'', } static constructor() { } /** * 设置统一的异常处理 */ static setErrorHandler(handler) { this._errorHandler = handler } /** * GET类型的网络请求 */ static getRequest(url, data, header = this.HEAD ) { const token = wx.getStorageSync('token') if (token) { header.token = token }else { header.token = header.defaultToken } return this.requestAll(url, data, header, 'GET') } /** * DELETE类型的网络请求 */ static deleteRequest(url, data, header = this.HEAD ) { const token = wx.getStorageSync('token') if (token) { header.token = token }else { header.token = header.defaultToken } return this.requestAll(url, data, header, 'DELETE') } /** * PUT类型的网络请求 */ static putRequest(url, data, header = this.HEAD ) { const token = wx.getStorageSync('token') if (token) { header.token = token }else { header.token = header.defaultToken } return this.requestAll(url, data, header, 'PUT') } /** * POST类型的网络请求 */ static postRequest(url, data, header = this.HEAD) { const token = wx.getStorageSync('token') if (token) { header.token = token }else { header.token = header.defaultToken } return this.requestAll(url, data, header, 'POST') } static upload(url, name, path, ortherData, header = this.HEAD){ const token = wx.getStorageSync('token') if (token) { header.token = token }else { header.token = header.defaultToken } return new Promise((resolve, reject) => { wx.uploadFile({ url: url, header: header, filePath: path, name: name, formData: ortherData, success: (res => { res.data = JSON.parse(res.data); if (res.data.code === 1) { //200: 服务端业务处理正常结束 resolve(res.data) } else { if (res.data.code === 0){ wx.showToast({ title: res.data.message, }) } if (res.data.code === 901) { _self.HEAD.token = '' } //其它错误,提示用户错误信息 if (this._errorHandler != null) { //如果有统一的异常处理,就先调用统一异常处理函数对异常进行处理 this._errorHandler(res) } reject(res) } }), fail: (res => { if (this._errorHandler != null) { this._errorHandler(res) } wx.showToast({ title: '网络异常请,稍后再试~', }) reject(res) }) }) }) } /** * 网络请求 */ static requestAll(url, data, header, method) { const _self = this wx.showLoading() return new Promise((resolve, reject) => { wx.request({ url: url, data: data, header: header, method: method, success: (res => { wx.hideLoading() if (res.data.code === 1) { //200: 服务端业务处理正常结束 resolve(res.data) } else { if (res.data.code === 0){ wx.showToast({ title: res.data.message, }) } if (res.data.code === 901) { _self.HEAD.token = '' } //其它错误,提示用户错误信息 if (this._errorHandler != null) { //如果有统一的异常处理,就先调用统一异常处理函数对异常进行处理 this._errorHandler(res) } reject(res) } }), fail: (res => { if (this._errorHandler != null) { this._errorHandler(res) } wx.showToast({ title: '网络异常请,稍后再试~', }) reject(res) }) }) }) } } export default request