從零搭建測試公眾號,每天發(fā)送一句小情話(支持計算農(nóng)歷生日)
效果展示:
已有開源源碼:https://gitee.com/fushentong/say_hi_toYourGirl
支持事項:
通過微信公眾號給指定對象(舉例:你的男/女朋友)每天發(fā)送指定內(nèi)容;
內(nèi)容包含:
自定義語句、
某地天氣、
在一起的天數(shù)、
距離下一次生日(支持農(nóng)歷計算)、
一句土味情話/一句詩詞/一句雞湯文;
同時,支持字體顏色自定義;
暫時不一定支持事項:(不是不能做只是作者用不到,有需要的小伙伴可以評論區(qū)留言,需要的多則下一期完善,有好的解決思路的大佬也歡迎評論區(qū)留言)
農(nóng)歷的部分月份 和 陽歷不在同一年,
農(nóng)歷部分情況下可能出現(xiàn)閏某月
一、整體框架
二、準備需要的東西(網(wǎng)上均有免費可用的體驗版)
總覽:
微信公眾平臺測試號:注冊,并配置測試號
查詢天氣的API:
查詢土味情話的API:
可運行php的本地環(huán)境(如果你需要在本地PC調(diào)試的話)
可運行php腳本的服務(wù)器(可選,如果你需要托管到云端的話則需要,只是本地調(diào)試玩 或者 選擇直接在本地PC設(shè)置為定時任務(wù)則不需要)
定時監(jiān)控站點(上到服務(wù)器之后,每天定時觸發(fā)需要用到)
接下來帶大家一步步研究怎么獲取這些賬號
第一步:公眾號測試平臺的注冊并配置
從微信官方文檔中,找到接口測試號,并申請
申請測試公眾號后,可用獲得獨有的AppID 和 appsecret。
這兩個值的作用就是為了在程序中向微信平臺驗證身份。
就像是 用戶名和密碼一樣。
同時,用你自己的微信 和 你想要發(fā)送信息的對象的微信,掃描你的公眾平臺上的二維碼。獲得對應(yīng)用戶的微信號。
這個微信號,就像是我們的身份證號一樣,是獨一無號的。
有了微信號,你才能告訴微信平臺,這條消息該發(fā)給誰。
同時設(shè)置消息模板,
最終發(fā)送給到 手機微信上的消息,也就是設(shè)置的這個格式的。
同時在程序里面返回數(shù)據(jù),也要包含模板中的數(shù)據(jù)
參考:
{{first.DATA}} 今天天氣:{{thing01.DATA}} 今天溫度:{{thing02.DATA}} 和xxx已經(jīng)戀愛了:{{thing03.DATA}} 距離xxx生日還有:{{thing04.DATA}} 送你一句土味情話:{{remark01.DATA}} 送你一句詩詞:{{remark02.DATA}} 送你一句腦洞雞湯:{{remark03.DATA}}
第二步:準備天氣API
在搜索引擎,直接搜索“免費天氣API”就能找到許多。
小編采用的是圖中所框選的。
進去后可以看到有一部分是免費的的
免費的當然會有一些限制,但對于我們自己玩,完全足夠了。
注冊后,你就會得到我們需要的兩個東西,
天氣API平臺的appID 和 appSecret
第三步:準備情話API
同樣的步驟,我們在搜索引擎搜索“免費土味情話API”。
選擇其中一個,小編選擇的是ALAPI。
注冊后,你就要可以在你的控制臺頁面找到你的token
(token的作用也是用于在請求數(shù)據(jù)的時候標識你的身份,不熟悉的小伙伴記下這個值就好了,后面會用到。)
第四步:(可選,不一定要)
在自己電腦上安裝XAMPP方便調(diào)試,確定調(diào)試好了再上傳。
把文末下載地址中的index.php 文件和Lunar.php文件放入XAMPP安裝目錄的htdocs目錄下
(XAMPP使用方法自行搜索,有障礙的小伙伴也可以評論區(qū)留言。)
第五步:免費虛擬主機+免費子級域名
自行選擇,各個云服務(wù)廠商也有幾個月免費體驗?zāi)欠N。
推薦:http://www.freehost.cc
第六步:定時觸發(fā)程序
同樣搜索免費網(wǎng)頁監(jiān)控程序,找一個自己覺得還行的。
(因為php腳本的原理就是,你打開網(wǎng)頁,它就會觸發(fā)執(zhí)行程序,發(fā)消息給微信平臺。)
也可以不弄這個監(jiān)控程序。你想要發(fā)這個信息的時候,自己在瀏覽器輸入一次也是一樣的。
小編使用的是:https://monit.or.passby.me/
至此,我們需要的環(huán)境就全部準備完畢了。
下面開始解讀程序
三、代碼主體邏輯解析
程序已開源到gitee,可查看。(其中的部分參數(shù)需要更新為上面申請到的)
前置:準備好相關(guān)平臺數(shù)據(jù) ,替換成我們前面申請到的
第一步:定義一個對象,把對象的相關(guān)信息都放進去
第二步:把需要發(fā)送的一些共用的數(shù)據(jù)先準備好
第三步:將消息組裝成自己需要的樣式
根據(jù)個人信息,計算在一起天數(shù)、當?shù)靥鞖?、距離生日的時間。
封裝成模板格式,同時可以字體顏色可以自行調(diào)整
字體顏色16進制表:
模板里面格式字符,是來自微信官方平臺的規(guī)范:
第四步:發(fā)送信息
以上就是代碼的主體邏輯了,其中出現(xiàn)的函數(shù)都在同一文件中。
四、本地調(diào)試(如果您本地有php環(huán)境的話)
本地調(diào)試方法可以直接使用php在命令行運行腳本,也可以使用XAMPP將gitee中的index.php發(fā)布成本地站點。瀏覽器輸入xampp發(fā)不出的本地站點來調(diào)試。
五、上傳云服務(wù)器,并使用瀏覽器觸發(fā)
如果申請了虛擬主機的話,根據(jù)平臺指使文檔來就行。
一般的流程是將程序文件按要求命名后,上傳到虛擬主機的某個路徑下,即可。
(注意:我們這里index.php和Lunar.php一定要同時放。因為index.php中調(diào)用了Lunar.phh)
再使用虛擬主機提供的域名或者地址,在瀏覽器輸入地址,則會觸發(fā)上傳的程序文件。
六、定時觸發(fā)
找一個免費的網(wǎng)站監(jiān)控程序,設(shè)置成固定每天的x點鐘,掃描一次上一步虛擬主機給到的域名。
以上就大功告成了,大家有疑問可以評論、留言,看到會回的哦!
https://gitee.com/fushentong/say_hi_toYourGirl