欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

uniapp中uni.request(OBJECT)接口請求封裝實例代碼

 更新時間:2022年12月09日 14:11:09   作者:sunly_  
在開發(fā)的時候經(jīng)常會用到前端請求后端接口,每次的請求都會出現(xiàn)地址不一樣,參數(shù)不一樣,方式不一樣等等情況,下面這篇文章主要給大家介紹了關(guān)于uniapp中uni.request(OBJECT)接口請求封裝的相關(guān)資料,需要的朋友可以參考下

封裝request.js

import { baseURL} from './common.js' //接口域名引入

// 攔截
let requestStart = function(params) {
	// 如果需要在接口參數(shù)中加入token,使用下邊這段代碼
	let access_token = uni.getStorageSync('access_token') || '';
	if (params.__proto__.constructor.name == "Object") {
		access_token && (params.access_token = access_token);
		params = params;
	} else if (params.__proto__.constructor.name == "FormData") {
		access_token && (params.append("access_token", access_token));
	}

	// 如果需要顯示加載動畫
	// 	uni.showNavigationBarLoading(); // 在當(dāng)前頁面顯示導(dǎo)航條加載動畫。
	// 	uni.showLoading({
	// 		title: '加載中',
	// 		mask: true
	// 	});
	return params;
}

// 對于 GET 方法,會將數(shù)據(jù)轉(zhuǎn)換為 query string。例如 { name: 'name', age: 18 } 轉(zhuǎn)換后的結(jié)果是 name=name&age=18。
// 對于 POST 方法且 header['content-type'] 為 application/json 的數(shù)據(jù),會進(jìn)行 JSON 序列化。
// 對于 POST 方法且 header['content-type'] 為 application/x-www-form-urlencoded 的數(shù)據(jù),會將數(shù)據(jù)轉(zhuǎn)換為 query string。

export function get(url, params = {}) {
	return new Promise((resolve, reject) => {
		if (requestStart(params)) {
			uni.request({
				url: baseURL + url,
				data: params,
				header: {
					'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
				},
				method: 'GET',
				success: (res) => {
					if (res.statusCode != 200)) {
						uni.showToast({
							title: res.statusCode +':'+ res.data.message,
							mask: true,
							icon: "none"
						});
						if(res.statusCode == 401){
							setTimeout(() => {
								uni.removeStorageSync('access_token');
								uni.removeStorageSync('userinfo');
								uni.navigateTo({
									url: '/pages/login/login',
									animationType: 'pop-in',
									animationDuration: 300
								})
							}, 1500)
						}
					}else{
						resolve(res.data);
						if (res.data.code == 0) {
							uni.showToast({
								title: res.data.message,
								mask: true,
								icon: "none"
							});
						}
					}
				},
				fail: (res) => {
					reject(res)
				},
			});
		}
	});
}

export function post(url, params = {}) {
	return new Promise((resolve, reject) => {
		// 如果需要在header頭中加入token,使用這段代碼 header: header,
		// if(uni.getStorageSync('access_token')){
		// 	header.token = uni.getStorageSync('access_token')
		// }
		if (requestStart(params)) {
			uni.request({
				url: baseURL + url,
				data: params,
				header: {
					'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
				},
				method: 'POST',
				success: (res) => {
					if (res.statusCode != 200)) {
						uni.showToast({
							title: res.statusCode +':'+ res.data.message,
							mask: true,
							icon: "none"
						});
						if(res.statusCode == 401){
							setTimeout(() => {
								uni.removeStorageSync('access_token');
								uni.removeStorageSync('userinfo');
								uni.navigateTo({
									url: '/pages/login/login',
									animationType: 'pop-in',
									animationDuration: 300
								})
							}, 1500)
						}
					}else{
						resolve(res.data);
						if (res.data.code == 0) {
							uni.showToast({
								title: res.data.message,
								mask: true,
								icon: "none"
							});
						}
					}
				},
				fail: (res) => {
					reject(res)
				},
			});
		}

	});
}

