網站首頁 編程語言 正文
用Vue開發Web網頁,請求都是都會用到axios這個庫,axios支持promise。所以就打算在uniapp中封裝一個返回Promise對象的get和post請求。
HttpUrl 就是固定前綴和axios.defaults.baseURL一樣的
第三個參數正常來說應該傳個header對象,但是項目需求沒這么大,所以就直接傳了個屬性
下面兩個函數其實就method不一樣,還可以封裝一個函數傳遞請求的,這里我就不寫了吧。
//get請求
import app from './main.js'
const get = function(url, data = null, contentType = 'application/json') {
return new Promise((resolve, reject) => {
uni.showLoading({mask: true})
uni.request({
url: app.HttpUrl + url,
data,
header: {
// || '' 考慮到登錄API沒有token。
'Authorization': uni.getStorageSync('token') || '',
'Content-Type': contentType
},
success: (res) => {
uni.hideLoading()
// 成功時調用sesolve函數,至于參數傳什么自行體會
// 下面這個僅供參考
resolve()
/*if (res.data.success) {
resolve(res.data.message)
} else if (res.statusCode == '401') {
uni.showToast({
title: res.data.message,
icon: "none",
duration: 1500
});
uni.redirectTo({
url: "/pages/home/login"
});*/
}
},
fail: (err) => {
uni.hideLoading()
return reject(err)
}
});
})
}
//post請求
const post = function(url, data = null, contentType = 'application/json') {
return new Promise((resolve, reject) => {
uni.showLoading({mask: true})
uni.request({
url: app.HttpUrl + url,
data,
method: 'POST',
header: {
'Authorization': uni.getStorageSync('token'),
'Content-Type': contentType
},
success: (res) => {
uni.hideLoading()
// 成功時調用sesolve函數,至于參數傳什么自行體會
// 下面這個僅供參考
resolve()
/*if (res.data.success) {
resolve(res.data.message)
} else if (res.statusCode == '401') {
uni.showToast({
title: res.data.msg,
icon: "success",
duration: 1500
});
uni.redirectTo({
url: "/pages/home/login"
});
}*/
},
fail: (err) => {
uni.hideLoading()
return reject(err)
}
});
})
}
export default {
get,
post
}
原文鏈接:https://blog.csdn.net/weixin_45016896/article/details/120785246
相關推薦
- 2022-06-04 Python數據處理的三個實用技巧分享_python
- 2022-10-18 Qt基于TCP實現客戶端與服務端的連接_C 語言
- 2022-08-11 深入解析Python中的多進程_python
- 2022-03-08 基于Redis實現阻塞隊列的方式_Redis
- 2023-02-04 Go語言并發之原子操作詳解_Golang
- 2022-04-21 Android自定義控件實現簡單滑動開關效果_Android
- 2023-08-13 Spring Security 構建基于 JWT 的登錄認證
- 2023-05-22 NumPy迭代數組的實現_python
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支