頁面分享
小程式頁面分享鏈結增加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 為 的路徑 這個路徑是對方如果點選你分享的內容跳轉回小程式時,在小程式中顯示的頁面的路徑,很明顯後面傳遞的引數是此...