//请求二次封装 module.exports = (vm) => { // 初始化请求配置 uni.$u.http.setConfig((config) => { // #ifndef H5 config.baseURL = 'http://uat.banlu.xuexiluxian.cn'; // #endif return config }) // 请求拦截 uni.$u.http.interceptors.request.use((config) => { return config }, config => { return Promise.reject(config) }) // 响应拦截 uni.$u.http.interceptors.response.use((response) => { const data = response.data return data === undefined ? {} : data; }, (response) => { // 对响应错误做点什么 (statusCode !== 200) return Promise.reject(response) }) }
时间: 2024-04-10 15:28:50 浏览: 174
微信小程序module.exports模块化操作实例浅析
这段代码是一个对请求进行二次封装的模块。它导出一个函数,该函数接受一个名为`vm`的参数。
在函数内部,首先初始化了请求配置,通过`uni.$u.http.setConfig()`方法设置了请求的基础URL。在这个例子中,如果不是在H5环境下运行,基础URL被设置为`http://uat.banlu.xuexiluxian.cn`。
接下来,对请求进行拦截处理。通过`uni.$u.http.interceptors.request.use()`方法设置请求拦截器,在发送请求之前对请求配置进行处理。在这个例子中,请求拦截器直接返回了原始的请求配置。
然后,对响应进行拦截处理。通过`uni.$u.http.interceptors.response.use()`方法设置响应拦截器,在接收到响应后对响应数据进行处理。在这个例子中,响应拦截器获取了响应数据并返回了数据对象,如果响应数据为空,则返回空对象。
最后,该模块将这个函数作为默认导出,以便在其他地方引入并使用这个请求封装。
如果对这段代码还有其他疑问,请继续提问。
阅读全文