Okhttp.ets
/**
* 網絡請求
*/
import axios from '@ohos/axios'
import httpConstants from '../net/HttpConstants'
import errorCode from '../utils/errorCode'
import toast from '../utils/ToastUtils'
import router from '../utils/RouterUtils'
import SPUtils from '../utils/SPUtils'
import SpConstants from '../net/SpConstants'
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'
// 創(chuàng)建axios實例
const service = axios.create({
baseURL:httpConstants.url,
timeout:10000
})
// request攔截器
service.interceptors.request.use(async config = > {
// 是否需要設置 token
const access_token = await SPUtils.get(SpConstants.accessToken,"")
if (access_token != "") {
config.headers['Authorization'] = 'Bearer ' + access_token // 讓每個請求攜帶自定義token 請根據實際情況自行修改
}
return config
}, error = > {
console.log(error)
Promise.reject(error)
})
// 響應攔截器
service.interceptors.response.use(res = > {
// 未設置狀態(tài)碼則默認成功狀態(tài)
const code = res.data.code || 200;
// 獲取錯誤信息
const msg = errorCode[code] || res.data.msg || errorCode['default']
if (code === 401) {
toast.show("登錄狀態(tài)已過期,您可以繼續(xù)留在該頁面,或者重新登錄")
router.goNot('pages/Login')
} else if (code === 500) {
toast.show(msg)
return Promise.reject(new Error(msg))
} else if (code !== 200) {
toast.show(msg)
return Promise.reject('error')
} else {
return res
}
},
error = > {
console.log('err' + error)
let { message } = error;
if (message == "Network Error") {
message = "后端接口連接異常";
}
else if (message.includes("timeout")) {
message = "系統(tǒng)接口請求超時";
}
else if (message.includes("Request failed with status code")) {
message = "系統(tǒng)接口" + message.substr(message.length - 3) + "異常";
}
toast.show(message)
return Promise.reject(error)
}
)
export default service
API接口調用方法
LoginAPI.ets
或+mau123789學習,是v喔
import okHttp from '../utils/Okhttp'
// 登錄方法-POST方法
export function login(username, password, code, uuid) {
const data = {
username,
password,
code,
uuid
}
return okHttp({
url: '/login',
method: 'post',
data: data
})
}
// 獲取用戶詳細信息-GET方法
export function getInfo() {
return okHttp({
url: '/getInfo',
method: 'get'
})
}
Login.ets頁面
import {login,getInfo} from '../api/LoginAPI'
login(this.userName,this.userPwd,this.userCode,this.uuid).then(res= >{
SPUtils.put(SpConstants.appUser,this.userName)
SPUtils.put(SpConstants.appPwd,this.userPwd)
SPUtils.put(SpConstants.accessToken,res.data.token)
})
審核編輯 黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
鴻蒙OS
+關注
關注
0文章
191瀏覽量
4873
發(fā)布評論請先 登錄
相關推薦
熱點推薦
一文掌握React的Token管理
from \'@/router\'
// 1.根域名配置
// 2.超時時間
// 3.請求攔截器/響應攔截器
const request = axios.create({
baseURL
發(fā)表于 05-30 22:05
極海APM32F407 uc/os3學習筆記之任務管理介紹
最近了解了uc/os3這個操作系統(tǒng),上篇介紹了uc/os3如何正確移植到APM32F407開發(fā)板上,根據我最近學到的一些知識,這篇文章主要介紹一下uc/os3中的一些簡單的任務管理API以及如何使用。

AIGC入門及鴻蒙入門
。
2. 實踐操作: 使用Python進行實踐,通過transformers庫加載預訓練的文本生成模型。 學習圖像生成算法,如生成對抗網絡(GAN)等。
3. 工具推薦: ChatGPT:由OpenAI
發(fā)表于 01-13 10:32
如何調試 HTTP 請求和響應
調試HTTP請求和響應是Web開發(fā)和網絡編程中的一個重要技能。以下是一些步驟和工具,可以幫助你調試HTTP請求和響應: 1. 使用瀏覽器開發(fā)者工具 大多數現(xiàn)代瀏覽器都內置了開發(fā)者工具,這些工具可以
鴻蒙Flutter實戰(zhàn):14-現(xiàn)有Flutter 項目支持鴻蒙 II
分別安裝官方的3.22版本,以及鴻蒙社區(qū)的 3.22.0 版本
3.搭建 Flutter鴻蒙開發(fā)環(huán)境
參考文章《鴻蒙Flutter實戰(zhàn):01-搭建開發(fā)環(huán)境》
搭建項目架構
創(chuàng)建目錄
發(fā)表于 12-26 14:59
android手機上emulate應用程序的方法
在Android手機上模擬(emulate)應用程序的方法通常涉及到使用Android模擬器(Emulator)或類似的工具來模擬Android環(huán)境,以便在沒有實際物理設備的情況下運行
Python編程:處理網絡請求的代理技術
在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現(xiàn)請求的轉發(fā)、緩存、負載均衡以及安全控制等功能。Python作為一種功能強大的編程語言,為提
華為鴻蒙系統(tǒng)正式發(fā)布,華鼎冷鏈科技攜手共筑國產OS生態(tài)
,還實現(xiàn)了國產操作系統(tǒng)的自主可控,打破了國外手機操作系統(tǒng)的壟斷局面。 目前支持鴻蒙系統(tǒng)的設備已經超過10億臺,又超過15000個鴻蒙原生應用和元服務上架——其中 華鼎冷鏈科技已上線3款鴻蒙

名單公布!【書籍評測活動NO.47】HarmonyOS NEXT啟程:零基礎構建純血鴻蒙應用
。
該系統(tǒng)放棄了傳統(tǒng)的AOSP(Android Open Source Project)代碼,僅支持鴻蒙內核及鴻蒙系統(tǒng)的應用,彰顯了中國在操作系統(tǒng)領域的自主可控能力。
HarmonyOS NEXT徹底擺脫
發(fā)表于 10-14 14:36
鴻蒙跨端實踐-JS虛擬機架構實現(xiàn)
類似的框架,我們需要自行實現(xiàn)以確保核心基礎能力的完整。 鴻蒙虛擬機的開發(fā)經歷了從最初 ArkTs2V8 到 JSVM + Roma新架構方案 。在此過程中,我們實現(xiàn)了完整的鴻蒙版的“J2V8”和 基于系統(tǒng)JSVM的JS虛擬機框架

瑞芯微RK3566鴻蒙開發(fā)板Android11修改第三方輸入法為默認輸入法
本文適用于觸覺智能所有支持Android11系統(tǒng)的開發(fā)板修改第三方輸入法為默認輸入法。本次使用的是觸覺智能的Purple Pi OH鴻蒙開源主板,搭載了瑞芯微RK3566芯片,類樹莓派設計,是Laval官方社區(qū)主薦的一款鴻蒙開發(fā)

在ANDROID手機上發(fā)送請求到cloud server后,有時會返回404錯誤,為什么?
在ANDROID手機上發(fā)送請求到cloud server后,有時會返回404錯誤,錯誤描述是“remote device is disconnect.”;但此時我的設備是一直在工作的;請問這時什么問題啊。
發(fā)表于 07-15 06:52
華為發(fā)布鴻蒙原生智能,OS深度融合AI,小藝升級為系統(tǒng)級智能體
Beta。鴻蒙原生智能是基于軟硬芯云協(xié)同的硬件與基礎設施架構,AI與OS深度融合的智能系統(tǒng)。 小藝智能體:能思考,會規(guī)劃,可執(zhí)行 基于鴻蒙原生智能強大的AI底座,搭載盤古大模型,小藝升級為系統(tǒng)級智能體,能力全方位提升。小藝記憶大

HDC2024華為發(fā)布鴻蒙原生智能:AI與OS深度融合,開啟全新的AI時代
6月21日,華為開發(fā)者大會2024(HDC.2024)召開。 HarmonyOS NEXT將AI與OS深度融合,構筑全新鴻蒙原生智能框架。大會現(xiàn)場,華為常務董事、終端BG董事長、智能汽車解決方案BU

評論