CN111708523B - 一种基于NodeJs的开发方法、***及存储介质 - Google Patents

一种基于NodeJs的开发方法、***及存储介质 Download PDF

Info

Publication number
CN111708523B
CN111708523B CN202010428643.1A CN202010428643A CN111708523B CN 111708523 B CN111708523 B CN 111708523B CN 202010428643 A CN202010428643 A CN 202010428643A CN 111708523 B CN111708523 B CN 111708523B
Authority
CN
China
Prior art keywords
business logic
library
interface
plug
development
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010428643.1A
Other languages
English (en)
Other versions
CN111708523A (zh
Inventor
林志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Pacific Computer Information Consulting Co ltd
Original Assignee
Guangzhou Pacific Computer Information Consulting Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Pacific Computer Information Consulting Co ltd filed Critical Guangzhou Pacific Computer Information Consulting Co ltd
Priority to CN202010428643.1A priority Critical patent/CN111708523B/zh
Publication of CN111708523A publication Critical patent/CN111708523A/zh
Application granted granted Critical
Publication of CN111708523B publication Critical patent/CN111708523B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于NodeJs的开发方法,包括以下步骤:获取业务逻辑的任务需求;通过路由自动匹配,生成业务逻辑的路由映射;根据路由映射访问声明式接口,通过声明式接口执行业务逻辑,并根据业务逻辑的任务需求访问插件库,获取业务逻辑的活动数据生成业务逻辑的活动方案,插件库包括以下至少之一:车型库、城市库、经销商库以及图库;方法通过路由的自动匹配生成路由映射,无需进行繁琐的配置,可通过轻量的约束条件简约快速地完成路由映射;通过声明式的接口进一步访问数据库,通过简约的查询指令完成数据库操作,使开发过程变得更为友好;以及通过插件库的扩展方式,减少对开发资源的占用。本发明可广泛应用于互联网路由技术领域。

Description

一种基于NodeJs的开发方法、***及存储介质
技术领域
本发明涉及互联网路由技术领域,尤其是一种基于NodeJs的开发方法、***及存储介质。
背景技术
名词解释:
NodeJs是一个基于Chrome V8引擎的JavaScript运行环境。
CRUD是指在计算处理时的增加(Create)、读取(Read)、更新(Update)和删除(Delete)的动作。
随着信息化、数据化的推广,类似汽车等传统行业,都出现了大量的线下服务转投线上的现象。各种线上的平台产品备受青睐,随着线上服务需求的爆发式增长,对于线上平台的定制化需求也是不断上涨。而现有技术的线上平台以及平台的开发方式,均是通过手动配置接口路由,基础的业务逻辑也需要从实体到控制层的重新开发;此外,在汽车行业的平台日产开发中,可能需要调用其他数据库模块的数据,但每个应用的开发过程中均需要重新完成和模块的对接。因此,现有技术的平台以及其对应的开发方式不仅在开发过郑重,编程繁琐,机械重复内容导致代码质量低下,从而导致了开发的效率低下;面对大量的业务数据,也无法实现快速相应。
发明内容
为至少解决上述技术问题之一,本发明的目的在于:提供一种轻量易用,开放效率高,同时能处理庞大业务数据的基于NodeJs的开发方法,以及基于NodeJs的***和存储介质,为了达到上述技术目的,本发明所提供的技术方案包括:
一方面,本发明提供了一种基于NodeJs的开发方法,包括以下步骤:
获取业务逻辑的任务需求;
通过路由自动匹配,生成业务逻辑的路由映射;
根据路由映射访问声明式接口;
通过声明式接口执行业务逻辑,并根据业务逻辑的任务需求访问插件库,获取业务逻辑的活动数据,其中,插件库包括以下至少之一:车型库、城市库、经销商库以及图库;
根据活动数据,生成业务逻辑的活动方案。
此外,在本发明的一些实施例中,通过路由自动匹配,生成业务逻辑的路由映射这一步骤,其具体包括:
加载Js文件;
对Js文件进行增强修饰,使Js文件具有接口功能;
初始化路由组件,装载增强修饰后的Js文件进行路由映射。
在本发明的另外一些实施例中,根据路由映射访问声明式接口这一步骤,其具体包括:
将Js文件的路径名作为URL,结合业务逻辑通过路由映射,访问声明式接口。
在本发明的另外一些实施例中,通过声明式接口访问插件库,获取业务逻辑的活动数据这一步骤,其具体包括:
获取访问的请求参数,对请求参数进行校验;
生成访问的响应,对访问的响应格式进行标准化处理。
在本发明的另外一些实施例中,通过声明式接口访问插件库,获取业务逻辑的活动数据这一步骤,具体还包括:
定义元数据,根据元数据生成操作接口;
通过操作接口进行活动数据的增加、删除、修改以及查询操作;
其中,元数据的内容包括以下至少之一:查询条件字段、查询方法、数据提交表单字段定义、字段名、数据检验要求、数据对象排重要求、关联对象以及扩展字段。
在本发明的另外一些实施例中,获取访问的请求参数,对请求参数进行校验这一步骤中,校验的规则包括以下至少之一:默认值、最大值、最小值、长度范围或正则表达式。
在本发明的另外一些实施例中,生成访问的响应,对访问的响应格式进行标准化处理这一步骤,其具体包括:
根据预设的响应格式,进行异常抛出或正常数据返回。
第二方面,本发明技术方案还提供一种基于NodeJs的开发***,可以对应实现上述实施例中一种基于NodeJs的开发方法,其包括:核心库、活动业务逻辑模块、以及插件库;
其中,核心库还包括:
自动路由模块,用于通过路由自动匹配,生成业务逻辑的路由映射;
声明式接口模块,用于提供声明式接口,并由声明式接口执行业务逻辑;
活动业务逻辑模块,用于获取业务逻辑的任务需求,并根据路由映射以及声明式接口,访问插件库,并生成业务逻辑的活动方案;
插件库,用于提供业务逻辑的任务需求数据;插件库包括以下至少之一:车型库、城市库、经销商库以及图库。
第三方面,本发明技术方案还提供一种基于NodeJs的开发***,包括至少一个处理器;至少一个存储器,用于存储至少一个程序;当至少一个程序被至少一个处理器执行,使得至少一个处理器实现一种基于NodeJs的开发方法。
第四方面,本发明技术方案还提供一种存储介质,其中存储有处理器可执行的程序,处理器可执行的程序在由处理器执行时用于实现一种基于NodeJs的开发方法。
本发明的优点和有益效果将在下面的描述中部分给出,其他部分可以通过本发明的具体实施方式了解得到:
本发明技术方案提供的一种基于NodeJs的开发方法,方法通过路由的自动匹配生成路由映射,无需进行繁琐的配置,可通过轻量的约束条件简约快速地完成路由映射;通过声明式的接口进一步访问数据库,通过简约的查询指令完成数据库操作,使开发过程变得更为友好;以及通过插件库的扩展方式,减少对开发资源的占用。通过本方法进行平台开发,不仅简洁易用,开发效率高,可应对多种业务需求。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员来说,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1为本发明实施例一种基于NodeJs的开发方法的步骤流程图;
图2为本发明实施例一种基于NodeJs的开发实施例***的功能结构示意图;
图3为本发明实施例中另一种基于NodeJs的开发实施例***的功能结构示意图。
具体实施方式
下面详细描述本发明的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
参照图1,一种基于NodeJs的开发方法,包括步骤S01-S04:
S01、获取业务逻辑的任务需求;具体的,实施例中的任务需求主要包括目标活动项目中所需要调用的数据以及数据库(插件库)等。
S02、通过路由自动匹配,生成业务逻辑的路由映射;对于web应用,所有的访问都需要经过路由对请求进行映射,路由的责任是把请求URL和具体的业务逻辑建立起对应关系。在现有技术中,该步骤通常采用手动配置的方式,需要开发人员手动去指定URL和业务逻辑的对应关系,使业务开发变得繁琐;在本实施例中,通过路由自动匹配功能就能很好的解决这个问题,只需按照框架约定规范就能实现路由全自动匹配,使得开发过程简单而高效。具体的,步骤S02可进一步细分为步骤S021-S023:
S021、加载Js(代码)文件;对于待开发新应用,只需按约定在controller目录下创建Js(代码)文件编写业务逻辑;在应用启动完成后,会自动生成路由,直接提供API接口能力,整个过程不需要做任何配置。
S022、对Js(代码)文件进行增强修饰,使Js(代码)文件具有API接口功能;
S023、初始化路由组件,装载增强修饰后的Js(代码)文件进行路由映射。
具体的,步骤S022和S023是在完成了编写业务逻辑的Js(代码)文件后,在应用启动的时候会通过模块加载器把controller目录下的所有Js文件加载到平台框架中,并进行增强修饰,赋予丰富的API接口功能,随后初始化路由组件,装载业务逻辑代码进行路由映射。
S03、根据路由映射访问声明式接口;在本实施例中,其具体的方式为,根据S02步骤中,业务逻辑对应生成的Js文件路径名作为请求的URL,以业务逻辑作为具体的业务实现进行路由映射,这样应用就具备了接口访问能力。
S04、通过声明式接口访问插件库,获取业务逻辑的活动数据,插件库包括以下至少之一:车型库、城市库、经销商库以及图库。
具体的,在汽车行业日常开发中,会需要用到各个汽车模块,包括但不限于车型库、城市库以及经销商库等等。在现有技术的开发过程中,每个应用都需要重新对接这些模块,这不仅使得开发效率低下,而且还造成代码质量下降。为了解决这个问题,本技术方案提供了可配置的汽车功能模块,该功能模块以插件的形式存在,是插拔式的功能插件,开发者只需在配置文件中对插件进行引用以及配置,即可使应用具备汽车相关功能模块。例如:在配置文件中配置config.middleware.cars:true,则应用拥有了车型库的功能,只需要在业务逻辑中通过phenix.cars就能调用车型库相关的接口功能。在配置文件中配置config.middleware.geo:true,则应用就拥有了城市库的功能。
插件库中的可配置汽车功能模块实现原理是借助middleware提供的插件功能来实现可插拔式的汽车功能模块,以及各个模块都对接内部服务***,如车型库默认对接了内部的车型库***,城市库默认对接了预设的城市库***。同时这些功能模块也提供了自定义***对接,在车型库模块、城市库模块、经销商模块中都提供了接口,每个应用可以根据业务需求来决定是否实现该接口,从而获得自定义数据逻辑功能。应用只需配置开启车型库接口自定义,以及在middleware目录下添加cars.js文件实现具体的车型库数据逻辑即可。在应用启动的时候,平台框架会根据配置文件中的middleware配置情况对汽车功能模块进行装载,并初始化到平台容器中,同时middleware会对这些功能模块进行修饰以及绑定到全局变量中。准备就绪后,可以在应用任何一处通过平台全局变量来获取车型库、城市库、经销商库的能力。
此外,传统的接口逻辑实现都是直接在方法中对请求参数逐一校验,对响应内容逐一格式处理,这无疑让编程变得繁琐,对于底层数据的CRUD(增删改查)都需要重复性的开发,这造成了开发效率低下。为改进这一技术问题,实施例的步骤S04、通过声明式接口访问插件库,获取业务逻辑的活动数据这一步骤,还可以进一步细分为步骤S041-S043:
S041、获取访问的请求参数,对请求参数进行校验;具体的,对于请求参数校验,不再需要繁琐地在方法中逐一校验,只需要在方法头部指定requestParams或requestBody进行入参规则配置,即可实现参数自动校验功能。
例如:requestParams.id.type:‘number’、requestParams.id.require:true则指定了请求参数id必须传入并且类型为数字类型。requestParams.id.defaultValue:1则指定请求参数id的默认值为1。还支持其他校验规则,如:min(最小值)、max(最大值)、length:[2,5](长度范围)以及正则表达式。对于参数校验规则,在本发明的一个***实施例中,phenix框架还提供了更加简约的配置,如:requestParams.name:‘string|false|张三’指定了请求参数name的类型为字符串类型、非必须传入,以及默认值为张三。requestParams.age:“number”指定了请求参数age的类型为数字类型,并且必须传入。以上参数校验配置是针对GET请求使用。对于POST、PUT、DELETE、PATCH请求,则可以使用requestBody进行参数规则配置,配置规则同上。
S042、生成访问的响应,对访问的响应格式进行标准化处理;具体的,对于响应格式统一处理,本实施例中不再需要在业务代码中逐一处理,只需按约定的规范进行异常抛出以及正常的数据返回,就可以响应统一格式内容。本实施例中有默认的响应格式,同时也支持自定义配置响应格式,只需在response中配置具体的响应格式处理逻辑。
例如:response.success:{code:200,msg:‘’,data:{}}该配置指定了业务逻辑在处理完毕正常返回时候响应给客户端的格式为{code:200,msg:‘请求成功’,data:{user:{name:张三}}}。response.error:{code:500,msg:‘’}该配置则指定了在业务逻辑处理过程中出现问题,通过throw‘error’抛出异常后响应的内容格式。配置优化了业务逻辑的实现方式,以声明式接口定义代替了传统繁琐的请求响应实现,使开发更加快捷,代码更清晰,更有层次感。
S043、定义元数据,根据元数据生成CRUD API(操作接口);通过CRUD API进行活动数据增加、删除、修改以及查询。对于CRUD(增删改查),以声明的方式,创建controller后,在类属性声明controller的一些元数据,Phenix就在运行时自动生成对应的CRUD API,通过友好的方法就能操作底层数据,不再需要编写繁琐的sql语句。Controller元数据的定义可参照以下代码内容:
queryFields:{//查询条件字段,Object类型
fieldName:‘queryMethod(like or=)’,//字段的值为查询方法,可选值为like、=、或数组(in)
},
formFields:{//create或update操作时的数据提交表单字段定义
fieldName:{//需要更新或***的字段名
notEmpty:true,//数据校验要求,是否强制非空,默认可空,会自动执行数据校验
existsChk:true//数据对象排重要求,默认不排重,会自动检查DB数据记录重叠
},
}
popFields:[]//需要自动加载的关联对象,默认不会加载对象属性里的完整对象
baseParam:[]//其它预定义查询参数,扩展字段
从Controller元数据定义的具体内容可以明显看出:本实施例的Controller类并不需要写具体的CRUD操作函数,只需要定义好必需的元数据即可,也是因此本实施从本质上提高了开发效率。除此之外,参照表1,为本实施例的CRUD API与现有技术Restful API的对比表格:
表1
S05、根据活动数据,生成业务逻辑的活动方案。
参照图2,为本发明的基于NodeJs的开发的***实施例,包括:核心库、活动业务逻辑模块、以及插件库;
其中,核心库还包括自动路由模块,用于通过路由自动匹配,生成业务逻辑的路由映射;
声明式接口模块,用于提供声明式接口,并由声明式接口执行业务逻辑;
活动业务逻辑模块,用于获取业务逻辑的任务需求,并根据路由映射以及声明式接口,访问插件库,并生成业务逻辑的活动方案;
插件库,用于提供业务逻辑的任务需求数据。插件库包括以下至少之一:车型库、城市库、经销商库以及图库。
具体的,本发明技术方案提供了一种可广泛应用于汽车行业的NodeJs开发***的实施例:Phenix快速开发框架;通过Phenix框架提供的脚手架进行项目基础架构构建,基础框架会引入phenix相关核心库并提供框架特性;开发者经活动业务逻辑模块输入目标项目或活动(业务逻辑)的插件库调用需求,Phenix核心库里面的自动路由模块完成该业务逻辑的路由自动映射,过程中对开发者是无感的;按框架约定的规则在controller文件下编写逻辑代码即可,此时启动应用后就可以通过controller中的路径去访问业务接口,业务接口即为声明式接口模块生成的用于执行该业务逻辑(程序)的声明式接口。比如:需要提供一个获取活动详情的接口,只需在controller下新建一个detail.js,并在代码中返回活动内容即可,应用启动后客户端可直接通过域名+/detail访问到该接口。整个过程没有繁琐的配置操作,简洁快速。
当需要从数据库中查询活动数据时,需要用到phenix框架中的声明式接口功能。比如:开发者在detail.js中声明了实体元数据Activity,然后只需在fn的代码中使用Activity.findById(1)即可查询活动id为1的活动信息,返回给客户端。整个过程无需编写繁琐的sql语句以及查询内容解析,如:select*from activity where id=1。使用声明式接口可以使用简约的CRUD去操作数据库,使开发过程变得更为友好。
此外,对于诸多的业务逻辑,均可能用到车型库、城市库等插件数据库,在Phenix框架中的插件库与各个服务接口进行了对接并做好了容错机制,开发者无需理会具体的对接流程,只需在业务逻辑代码中引入需要的插件库即可。例如:需要查询用户选择的车型对应价格,那么需要服务端提供根据传入车型id查询车型信息以及相应报价。开发者只需要在配置文件中配置车型库和报价库的插件config.middleware.cars:true和config.middleware.prices:true,然后在接口逻辑代码中通过phenix.cras.findById(1)查出车型信息和通过phenix.prices.findByCarId(1)查询出车型对应的报价信息,把两个信息封装处理后直接返回给用户。整个过程不需要先去对接车型库服务端接口拿到车型数据后,再去对接报价库服务接口获取价格信息,然后返回给用户。通过简短的代码,以及调用Phenix插件提供的方法就能快速完成功能开发,提升了开发过程的效率。
Phenix框架从多个方面提供了自动化功能,并对常用的汽车功能模块进行了封装,极大程度的简化了开发流程和开发方式。使用Phenix框架进行开发,使开发变得更快速更便捷,并且能够很好的应对大量的活动需求,提高了整体效率。
参照图3,本发明实施例提供了另一种基于NodeJs的开发的***实施例,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当至少一个程序被至少一个处理器执行时,使得至少一个处理器实现一种基于NodeJs的开发方法。
本发明实施例还提供了一种存储介质,其中存储有处理器可执行的程序,该处理器可执行的程序在由处理器执行时用于实现实施例中基于NodeJs的开发方法。
上述实施例的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行***、装置或设备(如基于计算机的***、包括处理器的***或其他可以从指令执行***、装置或设备取指令并执行指令的***)使用,或结合这些指令执行***、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行***、装置或设备或结合这些指令执行***、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在计算机存储器中。
并从上述具体的实施过程,可以总结出,本发明所提供的技术方案相较于现有技术存在以下优点或优势:
1.本发明的技术方案的方法通过路由的自动匹配生成路由映射,无需进行繁琐的配置,可通过轻量的约束条件简约快速地完成路由映射;
2.本发明的技术方案的方法通过声明式的接口进一步访问数据库,通过简约的查询指令完成数据库操作,使开发过程变得更为友好;
3.本发明的技术方案通过容错机制对接插件库,通过简短的代码即可完成调用,提高了开发过程的效率;
4.本发明实施例提供的基于NodeJs的开发方法,抽象基本业务逻辑的实现到框架中,把开发焦点由业务逻辑的实现转变成定义,从而使开发者更接近市场与用户,以实现业务的快速扩张。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

Claims (8)

1.一种基于NodeJs的开发方法,其特征在于,包括以下步骤:
获取业务逻辑的任务需求;
通过路由自动匹配,生成所述业务逻辑的路由映射;
根据所述路由映射访问声明式接口;
通过所述声明式接口执行所述业务逻辑,并根据所述业务逻辑的任务需求访问插件库,获取所述业务逻辑的活动数据,所述插件库包括以下至少之一:车型库、城市库、经销商库以及图库;其中,所述通过所述声明式接口执行所述业务逻辑,并根据所述业务逻辑的任务需求访问插件库,获取所述业务逻辑的活动数据这一步骤,其具体包括:获取所述访问的请求参数,对所述请求参数进行校验;生成所述访问的响应,对访问的响应格式进行标准化处理;
所述通过所述声明式接口执行所述业务逻辑,并根据所述业务逻辑的任务需求访问插件库,获取所述业务逻辑的活动数据这一步骤,具体还包括:定义元数据,根据所述元数据生成操作接口;所述元数据的内容包括以下至少之一:查询条件字段、查询方法、数据提交表单字段定义、字段名、数据检验要求、数据对象排重要求、关联对象以及扩展字段;通过所述操作接口进行活动数据的增加、删除、修改以及查询操作;
根据所述活动数据,生成所述业务逻辑的活动方案。
2.根据权利要求1所述的一种基于NodeJs的开发方法,其特征在于,所述通过路由自动匹配,生成所述业务逻辑的路由映射这一步骤,其具体包括:
加载Js文件;
对所述Js文件进行增强修饰,使所述Js文件具有接口功能;
初始化路由组件,装载增强修饰后的Js文件进行路由映射。
3.根据权利要求1所述的一种基于NodeJs的开发方法,其特征在于,所述根据所述路由映射访问声明式接口这一步骤,其具体包括:
将Js文件的路径名作为URL,结合所述业务逻辑通过所述路由映射,访问所述声明式接口。
4.根据权利要求1所述的一种基于NodeJs的开发方法,其特征在于,所述获取所述访问的请求参数,对所述请求参数进行校验这一步骤中,所述校验的规则包括以下至少之一:默认值、最大值、最小值、长度范围或正则表达式。
5.根据权利要求1所述的一种基于NodeJs的开发方法,其特征在于,所述生成所述访问的响应,对访问的响应格式进行标准化处理这一步骤,其具体包括:
根据预设的响应格式,进行异常抛出或正常数据返回。
6.一种基于NodeJs的开发***,所述开发***实现如权利要求1所述的开发方法,其特征在于,包括:核心库、活动业务逻辑模块、以及插件库;
所述核心库包括:
自动路由模块,用于通过路由自动匹配,生成业务逻辑的路由映射;
声明式接口模块,用于提供声明式接口,并由所述声明式接口执行业务逻辑;
活动业务逻辑模块,用于获取业务逻辑的任务需求,并根据路由映射以及声明式接口,访问所述插件库,并生成所述业务逻辑的活动方案;
插件库,用于提供业务逻辑的任务需求数据;所述插件库包括以下至少之一:车型库、城市库、经销商库以及图库。
7.一种基于NodeJs的开发***,其特征在于,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-5中任一项所述的一种基于NodeJs的开发方法。
8.一种存储介质,其中存储有处理器可执行的程序,其特征在于:所述处理器可执行的程序在由处理器执行时用于实现如权利要求1-5中任一项所述的一种基于NodeJs的开发方法。
CN202010428643.1A 2020-05-20 2020-05-20 一种基于NodeJs的开发方法、***及存储介质 Active CN111708523B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010428643.1A CN111708523B (zh) 2020-05-20 2020-05-20 一种基于NodeJs的开发方法、***及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010428643.1A CN111708523B (zh) 2020-05-20 2020-05-20 一种基于NodeJs的开发方法、***及存储介质

Publications (2)

Publication Number Publication Date
CN111708523A CN111708523A (zh) 2020-09-25
CN111708523B true CN111708523B (zh) 2023-10-13

Family

ID=72537532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010428643.1A Active CN111708523B (zh) 2020-05-20 2020-05-20 一种基于NodeJs的开发方法、***及存储介质

Country Status (1)

Country Link
CN (1) CN111708523B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113282347B (zh) * 2021-05-24 2023-04-07 挂号网(杭州)科技有限公司 插件运行方法、装置、设备及存储介质
CN114706918B (zh) * 2022-06-01 2022-09-16 杭州安恒信息技术股份有限公司 一种多类型数据库兼容方法、装置、设备、存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030027320A (ko) * 2001-09-28 2003-04-07 주식회사 케이티 기업 데이터 시스템들에 대한 객체 지향형 메타 데이터저장소 구축 방법
CN101150419A (zh) * 2007-11-12 2008-03-26 中国电信股份有限公司 一种新一代呼叫中心***及自动业务实现方法
CN102520963A (zh) * 2011-12-26 2012-06-27 重庆新媒农信科技有限公司 基于强类型关系映射实现业务逻辑处理的方法及***
CN202711251U (zh) * 2012-08-09 2013-01-30 北京南天软件有限公司 一种支撑银行应用的云数据服务体系平台
CN104113480A (zh) * 2013-04-19 2014-10-22 成都赛恩泰科技有限公司 一种基于约束路由的绿色虚拟拓扑设计方法
CN106789659A (zh) * 2016-12-19 2017-05-31 北京五八信息技术有限公司 业务功能的路由方法和装置
CN107153701A (zh) * 2017-05-10 2017-09-12 焦点科技股份有限公司 一种基于元数据的it***管理及监控管理方法
CN109614247A (zh) * 2018-11-20 2019-04-12 广东工业大学 一种声明式远程服务调用***及其执行方法
CN109739573A (zh) * 2018-12-27 2019-05-10 深圳市多度科技有限公司 实现api接口调用的处理方法及装置、实现api接口的***
CN110515905A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种路由的配置的方法、装置以及服务器

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9176742B2 (en) * 2010-12-27 2015-11-03 Microsoft Technology Licensing, Llc Converting desktop applications to web applications
US9838477B2 (en) * 2014-10-30 2017-12-05 Netapp, Inc. Techniques for storing and distributing metadata among nodes in a storage cluster system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030027320A (ko) * 2001-09-28 2003-04-07 주식회사 케이티 기업 데이터 시스템들에 대한 객체 지향형 메타 데이터저장소 구축 방법
CN101150419A (zh) * 2007-11-12 2008-03-26 中国电信股份有限公司 一种新一代呼叫中心***及自动业务实现方法
CN102520963A (zh) * 2011-12-26 2012-06-27 重庆新媒农信科技有限公司 基于强类型关系映射实现业务逻辑处理的方法及***
CN202711251U (zh) * 2012-08-09 2013-01-30 北京南天软件有限公司 一种支撑银行应用的云数据服务体系平台
CN104113480A (zh) * 2013-04-19 2014-10-22 成都赛恩泰科技有限公司 一种基于约束路由的绿色虚拟拓扑设计方法
CN106789659A (zh) * 2016-12-19 2017-05-31 北京五八信息技术有限公司 业务功能的路由方法和装置
CN107153701A (zh) * 2017-05-10 2017-09-12 焦点科技股份有限公司 一种基于元数据的it***管理及监控管理方法
CN109614247A (zh) * 2018-11-20 2019-04-12 广东工业大学 一种声明式远程服务调用***及其执行方法
CN109739573A (zh) * 2018-12-27 2019-05-10 深圳市多度科技有限公司 实现api接口调用的处理方法及装置、实现api接口的***
CN110515905A (zh) * 2019-08-28 2019-11-29 腾讯科技(深圳)有限公司 一种路由的配置的方法、装置以及服务器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种SDN Intent NBI的意图一致性问题解决方法;李宇衡;刘晓洁;;网络安全技术与应用(第04期);全文 *

Also Published As

Publication number Publication date
CN111708523A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
US9122669B2 (en) Flat schema integrated document oriented templates
US8806357B2 (en) Plug-ins for editing templates in a business management system
CN111708523B (zh) 一种基于NodeJs的开发方法、***及存储介质
US20100057760A1 (en) Generic data retrieval
KR20080096758A (ko) 디지털 게임 컨텐츠 관계 정보 관리 방법 및 시스템, 및기억 매체
CN110032568B (zh) 数据结构的读取及更新方法、装置、电子设备
CN110795140A (zh) 一种配置文件生成方法及装置
US11762760B1 (en) Scalable test workflow service
CN115857898B (zh) 一种应用***构建和运行方法及装置
US11977473B2 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
US20120324034A1 (en) Providing access to shared state data
CN116126297A (zh) 一种多类型数据库配置代码生成方法、装置及电子设备
US11153388B2 (en) Workflow engine framework for cross-domain extension
CN112347794A (zh) 数据翻译方法、装置、设备及计算机存储介质
CN117234466B (zh) 企业管理软件开发方法、***、设备及存储介质
CN112347160B (zh) 一种基于呼叫中心***的工单管理方法、***及存储介质
US8533220B2 (en) Retrieving data in batches from a line of business system
CN118132119B (zh) 代码更新方法与装置、电子设备及存储介质
CN117421252B (zh) 代码检测方法、装置及计算机可读存储介质
CN114328965A (zh) 知识图谱更新方法、装置及计算机设备
CN116304463A (zh) 一种前端开发中的网页文案管理方法、装置、设备和介质
CN117785143A (zh) 低代码开发方法、装置、存储介质及服务器
CN115878277A (zh) 兼容多业务***的服务调用方法、装置及介质
Badhan et al. Analysis of Feature Tree using Miranda
CN115757584A (zh) 一种基于查询接口的***接入方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant