外观模式说的宽泛的话就是将复杂的调用包装一层变的简单些,通过门面模式除了简化了我们的调用,还有一个好处就是将底层调用封装了起来,外观模式最为常见的就是对axios进行一层封装
1.比如先对axios进行一层封装,导出instance
import axios from 'axios'
const instance = axios.create({
baseURL: 'https://xxxxxxx',
timeout: xxxx,
headers: xxxx
});
instance.interceptors.request.use(function (config) {}
instance.interceptors.response.use(function (response) {}
export default instance
2.然后使用instance再对请求接口进行封装
import instance from './request'
// 请求首页数据
export function getIndexData(params) {
return instance({
method: 'get',
url: '/xxx,
params
});
}
3.最后在具体的组件中使用getIndexData,请求首页数据,就不用原生axios再配置一遍,不仅可以让组件的代码更简单清爽,而且出了问题,直接去封装接口的文件去找就可以;另外axios要替换为其他的,直接换就可以,不用再去业务层一个一个替换