国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uniapp及微信小程序封裝全局網(wǎng)絡(luò)請求,彈框和hint提示

這篇具有很好參考價值的文章主要介紹了uniapp及微信小程序封裝全局網(wǎng)絡(luò)請求,彈框和hint提示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

今天分享一下uniapp項目的網(wǎng)絡(luò)請求如何封裝,不知道大家開發(fā)微信小程序項目是用什么開發(fā)工具,我個人更喜歡用uniapp,無論是從項目擴(kuò)展方向還是開發(fā)效率來說,uniapp都是首選。

1:創(chuàng)建一個項目工具庫,http.js

//提示
	hint(title, duration, mask, icon) {
		uni.showToast({
			title: title,
			duration: duration ? duration : 2000,
			mask: mask,
			icon: icon == 'success' ? 'success' : icon == 'error' ? 'error' : icon == 'fail' ? 'fail' :
				icon == 'exception' ? 'exception' : icon == 'loading' ? 'loading' : 'none',
		});
	},
	//加載彈框
	loading(title, mask) {
		uni.showLoading({
			title: title,
			mask: mask
		});
	},
	//隱藏加載彈框
	hideLoading() {
		uni.hideLoading();
	},
	//模擬彈窗
	modal(content, showCancel, confirm, cancel, cancelText) {
		uni.showModal({
			title: '提示',
			content: content,
			showCancel: !showCancel,
			cancelText: cancelText ? cancelText : '取消',
			success: function(res) {
				if (res.confirm) {
					confirm()
				} else if (res.cancel) {
					cancel()
				}
			}
		});
	},
	
	//因為開發(fā)時是在瀏覽器開發(fā),涉及到跨域,所以要做條件判斷,瀏覽器做跨域處理,手機(jī)直接使用地址
	reqAddress() {
		// #ifdef H5
		return "/api"
		// #endif
		// #ifndef H5
		return "http://xxxxx"http://替換成自己的地址
		// #endif
	},
	// 設(shè)置token
	setToken(data) {
		uni.setStorageSync('token', data)
	},
	
	// 獲取token
	getToken() {
		return uni.getStorageSync('token')
	},
	//數(shù)據(jù)請求
	request(url, method, data, Loading, isToken,isData, isForm ) {
		if (!Loading) {
			http.loading('加載中', true)
		}
		return new Promise((resolve, reject) => {
			uni.request({
				url: http.reqAddress() + url,
				data: data,
				method: method,
				header: {
					'content-type': isForm ? 'application/x-www-form-urlencoded' :
						'application/json',
					'Authorization': isToken ? '' :http.getToken(),
				},
				dataType: 'json',
				success(res) {
					if (!Loading) {
						http.hideLoading()
					}
					if(isData){
						resolve(res)
					}else{
						if (res.data.code == 200) {
							resolve(res.data)
						} else if (res.data.code == 401) {
							http.hint("請重新登錄")
							uni.reLaunch({
								url: '/pages/login/login-phone/login-phone'
							})
						} else if (res.data.code == 500) {
							resolve(res.data)
							http.hint(res.data.msg)
						} else {
							resolve()
						}
					}
				},
				fail(rej) {
					if (!Loading) {
						http.hideLoading()
					}
					http.hint("網(wǎng)絡(luò)不給力,請稍后再試~")
					reject(rej)
				}
			})
		})
	}
}
export default http

在vite.config.js文件中配置跨域

server: {
		port: 3000,
		proxy: {
			'/api': {
				target:'http:xxxxxx', 
				changeOrigin: true,
				rewrite: path => path.replace(/^\/api/, ''),
			}
		}
	}

這樣,一個全局網(wǎng)絡(luò)請求工具就完成了,含有content-type字段判斷,200,401,500狀態(tài)碼提示信息等功能,微信小程序的話只需要用hbuilder工具編譯到微信小程序即可,謝謝觀看,歡迎指正!文章來源地址http://www.zghlxwxcb.cn/news/detail-735042.html

