123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- import axios from 'axios'
- import {
- getToken
- } from '@/common/auth.js'
- import store from '@/store/index.js'
- let url='';
- // uEnvDev
- if (process.env.NODE_ENV === 'development') {
- // TODO
- url='/api';
- }
- // uEnvProd
- if (process.env.NODE_ENV === 'production') {
- // TODO
- url='/eq/api';
- }
- // create an axios instance
- const service = axios.create({
- baseURL: url, // url = base url + request url
- // withCredentials: true, // send cookies when cross-domain requests
- //crossDomain=true,
- //headers: {'Content-Type': 'application/x-www-form-urlencoded'},
- timeout: 20000 // request timeout
- })
- // request interceptor
- service.interceptors.request.use(
- config => {
- // do something before request is sent
- //console.info("axioshelper request");
- //console.info(mget.getters);
- //console.info(store);
- if (store.state.isLogin) {
- // let each request carry token
- // ['X-Token'] is a custom headers key
- // please modify it according to the actual situation
- let tokenstr='';
- if(!store.state.token){
- let storageState = uni.getStorageSync('storage_state');
- tokenstr=storageState.token.tokenStr;
- }
- else{
- tokenstr=store.state.token.tokenStr;
- }
- config.headers['X-Token'] = tokenstr;
- }
- console.info('axioshelper request config',config);
- return config;
- },
- error => {
- // do something with request error
- console.log(error) // for debug
- return Promise.reject(error)
- }
- )
- // response interceptor
- service.interceptors.response.use(
- /**
- * If you want to get http information such as headers or status
- * Please return response => response
- */
- /**
- * Determine the request status by custom code
- * Here is just an example
- * You can also judge the status by HTTP Status Code
- */
- response => {
-
- console.info('axioshelper应答原始数据', response);
- const res = response.data;
- console.info('axioshelper应答response.data', res);
- if (res.code == 500) {
- uni.showModal({
- title: '系统错误',
- content: res.message,
- showCancel: false
- });
- return;
- }
- if(res.isSuccess==false&&(res.code==201||res.code==202||res.code==205)){
- uni.showModal({
- title: '警告',
- content: res.errMsg,
- showCancel: false,
- success:function(ret){
- if(ret.confirm){
- uni.navigateTo({
- url:'/pages/login/login'
- });
- }
- }
- });
- return;
- }
- //console.info(res);
- return res;
-
- // if the custom code is not 20000, it is judged as an error.
- // if (!res) {
- // uni.showModal({
- // content: "登录超时,请重新登录",
- // showCancel: false
- // });
- // // 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
- // console.info("message:" + res.message);
- // return Promise.reject(new Error(res.message || 'Error'))
- // } else {
- // console.info("正常登录");
- // return res;
- // }
- },
- error => {
- console.log('axioshelper 应答error' + error) // for debug
- uni.showModal({
- title: '错误',
- content: error.message,
- showCancel: false
- });
- return Promise.reject(error)
- }
- )
- export default service
|