uni-app封装的request请求

这篇具有很好参考价值的文章主要介绍了uni-app封装的request请求。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

uni-app封装的request请求,uni-app,java,前端

import {
	baseUrl,
	token
} from '../common/config.js'

const request = (url = '', data = {}, type = 'GET', header = {}, costomUrl = '') => {
	return new Promise((resolve, reject) => {
		uni.request({
			method: type,
			url: costomUrl ? `${costomUrl}` : `${baseUrl + url}`,
			data: data,
			header: {
				...header,
				Authorization: token()
			},
			dataType: 'json',
		}).then((response) => {
			let [error, res] = response;

			if (res.statusCode == 400) {
				uni.$u.toast("请求参数有误,检查后再次请求");
			}
			if (res.statusCode == 401 && uni.getStorageSync('saas_access_token')) {
				uni.navigateTo({
					url: '/pages/specialpage/401'
				})
			}
			if (res.statusCode == 403) {
				uni.navigateTo({
					url: '/pages/specialpage/403'
				})
			}
			if (res.statusCode == 404) {
				uni.$u.toast("未找到数据")
			}
			if (res.statusCode == 500) {
				const str = res.data.Error.Message;
				var pattern = new RegExp("[\u4E00-\u9FA5]+");
				if (pattern.test(str)) {
					uni.$u.toast(str);
				} else {
					uni.$u.toast("系统异常,请联系管理员");
					// uni.navigateTo({
					// 	url: '/pages/specialpage/500'
					// })
				}
			}
			resolve(res);
		}).catch(error => {

			let [err, res] = error;
			reject(err, res)
		})
	});
}
export default request

config.js

// 正式
// const baseUrl = 'https://esm.api.si-iip.com' //https://esmapi.dev.si-iip.com
// const uacUrl = 'https://uac.api.si-iip.com' //https://newuacapi.dev.si-iip.com
// const userUrl = 'https://uac.api.si-iip.com'  //https://newuacapi.dev.si-iip.com
// const imgUrl = 'https://linkfile.api.si-iip.com' //https://linkfileapi.dev.si-iip.com
// 测试
const baseUrl = 'https://esmapi.dev.si-iip.com' //https://esmapi.dev.si-iip.com
const uacUrl = 'https://newuacapi.dev.si-iip.com' //https://newuacapi.dev.si-iip.com
const userUrl = 'https://newuacapi.dev.si-iip.com'  //https://newuacapi.dev.si-iip.com
const imgUrl = 'https://linkfileapi.dev.si-iip.com' //https://linkfileapi.dev.si-iip.com
function token(){
	// #ifdef APP-PLUS
		return 'Bearer '+uni.getStorageSync('saas_access_token')
	// #endif
	// #ifdef H5
	return "Bearer "+"eyJhbGciOiJSUzI1NiIsImtpZCI6IjM2OENEQTFDOUVDNzZGOTgwQUM2RTIxMjJENTE0QTBEMDY3MTYwQjBSUzI1NiIsInR5cCI6ImF0K2p3dCIsIng1dCI6Ik5vemFISjdIYjVnS3h1SVNMVkZLRFFaeFlMQSJ9.eyJuYmYiOjE2ODk4MTc0MDEsImV4cCI6MTcyNTgxNzQwMSwiaXNzIjoiaHR0cHM6Ly9uZXdpZDQuZGV2LnNpLWlpcC5jb20iLCJhdWQiOlsiUGFhU19BY2NvdW50IiwiU2FhU19FU00iXSwiY2xpZW50X2lkIjoiMzIxNTg1NTUxMDQxODkyMzYyIiwic3ViIjoiMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwIiwiYXV0aF90aW1lIjoxNjg5NzQ1MzEzLCJpZHAiOiJsb2NhbCIsIm5hbWUiOiJhZG1pbiIsInBpY3R1cmUiOiIvRmlsZXMvaW1hZ2UvZWM2OTRmZmMtZWQ1OC00NjhkLWEwMDUtMmFhNGU1ZjhjZGM2LmpwZyIsInJvbGUiOlsic3VwZXJBZG1pbiIsIlBsYXRGb3JtQWRtaW4iLCJFbnRlcnByaXNlQWRtaW4iXSwidGVuYW50aWQiOiIzYTA1YTJmOS02YmY5LTExNjUtMGZkZS0xOTgxMzA3YWVmOGMiLCJ0ZW5hbnRuYW1lIjoi6bqm5pav5YWL55S15a2Q5p2Q5paZ6IKh5Lu95pyJ6ZmQ5YWs5Y-4Iiwibmlja25hbWUiOiJBRE1JTiIsImp0aSI6IkU3RTlBMUQ0NUEyRTZCQ0IyNzAxODJENEUzNzgyNDVBIiwic2lkIjoiMDEyM0E0RTUyMzYxNTc2QkQ3MTE3RDA1MzA3QzdCMDQiLCJpYXQiOjE2ODk4MTc0MDEsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiLCJTYWFTX0VTTVNjb3BlIiwiUGFhU19BY2NvdW50Il0sImFtciI6WyJ0ZW5hbnQiXX0.ooJg6R5-DipN63dozo3odHALH3C6kslwjWHovoXoF5HRwmh3u2wSzAHyIAkhyDTQczqUrIaZePesZYhe9iIyJBuKkfkiR9ToV9zYfAW81-M0JokriKK4zwXfgtnCtzM_0CzPCNkXBzkUYbAWhl4VuWAKwCoJN_iP19yhK4w37ZfZbhUKykL6VEt12x0Xhp31HcoXadlMuKmILwjQV_OO6X_WPtAgmmSxNLcTAMA4ZpuQhcGmiY17e3uHBfkPKP4IeNyIN6qQyMRzHk1UbG-_VhUabRg3AEk96HLhqX8nQl2TTkTQZGqpo-4eAlxDgh2suGpZh2vzwgyquesR2s-mdw"
	//#endif
}
export {
	uacUrl,
	baseUrl,
	token,
	userUrl,
	imgUrl
}

 

 main.js

