Просмотр исходного кода

应用市场错误响应处理

lixp11 лет назад: 4
Родитель
Сommit
58c64ec2da

+ 4 - 0
2020/appstore/src/assets/css/index-mobile.css

@ -583,4 +583,8 @@
583 583
    line-height: .32rem;
584 584
    margin: .4rem auto 0;
585 585
  }
586
587
  .el-message {
588
    min-width: 3.2rem;
589
  }
586 590
}

+ 30 - 18
2020/appstore/src/axios.js

@ -1,26 +1,38 @@
1 1
import axios from 'axios';
2
import router from './router/index';
2
import { Message } from 'element-ui';
3 3
4
// axios.interceptors.request.use(
5
//   (config) => {
6
//     // 在发送请求之前做些什么,添加公共前缀,自动添加sessionid
7
//   },
8
//   (error) => {
9
//     // 对请求错误做些什么
10
//     return Promise.reject(error);
11
// });
4
axios.defaults.timeout = 20000;
12 5
13
axios.interceptors.response.use(
14
  response => { // status == 200 接收请求之前判断
15
    let data = response.data;
6
axios.interceptors.request.use(
7
  config => {
8
    return config;
9
  },
10
  error => {
11
    return Promise.reject(error);
12
  },
13
);
16 14
17
    if (data.X_RESULTCODE !== '0') {
18
      return Promise.reject(response);
19
    }
20
    return data;
15
axios.interceptors.response.use(
16
  response => {
17
    return response.data;
21 18
  },
22
  error => { // 处理响应错误
23
    router.push({ name: 'Error' });
19
  error => {
20
    if (error.message.includes('timeout')) {
21
      Message({
22
        type: error,
23
        message: '服务连接超时...',
24
        center: true,
25
        duration: 10000,
26
      });
27
    } else {
28
      Message({
29
        type: error,
30
        message: '服务器连接失败...',
31
        center: true,
32
        duration: 10000,
33
      });
34
    }
35
    return Promise.reject(error);
24 36
  },
25 37
);
26 38

+ 2 - 2
2020/appstore/src/views/Detail.vue

@ -20,7 +20,7 @@
20 20
21 21
          <div class="app-detail-info">
22 22
            <div class="app-detail-name">{{app.APP_NAME}}</div>
23
            <div class="app-detail-type">类型:</div>
23
            <div class="app-detail-type"></div>
24 24
            <div class="app-detail-version"><span>版本:</span>
25 25
              <template v-for="v in apkType">
26 26
                <span :key="v.APK_TYPE" :class="v.APK_TYPE.toLowerCase()">
@ -244,7 +244,7 @@ export default {
244 244
  font-size: 24px;
245 245
  opacity: .85;
246 246
  line-height: 24px;
247
  margin-bottom: 22px;
247
  margin-bottom: 42px;
248 248
}
249 249
250 250
.app-detail-info div {

+ 4 - 1
2020/appstore/src/views/Frame.vue

@ -88,10 +88,13 @@ export default {
88 88
    }
89 89
90 90
    // 测试环境 /display/getAppType  /ipu-home/wlwdata?action=appStore.getAppType
91
    this.$http.get('/ipu-home/wlwdata?action=appStore.getAppType')
91
    this.$http.get('/display/getAppType')
92 92
      .then((res) => {
93 93
        this.appTypes = res.APP_TYPE;
94 94
        this.$store.commit('setAppData', res.APP_TYPE);
95
      })
96
      .catch((err) => {
97
        this.$router.push({ name: 'Error' });
95 98
      });
96 99
  },
97 100
  beforeRouteUpdate(to, from, next) { // 进入之前,更新state信息

+ 1 - 1
2020/appstore/vue.config.js

@ -36,6 +36,6 @@ module.exports = {
36 36
  },
37 37
  publicPath: './',
38 38
  devServer: {
39
    proxy: 'http://appstore.aiipu.com' // http://121.42.183.206:9070  http://appstore.aiipu.com
39
    proxy: 'http://121.42.183.206:9070' // http://121.42.183.206:9070  http://appstore.aiipu.com
40 40
  }
41 41
}