uniapp封装request

-----config.js

let url_config = ""

if (process.env.NODE_ENV === 'development') {
  // 开发环境
  url_config = ''
} else {
  // 生产环境
  url_config = ''
}

export default url_config

 

-----request.js

import axios from 'axios'
import urlConfig from './config.js'
import store from '@/store'
import {
getToken
} from '@/utils/auth.js'
const request = {}
const headers = {}
request.globalRequest = (url, method, data) => {
  if (!data) {
    data = {}
  }
  if (getToken()) {
    headers['Authorization'] = 'Bearer ' + getToken() || ''
  }
  console.log(data);
  return new Promise((resolve, reject) => {
    uni.request({
      url: urlConfig + url,
      method: method,
      data: data,
      sslVerify: false,
      dataType: 'json',
      header: headers,
      timeout: 5 * 1000
    }).then(res => {
      console.log("当前接口调用==: " + urlConfig + url);
      const new_data = res[1].data
      console.log(new_data)
      if (new_data.code && new_data.code == 200) {  
        resolve(new_data)
      } else {
        uni.showToast({
          title: new_data.msg,
          icon: 'none',
          duration: 3 * 1000
        })
        reject(new_data.msg || '请求失败,请重新尝试')
      }
    }).catch(res => {
      uni.showModal({
        title: '提示',
        content: '请求失败,请重新尝试',
        showCancel: false
      })
      reject(res.msg || '请求失败,请重新尝试')
    })
  })
}
export default request

 

封装接口 api

-----api/login.js

import request from '@/utils/request.js'

/**
* 手机号登录
*/
export function login(params) {
  return request.globalRequest(`/login`, 'POST', params)
}

 

实际调用

import { login } from '@/api/login.js'

login(params).then(res => {
  // 调用成功执行操作
}).catch((error) => {
  // 调用失败执行操作
})

posted @ 2020-12-10 15:01  nie_pengcheng  阅读(312)  评论(0编辑  收藏  举报