import { apiurl } from "./apiurl.js" // 此处第二个参数vm,就是我们在页面使用的this,你可以通过vm获取vuex等操作,更多内容详见uView对拦截器的介绍部分: const install = (Vue, vm) => { let httpMap = {} const http = uni.$u.http // 循环请求路径对象生成对应的方式请求 Object.keys(apiurl).forEach((key) => { if(apiurl[key]?.type=='get'){ httpMap[key] = (data = {}, config = {}) => http[apiurl[key]?.type](apiurl[key]?.url, {params:data}, config); }else{ httpMap[key] = (params = {}, config = {}) => http[apiurl[key]?.type](apiurl[key]?.url, params, config); } }); // 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下 vm.$u.api = { ...httpMap }; } export default { install }