var http = {
	post,
	get
};
export default http;

main.js引入

import http from '@/utils/request.js'; //接口請求封裝
Object.assign(Vue.prototype, {
	'$http': http,
})

在頁面中使用

onShow(){
	this.$http.post("/api/",{
		// id:1
	}).then(res=>{
		if(res.code == 200){
			// 成功
		}else{
			// 失敗需要進(jìn)行的操作
		}
	})
},

總結(jié)

到此這篇關(guān)于uniapp中uni.request(OBJECT)接口請求封裝的文章就介紹到這了,更多相關(guān)uniapp uni.request(OBJECT)接口請求封裝內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 淺談讓你的代碼更簡短,更整潔,更易讀的ES6小技巧

    淺談讓你的代碼更簡短,更整潔,更易讀的ES6小技巧

    這篇文章主要介紹了淺談讓你的代碼更簡短,更整潔,更易讀的ES6小技巧,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-10-10
  • 微信小程序使用progress組件實現(xiàn)顯示進(jìn)度功能【附源碼下載】

    微信小程序使用progress組件實現(xiàn)顯示進(jìn)度功能【附源碼下載】

    這篇文章主要介紹了微信小程序使用progress組件實現(xiàn)顯示進(jìn)度功能,涉及progress組件相關(guān)屬性設(shè)置操作技巧,并附帶源碼供讀者下載參考,需要的朋友可以參考下
    2017-12-12
  • JS中mouseup事件丟失的原因與解決辦法

    JS中mouseup事件丟失的原因與解決辦法

    這篇文章主要跟大家介紹了關(guān)于Javascript中mouseup事件丟失的原因與解決辦法的相關(guān)資料,文中給出詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面跟著小編一起來學(xué)習(xí)學(xué)習(xí)吧。
    2017-06-06
  • JS實現(xiàn)拖動滾動條評分的效果代碼分享

    JS實現(xiàn)拖動滾動條評分的效果代碼分享

    本文給大家基于js實現(xiàn)拖動滾動條評分效果,在項目開發(fā)中經(jīng)??梢杂玫降模蠹铱梢愿有枰m當(dāng)?shù)奶砑有薷?,對js評分效果感興趣的朋友一起看看吧
    2016-09-09
  • 微信小程序:報錯(in promise) MiniProgramError

    微信小程序:報錯(in promise) MiniProgramError

    這篇文章主要介紹了微信小程序:報錯(in promise) MiniProgramError,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • JS實現(xiàn)的字符串?dāng)?shù)組去重功能小結(jié)

    JS實現(xiàn)的字符串?dāng)?shù)組去重功能小結(jié)

    這篇文章主要介紹了JS實現(xiàn)的字符串?dāng)?shù)組去重功能,結(jié)合實例形式分析了javascript基于ES6、ES5、ES3及正則實現(xiàn)數(shù)組去重的相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • js 父窗口控制子窗口的行為-打開,關(guān)閉,重定位,回復(fù)

    js 父窗口控制子窗口的行為-打開,關(guān)閉,重定位,回復(fù)

    技術(shù)要點可以利用windows的open和closed來對子窗口的控制,需要父窗口和子窗口之間進(jìn)行互動。
    2010-04-04
  • 讓你5分鐘掌握9個JavaScript小技巧

    讓你5分鐘掌握9個JavaScript小技巧

    這篇文章是國外翻譯JavaScript小技巧,幾個不錯的知識點,方便學(xué)習(xí)js的朋友,感覺內(nèi)容非常不錯特分享一下,需要的朋友可以參考下
    2018-06-06
  • 老生常談js動態(tài)添加事件--- 事件委托

    老生常談js動態(tài)添加事件--- 事件委托

    下面小編就為大家?guī)硪黄仙U刯s動態(tài)添加事件--- 事件委托。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • 一篇文章帶你從零快速上手Rollup

    一篇文章帶你從零快速上手Rollup

    這篇文章主要給大家介紹了如何通過一篇文章快速從零快速上手Rollup的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論