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
}