利用TypeScript 實現(xiàn)Web 數(shù)據(jù)模型(model)化(自制JSON轉model工具)

一、介紹:

? 首先介紹下自己,本人iOS開發(fā)。年中的時候,由于公司前端缺失,就去湊個數(shù)幫個忙。當看到前端代碼所有接口返回的數(shù)據(jù)直接拿來用,沒有一個模型model來接收這些數(shù)據(jù),想想不怎么合理,于是踏上了需要數(shù)據(jù)模型化的重構道路中(PS:JS只有對象沒有類)。

二、過程:

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

三、結論:

利用TypeScript 創(chuàng)建所謂的基類來實現(xiàn)model化。

核心:基類文件 FCObject.ts

FCObject截圖:


FCObject

model定義截圖:

對數(shù)據(jù)返回account的定義

使用截圖:


使用方式 new一下

四、解讀:

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

五、升級:

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

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

? 工具截圖:


TS工具


最終鳴謝:

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

2.此工具開發(fā)OC swift 功能大佬ESJsonFormatForMac

本人工具地址:

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

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

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

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,815評論 1 45
  • 生活本是路途,匆匆行走三十年,很少回望來時路。人生并沒有太多的三十年可以揮霍。細細想來還是要看看之前走過的...
    瀲滟薔薇閱讀 258評論 0 0
  • 感恩前輩留下的經(jīng)典國學智慧,學習,成長。 感恩客戶的信任,把錢交給我們,錢是沉甸甸的,責任也是重重的。 感恩月底同...
    山東慧恩賀守金閱讀 58評論 0 0
  • 今天我又犯老毛病了,以前我總是落水壺,可是今天我居然把鉛筆盒也落學校了。到了家里,一開始我還沒發(fā)現(xiàn),媽媽幫我檢...
    M張皓軒M閱讀 253評論 0 1
  • 算來lua腳本的使用也有一年了,記錄一些在項目使用過程中碰到的雷點,沒注意的話就容易踩坑。 1.迭代器 pairs...
    coding__閱讀 908評論 0 2

友情鏈接更多精彩內容