| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import store from '@/store'
- import config from './config'
- import utils from './utils'
- const request = (method, url, data, opt) => {
- return new Promise((resolve, reject) => {
- opt.showLoading && uni.showLoading({
- title: opt.loadingTitle
- })
-
- uni.request({
- method,
- url: utils.isHttp(url) ? url : config.apiBaseUrl + url,
- header: {
- 'content-type': 'application/x-www-form-urlencoded',
- Authorization: store.state.token,
- ...opt.header
- },
- data
- }).then(res => {
- opt.showLoading && uni.hideLoading()
-
- const data = res.data
- if (data.code === 201) {
- store.commit('setUserInfo', {})
-
- // opt.isAuth && uni.navigateTo({
- // url: '/pages/login/login'
- // })
- }
-
- if (data.code === 200 || data.success) {
- resolve(data)
- } else{
- uni.showToast({
- title: data.msg,
- icon: 'none'
- })
- reject(data)
- }
- }).catch(err => {
- opt.showLoading && uni.hideLoading()
- reject(err)
- })
- })
- }
- const http = {}
- const methods = ['GET', 'POST', 'PUT', 'DELETE']
- methods.forEach(method => {
- http[method.toLowerCase()] = (url, data, options) => {
- const loadingTitle = method === 'GET' ? '加载中...' : '提交中...'
- const opt = Object.assign(
- { loadingTitle },
- config.httpDefaultOption,
- options
- )
- if (opt.isAuth) {
- if (!store.state.token) {
- // uni.navigateTo({
- // url: '/pages/login/login'
- // })
- // return Promise.reject({
- // msg: '无token'
- // })
- }
- }
-
- return request(method, url, data, opt)
- }
- })
- export default http
|