一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

程序生成方法、装置、设备及存储介质与流程

2022-02-20 14:16:22 来源:中国专利 TAG:


1.本发明涉及web开发技术领域,尤其涉及一种程序生成方法、装置、设备及存储介质。


背景技术:

2.目前可以通过微信小程序的开放平台或者华为快服务智慧平台进行小程序开发,但是微信小程序基于微信客户端,华为快服务基于华为手机操作系统,两者均不是web端产品无法进行web开发。现有的开放平台也没有使用浏览器支持的html开发语言和css开发语言,开发者在使用时需要重新学习新语法,同时现有的开放平台只支持搜索,不提供基于用户的算法个性化推荐。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供一种程序生成方法、装置、设备及存储介质,旨在解决现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
5.为实现上述目的,本发明提供一种程序生成方法,所述程序生成方法包括以下步骤:
6.在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;
7.根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;
8.在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;
9.在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
10.可选地,所述在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识的步骤之后,还包括:
11.根据所述开发项目标识获取对应的开发工具数据包;
12.对所述开发工具数据包进行解析,获得预设开发工具。
13.可选地,所述根据所述开发项目标识通过预设开发工具生成待开发程序模板的步骤,具体包括:
14.根据所述开发项目标识确定目标开发语言;
15.根据所述目标开发语言从所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;
16.根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
17.可选地,所述在接收到程序调整指令时,根据所述程序调整指令对所述待开发程
序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:
18.在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;
19.判断所述代码调整信息是否符合开发约束条件;
20.在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
21.可选地,所述根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:
22.根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;
23.对所述测试程序模板进行测试,获得测试结果;
24.在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;
25.根据预览结果生成调整后的待开发程序模板。
26.可选地,所述根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板的步骤,具体包括:
27.根据开发约束条件对所述待开发程序模板进行调整,生成测试程序模板;
28.将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。
29.可选地,所述对所述测试程序模板进行测试,获得测试结果的步骤,具体包括:
30.将所述测试程序模板发送至代码测试服务器,以使所述代码测试服务器对所述测试程序模板进行测试,并反馈用于表征测试结果存储区域的测试地址;
31.接收所述代码测试服务器反馈的测试地址,并根据所述测试地址获得测试结果。
32.可选地,所述在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果的步骤,具体包括:
33.在所述测试结果为测试通过时,将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译;
34.接收所述代码编译服务器反馈的编译后的预览程序模板;
35.将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览;
36.接收所述代码托管服务器反馈的编译代码标识;
37.根据所述编译代码标识生成预览地址,并通过所述预览地址获得预览结果。
38.可选地,所述将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译的步骤,具体包括:
39.将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器获取所述预览程序模板对应的预览代码数据;
40.接收所述代码编译服务器对所述预览代码数据进行编译后反馈的编译后的预览代码数据;
41.将所述编译后的预览代码数据作为编译后的预览程序模板。
42.可选地,所述将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览的步骤,具体包括:
43.将所述编译后的预览代码数据包上传至代码托管服务器,接收所述代码托管服务
器反馈的上传结果;
44.在所述上传结果为上传成功时,接收所述代码托管服务器反馈的编译代码标识。
45.可选地,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤,具体包括:
46.在接收到程序生成指令时,根据所述调整后的待开发程序模板生成待发布程序模板;
47.将所述待发布程序模板发送至代码编译服务器,以使所述代码编译服务器对所述待发布程序模板进行编译;
48.接收所述代码编译服务器反馈的编译后的待发布程序模板;
49.将所述编译后的待发布程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的待发布程序模板进行发布预览;
50.接收所述代码托管服务器反馈的待发布代码标识,并根据所述待发布代码标识生成待发布地址;
51.通过所述待发布地址获得对应的目标程序。
52.可选地,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤之后,还包括:
53.将所述目标程序发送至程序审核服务器,以使所述程序审核服务器对所述目标程序进行审核;
54.接收所述程序审核服务器反馈的审核结果;
55.根据所述审核结果确定所述目标程序是否上线运行。
56.此外,为实现上述目的,本发明还提出一种程序生成装置,所述程序生成装置包括:
57.提取模块,用于在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;
58.模板生成模块,用于根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;
59.调整模块,用于在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;
60.目标生成模块,用于在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
61.可选地,所述提取模块,还用于根据所述开发项目标识获取对应的开发工具数据包;
62.所述提取模块,还用于对所述开发工具数据包进行解析,获得预设开发工具。
63.可选地,所述模板生成模块,还用于根据所述开发项目标识确定目标开发语言;
64.所述模板生成模块,还用于根据所述目标开发语言从所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;
65.所述模板生成模块,还用于根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
66.可选地,所述调整模块,还用于在接收到程序调整指令时,确定所述程序调整指令
对应的代码调整信息;
67.所述调整模块,还用于判断所述代码调整信息是否符合开发约束条件;
68.所述调整模块,还用于在所述代码调整信息符合开发约束条件时,根据开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
69.可选地,所述调整模块,还用于根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;
70.所述调整模块,还用于对所述测试程序模板进行测试,获得测试结果;
71.所述调整模块,还用于在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;
72.所述调整模块,还用于根据预览结果生成调整后的待开发程序模板。
73.可选地,所述调整模块,还用于根据开发约束条件对所述待开发程序模板进行调整,生成测试程序模板;
74.所述调整模块,还用于将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。
75.此外,为实现上述目的,本发明还提出一种程序生成设备,所述程序生成设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序生成程序,所述程序生成程序配置为实现如上文所述的程序生成方法的步骤。
76.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有程序生成程序,所述程序生成程序被处理器执行时实现如上文所述的程序生成方法的步骤。
77.本发明中,在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。通过上述方式,根据开发者的程序开发请求生成支持浏览器语言代码的待开发程序模板,便于开发者对待开发程序模板进行调整,实现对开发者提供程序接入和功能开放等功能,大大提高了web端产品的开发效率和定制化能力,解决了现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
附图说明
78.图1是本发明实施例方案涉及的硬件运行环境的程序生成设备的结构示意图;
79.图2为本发明程序生成方法第一实施例的流程示意图;
80.图3为本发明程序生成方法第二实施例的流程示意图;
81.图4为本发明程序生成方法第三实施例的流程示意图;
82.图5为本实施例中测试程序模板示意图;
83.图6为本实施例中预览程序模板示意图;
84.图7为本发明程序生成装置第一实施例的结构框图。
85.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
86.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
87.参照图1,图1为本发明实施例方案涉及的硬件运行环境的程序生成设备结构示意图。
88.如图1所示,该程序生成设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display),可选用户接口1003还可以包括标准的有线接口、无线接口,对于用户接口1003的有线接口在本发明中可为usb接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram)存储器,也可以是稳定的存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
89.本领域技术人员可以理解,图1中示出的结构并不构成对程序生成设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
90.如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及程序生成程序。
91.在图1所示的程序生成设备中,网络接口1004主要用于连接后台服务器,与所述后台服务器进行数据通信;用户接口1003主要用于连接用户设备;所述程序生成设备通过处理器1001调用存储器1005中存储的程序生成程序,并执行本发明实施例提供的程序生成方法。
92.基于上述硬件结构,提出本发明程序生成方法的实施例。
93.参照图2,图2为本发明程序生成方法第一实施例的流程示意图,提出本发明程序生成方法第一实施例。
94.在第一实施例中,所述程序生成方法包括以下步骤:
95.步骤s10:在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识。
96.需要说明的是,本实施例的执行主体是所述程序生成设备上的小程序开放平台,所述程序生成设备可以是个人计算机或服务器等电子设备,本实施例对此不加以限制。小程序开放平台在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识。小程序开放平台在接收到程序开发请求之前,开发者首先可以在小程序开放平台注册账号,成为注册开发者,注册开发者可以在开放平台操作创建小程序(本实施例中可以称为cube)。
97.具体地,开发者需要在小程序开放平台注册账号,成为注册开发者。注册开发者需要输入小程序产品名称、小程序分类以及小程序相关信息等内容,根据上述小程序产品名称、小程序分类以及小程序相关信息等内容,小程序开放平台为注册开发者创建cube id,该cube id可以为开发项目标识,在接收到注册开发者的程序开发请求时,小程序开放平台从所述程序开发请求中提取开发项目标识,识别注册开发者身份。
98.步骤s20:根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码。
99.易于理解的是,所述在接收到程序开发请求时,从所述程序开发请求中提取开发
项目标识的步骤之后,还可以包括:根据所述开发项目标识获取对应的开发工具数据包;对所述开发工具数据包进行解析,获得预设开发工具。例如,小程序开放平台从所述程序开发请求中提取开发项目标识,识别注册开发者身份,获取对应的开发工具数据包,对所述开发工具数据包进行解析,获得预设开发工具,该预设开发工具可以支持window、mac、linux操作系统,该预设开发工具可以包括命令行工具和图形界面应用程序两种类型可选,当然,该预设开发工具还可以采用上述两种类型来组合实现。此外,该预设开发工具还可以根据实际情况设计为其他类型,本实施例对此不加以限制。
100.具体地,根据所述开发项目标识通过预设开发工具生成待开发程序模板,例如,注册开发者通过获得的cube id,根据所述开发项目标识通过预设开发工具生成待开发程序模板,即可以根据cube id通过预设开发工具创建空项目,其中,该空项目的初始目录结构可以包括:cube.json、api.json以及src/,其中,cube.json为cube配置信息,json格式文件;api.json为cube网络数据接口配置,json格式文件;src/为cube应用资源目录,注册开发者开发的cube代码等资源可以放在该目录下。注册开发者根据所述开发项目标识通过预设开发工具生成待开发程序模板,此外,注册开发者也可以使用自定义模版,本实施例对此不加以限制。
101.应当理解的是,所述根据所述开发项目标识通过预设开发工具生成待开发程序模板的步骤,可以包括:根据所述开发项目标识确定目标开发语言;根据所述目标开发语言从所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
102.具体地,src/下还可以包括src/cube.tpl、src/cube.css、src/cube.js、以及src/assets,src/assets下还可以包括src/assets/launchimg.png;其中,src/cube.tpl为cube前端html模板;src/cube.css为cube前端css样式;src/cube.js为cube前端脚本,提供开放的javascript;src/assets为图片等静态资源目录;src/assets/launchimg.png为cube启动图,会作为前端接口请求等待阶段的占位图。例如,根据所述开发项目标识确定目标开发语言为html开发语言;根据html开发语言从所述预设开发工具的浏览器语言代码模板库中获取cube前端html模板;根据cube前端html模板以及所述开发项目标识生成待开发程序模板。
103.步骤s30:在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
104.需要说明的是,所述在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;判断所述代码调整信息是否符合开发约束条件;在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
105.具体地,注册开发者进行cube开发调试,开发过程中要遵循开发文档约定的约束条件,根据开发文档约定的约束条件生成开发约束条件,在接收到程序调整指令时,确定注册开发者输入的程序调整指令对应的代码调整信息;判断所述代码调整信息是否符合开发约束条件,例如,网页编程采用的是html css javascript这样的组合,其中html是用来描述当前这个页面的结构,css用来描述页面的样子,javascript通常是用来处理这个页面和
用户的交互。同理,在本实施例cube中也有同样的角色,其中tpl充当的就是类似html的角色。打开src/cube.tpl,tpl和html非常相似,tpl由标签、属性等构成。但是也有不一样的地方:在网页的一般开发流程中,通常会通过javascript操作dom(对应html的描述产生的树),以引起界面的一些变化响应用户的行为。例如,当用户点击某个按钮的时候,javascript会记录一些状态到javascript变量里,同时通过domapi操控dom的属性或者行为,进而引起界面变化。但是当运行项目越来越大的时候,代码中会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此提出mvvm的开发模式(例如react,vue.js),提倡把渲染和逻辑分离。也就是说,本实施例中javascript不再直接操控dom,javascript只需要管理状态即可,再通过一种模板语法来描述状态和界面结构的关系即可。
106.步骤s40:在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
107.易于理解的是,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤,可以包括:在接收到程序生成指令时,根据所述调整后的待开发程序模板生成待发布程序模板;将所述待发布程序模板发送至所述代码编译服务器,以使所述代码编译服务器对所述待发布程序模板进行编译;接收所述代码编译服务器反馈的编译后的待发布程序模板;将所述编译后的待发布程序模板发送至所述代码托管服务器,以使所述代码托管服务器对所述编译后的待发布程序模板进行发布预览;接收所述代码托管服务器反馈的待发布代码标识,并根据所述待发布代码标识生成待发布地址;通过所述待发布地址获得对应的目标程序。
108.具体地,在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,其中对所述待开发程序模板进行调整包括测试部分和预览部分,获得调整后的待开发程序模板,即测试部分和预览部分完成后,注册开发者可以准备发布正式程序模板,根据所述调整后的待开发程序模板生成待发布程序模板,待发布程序模板的部分流程可以与预览部分一致,待发布程序模板的后半部分流程增加了提审环节。
109.需要说明的是,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤之后,还包括:将所述目标程序发送至程序审核服务器,以使所述程序审核服务器对所述目标程序进行审核;接收所述程序审核服务器反馈的审核结果;根据所述审核结果确定所述目标程序是否上线运行。例如,注册开发者可以在cube开放平台进行提审,将所述目标程序发送至程序审核服务器即cube审核后台,等待各环节审核,cube审核后台可以进行技术审核、设计审核以及运营审核。如果审核通过,注册开发者可在cube开放平台操作所述目标程序上线运行。如果审核不通过,注册开发者需要根据拒绝原因作出调整,重新对所述待开发程序模板进行调整。
110.本实施例通过在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。通过上述方式,根据开发者的程序开发请求生成支持浏览器语言代码的待开发程序模板,便于开发者对待开发程序模板进行调整,实现
对开发者提供程序接入和功能开放等功能,大大提高了web端产品的开发效率和定制化能力,解决了现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
111.参照图3,图3为本发明程序生成方法第二实施例的流程示意图,基于上述图2所示的第一实施例,提出本发明程序生成方法的第二实施例。
112.在第二实施例中,所述步骤s30,包括:
113.步骤s301:在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息。
114.需要说明的是,注册开发者进行cube开发调试,开发过程中要遵循开发文档约定的约束条件,根据开发文档约定的约束条件生成开发约束条件,在接收到程序调整指令时,确定注册开发者输入的程序调整指令对应的代码调整信息。
115.步骤s302:判断所述代码调整信息是否符合开发约束条件。
116.易于理解的是,判断所述代码调整信息是否符合开发约束条件,例如,网页编程采用的是html css javascript这样的组合,其中html是用来描述当前这个页面的结构,css用来描述页面的样子,javascript通常是用来处理这个页面和用户的交互。注册开发者可以在开放平台操作创建小程序(本实施例中可以称为cube),同理,在本实施例cube中也有同样的角色,其中tpl充当的就是类似html的角色。打开src/cube.tpl,tpl和html非常相似,tpl由标签、属性等构成。但是也有不一样的地方:在网页的一般开发流程中,通常会通过javascript操作dom(对应html的描述产生的树),以引起界面的一些变化响应用户的行为。例如,当用户点击某个按钮的时候,javascript会记录一些状态到javascript变量里,同时通过domapi操控dom的属性或者行为,进而引起界面变化。但是当运行项目越来越大的时候,代码中会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此提出mvvm的开发模式(例如react,vue.js),提倡把渲染和逻辑分离。也就是说,本实施例中javascript不再直接操控dom,javascript只需要管理状态即可,再通过一种模板语法来描述状态和界面结构的关系即可。
117.需要说明的是,本实施例中cube的框架基于上述思路,例如需要把一个“hello world”的字符串显示在界面上。tpl可以这么写:《p》{{msg}}《/p》,其中,javascript只需要管理状态即可:this.setdata({msg:"hello world"});通过{{}}的语法把一个变量绑定到界面上,称为数据绑定。仅仅通过数据绑定还不够完整的描述状态和界面的关系,还需要if/else,for等控制能力。
118.css用来描述页面的样子,css样式可使用css全部语法。由于所有cube运行在同一个网页中,所以会给不同的cube分配不同的css命名空间,默认样式会受到网站导航默认样式的影响。
119.javascript通常是用来处理这个页面和用户的交互,javascript逻辑交互:一个服务仅仅只有界面展示是不够的,还需要和用户做交互:响应用户的点击、获取用户的位置等。在本实施例的cube里边,可以通过编写javascript脚本文件来处理用户的操作。例如:《p》{{msg}}《/p》;《button on-click={{this.clickme()}}》点击我《/button》;当点击button按钮的时候,把界面上msg显示成“hello world”,在button上声明一个属性on-click,在javascript文件里声明了clickme来响应这次点击操作clickme(){;this.setdate({msg:"hello world"});};因此可以响应用户的操作。此外,还可以在
javascript中调用cube提供的丰富的api,本实施例对此不加以限制。
120.步骤s303:在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
121.需要说明的是,所述根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,可以包括:根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;对所述测试程序模板进行测试,获得测试结果;在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;根据预览结果生成调整后的待开发程序模板。
122.具体地,根据开发约束条件对所述待开发程序模板进行调整,生成测试程序模板;将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。例如,目标网页产品模板为最终web端产品,预览程序模板会把测试程序模板的cube集成到最终web端产品中,测试程序模板不集成。
123.本实施例通过在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;判断所述代码调整信息是否符合开发约束条件;在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。通过上述方式,根据开发者的程序开发请求生成支持浏览器语言代码的待开发程序模板,便于开发者对待开发程序模板进行调整,实现对开发者提供程序接入和功能开放等功能,大大提高了web端产品的开发效率和定制化能力,解决了现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
124.参照图4,图4为本发明程序生成方法第三实施例的流程示意图,基于上述图2所示的第一实施例以及上述图3所示的第二实施例,提出本发明程序生成方法的第三实施例。本实施例基于第二实施例进行说明。
125.在第三实施例中,所述步骤s303,具体包括:
126.步骤s3031:在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板。
127.需要说明的是,所述根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板的步骤,可以包括:根据开发约束条件对所述待开发程序模板进行调整,生成测试程序模板;将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。例如,参照图5,图5为本实施例中测试程序模板示意图,测试程序模板不集成。目标网页产品模板为最终web端产品,参照图6,图6为本实施例中预览程序模板示意图,预览程序模板会把测试程序模板的cube集成到最终web端产品中。
128.步骤s3032:对所述测试程序模板进行测试,获得测试结果。
129.易于理解的是,所述对所述测试程序模板进行测试,获得测试结果的步骤,可以包括:将所述测试程序模板发送至代码测试服务器,以使所述代码测试服务器对所述测试程序模板进行测试,并反馈用于表征测试结果存储区域的测试地址;接收所述代码测试服务器反馈的测试地址,并根据所述测试地址获得测试结果。
130.具体地,通过所述代码测试服务器获取所述测试程序模板的测试代码数据包;代码测试服务器对测试代码数据包进行解析,获得解析后的测试代码数据;通过所述代码测试服务器运行所述解析后的测试代码数据,生成测试地址。注册开发者对所述测试程序模
板进行测试即进行cube开发调试,注册开发者在开发过程中可随时发版进行测试,发版可以分为测试程序模板和预览程序模板两种。其中,测试程序模板会将代码打包发送到代码测试服务器,代码测试服务器解压后直接运行代码,即时生成在线测试版地址,将所述在线测试版地址作为所述代码测试服务器反馈的测试地址,接收所述代码测试服务器反馈的测试地址,并根据所述测试地址获得测试结果。
131.步骤s3033:在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果。
132.需要说明的是,所述在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果的步骤,可以包括:在所述测试结果为测试通过时,将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译;接收所述代码编译服务器反馈的编译后的预览程序模板;将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览;接收所述代码托管服务器反馈的编译代码标识;根据所述编译代码标识生成预览地址,并通过所述预览地址获得预览结果。
133.易于理解的是,所述将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译的步骤,可以包括:将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器获取所述预览程序模板对应的预览代码数据;接收所述代码编译服务器对所述预览代码数据进行编译后反馈的编译后的预览代码数据;将所述编译后的预览代码数据作为编译后的预览程序模板。具体地,通过所述代码编译服务器获取所述预览程序模板的预览代码数据包;代码编译服务器对预览代码数据包进行编译,获得编译后的预览代码数据包;将所述编译后的预览代码数据包作为编译后的预览程序模板。
134.应当理解的是,所述将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览的步骤,具体包括:将所述编译后的预览代码数据包上传至代码托管服务器,接收所述代码托管服务器反馈的上传结果;在所述上传结果为上传成功时,接收所述代码托管服务器反馈的编译代码标识。
135.具体地,将预览程序模板的预览代码打包发送到代码编译服务器,将预览代码进行编译压缩后,上传至代码托管服务器,上传成功后会返回代码id即编译代码标识,开发者工具通过编译代码标识即时生成在线预览版地址,将在线预览版地址作为预览地址。
136.步骤s3034:根据预览结果生成调整后的待开发程序模板。
137.需要说明的是,将预览程序模板的预览代码打包发送到代码编译服务器,将预览代码进行编译压缩后,上传至代码托管服务器,上传成功后会返回代码id即编译代码标识,开发者工具通过编译代码标识即时生成在线预览版地址,将在线预览版地址作为预览地址,并通过所述预览地址获得预览结果。
138.在本实施例中,根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;对所述测试程序模板进行测试,获得测试结果;在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;根据预览结果生成调整后的待开发程序模板。通过上述方式,根据开发者的程序开发请求生成支持浏览器语言代码的待开发程序模板,便于开发者对待开发程序模板进行调整,实现对开发者提供程序接入
和功能开放等功能,大大提高了web端产品的开发效率和定制化能力,解决了现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
139.此外,本发明实施例还提出一种存储介质,所述存储介质上存储有程序生成程序,所述程序生成程序被处理器执行时实现如上文所述的程序生成方法的步骤。
140.由于本存储介质采用了上述所有实施例的全部技术方案,因此至少具有上述实施例的技术方案所带来的所有有益效果,在此不再一一赘述。
141.此外,参照图7,本发明实施例还提出一种程序生成装置,所述程序生成装置包括:
142.提取模块10,用于在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识。
143.需要说明的是,本实施例的执行主体是所述程序生成设备上的小程序开放平台,所述程序生成设备可以是个人计算机或服务器等电子设备,本实施例对此不加以限制。小程序开放平台在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识。小程序开放平台在接收到程序开发请求之前,开发者首先可以在小程序开放平台注册账号,成为注册开发者,注册开发者可以在开放平台操作创建小程序(本实施例中可以称为cube)。
144.具体地,开发者需要在小程序开放平台注册账号,成为注册开发者。注册开发者需要输入小程序产品名称、小程序分类以及小程序相关信息等内容,根据上述小程序产品名称、小程序分类以及小程序相关信息等内容,小程序开放平台为注册开发者创建cube id,该cube id可以为开发项目标识,在接收到注册开发者的程序开发请求时,小程序开放平台从所述程序开发请求中提取开发项目标识,识别注册开发者身份。
145.模板生成模块20,用于根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码。
146.易于理解的是,所述在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识的步骤之后,还可以包括:根据所述开发项目标识获取对应的开发工具数据包;对所述开发工具数据包进行解析,获得预设开发工具。例如,小程序开放平台从所述程序开发请求中提取开发项目标识,识别注册开发者身份,获取对应的开发工具数据包,对所述开发工具数据包进行解析,获得预设开发工具,该预设开发工具可以支持window、mac、linux操作系统,该预设开发工具可以包括命令行工具和图形界面应用程序两种类型可选,当然,该预设开发工具还可以采用上述两种类型来组合实现。此外,该预设开发工具还可以根据实际情况设计为其他类型,本实施例对此不加以限制。
147.具体地,根据所述开发项目标识通过预设开发工具生成待开发程序模板,例如,注册开发者通过获得的cube id,根据所述开发项目标识通过预设开发工具生成待开发程序模板,即可以根据cube id通过预设开发工具创建空项目,其中,该空项目的初始目录结构可以包括:cube.json、api.json以及src/,其中,cube.json为cube配置信息,json格式文件;api.json为cube网络数据接口配置,json格式文件;src/为cube应用资源目录,注册开发者开发的cube代码等资源可以放在该目录下。注册开发者根据所述开发项目标识通过预设开发工具生成待开发程序模板,此外,注册开发者也可以使用自定义模版,本实施例对此不加以限制。
148.应当理解的是,所述根据所述开发项目标识通过预设开发工具生成待开发程序模板的步骤,可以包括:根据所述开发项目标识确定目标开发语言;根据所述目标开发语言从
所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
149.具体地,src/下还可以包括src/cube.tpl、src/cube.css、src/cube.js、以及src/assets,src/assets下还可以包括src/assets/launchimg.png;其中,src/cube.tpl为cube前端html模板;src/cube.css为cube前端css样式;src/cube.js为cube前端脚本,提供开放的javascript;src/assets为图片等静态资源目录;src/assets/launchimg.png为cube启动图,会作为前端接口请求等待阶段的占位图。例如,根据所述开发项目标识确定目标开发语言为html开发语言;根据html开发语言从所述预设开发工具的浏览器语言代码模板库中获取cube前端html模板;根据cube前端html模板以及所述开发项目标识生成待开发程序模板。
150.调整模块30,用于在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
151.需要说明的是,所述在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;判断所述代码调整信息是否符合开发约束条件;在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
152.具体地,注册开发者进行cube开发调试,开发过程中要遵循开发文档约定的约束条件,根据开发文档约定的约束条件生成开发约束条件,在接收到程序调整指令时,确定注册开发者输入的程序调整指令对应的代码调整信息;判断所述代码调整信息是否符合开发约束条件,例如,网页编程采用的是html css javascript这样的组合,其中html是用来描述当前这个页面的结构,css用来描述页面的样子,javascript通常是用来处理这个页面和用户的交互。同理,在本实施例cube中也有同样的角色,其中tpl充当的就是类似html的角色。打开src/cube.tpl,tpl和html非常相似,tpl由标签、属性等构成。但是也有不一样的地方:在网页的一般开发流程中,通常会通过javascript操作dom(对应html的描述产生的树),以引起界面的一些变化响应用户的行为。例如,当用户点击某个按钮的时候,javascript会记录一些状态到javascript变量里,同时通过domapi操控dom的属性或者行为,进而引起界面变化。但是当运行项目越来越大的时候,代码中会充斥着非常多的界面交互逻辑和程序的各种状态变量,显然这不是一个很好的开发模式,因此提出mvvm的开发模式(例如react,vue.js),提倡把渲染和逻辑分离。也就是说,本实施例中javascript不再直接操控dom,javascript只需要管理状态即可,再通过一种模板语法来描述状态和界面结构的关系即可。
153.目标生成模块40,用于在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
154.易于理解的是,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤,可以包括:在接收到程序生成指令时,根据所述调整后的待开发程序模板生成待发布程序模板;将所述待发布程序模板发送至所述代码编译服务器,以使所述代码编译服务器对所述待发布程序模板进行编译;接收所述代码编译服务器反馈的编译后的待发布程序模板;将所述编译后的待发布程序模板发送至所述代码托管服务
器,以使所述代码托管服务器对所述编译后的待发布程序模板进行发布预览;接收所述代码托管服务器反馈的待发布代码标识,并根据所述待发布代码标识生成待发布地址;通过所述待发布地址获得对应的目标程序。
155.具体地,在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,其中对所述待开发程序模板进行调整包括测试部分和预览部分,获得调整后的待开发程序模板,即测试部分和预览部分完成后,注册开发者可以准备发布正式程序模板,根据所述调整后的待开发程序模板生成待发布程序模板,待发布程序模板的部分流程可以与预览部分一致,待发布程序模板的后半部分流程增加了提审环节。
156.需要说明的是,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤之后,还包括:将所述目标程序发送至程序审核服务器,以使所述程序审核服务器对所述目标程序进行审核;接收所述程序审核服务器反馈的审核结果;根据所述审核结果确定所述目标程序是否上线运行。例如,注册开发者可以在cube开放平台进行提审,将所述目标程序发送至程序审核服务器即cube审核后台,等待各环节审核,cube审核后台可以进行技术审核、设计审核以及运营审核。如果审核通过,注册开发者可在cube开放平台操作所述目标程序上线运行。如果审核不通过,注册开发者需要根据拒绝原因作出调整,重新对所述待开发程序模板进行调整。
157.本实施例中,提取模块10,用于在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;模板生成模块20,用于根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;调整模块30,用于在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;目标生成模块40,用于在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。通过上述方式,根据开发者的程序开发请求生成支持浏览器语言代码的待开发程序模板,便于开发者对待开发程序模板进行调整,实现对开发者提供程序接入和功能开放等功能,大大提高了web端产品的开发效率和定制化能力,解决了现有的开放平台不支持浏览器开发语言,无法实现web小程序开发的技术问题。
158.本发明所述程序生成装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
159.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
160.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
161.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如只读存储器镜像(read only memory image,rom)/随机存取存储器(random access memory,ram)、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
162.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
163.本发明公开了a1、一种程序生成方法,所述程序生成方法包括以下步骤:
164.在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;
165.根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;
166.在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;
167.在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
168.a2、如a1所述的程序生成方法,所述在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识的步骤之后,还包括:
169.根据所述开发项目标识获取对应的开发工具数据包;
170.对所述开发工具数据包进行解析,获得预设开发工具。
171.a3、如a2所述的程序生成方法,所述根据所述开发项目标识通过预设开发工具生成待开发程序模板的步骤,具体包括:
172.根据所述开发项目标识确定目标开发语言;
173.根据所述目标开发语言从所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;
174.根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
175.a4、如a1-a3中任一项所述的程序生成方法,所述在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:
176.在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;
177.判断所述代码调整信息是否符合开发约束条件;
178.在所述代码调整信息符合所述开发约束条件时,根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
179.a5、如a4所述的程序生成方法,所述根据所述开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板的步骤,具体包括:
180.根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;
181.对所述测试程序模板进行测试,获得测试结果;
182.在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;
183.根据预览结果生成调整后的待开发程序模板。
184.a6、如a5所述的程序生成方法,所述根据所述开发约束条件对所述待开发程序模
板进行调整,生成测试程序模板和预览程序模板的步骤,具体包括:
185.根据开发约束条件对所述待开发程序模板进行调整,生成测试程序模板;
186.将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。
187.a7、如a5所述的程序生成方法,所述对所述测试程序模板进行测试,获得测试结果的步骤,具体包括:
188.将所述测试程序模板发送至代码测试服务器,以使所述代码测试服务器对所述测试程序模板进行测试,并反馈用于表征测试结果存储区域的测试地址;
189.接收所述代码测试服务器反馈的测试地址,并根据所述测试地址获得测试结果。
190.a8、如a5所述的程序生成方法,所述在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果的步骤,具体包括:
191.在所述测试结果为测试通过时,将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译;
192.接收所述代码编译服务器反馈的编译后的预览程序模板;
193.将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览;
194.接收所述代码托管服务器反馈的编译代码标识;
195.根据所述编译代码标识生成预览地址,并通过所述预览地址获得预览结果。
196.a9、如a8所述的程序生成方法,所述将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器对所述预览程序模板进行编译的步骤,具体包括:
197.将所述预览程序模板发送至代码编译服务器,以使所述代码编译服务器获取所述预览程序模板对应的预览代码数据;
198.接收所述代码编译服务器对所述预览代码数据进行编译后反馈的编译后的预览代码数据;
199.将所述编译后的预览代码数据作为编译后的预览程序模板。
200.a10、如a8所述的程序生成方法,所述将所述编译后的预览程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的预览程序模板进行预览的步骤,具体包括:
201.将所述编译后的预览代码数据包上传至代码托管服务器,接收所述代码托管服务器反馈的上传结果;
202.在所述上传结果为上传成功时,接收所述代码托管服务器反馈的编译代码标识。
203.a11、如a1~a10中任一项所述的程序生成方法,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤,具体包括:
204.在接收到程序生成指令时,根据所述调整后的待开发程序模板生成待发布程序模板;
205.将所述待发布程序模板发送至代码编译服务器,以使所述代码编译服务器对所述待发布程序模板进行编译;
206.接收所述代码编译服务器反馈的编译后的待发布程序模板;
207.将所述编译后的待发布程序模板发送至代码托管服务器,以使所述代码托管服务器对所述编译后的待发布程序模板进行发布预览;
208.接收所述代码托管服务器反馈的待发布代码标识,并根据所述待发布代码标识生成待发布地址;
209.通过所述待发布地址获得对应的目标程序。
210.a12、如a11所述的程序生成方法,所述在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序的步骤之后,还包括:
211.将所述目标程序发送至程序审核服务器,以使所述程序审核服务器对所述目标程序进行审核;
212.接收所述程序审核服务器反馈的审核结果;
213.根据所述审核结果确定所述目标程序是否上线运行。
214.本发明还公开了b13、一种程序生成装置,所述程序生成装置包括:
215.提取模块,用于在接收到程序开发请求时,从所述程序开发请求中提取开发项目标识;
216.模板生成模块,用于根据所述开发项目标识通过预设开发工具生成待开发程序模板,所述待开发程序模板支持浏览器语言代码;
217.调整模块,用于在接收到程序调整指令时,根据所述程序调整指令对所述待开发程序模板进行调整,获得调整后的待开发程序模板;
218.目标生成模块,用于在接收到程序生成指令时,根据所述调整后的待开发程序模板生成对应的目标程序。
219.b14、如b13所述的程序生成装置,所述提取模块,还用于根据所述开发项目标识获取对应的开发工具数据包;
220.所述提取模块,还用于对所述开发工具数据包进行解析,获得预设开发工具。
221.b15、如b14所述的程序生成装置,所述模板生成模块,还用于根据所述开发项目标识确定目标开发语言;
222.所述模板生成模块,还用于根据所述目标开发语言从所述预设开发工具的浏览器语言代码模板库中获取目标开发语言模板;
223.所述模板生成模块,还用于根据所述目标开发语言模板以及所述开发项目标识生成待开发程序模板。
224.b16、如b13-b15中任一项所述的程序生成装置,所述调整模块,还用于在接收到程序调整指令时,确定所述程序调整指令对应的代码调整信息;
225.所述调整模块,还用于判断所述代码调整信息是否符合开发约束条件;
226.所述调整模块,还用于在所述代码调整信息符合开发约束条件时,根据开发约束条件对所述待开发程序模板进行调整,获得调整后的待开发程序模板。
227.b17、如b16所述的程序生成装置,所述调整模块,还用于根据所述开发约束条件对所述待开发程序模板进行调整,生成测试程序模板和预览程序模板;
228.所述调整模块,还用于对所述测试程序模板进行测试,获得测试结果;
229.所述调整模块,还用于在所述测试结果为测试通过时,对所述预览程序模板进行预览,获得预览结果;
230.所述调整模块,还用于根据预览结果生成调整后的待开发程序模板。
231.b18、如b17所述的程序生成装置,所述调整模块,还用于根据开发约束条件对所述
待开发程序模板进行调整,生成测试程序模板;
232.所述调整模块,还用于将所述测试程序模板集成至目标网页产品模板中,生成预览程序模板。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献