uni-app封装的request请求

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

页面使用:

			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)
				})
					
			},

猜你喜欢

转载自blog.csdn.net/qq_46617584/article/details/132411867