微信小程序越來越火爆了,從7月開始,公司安排我寫微信小程序。雖然,之前對這一塊比較感興趣,也學習了一些資料,但是,真正開始寫,還是遇到了很多困難。這些坑,一部分是由于相關知識不是很熟悉,另一部分是因為,小程序剛剛推出,坑確實比較多。理論上來說,應該及時的把遇到的坑記錄下來,無奈實在太懶了,拖到現在才開始寫第一篇
這一篇要寫什么
這一篇主要是寫寫在開發過程中遇到的編寫代碼之外的問題。因為編寫代碼么,文檔中已經寫的非常清楚了,如果遇到 HTML、JS、CSS 這方面的問題,可以去查找相應的資料。由于主要工作是 iOS 開發,并不擅長 web 開發這方面,所以就不要獻丑了。因此,這一篇想記錄一下,從開發準備到審核上線以及后續更新的過程。
微信開發工具的使用
這個沒啥好說的,官方文檔介紹的非常詳細了。但是,我比較喜歡用 Visual Studio Code 呀,所以折騰了一下,用 VS Code 寫小序,微信開發者工具僅僅作為調試使用。
關于 VSCode 的配置,打算單獨寫一篇文章來介紹,在這里就不多說了。
微信開發工具有一個很大的優點,他監控了文件的變化,只要在 VSCode 中保存一下,他就會重新編譯運行小程序,調試起來還是非常便捷高效的。有點小問題就是,如果代碼運行到斷點處,直接重新編譯運行,似乎存在死鎖的現象,這樣干的次數多了,整個小程序就失去響應了,必須強制退出后重啟。我想,這個問題隨著更新會解決的吧。
多用戶協作
八月之前,多用戶協作做的很差,幾乎任何操作都要由管理員來完成,完全不能滿足開發測試的需求。八月之后,可以給用戶單獨設置權限,這樣就比較好用了。把公司的產品、測試、運營設置為開發者之后,可以直接把微信開發工具的調試二維碼發給他們,讓他們能及時看到正在開發的最新版本。

管理員登錄小程序后臺(微信公眾平臺)后,在用戶身份里面可以給微信用戶設置不同的身份。
上圖可以看到,同事們都具有不同權限
在開發工作中,同事們都非常配合我,在此對同事們表示感謝!
項目管理
項目管理當然是用大名鼎鼎的 git 管理代碼,使用微信開發者工具自帶的項目管理打開項目。
有一點需要注意,微信開發者工具的項目,指的是磁盤上的一個工作目錄,想添加項目,直接把項目路徑指向磁盤的工作目錄就好了。名稱也可以隨便起,這里的項目名稱、appid 等內容,不會保存到工作目錄里,也不會同步到 git 中。
需要刪除項目,直接點刪除按鈕就可以了,并不會刪除磁盤上的代碼。
通常,公司申請小程序需要走一定流程,可能會比開發工作慢,這里可以用個人的名義申請一個小程序,并使用個人小程序的 appid 進行先期開發,等公司申請小程序完成后,在開發者工具中刪除并重新建立項目,替換 appid 就可以了。
只要不涉及支付等權限問題,個人小程序的 appid 不會影響到開發工作。
調試與測試
微信小程序會限定訪問地址,初期似乎只可以添加5個,后來增加到了10個。記得將自己的服務器地址添加進去哦。
image 的請求是不限制資源地址的,例如 wxss 中為 background 設置 src,或者 image 控件顯示圖片,可以訪問上圖列表之外的地址。
這里比較坑的就是,只能添加網址,不能添加 ip,導致訪問測試服務器有一定困難。大概有三種方式可以解決:
在微信開發者工具中,選中"開發環境不校驗請求域名、TLS 版本以及 HTTPS 證書"。然后在手機中,打開小程序調試,就可以訪問任意服務器了。
但是,打上勾以后,往往忘記了切換回來。有一次,我提交審核的代碼中,填寫的訪問地址是內網 ip 哈哈。可以使用 nginx 等反向代理。
這樣做,就不需要在編碼的過程中切換訪問地址了。雖然寫一個全局地址切換的工具很容易,但是經常忘記切換不是嗎。
使用反向代理,只要訪問代理服務器,就可以自動的代理到測試服務器上面。但是有個問題就是,運營、測試等同事往往不會給手機設置代理服務器,教他們比較困難。可以在內網中搭建一個域名解析服務。
這種玩法比較高級了,我也沒有試過,只是一種設想,有興趣的童鞋們可以試試。
審核與上線
賬號申請主要是運營同事完成的,我主要參與了上傳項目審核以及項目發布的工作。根據最近的情況來看,審核工作時間不定。
七月中旬,我們發布了一個小程序,初次審核只用了三個小時。八月中旬,我們發布第二個小程序的時候,初次審核用了整整五天,結果讓我們錯過了項目預期發布的時間,參與這個項目的小伙伴都感覺不好了。
項目初次審核通過后,再次更新就比較快了,一般在1-3個小時之內就可以審核通過。
以后開發的過程中,根據審核時間安排好開發計劃就好了。
根據官方公布的時間,審核工作在七個工作日內完成……感覺說了跟沒說一樣,絕對是霸王條款。希望以后能根據審核同學的工作安排,公布一個近期平均審核時間給我們參考。
審核完成之后,微信上會收到一個通知,這時候還需要到后臺去手動上線,希望可以增加一個審核通過后自動上線的選項。
小程序的頭像和名稱
小程序頭像每個月可以更改5次,更改完成后即時生效,不用重新提交與發布代碼。
更改名稱就比較坑了,需要交300元微信認證費用,必須要注意的是,認證申請表上的名稱,就是認證通過后顯示的名稱。我們第一次使用這個功能的時候,以為認證通過了才能改名,申請表上寫的名稱是舊名稱,白白損失了300元認證費用。
認證過程中,發生任何情況,認證費用不退回。
八月中旬,微信上線了一個公眾號申請小程序的功能。已經認證的公眾號,可以直接申請小程序賬戶,并且申請下的小程序與公眾號之間是關聯好的。走這個渠道,可以解決很多時間和費用。
數據統計
小程序的數據統計做的比較好,雖然具體功能與 Google Analytics 相比弱一些,但是能看到許多微信掌握的用戶信息。
埋點的時候,可以直接在微信后臺埋點,也可以使用代碼埋點。
不過,代碼埋點的 api 沒有經過什么封裝,所需要傳輸的參數,都需要自己寫,還是后臺埋點方便一些。
后臺埋點,可以不影響代碼的情況下添加統計點,也不需要重新上傳程序。估計是小程序 AOP 的方式對代碼進行過處理吧,這種設計挺棒的。
只不過,添加統計點的時候,需要考慮到具體代碼,因此,還是必須由程序員來完成工作。現在,程序員埋的點,運營同學經常抱怨看不懂……