普元EOS学习笔记-创建精简应用

普元EOS学习笔记-EOS8.3精简版安装 安装普元EOS精简版。 阅读详情
AI摘要

本文详细介绍EOS精简应用的创建过程,包括安装EOS开发工具、配置环境、创建项目及数据库初始化,适合初学者快速入门。

前言

本文依旧基于EOS8.3进行描述。

在上一篇文章《EOS8.3精简版安装》中,我们了解到普元预编译好的EOS的精简版压缩包,安装后,只能进行低开,而无法高开。

EOS精简版的高开方式是使用EOS开发工具提供的IDE,创建一个精简应用,然后就可以进行高开了。

本篇文章将一步步记录下我如何创建一个EOS的精简应用。

安装EOS开发工具

EOS只是一个缩写,这个体系下有很多东西,所以,千万不要把EOS理解为好像JEECG或若依那样就是一个简单的开发框架,那格局就太小了。

现在我就要用到EOS提供的开发工具IDE 。

IDE:集成开发环境,一般我们开发软件都会用到ide,比如eclipse , idea, vscode 等等。普元EOS也提供了一个专门用于开发EOS应用的ide。

不用意外,正如上图展示的,EOS的IDE其实就是在eclipse的基础上提供了若干用于EOS开发的插件。所以,EOS IDE的使用对于JAVA程序员并不困难,学习门槛很低。

获取EOS开发工具的介质

EOS开发工具的介质是一个 zip格式的压缩文件,EOS_Platform_8.3.1_Private_Medium_Develop.zip 

获取介质请拨通普元热线电话 400-820-5821, 向普元工作人员申请即可。

解压安装

介质下载后,解压到 d:/primeton/eos-8.3-dev 文件夹。

为什么是 d盘?其实就是最后一个分区。

为什么是d:/primeton/eos-8.3-dev这个文件夹?这个开发工具下其实有很多东西,除了ide,还有自带的数据库、maven、redis,以及EOS相关的服务应用,这些程序的某些配置文件似乎对解压路径有所要求。我这里也不深究这个问题了,反正采用这个路径会减少很多运行中的麻烦。

从上图可以看到,EOS开发工具下并非只提供了ide,很多东西是为了微服务版本的EOS应用开发的。本文章是记录EOS精简应用的开发,就不对EOS开发工具的其他东西做解释了。

启动ide

EOS ide的启动需要先准备好JAVA环境,版本要求是 jdk1.8 。EOS开发工具并没有提供jdk,请自行安装。

同时还要配置好 maven,在EOS开发工具文件夹下,可以看到有maven 文件夹,一定要使用EOS提供的maven,因为EOS开发中需要很多普元提供的依赖,这些都需要到普元的maven仓库拉取。EOS提供的maven的settings.xml文件中已经配置好了依赖仓库,没有这些配置是无法编译EOS项目的。

运行 D:\primeton\eos-8.3-dev\ide\eclipse\eclipse.exe 文件,实现ide的启动。

ide启动后,可以看到就是一个eclipse,当然,细心看到话也会发现,处处都渗透着EOS和普元的痕迹,因为这个eclipse已经被安装了很多EOS的插件。

ide的首选项中配置java环境

在菜单中选择 窗口 -- 首选项,打开ide的首选项窗口,选择java - 已安装的JRE 选项。

配置自己电脑上JDK1.8 

然后再选择 java - 已安装的JRE - 执行环境,选中 JavaSE-1.8 ,然后勾选刚刚安装的jre选项。

配置maven环境:

依旧是在ide的首选项窗口,选择 maven - User Settings ,然后在右侧 User Settings文本框,选择ide提供的maven下的settings.xml文件,然后点击 Update Settings 按钮。

最后点击应用并关闭,完成ide首选项的编辑。

这样就为ide配置好了java和maven环境。

创建精简应用

在ide中,点击菜单项 文件 - 新建 - EOS项目,打开新建EOS项目的窗口。

在这个窗口,我们看到可以选择4种项目类型,我们不解释后面3种,直接选中精简应用,点击下一步,下一步,就完成EOS精简应用的创建了。

