微信小程式分享及資訊追蹤

2022-05-03 03:39:06 字數 2316 閱讀 3504

頁面分享

​ 小程式頁面分享鏈結增加source引數,值為使用者id加密,分享出去的鏈結類似/pages/live/live?id=10109&source=1ada812s

​ 分享時自定義分享文案、鏈結、封面圖

​ 分享完成後獲取分享資訊,能獲取到群id算成功,做一次上報,記錄該使用者分享的資訊

追蹤

​ 群使用者開啟分享的卡片後,獲取鏈結中的source引數做一次上報,記錄哪些使用者開啟小程式

​ 使用者在此頁面**30s之後再做一次上報

由於**中有很多不相關的部分,所以分析的過程中,盡可能的省略掉不相關的**部分,以求更清晰的了解整個分享過程。

第一次上報

整個需求開發中,出現三次需要上報情況,可以將上報定義為同乙個函式,根據不同的入參,做不同的事。live.js中上報函式**如下:

upload_share_result(res, type, uid) 

request(share_event, params, 'post').then((res) =>).catch((res) =>)

},

首先我們需要了解小程式**的api,包括是否帶有群標識、以及如何獲取群標識、如何解密群資訊等。接下來我們會一點點分析。

live.js中實現**分享思路和**如下:

首先保證live頁面顯示分享按鈕,且能夠帶有shareticket的**

/*

* 生命週期函式--監聽頁面載入

*/onload:

function

(options) )

}

/*

** 使用者點選右上角分享

*/function

() &source=$`,

imageurl: this

.data.shareimage,

//**成功的**函式

success: function

(res)

})},

fail:

function

(res)

}}

以上部分已經可以實現基本的分享到群,然後獲取群資訊,並且完成第一次上報。

後續上報

接下來說一下,當乙個使用者開啟別人分享的小程式,並接受授權或者已有授權的情況下,如何完成第二次、第三次上報,**依舊在live.js中。

onload: function

(options) ,

function

() )

//給全域性新增**函式,當使用者沒有已授權的狀態,需要點選·授權·按鈕後,此時執行**函式

() , 30 * 1000)}}

//如果使用者已授權狀態,未刪除小程式,直接執行

if(store.getstate().updateuid)

}

postlogin(cdoe, iv, encrypteddata)

let _this = this; //

request(apiurl.postlogin, params, 'post').then(

(res) =>})

} })仔細的看上面的**會發現,全域性**中執行的方法share_event_req並不是我們最初定義的公共的upload_share_result。如果直接呼叫upload_share_result方法就可以直接上報了,那為什麼還需要呼叫share_event_req呢?這個share_event_req方法中有做了什麼處理呢?我們接著分析,**在live.js中:

share_event_req(res, type, uid) 

})}

else

}

onshow:

function

(options)

})當使用者b在此小程式停留30s,把此shareticket資訊和source=a上報給後台 ✅

使用者b再次分享到此群,把分享的群資訊和source=a傳給後台上報,群資訊相同。❎

使用者c開啟使用者b分享的小程式獲取到全域性shareticket。

微信小程式小技巧分享

1.滾動載入資料方式 在滾動分頁載入資料的時候,通常做法是定義乙個資料arr,下滑觸發載入更改請求介面獲取分頁資料arr2,然後將arr2合併到arr,重新setdata到arr。這樣的操作方式是每次都全量覆蓋,當資料量過大時,會造成渲染載入卡頓問題。arr陣列結構為 舊方法 page 上拉觸底方法...

App分享微信小程式

2.在info.list檔案中新增url schemes。4.分享小程式 wxminiprogramobject wxminiobject wxminiprogramobject object wxminiobject.webpageurl 相容低版本的網頁鏈結 wxminiobject.usern...

微信小程式 分享功能

入口方法 一,小程式右上角自帶的分享功能 以下 例項寫在export default 裡面 右上角分享功能 res fail function res title 為 的標題 path 為 的路徑 這個路徑是對方如果點選你分享的內容跳轉回小程式時,在小程式中顯示的頁面的路徑,很明顯後面傳遞的引數是此...