利用TypeScript 實現Web 數據模型(model)化(自制JSON轉model工具)

一、介紹:

  首先介紹下自己,本人iOS開發。年中的時候,由於公司前端缺失,就去湊個數幫個忙。當看到前端代碼,二個字震驚!!! 所有接口返回的數據直接拿來用,沒有一個模型model來接收這些數據,雖然有註釋,但是說真的,很痛苦,對新人解讀一點不友好。秉着老子可是iOS開發啊,怎麼能容許這種代碼出現,於是踏上了需要數據模型化的重構道路中(PS:JS只有對象沒有類)。

二、過程:

  在這個過程中,解讀了對於JS原型的理解 (PS:你所不知道的JS 強烈推薦),最後遇到了TypeScript(PS:我就不吹比了,真的非常好用官網)。

三、結論:

利用TypeScript 創建所謂的基類來實現model化。

核心:基類文件 FCObject.ts

FCObject截圖:


model定義截圖:

使用截圖:


四、解讀:

核心就是通過繼承FCObject獲取modelAddProperty 來遍歷json,並且通過modelCustomPropertyMapper 方法來重定義參數名,以及通過modelContainerPropertyGenericClass定義非基礎數據類型 以及泛型中非技術數據類型。

五、升級:

  相信很多前端兄弟看到這些,都會吐槽增加了好多工作量,還需要定義每個參數,好煩,還要小心翼翼定義基礎類型(PS:我也很煩躁,寫iOS的時候我們都有工具將json轉化對應的模型 .h .m文件)。

  爲了解決這個煩惱,就花了點時間做了輔助工具(JSON轉TS模型文件),只適合Mac使用。 

  工具截圖:



最終鳴謝:

1.此工具核心內容來自ESJsonFormat

2.此工具開發OC swift 功能大佬ESJsonFormatForMac

3.此工具以及FCObject Demo地址:FCObject

4.ESJsonFormatForMac的TS版本工具源碼:ESJsonFormatForMac-TypeScript

求點贊求關注求指點 謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章