当然,操作的时候步骤慢一点,先点击一次下一步,打开进入第一个配置窗口如下,我们可以直接采用默认项,当然也可以修改一下这些配置项。

这里我将 项目名称修改为 express08,端口修改为 28018。项目名称就是ide中显示的项目名称,端口是精简应用编译运行后,在浏览器中请求时的端口,比如我现在修改为 28018,以后我启动项目的时候就要输入  http://127.0.0.1:28018 来访问了。

关于应用名称和应用所在系统编码,这两项最好别动,修改了可能会有预想不到的麻烦,反正咱先听话好了。

然后点击完成,之后要耐心等待一段时间。

这段时间的时候,我们可以看到左侧已经出现了 express08 这个项目。

同时,在ide下面找到进度标签按钮,点击会打开进度窗口,可以看到类似下图这样的执行过程。这是创建精简应用的过程,在这个过程中会先创建出项目的结构,然后调用maven对项目进行预编译,会拉取项目所需的依赖。

这个过程如果有问题,大概率是 1 java环境没配置好,2 maven没配置好。 那么就回到本文的前面“解压安装”这一节,看看如何配置。

经过耐心等待后,当进度不再有新动态的时候,一切归于平静,新的生命诞生了。

项目结构

展开express08项目,可以看到结构如上图,简单对这个结构解释一下。

首先,可以确定express08是一个Maven两层的父子项目。

父项目就是 express08,这个项目的pom.xml中可以看到express08也有父项目,如下面的xml配置信息所示。

同时可以看到,其下有4个子模块,分别是 model api core boot,这4个,当然,模块的名字不是这么简单,前面还有 com.primeton.eos.express08 这么有一大串,我懒得打字了,阅读者知道啥意思就可以了。

再之后可以看到pom.xml中标记了一系列的 primeton 的依赖,不做赘述,也不做深究,知道是有这么多 primeton的依赖即可,这些依赖从 maven官方仓库可拉取不到,只能到普元maven仓库才可以获取。

这4个子模块都是啥意思?有啥作用?我把我的理解记录下来,供阅读者借鉴,但我需要声明一下,这些并非权威解释。

首先说第2个子模块 boot

( 阅读者知道其实完整模块名称是 com.primeton.eos.express08.boot ),这是核心启动模块,最终express08的编译、运行,都是在这个模块中。

具体看一下文件结构就知道了,boot子模块下的 Java源代码部分有一个 Application.java 文件,熟悉springboot开发的阅读者都知道,这是SpringBoot应用的启动类。

据此,我们也能分析出来,EOS的精简应用本质是基于maven构件的SpringBoot项目,开发工具是安装了EOS插件的Eclipse。

这个文件夹下还有一个 Web文件夹,这些是所有前端静态资源。

EOS开发的应用程序(本文创建的是精简应用,还可以创建独立应用、微服务应用等)都是前后端分离的,精简应用的前端静态资源就被放在了Web文件夹中。

如果需要对前端静态资源修改重新编译,那么可以获取前端的源代码,然后编译后覆盖Web文件夹即可,关于前端编译开发不是本文所要描述的知识,就不展开讲解了。

同时,boot子模块下还包含了精简应用所有的配置文件。

配置文件很多,配置项目更是林林总总,就不一一赘述了,这里只修改一下数据库连接配置项,保证程序能启动就行了,另外,在看看application.properties文件,毕竟设置项目中最重要的配置文件。

application.properties配置文件,咱也不过多解释,就看一个端口吧。28018,之前创建精简应用的时候,填写的端口就是这个,没必要过多解释。

数据库连接配置文件,在 user-config.xml 中,在这个文件中配置,数据库连接的配置内容很简单,不多说了。

boot子模块的pom.xml文件:从这个模块可以看到,boot子模块的父模块是express08。

从dependencies 这部分可以看出boot依赖于 api 、 core 、 model这3个子模块。

boot子模块的说明就这些吧。

接下来说说model子模块

先看一下model的pom.xml,分析后可以看到 model 的父模块是 express08。

接着会发现 model并没有其他的依赖。所以 pom.xml很简单。

