美文网首页WEB前端程序开发
利用TypeScript 实现Web 数据模型(model)化(

利用TypeScript 实现Web 数据模型(model)化(

作者: saber森森 | 来源:发表于2018-12-17 17:26 被阅读2次

    一、介绍:

      首先介绍下自己,本人iOS开发。年中的时候,由于公司前端缺失,就去凑个数帮个忙。当看到前端代码,二个字震惊!!! 所有接口返回的数据直接拿来用,没有一个模型model来接收这些数据,虽然有注释,但是说真的,很痛苦,对新人解读一点不友好。秉着老子可是iOS开发啊,怎么能容许这种代码出现,于是踏上了需要数据模型化的重构道路中(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使用。 

      工具截图:

    json转TS工具 使用动态图

    最终鸣谢:

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

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

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

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

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

    相关文章

      网友评论

        本文标题:利用TypeScript 实现Web 数据模型(model)化(

        本文链接:https://www.haomeiwen.com/subject/pohckqtx.html