1***@qq.com
1***@qq.com
  • 发布:2022-08-02 09:17
  • 更新:2023-10-05 01:51
  • 阅读:2443

uni-app导入@escook/request-miniprogram 请求接口报错TypeError: Cannot read property 'get' of undefined

分类:uni-app

uni-app导入@escook/request-miniprogram 请求接口报错TypeError: Cannot read property 'get' of undefined

//导入网络请求的包  
import { $http } from '@escook/request-miniprogram'  

uni.$http= $http;  

//项目的根路径  
$http.baseUrl = 'http://www.uinav.com'  

//请求拦截器  
$http.beforeRequest = function(options){  
  uni.showLoading({  
    title:"数据加载中"  
  })  
}  

//响应拦截器  
$http.afterRequest = function(){  
  uni.hideLoading()  
}
methods: {  
      async getSwiperList() {  
        const {data: res} = await uni.$http.get('/api/public/v1/home/swiperdata')  
      }  
    }
2022-08-02 09:17 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

兄弟你解决了吗,我也是卡在这里
刚解决特地回来回答,你把加在main文件里的代码放在最前头就能解决了,(引包,拦截器这些)

1***@qq.com

1***@qq.com

import { $http } from '@escook/request-miniprogram'  
uni.$http = $http  
//请求根路径  
$http.baseUrl = 'https://api-ugo-web.itheima.net'  
//请求拦截器  
$http.beforeRequest = function(options){  
  uni.showLoading({   
    title:'数据加载中'  
  })  
}  
//响应拦截器  
$http.afterRequest = function(){  
  uni.hideLoading()  
}  
uni.$showMsg = function(title='数据加载失败',duration=1500){  
    uni.showToast({  
        title,  
        duration,  
        icon:'none'  
    })  
}  

// #ifndef VUE3  
import Vue from 'vue'  
import App from './App'  
import  VueResource  from 'vue-resource'  
Vue.use(VueResource)
w***@163.com

w***@163.com

还是不行啊。把你这个代码直接撸下来了,vue-resource 也安装了,还是报错啊。

1***@qq.com

1***@qq.com

方式一:将 // #ifndef VUE3、// #endif 删除
方式二:修改为 // #ifndef MP-WEIXIN
相关知识文档:https://uniapp.dcloud.net.cn/tutorial/platform.html

1***@qq.com

1***@qq.com

上一条有问题:最新

// #ifndef VUE3
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
...App
})
app.$mount()
// #endif

// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
/// 配置网络请求
import { $http } from '@escook/request-miniprogram'

uni.$http = $http
// 配置请求根路径
$http.baseUrl = 'https://www.uinav.com'

// 请求开始之前做一些事情
$http.beforeRequest = function (options) {
uni.showLoading({
title: '数据加载中...',
})
}

// 请求完成之后做一些事情
$http.afterRequest = function () {
uni.hideLoading()
}
/// 配置网络请求

export function createApp() {
const app = createSSRApp(App)
return {
app
}
}
// #endif

3***@qq.com

3***@qq.com

原因
在mainj.js文件中有两个注释,注释下方分别是两个代码块,由名称可知是vue3以外的版本和vue3版本的配置,自己项目的vue是哪个版本,配置就得写到对应的代码块下,否则不生效。
————————————————
原文链接:https://blog.csdn.net/qq_41757660/article/details/127731910

要回复问题请先登录注册