公衆號開發精品教程(1)——緒論及環境搭建

系列文章傳送門

公衆號開發精品教程(1)——緒論及環境搭建

公衆號開發精品教程(2)——將項目接入微信及簡單交互

公衆號開發精品教程(3)——創建菜單

公衆號開發精品教程(4)——生成帶參數的二維碼及合成海報

公衆號開發精品教程(5)——獲取用戶基本信息與網頁授權

整個項目的源碼已經上傳到百度網盤(博主的Git在維護,就不拿出來丟人了),永久有效,免費,在ChatConf類中填寫自己的APPID和開發者密鑰,在相關地方替換一下外網域名,即可使用,如有任何問題,歡迎在下方評論:

鏈接:百度網盤傳送門
提取碼:03eb

目錄

 

引子

爲什麼要開發公衆號?

開發公衆號難不難?

怎樣開發公衆號?

準備工作1—註冊公衆號

準備工作2—搭建內網穿透

準備工作3—創建項目

小結


引子

博主最近接到公司的任務,要開發上線一個公衆號,自己也是第一次做,過程當然是坎坷、崎嶇的,但是自然也學到了不少知識。做的過程比較枯燥,幾乎是大多數碼農的三件套:谷歌+官方文檔+博客,走過很多彎路,這裏整理成一套博文,希望能幫助到需要的同行!

在進行開發之前,先理一下公衆號開發目前在行業內的情況吧。在微信全民普及的今天,微信公衆號、小程序的開發成爲了較熱門的話題,不少招聘JD上都寫着“開發過微信公衆號優先”,甚至一部分公司將自己的公衆號開發外包出去。

公衆號開發算是核心技術嗎?讓我來說的話,不是。因爲按我的理解,公衆號的開發其實就是把你的項目集成到微信中的過程,但這個項目的技術選型、架構,跟公衆號的開發是沒有關係的。我們只是通過微信公衆號提供的各種點擊事件、推送消息事件、掃碼事件、關注事件等等,把做好的項目集成到微信中與用戶產生交互而已。簡單概括:可以把微信理解成瀏覽器,區別是我們的Web項目可以直接在瀏覽器訪問,但是想在微信中讓用戶訪問,就必須通過微信的准許、接入,而這個過程就是公衆號的開發了。

既然不是核心技術,那它可以提高我的競爭力嗎?我覺得是可以的,第一個原因就是技多不壓身,這完全是廢話,不解釋;第二個原因,也許你覺得我們可以把項目完完整整的做完,最後不就是跟微信對接一下子麼,老子纔看不上這技術,我會設計架構、實現業務就行了。但是,雖然戰略上只是跟微信對接一下子,但具體的戰術還是比較複雜的,這一點相信看過微信開放平臺文檔的朋友都知道,所以不要小看公衆號的開發。

接下來我們再來三個靈魂拷問:

爲什麼要開發公衆號?

信息大爆炸的時代,讓更多的人知道你、瞭解你是至關重要的,特別是對於初創公司,那麼怎樣讓別人知道你、瞭解你呢?通過你們公司開發的APP?還是通過你們公司開發的Web網站?第三方平臺做廣告?百度推廣?……

渠道有一大堆,但是通過微信這種社交利器來推廣,恐怕比以上方式都要好,至少比APP、網站要好,因爲用戶對於沒聽說過的APP或者網站,壓根兒就不想下載或者訪問,甚至都不知道你們公司網站的網址。

但是微信不一樣。微信的用戶基數大,幾乎每個人的手機上都有微信,如果是好友分享了一個鏈接、轉發了一篇文章,ta可能會有那麼一丁點兒點進去的慾望;而且可以利用人們的社交屬性,做一些推廣、獎勵,最常見的就是轉發給好友搶票加速……

開發公衆號難不難?

這個問題相信是大多數人考慮的問題。公衆號的開發過程確實是比較繁瑣,看文檔也比較枯燥,測試起來也比較麻煩,再加上工作中還有其他的事情要處理,所以就顯得學習成本比較高,進而好多人把提升自己的重心放到其他技術上,比如看一些高併發的系統設計、分佈式系統的設計等等,但是就是不觸碰公衆號的開發。

但是請注意,以上所說的所有困難,僅限於初次開發,一旦入門了之後可以說是順風順水,難者不會、會者不難。

其實真的難嗎?不難,就如我一開始所說的那樣,我們只是把項目跟微信對接一下。難的是浮躁、煩躁,博主一開始做的時候也是這樣,面對一筆帶過的文檔、全是坑的文章,有時候想罵人:怎麼找一篇像樣的全過程Demo這麼難?但是一旦靜下心來,還是發現自己太菜了,你會發現:哦,原來這個地方是這樣的,那個地方是那樣的。

怎樣開發公衆號?

首先肯定是心態要好,不能浮躁。也許有時候你按照文檔的要求去寫,發現跟文檔說的運行結果不一致;也許你從網上找了一篇博客,照着做下來發現滿屏報錯……但不要煩躁,靜下心來,去解決它,這正是你作爲一名技術人員的價值所在。

