12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- import utils from './utils.js'
- import config from '../config.js'
- const instance = axios.create({
- timeout: 10000
- })
- const urlHandle = function(method, url, param) {
- let queryStr = ''
- let data = param || {}
- if (method !== 'get') {
- return url
- }
- Reflect.ownKeys(data).forEach((one, index) => {
- let preStr = ''
- if (index) {
- preStr = '&'
- }
- queryStr = `${queryStr}${preStr}${one}=${data[one]}`
- })
- return queryStr ? `${url}?${queryStr}` : url
- }
- export default (param) => {
- let path = param.rootPath ? param.url : config.base_url + param.url
- let url = param.automaticQuery ? urlHandle(param.method, path, param.data) : path
- instance.defaults.headers.common['Accept-Language'] = 'zh-CN'
- instance.defaults.headers.common['timeOffset'] = new Date().getTimezoneOffset() * 60 * 1000
-
- instance.defaults.headers.common['timestamp'] = +new Date()
-
- instance.defaults.headers.common['nonce'] = `web-${utils.guid()}-${+new Date()}`
- let headers = param.headers || {}
- if ((sessionStorage.token || localStorage.token) && !param.isNoToken) {
- let token = sessionStorage.token ? sessionStorage.token : localStorage.token
- if(param.url.includes('access_token=')) {
- headers.Authorization = 'Basic ' + 'YnJvd3Nlcjpicm93c2Vy'
- } else {
- headers.Authorization = 'Bearer ' + token
- }
- }
- instance({
- method: param.method,
- url: url,
- data: param.data || {},
- params: param.data && param.data.params ? param.data.params : {},
- headers: headers,
- timeout: param.timeout || 10000
- }).then(function (res) {
- res = utils.decodeObj(res)
- if (res.data.success) {
- param.onSuccess && param.onSuccess(res)
- } else {
- console.log('ajaxError================')
- param.onError && param.onError(res)
- }
- }).catch(function (e) {
- param.onError && param.onError(e)
- console.log('ajaxError================' + url + e)
- })
- }
|