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

1.了解分享,砍一刀結(jié)構(gòu)流程

(1).分享

創(chuàng)建點(diǎn)擊事件觸發(fā)分享事件》創(chuàng)建需要分享的頁面》使用官方的頁面生命周期函數(shù)onShareAppMessage》監(jiān)聽分享事件構(gòu)建后續(xù)業(yè)務(wù)邏輯

(2).砍一刀

接收分享的頁面》驗(yàn)證登錄情況》點(diǎn)擊砍價(jià)事件》判斷是否已經(jīng)砍過》砍價(jià)成功后與分享前頁面的交互

2.分享邏輯代碼

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

3.砍一刀邏輯代碼

(1).調(diào)用后端接口,判斷已砍和未砍
getmyFriendBargainInfo() {
        //具體請(qǐng)求參數(shù)和后端協(xié)商  例如:bargainOrDoughId:傳過來的訂單id,friendUserId:幫助砍價(jià)人的賬號(hào)id,driverUserId:發(fā)起砍價(jià)人的賬號(hào)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() {
              //判斷是否已經(jīng)砍過了
                if (this.message.myFriendBargainIdStatus == 0) {
                    this.api
                        .UserBargaining({ bargainId: this.options.id, driverUserId:uni.getStorageSync('userId') })
                        .then(red => {
                            console.log(red);
                            this.getmyFriendBargainInfo();
                        //砍價(jià)成功后向外發(fā)出一個(gè)事件,為了與分享前的頁面做交互,分享前的頁面接受參數(shù)后,會(huì)更新砍價(jià)進(jìn)度,重新刷新數(shù)據(jù)渲染頁面
                            uni.$emit('bargainOrderUpdate', { msg: '砍價(jià)頁面更新' });
                            uni.showToast({
                                title: '砍價(jià)成功',
                                duration: 2000
                            });
                        })
                        .catch(() => {
                            this.tui.toast('砍價(jià)失敗');
                        });
                } else if (this.message.myFriendBargainIdStatus == 1) {
                    this.tui.toast('您已經(jīng)砍過了');
                }
        },

4.交互

//接受砍價(jià)頁發(fā)送出來的事件
uni.$on("bargainUpdate",data => {
    //幫助砍價(jià)成功后執(zhí)行的后續(xù)邏輯,比如頁面砍價(jià)進(jìn)度的刷新...     
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容