其次,做之前理一下架構,代碼邏輯、思路要清晰,最後在做之前畫一下圖,調用微信開放平臺的接口需要哪些步驟、接收微信推送的事件需要哪些步驟,這些都要清楚,你才能更好地去實現你的業務邏輯。

準備工作1—註冊公衆號

微信開放平臺提供了幾種賬號類型,有訂閱號、服務號、公衆號等等,根據自己的需要進行註冊,註冊過程就不說了。

注意:個人類型的公衆號,大部分接口都沒有權限,比如創建二維碼、獲取用戶基本信息、網頁授權、創建菜單等等,但是微信提供了測試號,可供我們學習、體驗,測試號的申請入口,在官方文檔裏有:

微信開放平臺技術文檔

這個按照步驟來就行了,沒啥說的,申請成功之後,是這樣的頁面:

 然後你就有自己的測試號了,每次開發的時候先登錄到微信公衆平臺,然後再進入測試號系統就行了。

我們先放這,因爲現在只是有了賬號,還沒有環境,還沒有辦法利用測試號進行體驗。

準備工作2—搭建內網穿透

想把項目集成到微信,至少你的項目可以在外網上訪問吧?而且微信也說了,用戶的一系列事件都要推送給你,如果你的項目在外網訪問不到,人家怎麼給你?所以這就要求你需要有自己的服務器,也許你可以使用你們公司的服務器,但是如果是學生呢?我只是想學一下公衆號的開發,我還要專門買一臺服務器嗎?

沒必要,通過natapp、花生殼等穿透工具就可以把你的電腦映射到外網上,這樣你只需要在你本地搭建好服務器運行環境,外網就可以訪問你的項目了。

順便說一下題外話:其實真正的公衆號開發中,哪怕是公司有自己的服務器,往往也是通過內網穿透的方式來測試開發。想一下,如果我改了一點代碼,還得重新把項目打包,發佈到服務器,然後重啓服務器……這個過程,遠不如我在IDEA開發工具中重新跑一遍項目,會方便很多。

這裏我們使用natapp來做內網穿透,具體步驟如下:

首先到natapp官網,註冊一個賬號,註冊成功之後進行實名認證,否則是不允許使用的:

 實名認證通過之後,就會給你提供一個免費的隧道,免費隧道每次穿透的域名是隨機的,但是這也比使用正式的服務器強。

然後點擊右上角的“客戶端下載”,選擇你要下載的類型,一般都是Windows X64位

然後把壓縮包解壓,你會看到 natapp.exe,雙擊運行,會彈出一個窗口,

 然後在這個cmd窗口輸入命令natapp -authtoken 你的token,回車執行,會出現以下內容:

注意:你的token需要從natapp上獲取,就是剛纔免費隧道那裏的authtoken。

 此時http://umu5uk.natappfree.cc就映射到了你本地的80端口,如果需要映射到其他端口,可在natapp進行配置,但是收不收費博主就不知道了,反正免費的隧道默認是80。推薦使用80,因爲微信給你的服務器推送消息,也只支持80端口和443端口。

到這一步,你的電腦已經映射到外網了,我們再接着往下走,創建一個Web項目來接收微信的請求!

注意:穿透過程中這個窗口不能關閉,否則就失效了。

準備工作3—創建項目

到了這一步,我們需要創建一個Web項目,可以採用Spring Boot,也可以採用SSM。

博主這裏就用SSM,因爲考慮到部分同行或同學對Spring Boot的瞭解不深,就不再引入新框架了,免得大家還得去學習Spring Boot,本系列博文只講解公衆號的相關開發知識。

開發工具使用IDEA,採用maven構建項目,在pom.xml引入SSM需要依賴的相關jar包,項目創建過程就不說了,想必各位可以學習公衆號的開發,創建一個maven項目還是不在話下的……

我這邊創建之後的項目路徑是這樣的(僅供參考,目前就先這樣,以後的博文中會隨着內容的增加,目錄也會多起來):

相信各位到這裏還是很熟悉的,唯一的區別是我採用html作爲視圖而不是jsp,關於如何返回html視圖,請參考我的另一篇文章:

SSM返回html視圖傳送門

home.html的內容,一句話:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
秋楓豔夢,公衆號——內網穿透測試
</body>
</html>

PageController:

package com.blog.wechat.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 *  頁面控制器,負責頁面的轉發
 * @author 秋楓豔夢
 * @date 2019-06-02
 * */
@Controller
public class PageController {

    /**
     *  轉發到home.html頁面
     * @return 視圖名稱
     * */
    @RequestMapping(value = "/home.html")
    public String goHome(){
        return "home";
    }
}

啓動我們的項目:

可以看到,我們已經可以通過natapp提供的穿透功能,在外網上訪問自己本機的服務了。

小結

今天的博文就先到這裏,內容太多了,誰看都會煩,瞬間失去興趣。

現在我們的項目、環境、微信公衆號測試賬號都有了,下一篇博文就開始一步步地進行公衆號的開發,持續更新!

歡迎轉載,轉載請標明出處!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章