uniapp 模拟请求自身的JSON模拟数据
admin
2024-01-20 04:01:25
0

/**
 * 我们可以在main.js中引用/config/request.js,注意引用的位置,需要在new Vue得到Vue实例之后,如下:
 * // 引入请求封装,将app参数传递到配置中
 * require('/config/request.js')(app)
 **/
// 此vm参数为页面的实例,可以通过它引用vuex中的变量

module.exports = (vm) => {
    // 初始化请求配置
    uni.$u.http.setConfig((config) => {
        /* config 为默认全局配置*/
        config.baseURL = '100'; /* 根域名 */
        return config
    })
    
    // 请求拦截
    uni.$u.http.interceptors.request.use((config) => { // 可使用async await 做异步操作
    
        if(config.baseURL=="100"){ //模拟 
            config.baseURL ="http://IP:8080/static/server/data.json"; 
            config.url="";
            config.method ="GET";
            config.header={
                'Access-Control-Allow-Origin':'*',
                'Access-Control-Allow-Headers':'Content-Type, Content-Length, Authorization, Accept, X-Requested-With , yourHeaderFeild',
                'Access-Control-Allow-Methods':'PUT, POST, GET, DELETE, OPTIONS'
            };
            //console.log(config);
        }else{
            // 初始化请求拦截器时,会执行此方法,此时data为undefined,赋予默认{}
            config.data = config.data || {}
            // 根据custom参数中配置的是否需要token,添加对应的请求头
            if(config?.custom?.auth) {
                // 可以在此通过vm引用vuex中的变量,具体值在vm.$store.state中
                config.header.token = vm.$store.state.userInfo.token
            }
        }
        return config 
    }, config => { // 可使用async await 做异步操作
        return Promise.reject(config)
    })
    
    // 响应拦截
    uni.$u.http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
        const data = response.data;
        if(data.code == 200001){ //模拟数据
            let api_url=response.config.data.url;
            return data.data[api_url];//返回模拟数据
        }else{
            return data.data === undefined ? {} : data.data
        }
    }, (response) => { 
        // 对响应错误做点什么 (statusCode !== 200)
        return Promise.reject(response)
    })
}

/static/server/data.json 格式

{
    "code": 200001,  //返回状态; 200:成功 ;   200001:本地模拟返回
    "data":{
        "api_publicApi_init":{   //初始化接口返回数据
            "ewsdsd":"wesdsd"
        }
    }
}

相关内容

热门资讯

3秒抢3个,二手溢价超600元... 今天(7月8日)起 迪士尼上新夏日单品 就是下面这几个娃娃 在官方线上平台 这几个娃娃一上线就秒没...
7月11日,凉山彝族火把节等你... 红星新闻网(记者 李婉清)7月8日报道7月8日,省政府新闻办在四川省新闻发布厅举行“万千气象看四川・...
暑假这样过才叫爽!超全攻略让你... 暑假终于来了!是不是已经按捺不住内心的激动,迫不及待想要开启快乐时光了呢?别急,让我为你奉上一份超全...
求姓名藏头诗一首,给女朋友的,... 求姓名藏头诗一首,给女朋友的,她叫刘树红要古体诗七言那种,意境要美要押韵你乃本是天生仙,与我相聚下凡...
希望大家给我介绍几本关于人生经... 希望大家给我介绍几本关于人生经历方面的好书,谢谢了!!!《让方向更清晰!!》作者:爱琳·C卡瑟拉《《...
海贼王萨博在德雷斯罗萨回忆里得... 海贼王萨博在德雷斯罗萨回忆里得知艾斯的死讯是在哪集?没有具体说明在哪集,那只是个回忆片段而已。动漫里...
武林外传里佟掌柜儿时的好友说的... 武林外传里佟掌柜儿时的好友说的是什么地方的方言?一楼的,是陕西话那为什么和佟掌柜说的不一样?是陕西话...
用英语以春节为题的手抄报 春节... 用英语以春节为题的手抄报 春节英语手抄报小学生春节英语手抄报教程关于春节的英语手抄报怎么画春节英语手...
大学生研发校徽月饼是什么样子的... 大学生研发校徽月饼是什么样子的?大学生研发“校徽月饼”走红 原料取材学校培育作物。陕西大学生研发“彩...
《潜伏》中,晚秋是个什么样的人... 《潜伏》中,晚秋是个什么样的人?结局如何晚秋有着悲惨的命运,一直深爱着孙红蕾,最后孙红蕾在香港执行任...
我爱上了我的小学女同桌,我13... 我爱上了我的小学女同桌,我13岁13岁 好小的年龄呀!暗恋两年也不错,主要是你们太小了,现在你们懂得...
TVB出过一个动画是在讲一些章... TVB出过一个动画是在讲一些章鱼小丸子的故事的叫什么?【是在一个类似放学ICY的节目播的】章鱼小超人...
谁有周建龙版的 有声小说 盗墓... 谁有周建龙版的 有声小说 盗墓笔记 7 8 部 分享下 谢谢盗吧首页吧规+资源,甭找了,就没这东西周...
当你一个人在深夜发呆的时候 会... 当你一个人在深夜发呆的时候 会听什么歌?推荐几首好听的额你喜欢悲伤的还是节奏性强的啊?
搞笑一家人剧情 搞笑一家人剧情尤美喜欢谁?我觉得才开始尤美喜欢允浩,允浩也喜欢尤美,只是尤美误会是她爸爸杀了开成嫂的...
跪求好听的歌! 跪求好听的歌!英文歌 中文歌都要 重在好听多来点啊下个,路口,见圣诞结 爱似水仙你若...
我只会打字,对电脑编程不懂怎么... 我只会打字,对电脑编程不懂怎么办?这没有其他的办法,只有深造你要学习吗?
百听不厌的50首经典老歌推荐 百听不厌的50首经典老歌推荐百听不厌的50首经典老歌推荐:1、后来2、光辉岁月3、鬼迷心窍4、大海5...
关于防溺水的手抄报,自己防溺水... 关于防溺水的手抄报,自己防溺水的卡通图片,各位亲,急用啊!
怪物猎人XX烬灭刃斩龙怎么打 怪物猎人XX烬灭刃斩龙怎么打你问怎么打没意义,各人打法不一样,比如咬尾巴大回旋人家直接滚过去输出,你...