如何區分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
- Android應用內外跳 -- 跳轉到應用市場Android
- iOS應用跳轉到appstore評分,首頁iOSAPP
- iOS 應用間相互跳轉iOS
- java區分訪問端來源Java
- 正確區分LJMP、AJMP、SJMP、JMP跳轉指令
- 瀏覽器內外跳 -- 跳轉到指定應用瀏覽器
- 微信應用號來了 快來看看應用號有什麼用
- Deeplink跳轉提示應用下架
- 038、Vue3+TypeScript基礎,使用router.push進行路由跳轉並傳參VueTypeScript路由
- 快應用開發資源彙總?
- PHP 得到來源網址的應用PHP
- deeplink跳轉快應用返回出現兩次系統新增桌面的彈框
- Page Ability 之間的跳轉概念和應用分享
- 037、Vue3+TypeScript基礎,使用router.push進行導航式路由跳轉VueTypeScript路由
- android應用Dialog跳轉到ActivityAndroid
- ArkWeb頁面跳轉與跨應用導航 - 高階應用Web
- 開放式測試跳轉到應用市場顯示應用已下架如何處理
- 百度地圖/社交分享/應用間的跳轉地圖
- 區塊鏈開發公司如何應用?聊區塊鏈+積分聯盟區塊鏈
- 最新跳轉App Store評分的方法APP
- 如何檢測應用通知許可權?如何跳轉通知許可權設定頁?
- NFC 標籤:自動跳轉到指定應用
- 用 PHP 來實現微信跳一跳PHP
- 區分http請求狀態碼來理解快取(協商快取和強制快取)HTTP快取
- iOS應用之間的跳轉解析iOS
- 快來為你的 .NET 應用加個監控吧!
- iOS 應用之間跳轉傳輸資料以及跳回源程式iOS
- VB中子分類技術的應用 (轉)
- 如何從 SAP UI5 Not Found 頁面跳轉回到正常的應用頁面試讀版UI面試
- 來開發一個wanandroid快應用吧NaNAndroid
- PHP頁面跳轉如何實現延時跳轉PHP
- Android 外部喚起應用跳轉指定頁面Android
- 點選連結跳轉到應用指定頁面
- 快應用,快入門
- SAP UI5 Web Component React應用如何在Component之間跳轉UIWebReact