微信小程式統一分享,全域性接管頁面分享訊息的一些技巧
小知識,大挑戰!本文正在參與“程式設計師必備小知識”創作活動。
本文已參與 「掘力星計劃」 ,贏取創作大禮包,挑戰創作激勵金。
前言
最近都在折騰這個我自己個人技術內容聚合的小程式。除了作為掘金文章,嗶哩嗶哩視訊的聚合。我有什麼新的想法,產品創意,最終落地的東西都會放到這個小程式裡。
而分享功能非常的重要,當某一個功能或文章打動使用者的時候,能把這個小程式分享出去,就能帶來裂變傳播的效果。
全域性接管分享事件
而隨著功能越來越多,頁面越來越多,每一個頁面都需要新增分享的回撥方法嗎?
~~~javascript onShareAppMessage: function () { return { title: '分享的標題', path: '分享的頁面路徑' } }, ~~~
有沒有辦法能全域性統一接管分享呢?寫一次,所有頁面就都可以分享了。
能!
由於onShareAppMessage
是一個函式,在使用者點選右上角...
時觸發,或者<button open-type='share'>
時觸發。所以我們只要在這之前替換掉這個函式就可以了。
通過wx.onAppRoute(cb)
這個方法,我們可以監聽到微信小程式頁面棧的變化。
~~~javascript //在小程式啟動時新增全域性路由變化的監聽 onLaunch(){ wx.onAppRoute(()=>{ console.log('page stack changed'); console.log(getCurrentPages()); }); } ~~~
onAppRoute會在頁面棧改變後被觸發,這個時候通過getCurrentPages()
方法,我們可以拿到小程式中全部的頁面棧。
陣列最後一個就是當前頁面
現在直接給當前頁面這個物件賦值onShareAppMessage
即可
~~~javascript var pages = getCurrentPages(); var curPage = pages[pages.length-1];
curPage.onShareAppMessage=()=>{ return { title:"被接管了" } } ~~~
再分享時我們就會發現被接管了
獲取當前頁面的地址
page引數不傳的話,預設轉發出去就是當前頁面的地址。當然通過curPage.route
也可以獲取該頁面地址。
~~~javascript var pages = getCurrentPages(); var curPage = pages[pages.length-1];
curPage.onShareAppMessage=()=>{ return { title:"被接管了", page:curPage.route } } ~~~
小技巧
如果就這樣分享出去,使用者開啟的時候,就會直接展示這個分享的頁面。直接返回,或者左滑螢幕,都會直接退出到聊天介面。使用者主動分享一次產生的裂變不容易,我希望這個分享帶來的價值最大化,讓接到分享的微信使用者看到更多頁面的話怎麼辦呢?
永遠先進首頁,首頁檢查啟動引數後再跳轉相關頁面
~~~javascript curPage.onShareAppMessage=()=>{ return { title:"被接管了", page:"/pages/home/home?url="+curPage.route } } ~~~
我叫大帥
,一個老
程式猿
推薦閱讀(感謝掘友的鼓勵與支援🌹🌹🌹) - 這45道面試可能被問到的JS判斷題!你能答對幾道? 33贊 - CSS邊玩邊學,這五個遊戲讓你對CSS的掌握更進一步! 28贊 - 產品經理:你能不能用div給我畫條龍? 2471贊 - 三種前端實現VR全景看房的方案!說不定哪天就用得上! 2698贊
- 2022,38歲,裸辭,自由職業一年實況分享
- 太強了!外國小哥花16個月用Three.JS打造了一個無縫切地圖的3D開車遊戲
- 細節狂魔,用 JavaScript 復原何同學B站頭圖的創意
- 碼上摸金,用PIXI GSAP仿寫vanmoof剎車動效 | 猿創營
- 在uni-app中使用微軟的文字轉語音服務
- 萬馬奔騰隊的phaser3 戰疫小遊戲開發歷程回顧
- 用uni-app開發一個名為漢兜的遊戲
- 淺談對貪食蛇遊戲的一點微創新
- 手把手教你做iOS逆向分析,突破微信的群發多選數量限制
- 產品經理:你能不能用div給我畫條龍?
- 這個榜單我不服!終究還是錯付了這個綠茶掘金
- 前端摸魚神器,設計稿一鍵匯出 「小程式/Vue/Uni-app」程式碼
- 請收下這份原始碼,用Vue開發的一個“螞蟻森林澆水偷菜”遊戲
- 微信小程式統一分享,全域性接管頁面分享訊息的一些技巧
- 這45道面試可能被問到的JS判斷題!你能答對幾道?
- CSS邊玩邊學,這五個遊戲讓你對CSS的掌握更進一步!
- Web網站掃【小程式碼】登入的技術實現!記得收藏,要用時別找不到!
- 獻給所有技術內容創作者~猿創聚合助手小程式開發難點解析
- 花60秒給Vue3提的PR,竟然被尤大親自Merge了~
- 使用Vue開發“螞蟻森林澆水偷菜”遊戲的心得體會