小程式手動實現路由攔截
小程式中並沒有像 vue-router 一樣的路由攔截功能,所以需要自己手動實現,下面就把具體的實現方法分享出來供大家參考。
具體實現思路與vue相同,定義一個全域性的 token 變數,進入某一個頁面的時候判斷是否存在這個 token 是否存在,存在則正常跳轉,不存在則跳轉到登入頁面。
建立一個工具資料夾,建立一個 routers.js ,封裝路由攔截的具體程式碼如下:
// routers.js
export function routerFillter(pageObj) {
let _onShow = pageObj.onShow;
pageObj.{
const token = getApp().globalData.token;
if (token && token.length > 0) {
// 有登入資訊 - 頁面開啟
_onShow.call(this)
} else {
// 無登入資訊 - 登入
wx.switchTab({
url: '/pages/user/user'
})
}
}
return Page(pageObj);
}
在需要攔截的頁面中匯入攔截方法,使用發放如下:
// index.js
import { routerFillter } from "../../utils/routers";
routerFillter({ // routerFillter代替了原來的 Page
// 正常邏輯書寫
data: {},
...
})
這樣一個簡單的路由攔截功能就完成了。好買網GOODmai
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70008684/viewspace-2838367/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 前端架構之vue+axios 前端實現登入攔截(路由攔截、http攔截)前端架構VueiOS路由HTTP
- Autofac實現攔截器和切面程式設計程式設計
- 如何實現一個react-router路由攔截(導航守衛)React路由
- Java實現的攔截器Java
- 小tips-一種移動端模擬實現返回攔截的方案
- 手寫Spring MVC框架(二) 實現訪問攔截功能SpringMVC框架
- Android AOP程式設計之雙擊攔截實現Android程式設計
- Flume內建攔截器與自定義攔截器(程式碼實戰)
- SpringBoot 手寫攔截器Spring Boot
- (系列十一)Vue3框架中路由守衛及請求攔截(實現前後端互動)Vue框架路由後端
- SpringMVC中的攔截器Interceptor實現SpringMVC
- SpringBoot 整合 Shiro 實現登入攔截Spring Boot
- Mybatis 分頁:Pagehelper + 攔截器實現MyBatis
- Asp.Netcore使用Filter來實現介面的全域性異常攔截,以及前置攔截和後置攔截ASP.NETNetCoreFilter
- 一種移動端模擬實現返回攔截的方案
- 自己動手實現一個前端路由前端路由
- React、Axios、MockJs實現Ajax的請求攔截ReactiOSMockJS
- SpringBoot實現過濾器、攔截器與切片Spring Boot過濾器
- MyBatis攔截器優雅實現資料脫敏MyBatis
- flutetr dio 攔截器實現 token 失效重新整理
- Spring AOP 在 XML檔案中實現 AspectJ 攔截SpringXML
- vue中使用el-dialog + axios 實現攔截器VueiOS
- SpringBoot自定義攔截器實現IP白名單功能Spring Boot
- 前後端實現登入token攔截校驗後端
- 小程式實現手寫簽名
- Proxy 攔截
- 從程式設計攔截器到大腦資訊攔截處理架構程式設計架構
- SpringMVC攔截器,設定不攔截的URLSpringMVC
- Flutter下實現WebView攔截載入離線資源FlutterWebView
- 不攔截Request!基於WKWebView的API實現Hybrid容器WebViewAPI
- SpringBoot中的過濾器和攔截器的實現Spring Boot過濾器
- 如何自定義中介軟體,實現業務程式碼無侵入監控及攔截
- Spring MVC 中的攔截器的使用“攔截器基本配置” 和 “攔截器高階配置”SpringMVC
- 導彈攔截
- sql攔截器SQL
- SpringMVC攔截器SpringMVC
- Mybatis 攔截器MyBatis
- axios 攔截器iOS