微信小程序商城分享,砍價功能(前端開發)

1.了解分享,砍一刀結構流程

(1).分享

創建點擊事件觸發分享事件》創建需要分享的頁面》使用官方的頁面生命周期函數onShareAppMessage》監聽分享事件構建后續業務邏輯

(2).砍一刀

接收分享的頁面》驗證登錄情況》點擊砍價事件》判斷是否已經砍過》砍價成功后與分享前頁面的交互

2.分享邏輯代碼

(1).創建分享事件 使用button標簽類型為share
<button class="btn" open-type="share">
    <text>邀請好友砍價</text>
</button>
(2).分享邏輯
// 頁面生命周期函數,自定義此頁面的轉發給好友(已經有全局的分享方法,此處會覆蓋全局)
    onShareAppMessage(res) {
            return {
              //分享預覽頁的標題
                title: '朋友邀請您來砍價哦!',
              //需要分享的頁面路徑和需要傳遞的參數,例如:當前需要分享的頁面路徑是/pagesA/share/share
                path:
                    '/pagesA/share/share?orderId=' + orderId + '&userIds=' + userIds
              //分享預覽頁的圖片
                imageUrl: ' '
            };
    },

3.砍一刀邏輯代碼

(1).調用后端接口,判斷已砍和未砍
getmyFriendBargainInfo() {
        //具體請求參數和后端協商  例如:bargainOrDoughId:傳過來的訂單id,friendUserId:幫助砍價人的賬號id,driverUserId:發起砍價人的賬號id
            this.api.myFriendBargainInfo({ bargainOrDoughId: this.options.orderId, friendUserId: uni.getStorageSync('userId'), driverUserId: this.options.userIds }).then(res => {
                console.log(res);
                this.message = res.data.data;
            });
        },
(2).砍一刀邏輯
        bargainHelp() {
              //判斷是否已經砍過了
                if (this.message.myFriendBargainIdStatus == 0) {
                    this.api
                        .UserBargaining({ bargainId: this.options.id, driverUserId:uni.getStorageSync('userId') })
                        .then(red => {
                            console.log(red);
                            this.getmyFriendBargainInfo();
                        //砍價成功后向外發出一個事件,為了與分享前的頁面做交互,分享前的頁面接受參數后,會更新砍價進度,重新刷新數據渲染頁面
                            uni.$emit('bargainOrderUpdate', { msg: '砍價頁面更新' });
                            uni.showToast({
                                title: '砍價成功',
                                duration: 2000
                            });
                        })
                        .catch(() => {
                            this.tui.toast('砍價失敗');
                        });
                } else if (this.message.myFriendBargainIdStatus == 1) {
                    this.tui.toast('您已經砍過了');
                }
        },

4.交互

//接受砍價頁發送出來的事件
uni.$on("bargainUpdate",data => {
    //幫助砍價成功后執行的后續邏輯,比如頁面砍價進度的刷新...     
})
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容