123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- "use strict";
- import axios from "axios"
- // import router from '../router/index'
- import { browser } from '@/common/common'
- // Full config: https://github.com/axios/axios#request-config
- // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
- // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
- // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
- let config = {
- // baseURL: process.env.baseURL || process.env.apiUrl || ""
- // timeout: 60 * 1000, // Timeout
- // withCredentials: true, // Check cross-site Access-Control
- // transformRequest: [function(data) {
- // console.log(data)
- // if(!data.qStringify) {
- // data = qs.stringify({
- // ...data
- // })
- // }
- // return data
- // }]
- };
- const _axios = axios.create(config);
- _axios.interceptors.request.use(
- function(config) {
- // Do something before request is sent
- // 判断用户是否登录
- if(browser().android || browser().iPhone) { // app里面
- let userInfo = localStorage.getItem('Authorization')
- if(userInfo) {
- config.headers['Authorization'] = userInfo
- }
- } else { // 网页里面
- let auth = localStorage.getItem('userInfo')
- if(auth) {
- config.headers['Authorization'] = auth
- }
- }
- return config;
- },
- function(error) {
- // Do something with request error
- return Promise.reject(error);
- }
- );
- // Add a response interceptor
- _axios.interceptors.response.use(
- function(response) {
- // Do something with response data
- if(response.data.code == 403) {
- window.localStorage.removeItem('userInfo') // 删除用户信息
- window.localStorage.removeItem('Authorization') // 删除用户信息
- // android ios 注册方法
- if(browser().android) {
- DAYA.postMessage(JSON.stringify({api: 'login'}))
- } else if(browser().iPhone) {
- window.webkit.messageHandlers.DAYA.postMessage(JSON.stringify({api: 'login'}))
- }
- }
- return response;
- },
- function(error) {
- // Do something with response error
- return Promise.reject(error);
- }
- );
- // Plugin.install = function(Vue) {
- // Vue.axios = _axios;
- // window.axios = _axios;
- // Object.defineProperties(Vue.prototype, {
- // axios: {
- // get() {
- // return _axios;
- // }
- // },
- // $axios: {
- // get() {
- // return _axios;
- // }
- // },
- // });
- // };
- // Vue.use(Plugin)
- export default _axios
|