再多解释一下 model的pom.xml提供的一个插件 eos-ptp-maven-plugin ,这个插件是普元EOS的一个插件,似乎这个插件是在项目打包的时候将多个sql语句合并为 all.sql插件。我个人的理解是 EOS应用底层其实是多个子模块组成的,比如 afcenter / bps / bfp 等等(关于这些子模块概念以后慢慢聊),这些子模块需要若干数据表,在源代码中按照不同子模块提供了若干sql文件,这个插件将多个sql文件合并为一个all.sql文件。

model子模块规划中主要是用来存放数据实体。

model下有4个资源包:构件、数据、运算和流程,这4个资源包是EOS的概念,这里简单说一下,以后我梳理一下详细解释一下EOS这些概念。

构件:EOS的构件是一个独有的概念。一般来说,程序员实现一个功能都是通过开发一个方法,然后编写一系列代码来实现具体的逻辑,细想想这些代码无非就是顺序流、循环(for while)、分支(if else) 然后调用其他方法实现功能的组合,从而实现业务需要的逻辑。

EOS的低开设计将创建方法和编写代码的过程,转换为创建一个构件,在构件中使用流程和功能编排来实现逻辑。视觉效果如下

看起来,以前写代码,采用EOS构件成了拖拉拽,可以在运行时随时调整代码逻辑。软件开发的技术门槛降低了很多,灵活性和程序稳定性提高了很多。

上面这个构件的流程有若干节点上面有红色的小图标,这是因为这些节点的配置有问题。因为这个构件编排我只是为了让阅读者知道构件是个什么东西,所以,编排的时候我并没有对构件进行调试,若干节点是有错的,所以这些节点的左上角就显示一个红色的小图标。

构件一般配置在 model 和 core这两个模块中,boot和api模块一般是不创建构件的。

数据:model主要用于存放数据实体,这些数据实体具体都放在数据资源包下面。数据实体就是数据表的java实体类,EOS的数据实体都继承自DataEntity,结构看起来要比普通的Java实体类复杂一些,当然,也要强大的多。以后会不断使用这个DataEntity,慢慢就会熟悉和习惯了,这里就不赘述了。

EOS连接数据库后,可以直接对应数据表实现反向生成,所以,数据实体的创建是非常高效的。

运算:Java程序员看这个就比较容易理解了,就是Java的类和方法,只是在类和方法上增加 @Bizlet 注解。

普通的Java方法是不能被EOS构件调用的,加上@Bizlet注解后,构件编排的时候就可以调用到这个“运算”了。

流程:刚刚的构件其实我们已经看到了流程编排,EOS的流程自然更是流程编排了。构件实现的功能性的逻辑流,EOS流程实现的是工作流。EOS工作流引擎叫做BPS(似乎是 Business Process Suite的缩写,业务流程平台),这是EOS实现工作流的核心组件。这里的流程模块就是用于绘制BPS的流程图的。关于工作流的概念,如果有阅读者不熟悉,可以自行百度一下,这里就不做赘述了。

core子模块

见名知意,这个是核心模块,从其下的资源包可以看到也是 构件、数据、运算、流程。

所以,功能上core子模块和model都差不多。

我个人的习惯,一般构件、运算、流程会放在core中,而数据实体会放在model下。

api子模块

api子模块有数据、运算,还多了一个服务。

服务:EOS的服务可以理解就是SpringBoot项目中的controller层的 Restful接口,不过实现上是直接将某个构件发布成一个服务。当然,EOS的服务自然比传统的Restful接口更强大,与EOS技术生态更亲近,在做逻辑流编排的时候,也可以调用EOS服务,在低开的时候,也可以调用EOS服务。具体的使用在实践中慢慢体会吧,这里只是把EOS服务这个概念简单说明一下。

如下图,在ide中右键选择一个构件,可以看到发布EOS服务的选项。

EOS精简版和EOS精简应用的关系

EOS精简版就是EOS预编译好的项目。

EOS精简应用是使用EOS ide创建的EOS精简版应用。

可以理解为 EOS精简应用 编译打包后,发布出来的就是EOS精简版,也就是说EOS精简版就是EOS开发团队预编译好的一个EOS精简应用。

由于EOS精简版是预编译好发布的,没有源代码,所以,无法进行高开,只能进行低开。

