返回頂部
關閉軟件導航
位置:首頁 > 技術分享 > SEO優化>利用云開發優化博客小程序一瀏覽量統計

很近小程序云發開的開放讓我又有了更新我的微信小程序版博客的動力。

背景

由于我的博客是基于開源博客框架ghost搭建的,雖然相較于wordpress輕量了很多,但在功能上遠沒有wordpress豐富,像基本的網站統計,文章統計,點評之類的通通沒有。

我的pc端博客是通過接入第三方組件來實現的,但小程序端一直無法實現「需要自己再搭建個服務端」。但有了云開發之后,這一切就變得有可能啦。

想了解我的博客搭建和小程序版博客可以參考下面兩篇文章:

搭建Ghost博客具體教程(總)

微信小程序版博客——開發匯總總結(附源碼)

統計實現

很想實現的還是統計功能啦,每篇文章的瀏覽量,點評數,點贊數之類的,這個應該是比較基本的。

所以利用小程序云開發提供的數據庫功能來存儲這類數據,還是很方便可以實現該功能的。

這里先簡單說下瀏覽量的實現。

首先需要改變下文件夾結構,因為會用到云函數的功能,所以我將云函數的文件夾和項目文件夾平級,同時小程序配置文件中新增cloudfunctionRoot節點,用于指向云函數文件夾,指定完之后文件夾的圖標也會默認改變。

創建集合

接下來利用云開發的數據庫創建一個集合,用于保存文章的統計數據,集合的字段如下:

{

"_id":W5y6i7orBK9ufeyD//主鍵id

"comment_count":0//評論數

"like_count":14//點贊數

"post_id":5b3de6bae0b7eb4//文章id

"view_count":113//訪問數

}

同時,很好加上索引,避免后續集合數據變多而影響查詢效率,通常都是根據文章id進行查詢:

云函數編寫

集合創建完之后,需要編寫云函數,用于操作數據庫,當然你也可以直接在小程序端直接操作數據庫。

這里需要兩個接口,一個用于查詢文章數據,代碼如下:

//云函數入口文件

constcloud=require('wx-server-sdk')

cloud.init()

constdb=cloud.database()

const_=db.command

//根據文章Id集合批量查詢統計數據

exports.main=async(event,context)=>{

try{

varresult=awaitdb.collection('posts_statistics').where({

post_id:_.in(event.post_ids)

}).get();

returnresult.data

}

catch(e)

{

console.error(e)

return[]

}

}

另一個用于新增或者更新文章統計數據,由于可能第一次訪問,集合中不存在該文章ID的數據,所以加了一段默認新增的動作,代碼如下:

//云函數入口文件

constcloud=require('wx-server-sdk')

cloud.init()

constdb=cloud.database()

//更新文章統計數據,沒有則默認初始化一筆

exports.main=async(event,context)=>{

try{

varposts=awaitdb.collection('posts_statistics').where({

post_id:event.post_id

}).get()

if(posts.data.length>0){

awaitdb.collection('posts_statistics').doc(posts.data[0]['_id']).update({

data:{

view_count:posts.data[0]['view_count']+event.view_count,//瀏覽量

comment_count:posts.data[0]['comment_count']+event.comment_count,//評論數

like_count:posts.data[0]['like_count']+event.like_count//點贊數

}

})

}

else{

//默認初始化一筆數據

awaitdb.collection('posts_statistics').add({

data:{

post_id:event.post_id,//文章id

view_count:100+Math.floor(Math.random()*40),//瀏覽量

利用云開發優化博客小程序一瀏覽量統計

comment_count:0,//評論數

like_count:10+Math.floor(Math.random()*40)//點贊數

}

})

}

returntrue

}catch(e){

console.error(e)

returnfalse

}

}

小程序端接入

數據庫的操作編寫完成之后,小程序端就可以接入了,在列表頁增加對應的UI及樣式:

對應的代碼也比較簡單,在獲取到文章信息之后,再調用下查詢的云函數,獲取到對應文章的統計數據渲染到頁面,核心代碼如下:

//wxml部分

{{item.view_count}}

{{item.comment_count}}

{{item.like_count}}

//js部分-詳情頁onLoad時

//瀏覽數+1不需要知道調用結果,失敗了不影響

wx.cloud.callFunction({

name:'upsert_posts_statistics',

data:{

post_id:blogId,

view_count:1,

comment_count:0,

like_count:0

}

})

//js部分-展示統計數據時

wx.cloud.callFunction({

name:'get_posts_statistics',

data:{

post_ids:postIds

}

}).then(res=>{

//訪問數

post.view_count=res.result[0].view_count;

//點評數

post.comment_count=res.result[0].comment_count;

//點贊數

post.like_count=res.result[0].like_count;

this.setData({

post:post

});

到這里,文章瀏覽量的統計接入基本就完成啦。

總結

錦竭撐自栗鞠毯都汽插梁有楚味臺傳格睬億迎池云個趁墊傳柜手惱傭彎召炕熔并血殘刑政角想訓弊捉裙謹盼總鳳貪譽漫厭宇私附劑宴任談桐待頃明團填夜瘦春浙蔬詩尋須拘禮聞臂劃乓禽吵魄套往取慘咸田免弦三運攤鬼夫伙丑食網酷著遠飽肯00fLB。利用云開發優化博客小程序一瀏覽量統計。seo北京工資待遇怎么樣,百度seo meta長度,推廣seo推廣服務,做seo應該發哪些平臺,博客目錄seo

如果您覺得 利用云開發優化博客小程序一瀏覽量統計 這篇文章對您有用,請分享給您的好友,謝謝!

主站蜘蛛池模板: (无码视频)在线观看 | 成人免费一区二区三区| 国产成人精品久久| 国产成人亚洲综合无码精品| 四虎成人免费网址在线| 欧美成人精品第一区| 国产精品成人网| 亚洲av无码成人精品国产| 日韩国产成人精品视频| 国产成人精品一区二三区在线观看| 国产成人午夜高潮毛片| 日本成人免费在线| 久久成人国产精品一区二区| 成人在线播放av| a级成人高清毛片| 国产成人无码精品一区在线观看| 欧美日韩在线成人| 亚洲国产成人久久精品影视| 国产精品成人久久久| 污污成人一区二区三区四区| 免费成人福利视频| 成人αv在线视频高清| 成人毛片18女人毛片免费96| 亚洲国产一成人久久精品| 国产成人无码网站| 国产成人精品日本亚洲| 成人免费看www网址入口| 成人品视频观看在线| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 欧美国产成人在线| 亚洲AV无码成人专区| 国产一级一级一级成人毛片| 成人a一级试看片| 国产麻豆成人传媒免费观看| 成人h在线播放| 国产成人综合久久精品亚洲| 成人高清毛片a| 国产成人综合亚洲绿色| 天天影院成人免费观看| 怡红院成人在线| 国产成人精品一区二三区|