// request 封装
import request from 'common/request.js'
Vue.prototype.$request = request

页面使用:文章来源地址https://www.toymoban.com/news/detail-663159.html

			async getData() {
				this.status = "loading"
				let res;
				res= await this.$request('',{
						PageNumber: this.PageNumber,
						MaxResultCount: this.MaxResultCount,
						SearchText: this.SearchText,
					},'GET',{},`${uacUrl}/api/app/tenant-user/tenant-users-by-tenant-id`)
					.then((res)=>{
						this.TotalCount = +res.data.totalCount
						this.indexList = this.indexList.concat(res.data.items ? res.data.items : res.data)
						if (this.indexList.length == 0 || this.indexList.length == this.TotalCount || this.TotalCount <
							this.PageNumber * this.MaxResultCount) {
							this.status = 'nomore'
						}
					}).catch(err=>{
						this.status = 'nomore'
						console.log(err)
				})
					
			},

到了这里,关于uni-app封装的request请求的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • uni-app中调取接口的三种方式与封装uni.request()

    1、uni.request({}) 2、uni.request({}).then() 3、async/await 1、创建一个对象,将该对象挂在Vue的原型下 新建 @/common/request.js 文件 初步写法(仅供参考): 二次更改: 2、进入main.js文件 例:在任意文件中书写下列代码可以调用。 this.$Z.get(); 3、在页面中调用 uniapp的网络请求方法 CODE u

    2024年02月09日
    浏览(8)
  • uni-app 之 uni.request 网络请求API接口

    uni-app 之 uni.request 网络请求API接口

    uni-app 之 uni.request 网络请求API接口 image.png

    2024年02月09日
    浏览(12)
  • [uni-app]使用uni开发微信小程序,请求接口 报错:[“errno“:600002,errMsg“.“request;failurlnot in domain list”

    [uni-app]使用uni开发微信小程序,请求接口 报错:[“errno“:600002,errMsg“.“request;failurlnot in domain list”

    今天练习使用uni-app开发微信小程序 知道了微信小程序请求路径必须得是https协议 在开发过程中发现一个问题就是 在本地调试的时候可以正常请求request,但是发布了体验版后就没法请求,并且返回的是 从字面意思来讲是这个请求的url的域名没有在允许的域名列表 那么就要配

    2024年02月16日
    浏览(10)
  • 详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第五节 (基于uni-app封装鸿蒙接口请求库)

    详细教程 - 从零开发 Vue 鸿蒙harmonyOS应用 第五节 (基于uni-app封装鸿蒙接口请求库)

      随着鸿蒙系统的兴起,越来越多的app会采用鸿蒙开发。而鸿蒙开发必不可少的就是调用各种接口服务。为了简化接口的调用流程,我们通常会做一层封装。今天就来讲解一下,如何用uni-app封装鸿蒙的接口请求库。   首先我们要新建一个鸿蒙项目啦!当然选择第一个空白项

    2024年02月02日
    浏览(13)
  • uni-app导入@escook/request-miniprogram 请求接口报错TypeError: Cannot read property ‘get‘ of undefined

    在跟着视频做项目的时候,突然遇到一个很奇怪的问题,正确跟着老师安装、导包后,在使用接口请求数据时居然说‘get’未定义,经过查找发现,只需要把导入的包,以及导包后的操作放到文件最顶部即可,如下:

    2024年02月12日
    浏览(29)
  • uni-app组件封装基本知识

    uni-app组件封装基本知识

            小写字母,单词用“ - ”链接例如(bj-item ) , 目录名称和文件名保持一致,官方默认把“ uni- ”开头的 组件全局挂载,不是这种格式的组件需要局部挂载。 1 、“ uni- ”开头的组件官方默认全局挂载  2、组件使用 随着Hbuilder的升级,现在组件统一放到uni_module

    2023年04月08日
    浏览(13)
  • uni-app/vue封装车牌选择器

    uni-app/vue封装车牌选择器

    先看下效果如下: 代码如下: 父组件: 子组件:(代码较长,css部分没有提供)

    2024年01月18日
    浏览(11)
  • uni-app 封装 websocket 并且监听心跳机制

    新建 socket.js , 将以下代码复制进去 ,向外暴露。 在入口文件中 将 socketIO 挂载在 Vue 原型上 , 也可以按需引入置顶页面 。 在需要用到webSocket的页面中使用如下方法(可根据自身业务需求进行整改) 离开页面,记得断开连接。

    2024年02月11日
    浏览(11)
  • Vue3+TS版本Uniapp:封装uni.request请求配置

    Vue3+TS版本Uniapp:封装uni.request请求配置

    作者: 前端小王hs 阿里云社区博客专家/清华大学出版社签约作者✍/CSDN百万访问博主/B站千粉前端up主 uniapp 的封装逻辑不同于 Vue3 项目中直接使用 axios.create() 方法创建实例(在 create 方法中写入请求的地址、请求头、超时等内容),代码如下: PS:上述代码来自博主在B站的

    2024年04月22日
    浏览(12)
  • 【UniApp】-uni-app-网络请求

    【UniApp】-uni-app-网络请求

    经过上个章节的介绍,大家可以了解到 uni-app-pinia存储数据的基本使用方法 那本章节来给大家介绍一下 uni-app-网络请求 的基本使用方法 首先我们打开官方文档,我先带着大家看一下官方文档的介绍:https://uniapp.dcloud.net.cn/api/request/request.html 从官方文档中我们可以看到,可以

    2024年02月04日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包