EOS精简应用是可以实现高低开结合开发的。

初始化数据库

刚刚说了,EOS精简应用就是自己定义的、可以进行高开的、可以自定义源代码的EOS精简版。

所以,EOS精简应用的数据库就是EOS精简版的数据库。

因此,初始化的数据库文件就是 EOS精简版文件夹下的 db_scripts/all/Mysql/all.sql 文件。这里使用的是mysql数据库,如果是其他类型的数据库,请采用其他数据库的初始SQL脚本。

本文创建了mysql的数据库 eos83express ,基字符集采用 utf8mb4。

然后,在这个数据库中执行 all.sql脚本文件,执行后数据库和数据表看起来是这样的:

数据表太多了,只展示了一部分。

看数据表的前缀有几大类:

afc_xxx:  这是afcenter相关的数据表,afcenter的全称是应用联邦中心,EOS采用的是微服务思想进行项目管理,微后端,还有微前端,然后在afcenter中将各服务整合在一起。afc就是afcenter的缩写。

bfp_xxx: 这些是 bfp相关的数据表。 bfp好像是 bps的扩展功能,bps是EOS的工作流引擎,bfp应该也是提供工作流相关的功能的扩展。关于bfp的概念我不敢说我的描述是准确的,我再强调一下,我不是普元产品的专家,我只是将我学习EOS的过程记录下来,所以,如果有些地方是错误的,我会及时纠正,如果给阅读者造成了困扰,我不承担任何后果,只是由衷的说一句抱歉,仅此而已。

lc_xxx: 这些是低开相关的数据表 。lc是低开的英文 low code的缩写。低开的生产的其实是各种配置脚本,这些配置脚本就被存储在这些数据表中。

rdc_xxx: 这些表我还不太清楚是啥意思。看表里面的内容,似乎是和GPT相关的表,也许是GPT调用的远程连接相关信息记录表。

wfxxxx:这些数据工作流引擎相关的表。wf是工作流 work flow的缩写。之前说过,EOS的工作流引擎产品叫BPS,这些表应该都是属于bps的表。

启动

EOS精简应用的启动,首先要配置好数据库连接,然后对主模块express08执行mvn install ,之后就可以启动boot了。

配置数据库连接

启动前,先修改数据库连接配置文件 

com.primeton.eos.express08.boot/配置/_srv/config/user-config.xml文件

我将数据库连接的驱动修改为 com.mysql.cj.jdbc.Driver 

数据库名修改为 eos83express 

数据库登录账号和密码是 admin  和 111111 

执行mvn install

启动项目前,需要先对express08执行 mvn clean install 

我个人习惯执行 mvn 命令的时候加一个 clean , 这个意思是先清理项目之前编译的结果,然后重新执行编译。

右键 express08/pom.xml 文件,选择 运行方式 - maven install 

当然,也可以直接在cmd窗口中执行 mvn clean install  

执行boot子模块

之后就可以执行 boot 应用了。两种方式

1 在eclipse中,右键 Application.java类

2 在 cmd 窗口进入 boot子模块的根目录,执行 mvn clean spring-boot:run 

注意:这个方式在win10中经常会文件名过长而无法执行的问题,这个也没办法,就还是在eclipse中执行吧。

浏览器访问

应用启动后,就可以在浏览器访问应用了。

在浏览器输入地址 http://127.0.0.1:28018 

这个端口 28018 是在boot子模块的配置文件 application.properties中配置的。

账号和密码是 admin 和 000000 

结尾

本文就写到这里,以后有时间再讲讲EOS精简应用的操作方法、低开,以及高开。

快速开发:普元EOS平台简介 近期公司做的项目是基于普元的EOS平台进行开发。为了了解这个开发平台,特地去普元公司进行了四天的培训。 普元EOS是基于J2EE体系结构、采用面向构件技术实现企业级应用开发、运行、管理、监控和维护的中间件平台。 它将J2EE体系规范、构件技术、xml技术和可视化技术完美结合起来,为基于J2EE平台上的应用提供了面向构件的服务。 阅读详情

相关推荐

使用Eclipse进行EOS开发,页面显示HelloWorld实例

