個人見解,歡迎交流,不喜勿噴。 微信小程式相比於微信公眾號的開發,區別在於微信小程式只請求第三方的數據,整個界面的交互(view)還是在微信小程式上實現,而微信公眾號的開發,是直接請求第三方的web界面。所以說微信小程式更輕量級,用來做一些餐飲店線上點單,小小的網上商城什麼的,還是很方便的,不過有一 ...
個人見解,歡迎交流,不喜勿噴。 微信小程式相比於微信公眾號的開發,區別在於微信小程式只請求第三方的數據,整個界面的交互(view)還是在微信小程式上實現,而微信公眾號的開發,是直接請求第三方的web界面。所以說微信小程式更輕量級,用來做一些餐飲店線上點單,小小的網上商城什麼的,還是很方便的,不過有一個比較坑的地方是 微信小程式要求必須通過 HTTPS 完成與服務端通信,對於我這種只是來學習的人來說,還要購買SSL證書,然後搭建一個站點,也太麻煩了一點,那怎麼辦呢?其實,只要新建小程式的時候,不使用AppID來登錄,就不會對https做校驗了,當然,如果你要最終發佈,還是需要搭建https的站點的,騰訊雲or阿裡雲都可以申請免費的SSL證書。 微信小程式官方文檔:https://developers.weixin.qq.com/miniprogram/dev/ 我看了一下文檔之後,按照文檔申請了小程式的開發者賬號,並下載了開發工具,批註:沒有賬號是登錄不了工具的。 看了一下官方文檔,以及其他的一些資料之後,對微信小程式的開發有了一點膚淺的見解,那麼: 首先,你需要熟悉html,css,js等一些web前端的開發語言,如果你還熟悉angularjs,那就更好了。 其次,你需要搭建一個http站點,用來作為服務端給微信小程式提供數據,我這裡搭建的是一個web api的站點。 另外補充說明一下,個人覺得與WPF很像,數據驅動UI,WPF中的xaml與微信小程式中的wxml,數據綁定,WPF中的DataTemplate與微信小程式中的自定義組件等。 細節我就不多說了,比如如何新建一個web api程式,如果發佈到iis,如何新建一個微信小程式,略過... 只記錄一下我遇到的問題:
1.在web api中新建一個方法,如下:不要在意我為何要求傳遞一個參數json,這是因為我的web api中已經有一個get的方法是無參的,而我沒有改路由規則,也沒有使用特性路由,所以就加一個參數來區分。
public string GetJson(string json) { return "{\"name\":\"dengwei\"}"; }View Code
在微信小程式的生命周期函數中請求這個服務:
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { wx.request({ url: 'http://localhost:8080/api/lazyorders/GetJSON?json='+'1', success: function (res) { var data = res.data; console.log(data); console.log(data.name); } }) },View Code
請求得到的數據如下:我們可以發現數據已經取到了,但是並不能直接取json數據中的name屬性,即它不是一個有效的json對象。
再修改一下代碼:把得到的字元串,通過js轉成有效的json對象,然後再輸出
/** * 生命周期函數--監聽頁面顯示 */ onShow: function () { wx.request({ url: 'http://localhost:8080/api/lazyorders/GetJSON?json=' + '1', success: function (res) { var data = res.data; var json = JSON.parse(data); console.log(json); console.log(json.name); } }) },View Code
這下可以了,可以獲取到name屬性了,註意這裡有一個細節的變化,列印出來的數據,是可以展開的了,key-value中的value值被標紅了{name: "dengwei"}