到了這里,關(guān)于uniapp及微信小程序封裝全局網(wǎng)絡(luò)請求,彈框和hint提示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【微信小程序】掛載網(wǎng)絡(luò)請求到全局this對象

    【微信小程序】掛載網(wǎng)絡(luò)請求到全局this對象

    《工欲善其事,必先利其器》 有一些常用的東西,如 http 請求、彈窗、錯誤處理等等,如果在每個頁面都引用一遍,會增加不必的代碼量,我們可以在 app.js 中對 Page 對象進(jìn)行簡單地封裝,從而讓 Page 的能力更強(qiáng)。 一、封裝原生網(wǎng)絡(luò)請求 request.js : 二、app.js 引入網(wǎng)絡(luò)請求,

    2024年02月07日
    瀏覽(22)
  • uniapp 微信小程序 封裝axios 包含請求攔截、響應(yīng)攔截、無感刷新令牌功能

    前言: 1、為什么不適用uniapp自帶的請求功能? 答:uniapp自帶的請求功能,再刷新了令牌后,重新請求返回的數(shù)據(jù)無法返回給發(fā)起請求的方法。也就是說,刷新令牌后重新發(fā)起的請求和第一次發(fā)起請求的方法是割裂的。 2、封裝文件中,我設(shè)置了無感刷新令牌功能。我后臺的

    2024年02月03日
    瀏覽(21)
  • 微信小程序基于Promise封裝發(fā)起網(wǎng)絡(luò)請求
  • 微信小程序封裝網(wǎng)絡(luò)請求設(shè)置超時5min不生效

    背景: 開發(fā)微信小程序時,由于有些業(yè)務(wù)場景特殊,接口返回時間較長,因此使用flyio封裝網(wǎng)絡(luò)請求時將timeout設(shè)置為5min。 問題: 設(shè)置timeout為5min,發(fā)現(xiàn)請求時長超過1min后請求自動斷開了。 解決方案: 除了在網(wǎng)絡(luò)請求那設(shè)置,還需要在app.json中設(shè)置networkTimeout中的request屬性

    2024年01月17日
    瀏覽(29)
  • 【7 微信小程序?qū)W習(xí) - 小程序的系統(tǒng)API調(diào)用,網(wǎng)絡(luò)請求封裝】

    【7 微信小程序?qū)W習(xí) - 小程序的系統(tǒng)API調(diào)用,網(wǎng)絡(luò)請求封裝】

    請求數(shù)據(jù),保存數(shù)據(jù) 需要封裝為單獨的函數(shù),不然不是異步的 (推薦,可配置不同基礎(chǔ)URL的多個實例)

    2024年02月09日
    瀏覽(23)
  • 微信小程序(二)--- 數(shù)據(jù)綁定,事件綁定,全局配置window,tabBar,網(wǎng)絡(luò)數(shù)據(jù)請求,request合法域名,GET,POST

    微信小程序(二)--- 數(shù)據(jù)綁定,事件綁定,全局配置window,tabBar,網(wǎng)絡(luò)數(shù)據(jù)請求,request合法域名,GET,POST

    目錄 一、WXML模板語法 1、數(shù)據(jù)綁定 (1)Mustache語法 2、事件綁定 ?(1)常用事件 ?(2)屬性列表 ?(3)target和currentTarget的區(qū)別 ?(4)bindtap語法格式 ?(5)在事件處理函數(shù)中為data中的數(shù)據(jù)賦值 (6)事件傳參 (7)bindinput的語法格式 (8)實現(xiàn)文本框(input)和data之間的數(shù)

    2024年02月04日
    瀏覽(21)
  • 微信小程序全局封裝防抖節(jié)流函數(shù)

    微信小程序全局封裝防抖節(jié)流函數(shù)

    什么是防抖節(jié)流? 防抖: ?簡單來說就是指觸發(fā)事件后在? n ?秒內(nèi)函數(shù)只能執(zhí)行一次(輸入框搜索自動補(bǔ)全事件、頻繁點贊和取消點贊、提交事件等等) 節(jié)流: ?簡單來說就是指連續(xù)觸發(fā)事件但是在? n ?秒中只執(zhí)行一次函數(shù)(發(fā)送驗證碼、表單驗證、鼠標(biāo)移動事件等等)

    2024年01月25日
    瀏覽(23)
  • 微信小程序封裝請求

    封裝請求 解決的問題 很多頁面中請求的 url 前半部分都是一樣的,重復(fù)書寫導(dǎo)致頁面代碼冗余復(fù)雜同時邏輯容易不清晰,所以采用單獨將請求封裝成一個文件(模塊)使得這些問題得到解決。 前期基礎(chǔ)知識 uni.request(wx.request) Promise 具體步驟 創(chuàng)建文件夾及文件 在根目錄下

    2024年02月11日
    瀏覽(16)
  • UniApp轉(zhuǎn)微信小程序之全局組件

    1.全局注冊組件 兩種方法推薦使用easycom 注冊,easycom可以大規(guī)模注冊組件 2.全局插入組件 1.下載插件 2.配置vue.config.js文件 沒有這個文件的話,新建一個vue.config.js文件 3.注冊全局組件 和uniapp中注冊全局組件操作一樣 4.配置pages.json文件

    2024年02月03日
    瀏覽(28)
  • 微信小程序 封裝request請求

    創(chuàng)建 utils 文件夾后創(chuàng)建 api 文件夾創(chuàng)建 request.js 創(chuàng)建 index.js

    2024年02月15日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包