百度智能小程序 評論詳情

2020-08-28 15:51 更新

comment-detail 評論詳情組件


解釋: 評論詳情,評論的相關(guān)數(shù)據(jù)為托管數(shù)據(jù)。Web 態(tài)說明:由于瀏覽器的限制,在 Web 態(tài)內(nèi)暫不支持回復(fù)評論等功能。

屬性說明

屬性名 類型 必填 默認值 說明
comment-param Object 評論核心參數(shù)
srid String 評論 ID
is-page-scroll Boolean true 滾動方式為頁面滾動,若組件作為浮層使用,該參數(shù)需設(shè)為 false
need-toolbar Boolean true 是否需要底部 toolbar,若使用開發(fā)者自定義的底部 toolbar,該參數(shù)需設(shè)為 false
need-like-btn Boolean true 是否需要詳情頂部父級評論的點贊按鈕,默認顯示
back-list-after-delete Boolean true 詳情刪除后是否回到列表頁,前端是列表是頁面幾;若使用浮層,請設(shè)置該屬性為 false
add-comment Boolean false 用于調(diào)起評論發(fā)布器發(fā)布評論
binddelete EventHandler 刪除整體詳情內(nèi)容時觸發(fā),返回數(shù)據(jù)為{status, data:{srid}}
bindunlogin EventHanlder 綁定未登錄事件,當(dāng)前用戶未登錄或傳入 openid 為空時觸發(fā)

comment-param 服務(wù)參數(shù)說明

屬性名 類型 必填 說明
openid String 用戶身份的唯一標識,獲取方法;獲取評論列表與評論詳情時,該參數(shù)為非必填;使用點贊、評論功能時,該參數(shù)為必填,否則調(diào)起 unlogin 方法
snid String 文章的唯一標識,與 path 參數(shù)一一對應(yīng),例如值為’20200101’
title String 文章標題
path String 文章頁面地址,用于消息推送等流量入口的跳轉(zhuǎn)回訪,必須是以 / 開頭的完整路徑,如果 path 中參數(shù)包含中文字符,需對中文字符進行編碼。與 snid 參數(shù)一一對應(yīng),例如 ‘/pages/home/index?snid=20200101’;長度限制 150 字符

代碼示例 :詳情組件放入頁面

頁面中引用動態(tài)庫組件的方式是:在頁面的 json 配置的 usingSwanComponents 字段中聲明組件引用。

{
    "navigationBarTitleText": "評論詳情",
    "usingSwanComponents": {
        "comment-detail": "dynamicLib://myDynamicLib/comment-detail"
    }
}

在頁面中放入詳情組件,傳入必要的參數(shù)。

<comment-detail
    comment-param="{{commentParam}}"
    srid="{{srid}}"
    need-like-btn="{{true}}"
    binddelete="detailDelete"
    bindunlogin="triggerLogin"
></comment-detail>
Page({
    data: {
        srid: '',
        commentParam: {}
    },
    onLoad(options) {
        if (options) {
            // 從列表頁跳轉(zhuǎn)的參數(shù)中拿到
            this.setData({
                srid: options.srid
            });
        }

        const param = getApp().globalData.commentParam;

        if (param && Object.keys(param).length) {
            this.setData({
                'commentParam': param
            });
        }
        else {
            this.setData({
                commentParam: {
                    snid: '10070000311753961',
                    path: '/pages/comment/index?snid=test_snid57',
                    title: '測試文章標題'
                }
            });
        }
    },
    triggerLogin(e) {
        swan.login({
            success: res => {
                swan.request({
                    url: 'https://spapi.baidu.com/oauth/jscode2sessionkey',
                    method: 'POST',
                    header: {
                        'content-type': 'application/x-www-form-urlencoded'
                    },
                    data: {
                        code: res.code,
                        'client_id': '', // AppKey
                        sk: '' // AppSecret
                    },
                    success: res => {
                        if (res.statusCode === 200) {
                            const commentParam = this.data.commentParam;
                            this.setData({
                                commentParam: {
                                    ...commentParam,
                                    openid: res.data.openid
                                }
                            }, () => {
                                // 我們建議將參數(shù)設(shè)為全局變量,方便取用
                                getApp().globalData.commentParam = this.data.commentParam;
                            });
                        }
                    }
                });
            }
        });
    }
});

Bug&Tip

  • Tip:openid 和百度 APP 登錄狀態(tài)(合稱登錄狀態(tài))會影響用戶的發(fā)布評論、舉報、刪除、消息提醒、跳轉(zhuǎn)個人主頁和頁面收藏(合稱互動行為),未登錄用戶僅可以瀏覽評論和點贊。
  • Tip:bindunlogin 是很重要的處理環(huán)節(jié),用于非登錄狀態(tài)下攔截用戶進行互動行為,引導(dǎo)用戶并將 openid 傳遞給組件,建議參照示例認真設(shè)計。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號