| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- import { BASE_URL, TIMEOUT, DEFAULT_HEADERS } from './config'
- const request = (options = {}) => {
- return new Promise((resolve, reject) => {
- const token = uni.getStorageSync('token') || ''
- uni.request({
- url: BASE_URL + options.url,
- method: options.method || 'GET',
- data: options.data || {},
- header: {
- ...DEFAULT_HEADERS,
- 'Content-Type': 'application/json',
- 'Authorization': token ? `Bearer ${token}` : '',
- ...options.header
- },
- timeout: TIMEOUT,
- success: (res) => {
- if (res.statusCode !== 200) {
- uni.showToast({ title: '网络请求异常', icon: 'none' })
- return reject(res)
- }
- const { code, msg, data, total, rows } = res.data
- if (code === 200) {
- resolve(rows !== undefined ? { total, rows } : data)
- } else if (code === 401) {
- uni.removeStorageSync('token')
- uni.reLaunch({ url: '/pages/login/index' })
- reject(res.data)
- } else {
- uni.showToast({ title: msg || '操作失败', icon: 'none' })
- reject(res.data)
- }
- },
- fail: (err) => {
- uni.showToast({ title: '网络异常,请稍后重试', icon: 'none' })
- reject(err)
- }
- })
- })
- }
- export const get = (url, data, options = {}) => request({ ...options, url, data, method: 'GET' })
- export const post = (url, data, options = {}) => request({ ...options, url, data, method: 'POST' })
- export const put = (url, data, options = {}) => request({ ...options, url, data, method: 'PUT' })
- export const del = (url, data, options = {}) => request({ ...options, url, data, method: 'DELETE' })
- export default request
|