我們今天最需要的能力是「判斷」、「邏輯」,昨天已經將點擊次數增加和更新的部分做完了,昨天比較多程式碼內容,今天比較多就是動腦的部分。
我們先來想一下在這個功能裡,有哪些需要考慮到的條件/問題:
我在開始做之前就是先以這樣的思考流程,去盡量梳理出一條可以處理可能發生的問題的邏輯線,讓我真正在工作流上面操作時比較不會手忙腳亂,把流程越做越複雜。
腦袋經過剛剛的思考暖機了,接著就讓我們直接開始設置 If
節點吧!
If
節點一:國際超過上限我們設定的次數上限是三次,所以我這邊用:
如果主題次數大於等於「4」,且使用者最後點擊的主題是「國際」,那就回傳訊息說國際新聞已達上限。
那如果不符,就到下一個節點,準備進入 RSS 的階段。
會這樣設定是因為,如果沒有多用一個「最後點擊主題」的欄位,那當我 A 主題已達上限,點選 B 主題時雖未達到上限,但因為點擊次數都是更新在試算表第一列,會讀取到 A 主題的已達上限次數,執行後會判斷 B 也達上限。
相同的判斷模式我們要新增「科技」和「娛樂」的 If
節點。
If
節點三:娛樂超過上限把昨天用的 Code
節點連接到剛剛做的三個 If
節點當輸入。
Merge
節點二將最前面的 Code
節點和剛剛做的三個 If
節點的 true
分支放到 Input,把那些資料都輸出給 HTTP Request
節點。
HTTP Request
節點輸入以下程式碼:
{
"replyToken": "{{$json.replyToken}}",
"messages": [
{
"type": "text",
"text": "你已達到今日可看{{$json.lastTopicCN}}新聞的次數上限囉!請明天再來。"
}
]
}
好啦我們今天就先做到這邊,條件判斷的部分做完一半了,其實只要腦袋清楚,想到那些需要判斷的邏輯部分,找到可行的方法的話,整個流程就會更清楚乾淨。
明天(Day 26)我們會把剩下的三個 If
節點做完~