移動校園(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/diannao/42368.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/42368.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/42368.shtml

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

相關文章

MySQL——數據連接池

數據庫連接 --- 執行完畢 --- 釋放(連接到釋放的過程十分浪費系統資源) 池化技術:準備一些預先的資源,過來就連接預先準備好的 編寫連接池,實現一個接口 DataSource 開源數據源實現(拿來即用)…

增強安全防護,解讀智慧校園系統的登錄日志功能

在構建智慧校園系統時,登錄日志功能扮演著不可或缺的角色,它不僅是系統安全的守護者,也是提升管理效率和確保合規性的有力工具。這一機制詳細記錄每次登錄嘗試的方方面面,涵蓋了時間戳、用戶身份、登錄來源的IP地址乃至使用的設備…

phpcms 升級php8.3.8

windows 2008 server 不支持php8.3.8,需升級為windows 2012 1.下載php8.3.8 PHP8.3.9 For Windows: Binaries and sources Releases 2.配置php.ini (1.)在php目錄下找到php.ini-development文件,把它復制一份,改名為php.ini (2.)修改php安裝目錄 根…

《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》

《昇思 25 天學習打卡營第 10 天 | ResNet50 遷移學習 》 活動地址:https://xihe.mindspore.cn/events/mindspore-training-camp 簽名:Sam9029 使用遷移學習進行狼狗圖像分類 簡介 在機器學習和深度學習中,我們經常面臨數據不足的問題。 遷…

python【文件操作】

文件操作 一、創建文件夾二、文件操作模式1.覆蓋寫入2.讀取3.追加 三、 Python腳本在文件中查找和替換文本四、 python清空文件夾 一、創建文件夾 判斷文件或者文件夾是否存在 import ospathrD://測試文件夾 if not os.path.exists(path):os.mkdir(path)print(os.path.exists…

C++模板元編程(二)——完美轉發

完美轉發指的是函數模板可以將自己的參數“完美”地轉發給內部調用的其它函數。所謂完美,即不僅能準確地轉發參數的值,還能保證被轉發參數的左、右值屬性不變。 文章目錄 場景舊的方法新的方法內部實現參考文獻 場景 思考下面的代碼: templ…

高防服務器的重要性

在數字化時代,網絡安全已成為企業和個人最為關注的問題之一。隨著網絡攻擊的日益頻繁和復雜,傳統的服務器租用服務已難以滿足高安全需求的市場。高防服務器租用應運而生,成為保護網絡安全的重要解決方案。本文將探討高防服務器租用的概念、重…

專業140+總分420+天津大學815信號與系統考研經驗天大電子信息與通信工程,真題,大綱,參考書。

順利上岸天津大學,專業課815信號與系統140,總分420,總結一些自己的復習經歷,希望對于報考天大的同學有些許幫助,少走彎路,順利上岸。專業課: 815信號與系統:指定教材吳大正&#xf…

2-26 基于matlab開發的制冷循環模型

基于matlab開發的制冷循環模型。Simscape兩相流域中的制冷循環模型,在simulink中完成多循環溫度控制。程序已調通,可直接運行。 2-26 制冷循環模型 Simscape兩相流域 - 小紅書 (xiaohongshu.com)

Arduino ESP8266 開發環境搭建

Arduino ESP8266 開發環境搭建 很久之前學嵌入式時,用過Arduino8266進行開發,開發成本低、難度小,體驗很不錯。 近期,又突然要用,遂再次搭建環境,但變動挺多,有些小波折,開貼記錄。…

生成式AI應用實列和價值鏈

生成式AI應用實列和價值鏈 生成式AI應用實列ChatGPTGeminiGitHub CopilotSynthesia 價值鏈 生成式AI應用實列 ChatGPT ChatGPT 并不是生成式 AI 行業中唯一的公司。 Stability AI 的 Stable Diffusion 可以根據文本描述生成圖像,發布后 90 天內,在 Git…

vue是如何進行監聽數據變化的?vue2和vue3分別是什么,vue3為什么要更換

在 Vue 中,數據變化的監聽是通過響應式系統來實現的。Vue 2.x 和 Vue 3 在這方面有一些區別。 Vue 2.x 的數據監聽 Vue 2.x 使用的是 Object.defineProperty() 方法來實現數據的響應式。當你聲明一個 Vue 實例的數據對象時,Vue 將遍歷這個對象的屬性&a…

清除屏幕上信息的命令clear

清除屏幕上信息的命令clear There is no nutrition in the blog content. After reading it, you will not only suffer from malnutrition, but also impotence. The blog content is all parallel goods. Those who are worried about being cheated should leave quickly. 清…

高考志愿填報千萬要注意這四點

在高考志愿填報過程中,確實有很多需要留心的點。我為你總結了四個關鍵點,希望能幫助你順利完成志愿填報: 1、學校提供的支持 學校作為學生志愿填報咨詢服務的主陣地,應提供體系化和制度化的支持。包括及時關注并傳達政策動向和相…

行內元素、塊級元素居中

行內元素居中 水平居中 {text-align&#xff1a;center;}垂直居中 單行——行高等于盒子高度 <head><style>.father {width: 400px;height: 200px;/* 行高等于盒子高度&#xff1a;line-height: 200px; */line-height: 200px;background-color: pink;}.son {}&…

如何做好IT類的技術面試?

我們在找工作時&#xff0c;需要結合自己的現狀&#xff0c;針對意向企業做好充分準備。作為程序員&#xff0c;你有哪些面試IT技術崗的技巧&#xff1f; 方向一&#xff1a;分享你面試IT公司的小技巧 我分享一些基于廣泛觀察和用戶反饋的面試IT公司的小技巧&#xff1a; 技術準…

孟德爾隨機化-痛風

寫在前面 昨天看到文獻&#xff0c;稱飲酒與痛風無關聯&#xff0c;甚是疑惑&#xff0c;今天剛好看了一篇新文獻&#xff0c;雖然不是主要講飲酒與痛風的&#xff0c;但也有牽扯到這方面內容&#xff0c;而且是相反的內容&#xff0c;特記錄一下。 孟德爾隨機化-受教育程度與…

vuepress創建步驟

背景 記錄vuepress配置步驟&#xff0c;以便下次使用快速上手。 讀此文章之前默認您已經學會了創建vuepress項目。vuepres快速開始 最終成品 doc.jeecgflow.com 配置步驟 創建.vuepress 目錄。 你的文檔目錄下創建一個 .vuepress 目錄。 創建.vuepress/config.js module.e…

mysql面試題 Day4

1 什么是覆蓋索引&#xff1f;對要查詢的列 和 查詢條件中的列 有什么要求 覆蓋索引&#xff08;Covering Index&#xff09;是指一個索引包含了一次查詢所需的全部列&#xff0c;因此可以完全滿足查詢需求&#xff0c;而無需訪問實際的表行數據。&#xff08;即避免回表操作&…

Mac窗口輔助管理工具:Magnet for mac激活版

magnet mac版是一款運行在蘋果電腦上的一款優秀的窗口大小控制工具&#xff0c;拖拽窗口到屏幕邊緣可以自動半屏&#xff0c;全屏或者四分之一屏幕&#xff0c;還可以設定快捷鍵完成分屏。這款專業的窗口管理工具當您每次將內容從一個應用移動到另一應用時&#xff0c;當您需要…