12345678910111213141516171819202122232425262728293031323334353637 |
- import {
- apiurl
- } from "./apiurl.js"
- import queryParams from "../utils/queryParams.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'){
- if(apiurl[key].addUrl){
- httpMap[key] = (data = {}, config = {}) => http[apiurl[key]?.type](apiurl[key]?.url+data.code, {}, config);
- }else {
- httpMap[key] = (data = {}, config = {}) => http[apiurl[key]?.type](apiurl[key]?.url, {params:data}, config);
- }
- } else if (apiurl[key]?.type == 'delete') {
- httpMap[key] = (data = {}, config = {}) => http[apiurl[key]?.type](apiurl[key]?.url + `${queryParams(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
- }
|