对于EOS开发,目前还不是主流技术,网上资源较少,对于想要入门的人来说网上找不到相关知识实在是憋屈。其实大致开发过程还是很简单的,与SSM框架有很多相似之处,很多人不是看不懂EOS项目,而是不知道怎么实现前后端交互,通过公司的项目我终于理解了EOS的前后端交互,下面我将以HelloWorld实例来讲解。 1.首先下载EOS版的Eclipse,也叫EOS Studio,后者直接给Eclipse装一个EOS支持,详细安装过程不多说。 2.点击【文件】——【新建】——【EOS项目】,选择...

qq_41348157的博客 1108

普元EOS基础开发教程

普元EOS基础开发教程

普元EOS-微前端项目创建

这两种方式的思路,都是将myapp项目的访问路径放到精简应用下。比如,精简应用的访问地址是 http://127.0.0.1:28015 ,想办法通过 http://127.0.0.1:28015/myapp 可以访问到myapp 就行了。上面这些做到后,精简应用和myapp微前端的路径关系已经确立了,可以在AFCenter中进行具体的访问微前端页面的配置了。

cuipy的博客 1851

六.java进阶-微服务架构平台-DevOps低开平台-普元EOS学习这一篇就够了(详细)

分布式微服务架构,集成平台普元EOS。EOS Microservices 5.0。Devops。信创

ThatsThePrice的博客 2131

普元EOS学习笔记-EOS的ide开发工具的介绍

普元EOS开发包括低开和高开。EOS低开,直接在浏览器操作即可,不需要编码。EOS高开,需要使用EOS的ide工具,进行编码开发。EOS的ide工具是普元在Eclipse基础上进行的扩展,添加了若干插件,专门用于EOS开发。本文章将介绍如何获取EOS的ide工具。本文章将以EOS 8.3.1来讲解。

cuipy的博客 1456

普元EOS开发平台培训总结

普元EOS开发平台培训总结2004-02-22  (本文是某软件企业的技术负责人在接受普元EOS平台3.0版本的培训之后总结的心得体会。目前普元EOS产品的最新版本是5.0,作者提出的“5大缺点”如今是否仍然存在,尚且是一个值得思考的问题。)  一 EOS开发平台的功能  普元EOS是一个快速开发平台。在这个平台的基础上,可以通过既有的一些构件的功能,来订制新的系统。EOS专业版附带了权限和公共两

Schlemiel的专栏 1万+

普元EOS开发流程

环境和安装事宜,此处不再讲述

w417318472的专栏 6115

普元EOS8.3精简版安装指南:从零开始搭建低代码开发环境

本文详细介绍了普元EOS8.3精简版的完整安装流程。从JDK1.8环境准备、MySQL数据库配置与初始化,到核心配置文件修改、服务启动与登录验证,提供了从零开始搭建低代码开发环境的清晰步骤和常见问题排坑指南,帮助开发者快速部署并体验平台核心功能。

ik678901的博客 1105

普元EOS学习笔记-低开实现图书的增删改查

本文我就记录一下自己在EOS精简应用下进行低开的过程,实现图书信息的简单的增删改查的功能。

cuipy的博客 1247

普元EOS开发总结——前端框架

       目前在一家公司实习,公司用的就是普元EOS开发,一种之前没有见过的java框架,全新的设计理念,刚开始学习也是很不适应,也有很多东西也不理解,从网上找一些教程和博客的资源也比较少,所以我就记录一下自己学习普元的经验,近期都会不间断更新。        我想先展示一下普元自带的一些前端框架,普元有两个版本,一个是richWEB,一个是NUI,NUI版本可以调

weixin_44415209的博客 4818

普元EOS-数据实体、SDO接口和实现类、DataObject都是什么?

各位同学一定对ORM概念不陌生,一般使用的MyBatis和Hibernate都是非常优秀的ORM框架。在ORM框架中,有个很好的概念就是将数据表与Java Bean对应起来,从而实现操作Java对象就实现了对数据库的操作。在普元EOS中也提供了ORM的工具,并且是可视化的。

cuipy的博客 1295

普元eos java_普元EOS 案例

