Vue WebApp適配Ios和Android實現(xiàn)沉浸式狀態(tài)欄

閑言碎語

看到這樣一個需求呜舒,如果你和我一樣心里是WTF,那么請繼續(xù)往下讀昵慌。如果幸運的你使用了nui-app或者HTML5+,那么請你移步Dcloud淮蜈。如果說項目源于生活斋攀,那么產(chǎn)品經(jīng)理一定是生活中做白日夢的那個(哈哈哈,看到這篇文章的產(chǎn)品經(jīng)理千萬別懟我)梧田,開個玩笑淳蔼,懟歸懟,該實現(xiàn)的還是要實現(xiàn)裁眯。

這里才是正文

大部分沉浸式設計分為兩種:一種圖片通頂鹉梨,設置狀態(tài)欄透明;另一種穿稳,如果標題欄背景為純色存皂,那么可以設置狀態(tài)欄背景和標題欄一致,達到沉浸式的效果逢艘。那么旦袋,我們開發(fā)的是Vue WebApp項目,每個頁面是否為沉浸式它改,標題欄與狀態(tài)欄顏色是否一致疤孕,都應該由vue告訴原生,然后原生進行相應的設置央拖,然后大功告成胰柑。

  • 三個問題
    vue通過什么方式告訴原生?在什么地方告訴原生爬泥?參數(shù)如何傳遞柬讨?
  • 解決問題
    使用JSBridge進行vue與原生的交互;
    在vue-route的導航守衛(wèi)中發(fā)送給原生袍啡;
    將參數(shù)塞進vue-route的路由列表中踩官。
  1. 這里就不重復百度中的東西了,自行封裝一個JSBridge的方法(Ctrl+c Ctrl+v)境输。
  2. vue-route的導航守衛(wèi)蔗牡,這里使用全局前置守衛(wèi)beforeEach,傳送門https://router.vuejs.org/zh/guide/advanced/navigation-guards.html(我是有多懶颖系。。辩越。)
  3. 創(chuàng)建VueRoute實例嘁扼,配置路由參數(shù)的時候,根據(jù)設計要求黔攒,將是否為沉浸式趁啸,以及狀態(tài)欄顏色作為參數(shù)寫入meta字段中。
    一切準備就緒督惰,開擼代碼(以本身項目為例):

route.list.js

import testImmersion from './test/testImmersion';
export default function routes() {
  return [
    {path: '/testImmersion', component: testImmersion.App, meta: { isImmersion: true, color: '#ffffff'} }
  ]
}

route.js

.....省略
//這里將封裝好的JSBridge導入
import JSBridge from './lib/JSBridge.js'
const router = new VueRouter({ ... })

router.beforeEach((to, from, next) => {
  //第一個參數(shù):和原生端約定好的方法名不傅,vue端進行調(diào)用。
  //第二個參數(shù):將配置在路由表中的meta字段中的參數(shù)傳給原生赏胚。
  //第三個參數(shù):data為原生的回調(diào)方法
  //next()方法可以在data回調(diào)中調(diào)用访娶,也可以直接和callHandler同步調(diào)用,特殊需求特殊對待
  JSBridge.callHandler('setImmersion', {isImmersion: to.meta.isImmersion, color: to.meta.color}, (data) => {
    next();
  })
})

寫到這里觉阅,就可以實現(xiàn)沉浸式狀態(tài)欄了崖疤,也用在了自己項目中,以此記錄典勇!

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末劫哼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子痴柔,更是在濱河造成了極大的恐慌沦偎,老刑警劉巖,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咳蔚,死亡現(xiàn)場離奇詭異豪嚎,居然都是意外死亡,警方通過查閱死者的電腦和手機谈火,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門侈询,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人糯耍,你說我怎么就攤上這事扔字。” “怎么了温技?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵革为,是天一觀的道長。 經(jīng)常有香客問我舵鳞,道長震檩,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮抛虏,結果婚禮上博其,老公的妹妹穿的比我還像新娘。我一直安慰自己迂猴,他們只是感情好慕淡,可當我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著沸毁,像睡著了一般峰髓。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上以清,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天儿普,我揣著相機與錄音崎逃,去河邊找鬼掷倔。 笑死,一個胖子當著我的面吹牛个绍,可吹牛的內(nèi)容都是我干的勒葱。 我是一名探鬼主播,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼巴柿,長吁一口氣:“原來是場噩夢啊……” “哼凛虽!你這毒婦竟也來了?” 一聲冷哼從身側響起广恢,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤凯旋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钉迷,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體至非,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年糠聪,在試婚紗的時候發(fā)現(xiàn)自己被綠了荒椭。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡舰蟆,死狀恐怖趣惠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情身害,我是刑警寧澤味悄,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站塌鸯,受9級特大地震影響侍瑟,放射性物質發(fā)生泄漏。R本人自食惡果不足惜界赔,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一丢习、第九天 我趴在偏房一處隱蔽的房頂上張望牵触。 院中可真熱鬧,春花似錦咐低、人聲如沸揽思。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钉汗。三九已至,卻和暖如春鲤屡,著一層夾襖步出監(jiān)牢的瞬間损痰,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工酒来, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留卢未,地道東北人。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓堰汉,卻偏偏與公主長得像辽社,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子翘鸭,可洞房花燭夜當晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容