? ? ? ?

? ? ? 從分享的網(wǎng)頁跳轉(zhuǎn)到app對(duì)應(yīng)頁面是一種非常常見的需求,這個(gè)時(shí)候采用schema跳轉(zhuǎn),是一種非常方便的方式。
? ? ? 在微信平臺(tái),安卓和iOS的schema跳轉(zhuǎn)默認(rèn)會(huì)被屏蔽,上傳到騰訊應(yīng)用寶可以解決一些問題。在iOS9以上系統(tǒng)支持通用鏈接(Universal Link)技術(shù)可以突破封鎖,無縫銜接APP源生頁面,這時(shí)用wap站網(wǎng)址解析出各類參數(shù)和頁面類型都是可以的,當(dāng)然,如果采用schema作為參數(shù)不失為一個(gè)更方便的寫法。
? ? ? ? schema可以帶路徑和參數(shù),一般都是這樣的:xxxapp://activuty?title=標(biāo)題code=344,通過對(duì)其解析可以獲取需要跳轉(zhuǎn)的頁面名及參數(shù)。在需要跳轉(zhuǎn)的頁面較少的情況下可以針對(duì)每個(gè)頁面名參數(shù)做對(duì)應(yīng)的處理,但是一旦當(dāng)頁面增多就會(huì)導(dǎo)致代碼臃腫,拓展性降低。于是針對(duì)這種業(yè)務(wù)需求,我封裝了一個(gè)頁面處理路由。
? ? ? ? XTRouter就是用來處理多類型多參數(shù)的schema跳轉(zhuǎn)目標(biāo)獲取的工具。該工具通過配置文件,獲取不同路徑對(duì)應(yīng)的控制器名字,根據(jù)默認(rèn)數(shù)據(jù),參數(shù)映射為控制器賦值。在獲取到控制器之后便可以進(jìn)行各種跳轉(zhuǎn)操作。
GitHub: https://github.com/dingpuyu/XTRouter