1 创建项目1)进入EOS Studio开发透视图;单击主菜单项“文件”选择“新建”->“空EOS项目 2)在弹出的“创建空EOS项目”视图中,配置相关参数。“项目名称”:EOSTriping, 3)单击【完成】按钮,系统完成该项目框架的创建后退出。 【说明】新建项目时,缺省会建立一个pkg的构件包,你可以通过鼠标右键删除这个构件包。2.创建构件包1)在项目资源管理器视图中,...

weixin_40005373的博客 1356

普元EOS Platform产品支持环境

Platform产品集成了业界领先的SOA基础应用平台产品 EOS 和 SOA业务流程平台产品 BPS ,既可以开发面向SOA的企业级应用,又可以开发企业流程应用,是目前客户群最多,应用最广泛的一款主流产品。 EOS是普元最早开发的基础的平台,它是面向SOA的应用开发和运行维护的一体化平台,特点是图形化和Java开发并重,面向构建的模块化、组件化、可视化开发,提供了方便的数据实体和数据访问功能,比hibernate更加易用的面向数据库的开发模式。EOS还提供了发布SCA服务和WebService的能力。EO

普元开发者乐园 2577

普元eos开发手册_微服务平台之EOS服务

转载本文需注明出处:微信公众号EAWorld,违者必究。前言:​在微服务环境下,原先使用EOS开发的应用要如何才能快速的变成微服务应用?如何将EOS应用对外暴露RESTful接口,如何通过Swagger查看接口描述以及如何调用其他RESTful接口等等?这些就是EOS服务要解决的问题。目录:1.EOS服务2.EOS服务开发3.EOS服务治理1.EOS服务1.EOS服务是什么?EOS服务是为了支持老...

weixin_39623244的博客 2413

普元EOS RichWeb(富客户端)实践总结

    最近公司未来一银行项目要使用到普元的EOS,客服是普元合作机构,没办法,必须将系统在EOS平台上部署开发,认真学习了2个星期,对EOS6.0的印象还是非常的好。丰富的页面开发组件,SOA我不是特别特别的说的出来,看了SOA相关文档和对比传统的开发模式,EOS的思想非常值得学习,EOS里面的组件设计,能更好的增加代码的可重复性,模块的独立性,这对于一个大型银行系统来说,所带来的好处不言而喻。

Jarvis_技术专栏 1万+

普元EOS6.2学习总结

文件上传:   将文件类型的转换为对象类型   数据放入到session中: 1.      现在前一个页面的form中: 2.  然后在下面的页面中就可以获得到了b:writeproperty="testVar"/> Eos标签不可以嵌套:(主要是传参数) 如:    获得值: 第一种   Object reqid =com.eos.web.tagl

Robin的专栏 3635

对普元EOS支持SCA/SDO规范的讨论

   首先声明,本人是一名严谨的IT领域的科研人员,是依据我看到的客观事实,就事论事来地写这篇评论的,尽力避免夹杂个人过于偏颇的观点。即使是基于同样的事实,很多人的观点都会不太一样,我想这可以大家共同讨论,我相信真理是越辩越明的。        本人长期从事软件工程方面的研究工作,对SOA架构及其编程模型规范SCA(Service Component Architecture)和SDO(Servi

itreviewer的专栏 3373

西门子 标准程序解读---> 机器手抓取和涂胶控制程序

摘要 该程序实现机械手在OP70/OP90工位的自动化控制,核心功能包括: 流程控制:分段(Seg1-Seg11)管理抓件、涂胶、放件等动作,结合DB1050/DB1250数据块监控工位状态及变位机位置反馈。 安全机制:配置干涉区(FC124)、实时检测安全光/急停信号,防止碰撞;服务程序(FB191)支持维修位触发与安全隔离。 参数配置:通过DB块关联机器人速度、节拍(FB27)、车型编码(如空过=2)及手自动模式(DB70.DBX21.2)。 应用场景:适用于汽车焊接/装配线

工控智联驿站 1239
上一篇: 普元EOS学习笔记-EOS8.3精简版安装
下一篇: 普元EOS学习笔记-低开实现图书的增删改查
小崔爱读书
博客等级 码龄23年 1563粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小崔爱读书

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值