123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- /**
- * ajax请求相关的服务
- */
- import ServiceUrl from './config.env'
- class AjaxService {
- constructor() {
- this.name = 'AjaxService'
- }
- getBaseUrl(url = '') {
- return url.indexOf('://') > -1 ? url : ServiceUrl + url
- }
- getHeaders({ header = {} }) {
- header['Accept'] = 'application/json'
- header['Content-Type'] = 'application/json'
- return header
- }
- request(options = {}) {
- let header = this.getHeaders(options)
- let url = this.getBaseUrl(options.url)
- if (options.header) {
- header = Object.assign(header, options.header)
- }
- let { isLoading = true } = options
- if (isLoading) {
- uni.showLoading({ title: '加载中' })
- }
- const requestPromise = new Promise((resolve, reject) => {
- uni.request({
- url: url,
- method: options.method || 'POST',
- data: options.data || {},
- header,
- success: res => {
- if (isLoading) uni.hideLoading()
- if (options.isStatus) {
- resolve(res.data)
- } else {
- if (res.data.code === 0) {
- resolve(res.data)
- } else {
- reject(res.data)
- }
- }
- },
- fail: error => {
- reject(error)
- uni.hideLoading()
- }
- })
- })
- return requestPromise
- }
- get(options) {
- options.method = 'GET'
- return this.request(options)
- }
- post(options) {
- options.method = 'POST'
- return this.request(options)
- }
- }
- export default new AjaxService()
|