如何區分router.push跳轉快應用的來源渠道
現象描述:
從一個快應用A 跳轉到B 快應用的B1 頁面, A 可能是一個快應用,也可能是負一屏的卡片,如何區分來自哪個呢?
解決方法:
快應用和卡片都是透過router.push 介面來跳轉其他快應用的,使用Deeplink 中的hap 連結來實現的,同時hap 連結裡是可以攜帶引數,在跳過去時加個flag 引數,在B 快應用的B1 頁面獲取引數,根據引數值判斷來源是負一屏的卡片還是快應用A ,然後根據需要做相應的邏輯處理。快應用使用this.xx 獲取跳轉攜帶的引數。
示例程式碼:
A快應用程式碼:
<template> <div> <text class="button" onclick="router">測試</text> </div> </template> <style> .button{ width: 100%; height: 200px; color: #000000; font-size: 80px; } </style> <script> import router from '@system.router'; module.exports = { data: { }, onInit() { this.$page.setTitleBar({ text: '' }) }, router(){ console.log("router"); router.push({ uri: 'hap://app/com.huawei.ceshi/Test?body=quickapp',//快應用引數 }) } } </script>
卡片相關程式碼:
<template> <div> <text class="button" onclick="router">測試</text> </div> </template> <style> .button{ width: 100%; height: 200px; color: #000000; font-size: 80px; } </style> <script> import router from '@system.router'; module.exports = { data: { }, onInit() { this.$page.setTitleBar({ text: '' }) }, router(){ console.log("router"); router.push({ uri: 'hap://app/com.huawei.ceshi/Test?body=card',//卡片引數 }) } } </script>
B 快應用程式碼:
在onInit() 生命週期方法中獲取引數值,如下程式碼中定義了accept 變數接收引數值,比如在onBackPress() 方法中根據來源實現不同的業務邏輯。
<template> <div style="flex-direction: column;"> <text class="text">下面是接收的資料</text> <text class="text" style="background-color: black">{{accept}}</text> </div> </template> <style> .text { height: 80px; font-size: 50px; color: red; width: 500px; } </style> <script> import router from '@system.router'; module.exports = { data: { accept: "" }, onInit() { this.$page.setTitleBar({ text: '' }) this.accept = this.body; }, onBackPress() { if (this.accept === "quickapp") { console.log("this is quickapp"); } else if (this.accept === "quickapp") { console.log("this is crad"); }else{ router.back() } return true; } } </script>
欲瞭解更多詳情,請參閱:
快應用開發指導文件: https://developer.huawei.com/consumer/cn/doc/development/quickApp-Guides/quickapp-whitepaper
快應用路由介面介紹: https://developer.huawei.com/consumer/cn/doc/development/quickApp-References/quickapp-api-router
原文連結: https://developer.huawei.com/consumer/cn/forum/topic/0204422879753860623?fid=18
原作者:Mayism
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69970551/viewspace-2769298/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 教你如何在快應用中跳轉到Android的appAndroidAPP
- 卡片跳轉快應用指定頁面,如何點返回直接退出快應用回到卡片
- Android應用內外跳 — 跳轉到應用市場Android
- Deeplink跳轉提示應用下架
- deeplink跳轉快應用返回出現兩次系統新增桌面的彈框
- Page Ability 之間的跳轉概念和應用分享
- 037、Vue3+TypeScript基礎,使用router.push進行導航式路由跳轉VueTypeScript路由
- 038、Vue3+TypeScript基礎,使用router.push進行路由跳轉並傳參VueTypeScript路由
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- 快應用開發資源彙總?
- SAP UI5 Web Component React應用如何在Component之間跳轉UIWebReact
- Android 外部喚起應用跳轉指定頁面Android
- NFC 標籤:自動跳轉到指定應用
- 開放式測試跳轉到應用市場顯示應用已下架如何處理
- iOS應用之間的跳轉解析iOS
- iOS 應用之間跳轉傳輸資料以及跳回源程式iOS
- 點選連結跳轉到應用指定頁面
- 區塊鏈開發公司如何應用?聊區塊鏈+積分聯盟區塊鏈
- 來開發一個wanandroid快應用吧NaNAndroid
- Mac 中任何來源的應用開啟方式Mac
- 如何從 SAP UI5 Not Found 頁面跳轉回到正常的應用頁面試讀版UI面試
- asyUI分頁中,如何實現頁面跳轉,再返回時,...UI
- IDEA如何使mapper直接跳轉到xml,超實用IdeaAPPXML
- Flutter:如何跳轉頁面?Flutter
- 快來為你的 .NET 應用加個監控吧!
- 20分鐘能幹嘛?帶你玩轉智慧園區應用框架MainPortal框架AI
- 區分http請求狀態碼來理解快取(協商快取和強制快取)HTTP快取
- 實驗3 轉移指令跳轉原理及其簡單應用程式設計程式設計
- 快應用,快入門
- 區塊鏈未來應用藍圖區塊鏈
- 如何來區分原生IP跟廣播IP
- Win10系統如何清理應用商店快取_win10清理應用商店快取的方法Win10快取
- 如何重新整理瀏覽器的應用快取?瀏覽器快取
- 區塊鏈的發展,時代轉變下的區塊鏈應用區塊鏈
- Mac設定信認任意來源應用Mac
- 初探快應用
- 新聞稿釋出中首發來源與轉載的區別
- GPT接入企微應用 - 讓工作快樂起來GPT