添加永久材料後,開發人員可以按類型獲取永久材料列表:
1.獲取永久素材列表,其中還包括微信官方賬號在公眾平臺官網素材管理模塊中新創建的圖文消息、語音、視頻等素材。
2.不能通過該接口獲得臨時材料。
3.調用這個接口需要/CGI-bin/material/batch get _ material?訪問令牌=訪問令牌
檢索到素材列表後,通過視圖組件scroll-view在小程序中實現,主要包括標題、封面圖和摘要:
& ltscroll-view class = " container " scroll-y = ' true ' style = " height:{ { height } } px " bindscrolltolower = ' lower ' & gt;
& ltblock wx:for = " { { RES } } " & gt;
& ltview class = ' feed-item ' id = ' { { item . title } } ' bind tap = ' getDetial ' & gt;
& lt視圖& gt
& lttext & gt{ { item.title } } & lt/text & gt;
& lt/view & gt;
& ltview style = ' text-align:center ' & gt;
& ltimage src = ' { { item . image _ URL } } ' & gt;tupian & lt/image & gt;
& lt/view & gt;
& lt視圖& gt
& lttext & gt{ { item.digest } } & lt/text & gt;
& lt/view & gt;
& lt/view & gt;
& lt/block & gt;
& lt/scroll-view & gt;
文章列表是在頁面首次加載時獲得的:
/**
*生命周期功能-監控頁面加載
*/
onLoad:函數(選項){
wx.getSystemInfo({
成功:(RES)= & gt;{
this.setData({
高度:RES . window高度
})
}
})
this.getData()
}
函數getData()實現步驟,具體請求函數由雲函數實現,先調用acces_token:
//雲函數入口文件
const cloud = require(' wx-server-SDK ')
const news = require('New ')
cloud.init()
//雲函數入口函數
exports.main = async(事件,上下文)= & gt{
設token = null
await cloud.callFunction({
名稱:“令牌”
}).然後(函數(數據){
token = data.result
});
let offset = event.offset
let count = event.count
讓nw =新消息(token);
設rst = nw.getWechatPosts(offset,count);
返回rst
}
然後檢索文章列表信息,壹次得到10條信息:
//獲取文章列表
getData(){
var that = this
設pgno = this . data . pageno+1;
let result = this . data . RES;
wx.cloud.callFunction({
名稱:“新聞”,
數據:{
offset:this.data.offset
計數:this.data.count
},
成功:函數(res){
var resArr =[];
let body = RES . result . body;
let total _ count = body . total _ count;//圖片和文字總數* * *個
let item _ count = body.item _ count//本次呼叫的號碼
let item = body.item
設page _ total = parse int((total _ count+that . data . count-1)/that . data . count);
設mud = total _ count % that . data . count;
const db = wx . cloud . database();
for(設I = 0;我& lt項目.長度;i++) {
let news _ item = item[I]. content . news _ item;
//單圖形消息和多圖形消息
for(設j = 0;j & ltnews _ item.lengthj++) {
let title = news_item[j]。標題;//標題
設url = news_item[j]。網址;//詳細地址
設image_url = news_item[j]。thumb _ url//封面圖片地址
let digest = news_item[j]。消化;//摘要
let author = news_item[j]。作者;//作者
let content = news_item[j]。內容;
resArr.push(new nw(total_count,item_count,title,url,image_url,digest,author,content));
設res _ id = null
db.collection(“內容”)。其中({
_id: url
}).獲取({
成功:函數(res) {
res_id = res.data[0]。_ id
}
})
if (res_id === url){
}否則{
db.collection(“內容”)。添加({
數據:{
_id: url,
內容:內容,
標題:標題
},
成功:函數(res) {
}
})
}
}
that.setData({
res: result.concat(resArr),
page_total: page_total
pageNo: pgno,
泥漿:泥漿
});
}
}
})
}
滾動視圖組件是否觸發事件實現功能:
下限(){
//總頁數是18/10=1
var pageno = this . data . pageno;
var page = this . data . page _ total;
Console.log("總頁數:"+page+",page "+pageno+"+" Zuo houy:"+this . data . mud)。
if(page no & gt;page){//第4頁
Wx.showToast({ //如果所有加載完成,則彈出壹個框。
標題:‘我也有底線’,
圖標:“成功”,
持續時間:300
});
返回false
}否則{
Wx.showLoading({ //期間可以添加過度彈出框提示“正在加載”以便顯示效果。
標題:“正在加載”,
圖標:“正在加載”,
});
設offset = this . data . offset;
let count = this . data . count;
offset = this . data . offset+this . data . count;
console.log("offset:" + offset+"計數:"+count)
this.setData({
偏移:偏移,
計數:計數
});
setTimeout(()= & gt;{
this . get data();
wx . hide loading();
}, 1500);
}
}