W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
動態(tài)庫,是指可被添加到小程序內(nèi)直接使用的功能組件。開發(fā)者可直接在小程序內(nèi)使用動態(tài)庫,無需重復開發(fā),為用戶提供更豐富的服務。更多內(nèi)容參見使用動態(tài)庫。
swan-sitemap 動態(tài)庫是百度小程序官方發(fā)布的用于生成小程序索引頁的動態(tài)庫組件,開發(fā)者可以在小程序項目中引用 swan-sitemap 動態(tài)庫,并通過 swan-sitemap-list 組件高效的開發(fā)出符合搜索收錄規(guī)范的小程序索引頁。
"dynamicLib": {
// 'swan-sitemap-lib' 是個可自己定的別名。
"swan-sitemap-lib": {
// provider 是要引用的動態(tài)庫的名字,在此為 'swan-sitemap'。
"provider": "swan-sitemap"
}
}
創(chuàng)建一個索引頁頁面,并在頁面中聲明引用 swan-sitemap-list 組件動態(tài)庫中的組件與其他自定義組件類似,都需要在 page 中使用。所以首先需要創(chuàng)建一個 page,page 路徑可自定義,推薦路徑為 swan-sitemap/index(即在小程序項目根目錄創(chuàng)建 swan-sitemap 文件夾,并在文件夾下創(chuàng)建 index.js、index.swan、index.css、index.json 頁面文件)。
索引頁上線后,需要在開發(fā)者平臺提交最終的索引頁路徑,具體提交步驟見文檔小程序資源自動同步。
頁面中引用動態(tài)庫組件的方式是:在頁面的 json 配置的 usingComponents 字段中聲明組件引用。具體格式在使用動態(tài)庫文檔中查看。
"usingComponents": {
"swan-sitemap-list": "dynamicLib://swan-sitemap-lib/swan-sitemap-list"
}
在頁面代碼中使用 swan-sitemap-list 組件
3.1 模板代碼(.swan文件)示例如下:swan-sitemap-list 組件需要的具體數(shù)據(jù)及其含義見下節(jié) “swan-sitemap-list 組件字段詳解”
<swan-sitemap-list
list-data="{{listData}}"
current-page="{{currentPage}}"
total-page="{{totalPage}}"
path="/swan-sitemap/index">
</swan-sitemap-list>
3.2 頁面 JS 文件示例如下
Page({
data: {
listData: [],
totalPage: 1,
currentPage: 1,
path: 'swan-sitemap/index'
},
onLoad(e) {
// 初始頁面打開時,需要讀取頁面的 currentPage 參數(shù)(即翻頁頁碼),并根據(jù)參數(shù)值請求數(shù)據(jù)
let {currentPage} = e;
// 起始頁碼為 1,如讀取到的值為空,默認賦值起始頁碼
currentPage = +currentPage || 1;
// 根據(jù)當前頁碼獲取該頁數(shù)據(jù)資源
this.requestData(currentPage);
},
requestData(currentPage) {
// 發(fā)起數(shù)據(jù)資源請求。
swan.request({
url: sitemapUrl, // 數(shù)據(jù)接口,需改為開發(fā)者實際的請求接口
data: {
page: currentPage // 參數(shù)中需攜帶頁碼參數(shù),此為示例,可根據(jù)實際情況傳入其他所需參數(shù)
},
success: res => {
if (+res.data.code === 0) {
let resData = res.data.data;
// 根據(jù)返回數(shù)據(jù)更新列表。如請求返回格式不符合模板數(shù)據(jù) listData 的要求格式,需調(diào)整格式后再賦值給 listData。
// listData 的格式要求為:
// Array<{title:string, path:string, releaseDate:DateString}>,詳見下節(jié) “l(fā)ist-data 項格式說明”
this.setData({
listData: resData.list,
totalPage: resData.totalPage,
currentPage
});
}
}
});
}
});
swan-sitemap-list 組件字段詳解
屬性名 | 類型 | 是否必填 | 說明 | ||
---|---|---|---|---|---|
list-data | Array | 是 | 當前索引頁的小程序資源頁面集合(建議長度 100-200 左右) | ||
current-page | Number | 是 | 當面頁碼 | ||
total-page | Number | 是 | 索引頁總共頁數(shù) | ||
path | String | 是 | 動態(tài)庫索引頁的 path |
其中 list-data 數(shù)組中的每項為一個 Object,該 Object 具體格式為:
屬性名 | 類型 | 是否必填 | 說明 | 示例 | ||
---|---|---|---|---|---|---|
title | String | 是 | 資源頁面標題 | “第 92 屆奧斯卡金像獎” | ||
path | String | 是 | 資源頁面路徑(可帶參數(shù)) | “/page/article?id=51283431” | ||
releaseDate | String | 是 | 資源發(fā)布時間(格式為 YYYY-MM-DD HH:mm:ss) | “2020-01-01 08:40:06” |
1.【強制】頁面參數(shù)必須有且僅有一個參數(shù) currentPage,用于指定翻頁頁碼,起始值為 1。 頁面根據(jù) currentPage 參數(shù)展示指定頁資源列表。即一個合法的索引頁 URI 格式為 ${path}?currentPage=${currentPage}
2.【強制】需在頁面初始化時(如 onLoad 生命周期)獲取 currentPage 參數(shù),并通過 currentPage 請求當頁的數(shù)據(jù)
3.【建議】 資源列表中每個列表項包含一條資源發(fā)布時間顯示,格式為 YYYY-MM-DD HH:mm:ss
4.【建議】 資源列表按照更新日期倒序排列。將較新的資源放在最前面可以提高爬蟲發(fā)現(xiàn)和收錄效率
5.【建議】 每頁資源條數(shù)在 100-200 左右。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: