移動校園(7)ii:uniapp響應攔截器處理token,以及微信小程序報錯當前頁面正在處于跳轉狀態,請稍后再進行跳轉....

依據昨天的寫完,在token過期之后,再次調用接口,會觸發后端攔截,扔進全局錯誤處理中間件

前端說明提示都沒有,只有一個這個,現在優化一下,再寫一個類似全局后置守衛,當狀態碼是401的時候,重新登錄,可是原生沒有相應攔截器,昨天找的路由守衛也只能告訴to,from。翻看官方文檔,發現statuscode可以由uni.request成功回調的statuscode獲取,意思就是對昨天封裝的uni.request加一條statuscode判斷以及重定向就行

改了半天還是不會失敗自動跳轉,我以為響應攔截器寫錯了,于是升級了一下,可還是失敗

import  config  from "./config.js"const request = (options) => {return new Promise((resolve, reject) => {let token = uni.getStorageSync('token')uni.request({url: config.baseUrl + options.url,method: options.method || 'GET',header: options.header || {authorization: token,},data: options.data || {},success: (res) => {const data = resif (res.statusCode !== 200) {console.log(res.statusCode)handleStatus(res) //處理狀態碼return}resolve(data)},fail: (error) => {uni.showToast({icon: 'error',title: '系統錯誤'})reject(error)},complete: (res) => {}})})
}
const handleStatus = (res) => {switch (res.statusCode) {// 401: 未登錄// 未登錄則跳轉登錄頁面,并攜帶當前頁面的路徑// 在登錄成功后返回當前頁面,這一步需要在登錄頁操作。                case 401:uni.navigateTo({url: "/pages/login/login",})uni.showToast({icon: 'error',title: '未登錄'})returnbreak;// 403 token過期// 登錄過期對用戶進行提示// 清除本地token和清空vuex中token對象// 跳轉登錄頁面                case 403:uni.navigateTo({url: "/pages/login/login",fail:function(){console.log('fail')}})uni.showToast({icon: 'error',title: '登錄過期'})uni.removeStorageSync("token")break;// 404請求不存在case 404:break;// 其他錯誤,直接拋出錯誤提示default:}
}
export function get(option) {return new Promise((resolve, reject) => {request({...option,method:'GET'}).then(res => {resolve(res);}).catch(err => {reject(err)})});
}
export function post(option) {return new Promise((resolve, reject) => {request({...option,method: 'POST',}).then(res => {resolve(res);}).catch(err => {reject(err)})});
}

明明控制臺都打印了,可是就是不跳轉,頁面跳轉始終失敗

打印錯誤原因

當前頁面正在處于跳轉狀態,請稍后再進行跳轉....?

....返回未登錄時,需要跳轉到登錄授權頁,此時就會出現以上報錯信息,使用微信API就不會報錯了

可以說困擾一天了。。。

		wx.redirectTo({url: "/pages/login/login",})

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/41339.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/41339.shtml
英文地址,請注明出處:http://en.pswp.cn/web/41339.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

RAID 冗余磁盤陣列

RAID也是Linux操作系統中管理磁盤的一種方式。 只有Linux操作系統才支持LVM的磁盤管理方式。 而RAID是一種通用的管理磁盤的技術,使用于多種操作系統。 優勢:提升數據的讀寫速度,提升數據的可靠性。具體實現哪什么功能,要看你所…

RGB樹-美團2023筆試(codefun2000)

題目鏈接 RGB樹-美團2023筆試(codefun2000) 題目內容 塔子哥是一位著名的冒險家,他經常在各種森林里探險。今天,他來到了道成林,這是一片美麗而神秘的森林。在探險途中,他遇到了一棵 n 個節點的樹,樹上每個節點都被涂…

LVGL移植與VS模擬器使用

一、移植文件介紹 二、移植部分 第一步:創建LVGL文件夾 第二步: 構造LVGL文件夾:LVGL - GUI - lvgl - 第三步:添加文件 3.1 從examples中添加2個.c文件 3.2 從src中添加文件 draw文件 extra文件 第四步: 三、Ke…

Linux系統安裝軟件包的方法rpm和yum詳解

起因: 本篇文章是記錄學習Centos7的歷程 關于rpm 常見命令 1)查看已經安裝的軟件包 rpm -q 軟件包名 2)查看文件的相關信息 rpm -qi 軟件包名 3)查看軟件包的依賴關系 就是說要想安裝這個軟件包,就必須把一些前…

三級_網絡技術_04_中小型網絡系統總體規劃與設計

1.下列關于路由器技術特征的描述中,正確的是()。 吞吐量是指路由器的路由表容量 背板能力決定了路由器的吞吐量 語音、視頻業務對延時抖動要求較低 突發處理能力是以最小幀間隔值來衡量的 2.下列關于路由器技術特征的描述中,正確的是()。 路由器的…

springboot公寓租賃系統-計算機畢業設計源碼03822

摘要 1 緒論 1.1 研究背景與意義 1.2選題背景 1.3論文結構與章節安排 2 公寓租賃系統系統分析 2.1 可行性分析 2.1.1 技術可行性分析 2.1.2 經濟可行性分析 2.1.3 法律可行性分析 2.2 系統功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系統用例分析 2.4 系…

韋東山嵌入式linux系列-第一個實驗

1 前言 筆者使用的是韋東山STM32MP157 Pro的板子,環境搭建部分按照說明文檔配置完成。配置橋接網卡實現板子、windows、ubuntu的通信,也在開發板掛載 Ubuntu 的NFS目錄 ,這里就不再贅述了。 板子: 192.168.5.9 windows: 192.168.5.10 ubunt…

【linux】服務器創建RAID1

【linux】服務器創建RAID1 文章目錄 【linux】服務器創建RAID1一、配置介紹raid介紹raid類型RAID 0:RAID 1:RAID 5:RAID 6:二、配置RAID硬件RAID:軟件RAID:三、軟件配置RAID1(以linux為例)1.先進入管理員模式2.安裝mdadm工具3.創建raid1數組4.查看RAID數組狀態5.格式化和掛載…

機械鍵盤如何挑選

機械鍵盤的選擇是一個關鍵的決策,因為它直接影響到我們每天的打字體驗。在選擇機械鍵盤時,有幾個關鍵因素需要考慮。首先是鍵盤的鍵軸類型。常見的鍵軸類型包括藍軸、紅軸、茶軸和黑軸等。不同的鍵軸類型具有不同的觸發力、觸發點和聲音。藍軸通常具有明…

神經網絡和安全結合:一種基于神經網絡的智能攻擊檢測與防御系統;構建攻擊行為預測模型

目錄 神經網絡和安全結合 摘要 引言 理論基礎 技術實現與創新點 實驗驗證 結論與展望 一種基于神經網絡的智能攻擊檢測與防御系統 一、系統概述 二、主要功能 三、技術特點 四、應用前景 構建攻擊行為預測模型 一、構建攻擊行為預測模型的步驟 1. 數據收集 2. …

單鏈表的學習與基礎運用p

當我們在實際做項目,或者是自主開發一點小東西的時候,往往會儲存一些數據,有時候我們需要添加這些數據,有時候需要刪除,而有時候,僅僅只需要查找到就行。鏈表中的每一個節點都是一個獨立開辟的空間&#xf…

聚類分析方法(一)

目錄 一、聚類分析原理(一)聚類分析概述(二)聚類的數學定義(三)簇的常見類型(四)聚類框架及性能要求(五)簇的距離 二、劃分聚類算法(一&#xff0…

Java 有什么必看的書?

Java必看經典書有這兩本: 1、Java核心技術速學版(第3版) 經典Java開發基礎書CoreJava速學版本!Java入門優選書籍,更新至Java17,內容皆是精華,讓Java學習更簡單,讓Java知識應用更快速…

【Linux】什么是進程間通信?方式有哪些?本質理解?

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃個人主頁 :阿然成長日記 …

使用 ChronicleMap 擴展高性能內存緩存

1.擴展內存緩存的挑戰 我們用于與各種程序化和需求方平臺 (DSP) 集成的應用程序之一是低延遲、高吞吐量的基于 JVM 的應用程序。這是 付款憑單(DV)付前前驗證解決方案的核心組件。自多年前成功推出此解決方案以來,我們不斷添加多項關鍵功能&…

【ChatGPT】全面解析 ChatGPT:從起源到未來

ChatGPT 是由 OpenAI 開發的一個基于 GPT(Generative Pre-training Transformer)架構的聊天機器人。通過自然語言處理(NLP)技術,ChatGPT 能夠理解和生成語言,與人類進行對話。本文將深入探討其起源、發展、…

SpringSecurity源碼分析-過濾器鏈是如何植入到spring中的

SpringSecurity源碼分析-過濾器鏈是如何植入到spring中的 一切的源頭都是因為在web.xml中配置了這樣一個Filter <!--security--><filter><filter-name>springSecurityFilterChain</filter-name><filter-class>org.springframework.web.filter.…

NoSQL 之 Redis 集群部署

前言&#xff1a; &#xff08;1&#xff09;主從復制&#xff1a;主從復制是高可用Redis的基礎&#xff0c;哨兵和集群都是在主從復制基礎上實現高可用 的。主從復制主要實現了數據的多機備份&#xff0c;以及對于讀操作的負載均衡和簡單的故障恢復。缺陷&#xff1a; 故障…

vue3+antd 實現文件夾目錄右鍵菜單功能

原本的目錄結構&#xff1a; 右鍵菜單&#xff1a; 點擊菜單以后會觸發回調&#xff1a; 完整的前端代碼&#xff1a; <template><a-directory-treev-model:expandedKeys"expandedKeys"v-model:selectedKeys"selectedKeys"multipleshow-li…

在 Docker 容器中運行 Vite 開發環境,有這兩個問題要注意

容器化開發給我們帶來了很多便捷&#xff0c;但是在開發環境下也有一些問題要注意&#xff0c;如果不解決這些問題&#xff0c;你的開發體驗不會很好。 容器啟動正常&#xff0c;卻無法訪問 我們用 Docker 啟動一個 Vite Vue3 項目的開發環境后&#xff0c;發現端口日志一切…