账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    vue如何灵活设置不同页面不同的limit参数
    36
    0

    利用vue-cli + ElementUI 随手写个东西

    然后根据网上的说法,简单封装了下axios,设置了一个拦截器,一个request,一个response

    如果我所以接口都是

    limit = 50

    我可以在request 里 设置

    config.params['limit'] = 50;

    但是我有些页面不能都是50,这样可能数据就太多了...

    所以我想 设置部分的是20,一部分可能是10,大部分还是50,

    然而我并不想每个页面请求的时候都带一个 limit=10 这种写法,

    那么,请问各位大神,我该怎么写?

    下面是我封装axios的代码

    import axios from 'axios';
    import { Message } from 'element-ui';
    import cookie from '../utils/cookie.js';
    
    
    const service = axios.create({
      baseURL: process.env.BASE_API, 
      timeout: 5000,                  
      params:{}
    });
    
    
    service.interceptors.request.use(config => {
    // console.log('请求前');
      if (config.method === 'get') {
        config.params['limit'] = 50;
      }
    
    
      if (cookie.getCookie('token') ) {
        config.headers['x-auth-token'] = cookie.getCookie('token'); 
      }
    
      return config;
    }, error => {
      console.log(error); 
      Promise.reject(error);
    })
    
    // respone拦截器
    service.interceptors.response.use(function (response) {
        // console.log('请求后',this.$route.params);
    
        // console.log(response.data);
        const code = response.data.code;
        const message = response.data.message;
        if (code === 411000000) {
          location.href = '/login'
        }
        if (code !== 0 && code !== 200 ) {
            Message({
              message: message,
              type: 'error',
              duration: 5 * 1000
            });
        }
        return response;
    },
     
      error => {
        console.log('err' + error);
        Message({
          message: error.message,
          type: 'error',
          duration: 5 * 1000
        });
        return Promise.reject(error);
      }
    );
    
    export default service;
    
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部