標籤:
營運在日常的工作中可能會寫很多指令碼來完成特定的一些功能,比如營運A寫個版本發布的代碼,裡面會有檔案推送的邏輯,營運B想實現一個遠程指令碼執行的功能,可能在他的代碼裡也有檔案推送的邏輯。在沒有引入原子化設計的概念下,營運人員用各自的方式來實現檔案推送這塊的邏輯。
當然,我們封裝一個組件不可能直接去使用這個tpl。而是提供一個外部組件函數,然後傳遞參數到這個組件函數中,組件函數不僅渲染頁面(即插入組件dom),還處理相關的邏輯。如上面的rightsideBar.js就是為外部提供一個組件函數。rightsideBar組件比較簡單,只需要傳遞一個父節點即可,不需要其他外部資料來做處理。部分
getUserInfo函數,顧名思義就是擷取登入使用者資訊,相當於此函數提供了擷取使用者資訊的介面,其他頁面不調用自然不會執行。其他頁面通過getApp().getUserInfo(function(userinfo){console.log(userinfo);})這種方式調用該方法,擷取使用者資訊。
getUserInfo:function(cb){//參數為cb,類型為函數 var that = this if(this.globalData.userInfo){//使用者資訊不為空白 typeof cb == "function" && cb(this.globalData.userInfo)//如果參數cb的類型為函數,那麼執行cb,擷取使用者資訊; }else{//如果使用者資訊為空白,也就是說第一次調用getUserInfo,會調用使用者登入介面。 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { console.log(res) that.globalData.userInfo = res.userInfo//把使用者資訊賦給globalData,如果再次調用getUserInfo函數的時候,不需要調用登入介面 typeof cb == "function" && cb(that.globalData.userInfo)//如果參數cb類型為函數,執行cb,擷取使用者資訊 } }) } }) } }
廢話不多說,直接分析前端代碼。個人觀點,難免有疏漏,僅供參考。
先看入口app.js,app(obj)註冊一個小程式。接受一個 object 參數,其指定小程式的生命週期函數等。其他檔案可以通過全域方法getApp()擷取app執行個體,進而直接調用它的屬性或方法,例如(getApp().globalData) http://www.cnblogs.com/koetgw/
任何對象要訪問這個類只能通過這個執行個體對象來訪問,我們把房子比喻一個java類,每個房子只有一把鑰匙(好比每個類只有一個執行個體),這樣唯有房子的主人才有這個鑰匙才能訪問房子,其他人訪問不了。 http://www.cnblogs.com/mseruq/
data:data代表的是這個$http()對象中包含了將會被當作訊息體發送給伺服器的資料。通常在發送POST請求時使用。
根據這次項目,筆者認為:如果 不需要 通過 傳參 向伺服器擷取資料的時候,就不需要data這個鍵;如果 需要 通過傳參向伺服器擷取資料,就需要data這個鍵。
既然我們已經分析完畢,接下來我們解決WebAPi啟動Https的問題即可。開始想到去申請的一個免費的認證就行,但是由於是將WebAPi安裝在本地Windows服務中且ip不固定,所以免費的認證則不再可取,只能自行建立認證來解決這個問題。但是我對於認證幾乎從未接觸過,一無所知,不知從哪裡下手,這一漫長的過程就從此開始。
JSON可以用Javascript內建的方法直接進行解析,從而轉換成Javascript也非常方便 http://www.cnblogs.com/mseruj/
我先想到可以在dragstart事件處理常式中把被拖拽的元素儲存在一個變數裡,然後再drop的事件處理常式訪問它。但是很遺憾,並不能訪問到。
在學習AJAX時關於JSON有一些疑問總結