利用TypeScript 实现Web 数据模型(model)化(自制JSON转model工具)

一、介绍:

  首先介绍下自己,本人iOS开发。年中的时候,由于公司前端缺失,就去凑个数帮个忙。当看到前端代码所有接口返回的数据直接拿来用,没有一个模型model来接收这些数据,想想不怎么合理,于是踏上了需要数据模型化的重构道路中(PS:JS只有对象没有类)。

二、过程:

  在这个过程中,解读了对于JS原型的理解 (PS:你所不知道的JS 强烈推荐),最后遇到了TypeScript(PS:我就不吹比了,真的非常好用官网)。

三、结论:

利用TypeScript 创建所谓的基类来实现model化。

核心:基类文件 FCObject.ts

FCObject截图:


FCObject

model定义截图:

对数据返回account的定义

使用截图:


使用方式 new一下

四、解读:

核心就是通过继承FCObject获取modelAddProperty 来遍历json,并且通过modelCustomPropertyMapper 方法来重定义参数名,以及通过modelContainerPropertyGenericClass定义非基础数据类型 以及泛型中非技术数据类型。

五、升级:

  相信很多前端兄弟看到这些,都会吐槽增加了好多工作量,还需要定义每个参数,好烦,还要小心翼翼定义基础类型(PS:我也很烦躁,写iOS的时候我们都有工具将json转化对应的模型 .h .m文件)。

  为了解决这个烦恼,就花了点时间做了辅助工具(JSON转TS模型文件),只适合Mac使用。 

  工具截图:


TS工具


最终鸣谢:

1.此工具核心内容来自ESJsonFormat

2.此工具开发OC swift 功能大佬ESJsonFormatForMac

本人工具地址:

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

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

求点赞求关注求指点 谢谢!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 27,750评论 1 45
  • 生活本是路途,匆匆行走三十年,很少回望来时路。人生并没有太多的三十年可以挥霍。细细想来还是要看看之前走过的...
    潋滟蔷薇阅读 246评论 0 0
  • 感恩前辈留下的经典国学智慧,学习,成长。 感恩客户的信任,把钱交给我们,钱是沉甸甸的,责任也是重重的。 感恩月底同...
    山东慧恩贺守金阅读 43评论 0 0
  • 今天我又犯老毛病了,以前我总是落水壶,可是今天我居然把铅笔盒也落学校了。到了家里,一开始我还没发现,妈妈帮我检...
    M张皓轩M阅读 203评论 0 1
  • 算来lua脚本的使用也有一年了,记录一些在项目使用过程中碰到的雷点,没注意的话就容易踩坑。 1.迭代器 pairs...
    coding__阅读 838评论 0 2