Q:爲何說小程序如炮友?javascript
A:小程序剛發佈不久就流行一個段子:APP如原配,一年不用幾回;服務號如情人,一個月固定幾回;訂閱號如酒店小卡片,每天能夠賣廣告;小程序像炮友,用完就走。css
資本如嫖客,各個平臺和垂直類掠奪者已經瓜分掉了線上流量,那麼將來爭奪的流量戰場必然在實體場景,不少巨頭其實已經證實了線下流量龐大的潛力。在快遞包裹上印上本身的二維碼關注公衆號造成二次寄出快遞的粘性,PokemonGo讓用戶在實體地圖上捕獲小精靈。前端
將來的入口不限於二維碼,而是一切的富媒體。二維碼之於2D識別,複雜圖案之於AR,語音指令之於Siri,會發射信號的一個芯片;使用這些入口的不限於人類,對這些入口的識別,除了人掃二維碼,還有無人駕駛汽車識別路標,尋找實體商店座標;智能助手根據主人偏好自動在電商平臺尋找合適的商品而且下單。vue
一句話來講,將來的流量來自線下,流量的入口來自多媒體,整個戰場會從移動互聯網到「實體互聯網」轉變,做爲後續的「物聯網」全民化的過渡。java
那麼小程序之於微信,就是利用二維碼這種富媒體(圖像),把線下商家的流量聚攏到微信。另外,從微信的服務類目看,這將是騰訊向成爲互聯網水和電的目標的又一大步,下文會進一步分析。web
目錄算法
一、企業註冊流程json
二、小程序究竟是什麼小程序
三、小程序的入口後端
四、小程序應用場景
五、該不應作小程序(<重後端,輕前端>的思想、小程序和H5的區別、紅利期、小程序類目)
六、一些要點
七、小程序的能力(自帶組件、事件、硬件能力、微信能力)
1、企業註冊流程
2、小程序是究竟是什麼
小程序寫的時候用的是javascript這種網頁開發語言,首次運行會把這個「網頁」緩存到本地,因此不是不用下載,而是下載的包比較小而已。而後經過Android或iOS各自的JSBridge方法轉換成對應的Java或Objective-C方法運行。
好比我在小程序寫了一個方法:
程序就會識別出wx.showToast及其參數(文字、圖標、持續事件),而後執行本地的一個方法:
彈出一個原聲的Toast組件,上說只是爲了方便說明,實際運行環境會複雜的多。
上圖左邊是你們在微信公開課Pro會場上看到的企微雲平臺的快銷上報小程序,看上去真的很像一個獨立App,雖然我看不到他的源代碼,可是我試着還原其中一個頁面來舉例子。
一個頁面都是一個獨立的文件夾(微信開發者工具會自動爲你建立),每新增一個頁面須要在app.json文件的pages列表新增一項。
通常來講,src目錄建議用來放置固定的一些企業介紹視頻或者宣傳圖片等等(總體的包大小不能超過1M)。
若是你不放在這個目錄,也能夠放在你本身的服務器,遠程訪問。好比一些常常變化的活動宣傳banner。
app.json是能夠配置整個程序的底部導航tab、導航欄的背景顏色(貌似不能弄成圖片,若是但願作成京東app超級品牌日那種全屏氛圍渲染,建議banner圖片上半部分使用漸變色過渡到你配置的狀態欄背景顏色)、導航欄標題、導航欄顏色、是否支持下拉刷新等。
app.js是全局的一些方法,好比獲取用戶信息,全局數據的配置地方。
js會部分轉成原生的java和oc代碼執行,那麼頁面呢?用的是操做系統原生的組件嗎?帶着這個疑問用UI測試工具打開了微信:
大家看到有一個YYWKWebview的東西了嗎?WKWebview是原生的一個瀏覽器控件,至關於只是用小程序打開了一個下載好的本地網頁。並且用了相似weex/vue那樣子的技術,因此頁面切換很是流程。(能夠自行百度一下阿里weex)
上面看到每一個頁面都是一個文件夾,那麼裏面的四個文件都是幹什麼的呢?
.json是配置文件。就比如是你的簡歷,上面寫了名字、畢業時間等,而小程序的json會記錄一些信息:導航欄背景顏色、導航欄標題顏色、導航欄標題文字內容、窗口的背景色、下拉背景字體、loading圖的樣式、是否開啓下拉刷新、頁面總體能不能上下滾動。
.wxml是頁面的基本骨架。就像骨架規定了人的大概模樣通常,wxml是一種類xml的結構化文本,描述了小程序頁面有哪些元素。好比一個文章須要有標題、做者、時間、正文,可是不關心這些元素怎麼排列。
.js也就是javascript這種前端腳本語言的文件。要人的四肢東西來,怎麼動,就須要大腦和肌肉控制,小程序從「骨架」成爲「血肉之軀」的正是js的做用。js作一些動態的東西,好比請求數據,控制元素上下移動,判斷用戶輸入密碼是否安全等等。
.wxss就是決定整個頁面元素的顏色等表現形式。比如同一我的能夠穿不一樣的衣服,化不一樣的妝,看上去也就不同了。在wxml文件中一樣寫了一個按鈕,但能夠給他配置不一樣的背景顏色:
3、小程序的入口
線下實體(商鋪、停車場、政府服務窗口等)
好比這個微信公開課給出的場景例子,我來YY一下。
在停車場的入口,有一個攝像頭對着你的車牌號碼,當你掃碼打開小程序時,點擊開始停車,若是有空餘車位,系統會自動打開閘門並記錄開始停車的時間。這時候小程序會展現室內地圖,引導你先左轉再右轉到達目標車位,停好車走人。等你來取車的時候,開車到閘門口,再次掃描二維碼或直接從歷史記錄打開小程序,選擇結束停車,調起微信支付,停車場攝像頭識別車牌號碼,打開閘門放行。
整個過程無需取停車卡和專職工做人員服務,環保也節省人力成本。
線上PC導航站:
移動導航站:
微信羣分享:
性冷淡風格(從程序介紹頁分享出來):
欲罷不能的風格(從程序內頁分享出來):
關鍵詞精準搜索:
發現入口:
聊天列表頂部:
4、小程序應用場景
應用場景主要分爲微信羣協做和實體服務。
微信羣協做
微信羣協做主要是一些企業內部服務的或者工做上的溝通。
問卷投票:公司要開展年會了,作那個活動好呢?經過小程序發佈的投票而且分享到羣裏,能夠實時看到前三名。
會議助手:臨時召開緊急會議,須要相關人儘快肯定參會狀況,往羣裏拋一個開會通知小程序,特定的人才能打開了解會議內容並確認,誰參加誰請假,參與人數多少一目瞭然。活動時間點到了,還可經過小程序的消息服務能力給參會人發送參會提醒;到了參會現場打開小程序就能簽到,真正意義上的須要用時就用,用完就走。
雖然不少辦公場景用企微的微信企業號組件也能夠作到,可是並非每一個企業都有一個企業號,對於普通小公司小團隊來講,這些能力仍是作到小程序上快捷方便。
實體服務
睡覺前,掃描一下牀頭的二維碼貼,打開「Jinkey外賣」,下單叫了一個早餐外賣,而後掃描一下「JJ智能家居」小程序二維碼,檢測到如今是晚上,自動關燈。跟siri(iOS智能語音助手)說一句,「晚安,明天7點叫我起牀哦」,而後美美地睡上一覺。
次日,siri把我叫了起牀,等了一會,早餐也送到了,吃完,打開微信聊天窗口的小程序服務通知,點開早餐外賣支付成功的模板消息,進入「Jinkey外賣」的小程序頁給了個差評(要收錢的還不給差評?!哈哈哈)。吃完早餐就出門。
昨天車放在公司了,那今天就騎車吧,在樓下找到肉色的自行車,打開摸拜單車的小程序,掃一掃完成了開鎖,騎上去,愉快地回到公司。
來到公司打開,簽到小程序,掃一下公司前臺動態變化的二維碼,同時小程序識別出個人地理位置,打卡成功!回到座位上開始奮鬥的一天。
中午吃飯,同事都說餓了吧外賣有優惠。那趕忙打開餓了吧小程序,黃燜雞30元免運費,因而我發起了一個組團買,而後把這個頁面分享到公司羣,小夥伴們點進去頁面選擇本身要的套餐,各自支付完成後,分別都收到了一條「付款成功,正在配送」的模板消息。
而後小程序上還能夠實時看到外賣小哥去到哪裏了,超級貼心的。
中午睡覺,插上耳機,打開小睡眠小程序聽着溫馨的背景音樂。
下班的時候能夠開車咯,到地下車庫取車,開車到閘門口,再次掃描二維碼或直接從歷史記錄打開小程序,選擇結束停車,調起微信支付,停車場攝像頭識別車牌號碼,打開閘門放行。到地面接了幾個同事一塊兒到億達廣場找吃的,附近沒有停車場就隨便找了一個空地停車。下車以後看到一個碩大的廣告牌:
探鳥搞特價耶,趕忙掃碼打開探鳥的小程序二維碼,點擊排隊按鈕,提示前面還有5我的,不錯很快到了,等到還有2我的的時候,小程序提示我能夠點餐下單了,那咱們5我的就點兩隻雞吧,應該夠飽了。
由於喝了點酒,喝酒不開車,吃飽以後,打開杜杜出行叫代駕。
去取車的時候發現,握草!有一張違停罰單……醉了,掃一下上面的二維碼,打開了**交警的小程序二維碼,輸出車牌號碼,系統自動拉出罰單列表,單擊剛剛的違停罰單,用微信支付完成了繳費。因此各位老司機不要亂停車哦。
……………以上故事純屬虛構………………
5、該不應作小程序
去年年初我寫過一篇文章《應用號能夠幹翻應用商店?你想太多了吧》有說到過這個問題,那麼現在小程序正式推出,咱們再來探討一下。
<重後端,輕前端>的思想在商業上的實踐
重後端,輕前端是技術架構上一種策略,由於前端代碼更容易被反編譯和破解,因此不少核心邏輯和算法放在服務器後臺運行。在商業環境中,其實這種想法也很是適用。
回顧一下人類發展過程各類「前端」的呈現形式:
龜甲、獸骨、竹簡、木牘、金石、縑帛——紙張——PC電腦web網頁——黑白屏手機短信——智能手機時代的iOS、安卓APP——移動端H5——公衆號服務號、小程序——智能眼鏡——智能硬件上的顯示屏——直接把信息輸入大腦
這些東西都在飛速變化,而不變的是什麼?信息自己的價值、對信息處理、以及核心服務的價值是不變的。一千年前你去餐館爲了吃飯,今天你去餐館也是爲了吃飯;10年前你去酒店爲了xxoo,今天你去仍是爲了xxoo;更多時候咱們應該注重自身服務和商業的閉環,不管是app仍是小程序,他只是一種呈現形式,若是你飯館的菜很是難吃,那麼無論你把本身發佈到餓了吧外賣平臺、小衆點評亦或是趕時髦作個小程序,依然沒什麼人去關顧你的餐廳。
專心作你的核心服務,其餘的交給第三方去作,他們有規模優點天然能作得更好更便宜。
小程序和H5的區別
正如上文「小程序真面目」那一章所說的,微信小程序就是一個緩存到本地的網頁。
爲何小程序比H5流暢和酷炫啊?
由於小程序緩存到了本地,在二次打開的時候無須要再加載,但果然如此嗎?若是小程序開發者把不少圖片、文字等頁面元素都作成動態加載且不作緩存,那麼你每次打開小程序至關於……從新下載了一遍app,跟原來的H5是同樣的。
可是原來H5的頁面切換不流暢老是要加載,小程序不會啊,你怎麼能說小程序和H5同樣呢?
緣由在於以前大部分外包開發商更傾向於一個個單獨頁面寫,頁面邏輯混亂,當要跳轉到新的頁面就得從新向服務器請求一個頁面,極其噁心。
隨着vue等前端框架的普及,愈來愈多的SPA架構網頁應用出現,微信小程序應該就是基於此種技術,使用SPA架構的應用只須要在剛開始的時候loading加載,切換到應用內的其餘頁面不須要再加載新的頁面,因此很是流暢。那是否是說明咱們能夠不作小程序而用vue來寫就能夠了?
也不是的,小程序比H5多了不少入口,對於傳統商戶來講,找個外包商從新用vue寫一個微官網的成本和找個外包商作一個小程序的成本是同樣的,甚至比作小程序成本還高。由於小程序如此火熱,確定有大量第三方開發商作成各個行業的小程序模板,你只要稍微配置就能一鍵生成,成本是很是低的。
可是小程序比H5多了不少原生的能力不是嗎?
微信以前也有開放一個JSSDK,也有分享接口、圖像接口、音頻接口、設備信息、搖一搖、掃一掃等能力能夠在移動H5端去使用,小程序的優點在於比JSSDK多了更多的數據儲存能力,好比視頻、圖片、音頻等能夠等用戶在wifi環境下保存到本地,而後移動網絡時候就能夠離線觀看了。但JSSDK開放這些能力的話也能夠作到,只不過微信無形以後幫你規範好了,讓你以SPA架構去搭建一個網頁,這正是小程序在技術層面上作的事情。
還有其餘區別嗎?
小程序諸多微信審覈的限制、H5不受微信管控
小程序更容易打開,對於用戶來講是不利的,由於東西無論你用不用老是佔着手機空間;對於商家來講,二次使用成本更低,利用用戶再次使用
各有各的優點,那我想兩種都作會成本很高嗎?
若是你原來的網頁應用就是用vue那套框架構建的,那麼再作到微信小程序的成本很是低,須要作一些轉換和適配,好比vue的自定義標籤功能定義成微信小程序的 view ,相信開源社區往後會有人貢獻這些轉化的代碼。若是你原來的網頁不是SPA架構的,那麼就建議找第三方開發商來作小程序,成本低,雖然會比較多限制。有精力或者想獲得更多能力,能夠再逐步向剛剛說的,作一些工具完成網頁應用到小程序的橋接轉換。
紅利期在哪?
2017年微信公開課Pro版上,男神張小龍對小程序作了一番詳細的解析和解答。在此以前,不少人認爲微信小程序會帶來一波流量上的紅利,但張小龍告訴你們,小程序在微信上沒有入口、不能訂閱,想要經過小程序來獲取紅利的人,想必是要失望了。
可是果然如此嗎?
回想十九世紀四五十年代美國西進運動過程當中的淘金熱,咱們也許更容易理解。淘金熱中最終獲利的其實不是淘金的人,而是船伕、賣水和賣鏟子等爲淘金提供支持的人。若是小程序引起一場」淘金熱」,那它最大的紅利可能就不是小程序自己。它會是什麼呢?
我以爲是如下幾個方面:
一、第三方外包開發商
目前市面上外包一個簡單商城的小程序價格大概在300到1000左右,對於我的開發者而言,這基本上是無利可圖的,不多我的會去專門定製。對於靈活度要求較高,須要一些基礎組件又須要定製開發的公司來講,更須要一個能規模化輸出基礎組件,而且在這基礎上爲部分公司定製開發的第三方服務商。這適合企業號那一波紅利作得好的一些開發商,極可能成爲一樣主打企業用戶的小程序,好比微信公開課pro上拿了「2016年度微信電子發票優秀合做夥伴」獎項的企微雲平臺。
二、自動生成小程序的
儘管微信小程序的開發門檻相比APP的開發門檻大幅下降,但帶來的問題是:開發者須要適應和學習它的這套語言標準,並且開發的應用是不能移植到其餘應用裏面的,只能在微信上運行。若是技術小白能零門檻經過拖拽或根據模板的形式就自動生成小程序,這將更大下降開發和使用門檻。可是此類平臺靈活度不夠。
目前這一類的企業有微塵、有贊等。
三、提供後端數據託管服務的雲服務商
小程序只是一個前端而已,整個開發涉及到企業認證、雲端數據存儲、ICP域名備案等,對於單個企業來講很是繁瑣。所以須要能提供一條龍後端託管服務的第三方平臺。
目前騰訊雲就在作這個事情,阿里雲應該是不會推出微信小程序託管服務的。
四、小程序開發和運營培訓
儘管經過第三方外包或拖拽自動都能開發出小程序,但前者可能面臨成本的問題,後者則可能不能定製出特別符合要求的小程序。那麼最好的方案就是」本身動手,豐衣足食」。而提供小程序開發培訓的機構,則能夠所以得到收益。
五、小程序導航網
張小龍在公開課說了:」咱們並不會存在一個小程序的商店,因此咱們也並不會像外界所猜想的那樣,作一個APP的分發商店」。既然微信不作,巨大的入口價值,天然就會有別人去作這件事。讓別人記住那麼多小程序的名字,每次想用的時候就去搜一下是很麻煩的,若是能把小程序彙總起來,想用的時候就去導航網站找,估計會方便不少。
哪些程序不適合
一、依靠向外部輸出流量以得到盈利的App
好比今日頭條、Zaker等這類資訊App,商業變現方式太單一,基本上都是廣告,小程序並無提供商業變現的方式,他們作小程序有些革本身命的感受……可是能夠提供一個輕量的小程序入口提升品牌曝光。
二、須要較多依賴系統原生能力的App
舉個例子:
Workflow,一款經過剪切板等輸入,而後設定好動做,既能夠作分詞、發送到郵箱、查詢是否詐騙電話號碼等等很是多的自定義工做流。workflow須要獲取用戶剪切板內容,調起郵箱、印象筆記等第三方app、打開網頁等多種系統能力,而小程序不會向開發者暴露全部的系統api,這跟小程序定位不符合。
還有一個例子,一款閱讀app,叫做優讀。這款產品想要解決的問題是如何從大量信息中篩選出有價值的內容,他們的思路是利用「牛人」推薦和機器算法來完成。他們爲了方便用戶去分享內容到優讀上去,作了不少便捷操做,好比你在任意一個app內閱讀內容,當你想要將這篇文章分享到優讀時,只須要複製連接,而後下拉通知中心,就能夠選擇收藏或分享文章了。這很便捷。可是徹底不適合作小程序。
三、須要佔用較大儲存空間的應用
這一類一般是視頻和音頻類應用,好比騰訊視頻、網易雲音樂等。用戶使用這類應用的場景很大一部分是在移動環境下,他們會事先把歌曲或者電視劇緩存到本地。可是對於微信小程序10M的存儲限制根本沒法知足。但網易雲也能夠把私人FM獨立出來作一個小程序佔坑。
四、須要大型3D渲染的
這方面主要是遊戲,一個遊戲包通常都在10M以上,小程序上作個頁遊都不行,只能搞個flappybird了。
五、服務性弱、和線下場景關聯弱的應用
好比印象筆記等工具型產品。
六、本身APP都作很差的,你就別去湊小程序的熱鬧了
若是你作一個app都沒人用作不起來,那麼作了小程序也沒人用。由於核心的是服務和價值,小程序的定位就是你自由流量的狀況下讓用戶更便捷的接觸到你的服務,而不是爲了給你的服務引流。好比你租用了一堆廣告牌,你有一家門店貼上小程序二維碼,用戶能更好的使用你提供的服務。若是你自己沒流量入口,那麼小程序也沒有,和app同樣依然推不動並且尚未留存。
能夠上架的小程序類目
如下是小程序容許上架的服務類目及其須要的材料,從下圖能夠看出,微信對於政務服務、工具、出行、實體商戶四個大類的細分是極其詳細的,能夠看出這是微信着力要發展的四個大類,一旦全部的政府機構都用上了小程序,那麼不少咱們必須用到的政務服務都必將刺激更多中老年用戶去使用微信。另外出行是個高頻需求,從n年前微信支付和支付寶爭奪移動出行的入口就可見一斑。另外微信雖然說不作導航,那麼弄那麼詳細的分類幹什麼呢,即便所需的審覈資料一致?使人深思。
6、一些要點
一些數字
1個營業執照能註冊50個小程序
1個小程序必須綁定1個管理員(含我的微信、手機號碼、身份證)
1個身份證只能綁定5個小程序
1個公衆號能綁定5個小程序
1個小程序只能對應1個公衆號
跳轉引流能力有限
小程序內不能跳轉到對應的公衆號也不能誘導關注公衆號,但在小程序的介紹頁會露出且點擊可跳轉綁定的公衆號。可經過介紹頁實現公衆號和小程序之間的互相跳轉,但網頁內和聊天窗口內長按識別二維碼不能打開小程序。
安卓的小程序能放到桌面,iOS目前不能夠
但不排除以後會經過Safari書籤的形式放到桌面上,技術層面是能夠實現的,只是用戶操做路徑比安卓一鍵放到桌面麻煩。
頁面內不能出現引導下載你本身App的文字
微信官方文檔5.1:
微信小程序的頁面內容中,不得存在誘導類行爲,包括但不限於誘導分享、誘導添加、誘導關注、誘導下載等;如不得要求用戶分享、添加、關注或下載後纔可操做;
不得含有明示或暗示用戶分享的文案、圖片、按鈕、浮層、彈窗等;
不得經過利益誘惑誘導用戶分享、傳播;不得用誇張言語來脅迫、引誘用戶分享;不得強制或誘導用戶添加小程序。
只有管理員能上傳代碼;
開發者沒法上傳;
任意頁面能夠帶參數生成二維碼,最多十萬個。
這就頗有想象力了,在牀頭貼一個Jinkey智能管家的小程序二維碼,帶一個參數action=closeLight,掃碼後自動關燈;
在門口放一個Jinkey智能管家的小程序二維碼,帶一個參數action=out,出門掃描一下自動關閉家裏的電源總開關(額,除了冰箱)。
在廁所放一個二維碼,action=focus,掃描自動關注微信公衆號jinkey-love。
一樣的道理,帶參數的二維碼可用於線下商家、政府服務的小程序內不一樣功能區直接進入對應的服務而不須要使用多個小程序。好比去銀行掃描一個取號機上的二維碼取號,金銀櫃臺掃碼瞭解各類理財產品。
當心手機空間和流量不足
小程序並不是不用下載,而是在你首次使用的時候會下發一個包,至關於把網頁緩存好,下次打開就快了,可是可是…你已經下載了,並且是「不須要確認的下載」,點開即下載,而後你的流量就嘩啦啦呼啦啦…下圖是微信小程序下載的頁面,不過在正式版中,微信已經去掉了「數據下載中,請稍候…」的文字,但依然是下載哦。因此微信所說的「免下載」更多地只是一種「無感下載」。
小程序空間有限
整個小程序包的上傳時的體積不能超過1M,加載到用戶手機後,緩存大小不能超過10M(有可能被清除掉),永久存儲大小不能超過10M(下次進來還能打開)
名字、頭像要慎重
小程序的名稱1年能夠修改1次、頭像1個月能夠修改5次、小程序介紹1個月能夠修改5次。
7、小程序的能力
爲何要了解這部份內容?
知道什麼頁面元素是微信小程序自帶的,能快速開發上線
知道有哪些異常流和節點產品經理提需求,老闆決策的時候能夠發揮的
知道有哪些硬件能力提供,知道產品的邊界所在?好比你想作一個NFC刷卡坐地鐵的小程序,那麼很遺憾告訴你,小程序作不了,甚至iOS都沒有開放到NFC的能力給開發者,因此小程序如今不會有NFC能力。
默認組件
有哪些組件?
組件長什麼樣子的?
固然,小程序自己只是一個網頁,你可使用經過css自定義組件的樣式或者本身寫一些特殊的組件,好比電商購物車的步進計數器。
事件鉤子(建議非產品經理、運營等需求提出方跳過鉤子和事件這部分)
一、什麼是鉤子?
一隻小烏龜的頭上頂着數字7和8(額,好像沒什麼不對的),他須要走過一個裝着加法運算器的箱子,以後頭上就會變成一個數字15。那麼這個箱子就稱爲一個鉤子函數,若是放在裏面的是一個乘法運算器,那麼小烏龜的頭上的數字通過正方體以後就會變成56。
小程序至關於那隻小烏龜,在運行時(小烏龜走路)會觸發不少的事件(鉤子函數,至關於小烏龜通過的正方體),往這些正方體裏面放入什麼邏輯,取決於坑比的產品經理。
好比一個電商的步進計數器改變值的時候:
二、有哪些鉤子
App生命週期的鉤子
小程序的生命週期分爲程序和頁面兩個部分:
1.程序有啓動(未顯示)、顯示出來了和隱藏三個事件
2.頁面有加載、顯示出來了、準備好了(首次)、卸載頁面、隱藏頁面五個事件
除此以外,還有 onPullDownRefresh 下拉刷新的時候、 onReachBottom 上拉無限加載的時候、 onShareAppMessage 點擊右上角分享按鈕的時候。
其中我以爲 onShareAppMessage 是挺有用的,好比當用戶點擊右上角分享按鈕時,往頁面頂層覆蓋一個分享圖(高度爲頁面高度80%),這樣子會改變頁面分享到聊天窗口的樣子(這裏還沒實踐過,只是猜測,大家能夠本身試試)
三、觸摸事件
分爲點擊、長按、觸摸開始、觸摸移動(好比可用於拖拽排列列表)、觸摸結束、觸摸取消(好比一個看視頻的小程序要求你兩隻手都按着手機才能播放,在你看到快高潮的時候,女友打電話來,就會觸發 touchcancel 事件)
四、組件事件
組件事件主要有幾種:值改變的事件、開始輸入的事件、完成輸入的事件。
舉個例子,好比一個文本框要求輸入郵箱,由於當用戶輸入時會觸發input事件,因此能夠綁定一個鉤子函數,獲取到用戶每次輸入的字符串判斷一下是否含有「@」和」.」,如有則斷定爲合法。
其餘詳細的能夠看下圖用於自查。
五、富媒體事件
富媒體的事件主要有幾種:開始(加載)播放、暫停播放、結束播放、播放(加載)失敗、播放進度更新這幾種。
六、硬件能力
從本地相冊選取照片視頻
拍照或錄像
掃描二維碼
錄製語音
直接打開doc,xls,ppt,pdf,docx,xlsx,pptx
保存文件到微信app目錄
獲取地理位置
獲取用戶手機型號、設備像素比、窗口寬高、語言、微信版本號、操做系統版本、客戶端平臺
獲取網絡狀態:2g,3g,4g,wifi
監聽重力感應器,5次/秒,能夠作搖一搖等
監聽羅盤數據,5次/秒
直接撥打電話(企業宣傳留個諮詢電話)
七、微信能力
(1)微信登陸
(2)獲取用戶的頭像、暱稱、性別、國家、城市、省份
(3)微信支付
(4)模板消息
只有如下兩種行爲能夠觸發模板消息:
支付當用戶在小程序內完成過支付行爲,可容許開發者向用戶在7天內推送有限條數的模板消息(1次支付可下發1條,屢次支付下發條數獨立,互相不影響)
提交表單當用戶在小程序內發生過提交表單行爲且該表單聲明爲要發模板消息的,開發者須要向用戶提供服務時,可容許開發者向用戶在7天內推送有限條數的模板消息(1次提交表單可下發1條,屢次提交下發條數獨立,相互不影響)
(5)客服消息
用戶經過客服消息按鈕進入會話,1分鐘內可下發1條消息,超時不能發送;
用戶在客服窗口發送信息,可回覆3條且須要48小時內回覆
(6)分享到聊天窗口
分享圖片不能自定義;會取當前頁面,從頂部開始,高度爲80%屏幕寬度的圖像做爲分享圖片。