微信小程序越來越火爆了卜高,從7月開始,公司安排我寫微信小程序南片。雖然掺涛,之前對這一塊比較感興趣,也學習了一些資料疼进,但是鸽照,真正開始寫,還是遇到了很多困難颠悬。這些坑矮燎,一部分是由于相關知識不是很熟悉,另一部分是因為赔癌,小程序剛剛推出诞外,坑確實比較多。理論上來說灾票,應該及時的把遇到的坑記錄下來峡谊,無奈實在太懶了,拖到現(xiàn)在才開始寫第一篇
這一篇要寫什么
這一篇主要是寫寫在開發(fā)過程中遇到的編寫代碼之外的問題刊苍。因為編寫代碼么既们,文檔中已經(jīng)寫的非常清楚了,如果遇到 HTML正什、JS啥纸、CSS 這方面的問題,可以去查找相應的資料婴氮。由于主要工作是 iOS 開發(fā)斯棒,并不擅長 web 開發(fā)這方面盾致,所以就不要獻丑了。因此荣暮,這一篇想記錄一下庭惜,從開發(fā)準備到審核上線以及后續(xù)更新的過程。
微信開發(fā)工具的使用
這個沒啥好說的穗酥,官方文檔介紹的非常詳細了护赊。但是,我比較喜歡用 Visual Studio Code 呀砾跃,所以折騰了一下百揭,用 VS Code 寫小序,微信開發(fā)者工具僅僅作為調(diào)試使用蜓席。
關于 VSCode 的配置,打算單獨寫一篇文章來介紹课锌,在這里就不多說了厨内。
微信開發(fā)工具有一個很大的優(yōu)點,他監(jiān)控了文件的變化渺贤,只要在 VSCode 中保存一下雏胃,他就會重新編譯運行小程序,調(diào)試起來還是非常便捷高效的志鞍。有點小問題就是瞭亮,如果代碼運行到斷點處,直接重新編譯運行固棚,似乎存在死鎖的現(xiàn)象统翩,這樣干的次數(shù)多了,整個小程序就失去響應了此洲,必須強制退出后重啟厂汗。我想,這個問題隨著更新會解決的吧呜师。
多用戶協(xié)作
八月之前娶桦,多用戶協(xié)作做的很差,幾乎任何操作都要由管理員來完成汁汗,完全不能滿足開發(fā)測試的需求衷畦。八月之后,可以給用戶單獨設置權限知牌,這樣就比較好用了祈争。把公司的產(chǎn)品、測試角寸、運營設置為開發(fā)者之后铛嘱,可以直接把微信開發(fā)工具的調(diào)試二維碼發(fā)給他們暖释,讓他們能及時看到正在開發(fā)的最新版本。
![已經(jīng)失效了,大家不用掃了](http://ol02bld35.bkt.clouddn.com/%E7%B2%98%E8%B4%B4%E5%9B%BE%E7%89%87-2017827.png)
管理員登錄小程序后臺(微信公眾平臺)后墨吓,在用戶身份里面可以給微信用戶設置不同的身份球匕。
上圖可以看到,同事們都具有不同權限
在開發(fā)工作中帖烘,同事們都非常配合我亮曹,在此對同事們表示感謝!
項目管理
項目管理當然是用大名鼎鼎的 git 管理代碼秘症,使用微信開發(fā)者工具自帶的項目管理打開項目照卦。
有一點需要注意,微信開發(fā)者工具的項目乡摹,指的是磁盤上的一個工作目錄役耕,想添加項目,直接把項目路徑指向磁盤的工作目錄就好了聪廉。名稱也可以隨便起瞬痘,這里的項目名稱、appid 等內(nèi)容板熊,不會保存到工作目錄里框全,也不會同步到 git 中。
需要刪除項目干签,直接點刪除按鈕就可以了津辩,并不會刪除磁盤上的代碼。
通常容劳,公司申請小程序需要走一定流程喘沿,可能會比開發(fā)工作慢,這里可以用個人的名義申請一個小程序竭贩,并使用個人小程序的 appid 進行先期開發(fā)摹恨,等公司申請小程序完成后,在開發(fā)者工具中刪除并重新建立項目娶视,替換 appid 就可以了晒哄。
只要不涉及支付等權限問題,個人小程序的 appid 不會影響到開發(fā)工作肪获。
調(diào)試與測試
微信小程序會限定訪問地址寝凌,初期似乎只可以添加5個,后來增加到了10個孝赫。記得將自己的服務器地址添加進去哦较木。
image 的請求是不限制資源地址的,例如 wxss 中為 background 設置 src青柄,或者 image 控件顯示圖片伐债,可以訪問上圖列表之外的地址预侯。
這里比較坑的就是,只能添加網(wǎng)址峰锁,不能添加 ip萎馅,導致訪問測試服務器有一定困難。大概有三種方式可以解決:
在微信開發(fā)者工具中虹蒋,選中"開發(fā)環(huán)境不校驗請求域名糜芳、TLS 版本以及 HTTPS 證書"。然后在手機中魄衅,打開小程序調(diào)試峭竣,就可以訪問任意服務器了。
但是晃虫,打上勾以后皆撩,往往忘記了切換回來。有一次哲银,我提交審核的代碼中扛吞,填寫的訪問地址是內(nèi)網(wǎng) ip 哈哈。可以使用 nginx 等反向代理盘榨。
這樣做,就不需要在編碼的過程中切換訪問地址了蟆融。雖然寫一個全局地址切換的工具很容易草巡,但是經(jīng)常忘記切換不是嗎。
使用反向代理型酥,只要訪問代理服務器山憨,就可以自動的代理到測試服務器上面。但是有個問題就是弥喉,運營郁竟、測試等同事往往不會給手機設置代理服務器,教他們比較困難由境。可以在內(nèi)網(wǎng)中搭建一個域名解析服務棚亩。
這種玩法比較高級了,我也沒有試過虏杰,只是一種設想讥蟆,有興趣的童鞋們可以試試。
審核與上線
賬號申請主要是運營同事完成的纺阔,我主要參與了上傳項目審核以及項目發(fā)布的工作瘸彤。根據(jù)最近的情況來看,審核工作時間不定笛钝。
七月中旬质况,我們發(fā)布了一個小程序愕宋,初次審核只用了三個小時。八月中旬结榄,我們發(fā)布第二個小程序的時候中贝,初次審核用了整整五天,結果讓我們錯過了項目預期發(fā)布的時間潭陪,參與這個項目的小伙伴都感覺不好了雄妥。
項目初次審核通過后,再次更新就比較快了依溯,一般在1-3個小時之內(nèi)就可以審核通過老厌。
以后開發(fā)的過程中,根據(jù)審核時間安排好開發(fā)計劃就好了黎炉。
根據(jù)官方公布的時間枝秤,審核工作在七個工作日內(nèi)完成……感覺說了跟沒說一樣,絕對是霸王條款慷嗜。希望以后能根據(jù)審核同學的工作安排淀弹,公布一個近期平均審核時間給我們參考。
審核完成之后庆械,微信上會收到一個通知薇溃,這時候還需要到后臺去手動上線,希望可以增加一個審核通過后自動上線的選項缭乘。
小程序的頭像和名稱
小程序頭像每個月可以更改5次沐序,更改完成后即時生效,不用重新提交與發(fā)布代碼堕绩。
更改名稱就比較坑了策幼,需要交300元微信認證費用,必須要注意的是奴紧,認證申請表上的名稱特姐,就是認證通過后顯示的名稱。我們第一次使用這個功能的時候黍氮,以為認證通過了才能改名唐含,申請表上寫的名稱是舊名稱,白白損失了300元認證費用沫浆。
認證過程中觉壶,發(fā)生任何情況,認證費用不退回件缸。
八月中旬铜靶,微信上線了一個公眾號申請小程序的功能。已經(jīng)認證的公眾號,可以直接申請小程序賬戶争剿,并且申請下的小程序與公眾號之間是關聯(lián)好的已艰。走這個渠道,可以解決很多時間和費用蚕苇。
數(shù)據(jù)統(tǒng)計
小程序的數(shù)據(jù)統(tǒng)計做的比較好哩掺,雖然具體功能與 Google Analytics 相比弱一些,但是能看到許多微信掌握的用戶信息涩笤。
埋點的時候嚼吞,可以直接在微信后臺埋點,也可以使用代碼埋點蹬碧。
不過舱禽,代碼埋點的 api 沒有經(jīng)過什么封裝,所需要傳輸?shù)膮?shù)恩沽,都需要自己寫誊稚,還是后臺埋點方便一些。
后臺埋點罗心,可以不影響代碼的情況下添加統(tǒng)計點里伯,也不需要重新上傳程序。估計是小程序 AOP 的方式對代碼進行過處理吧渤闷,這種設計挺棒的疾瓮。
只不過,添加統(tǒng)計點的時候飒箭,需要考慮到具體代碼狼电,因此,還是必須由程序員來完成工作〔购叮現(xiàn)在漫萄,程序員埋的點卷员,運營同學經(jīng)常抱怨看不懂……