Ext Tree 加载超时 Timeout 问题的解决办法

本文讨论了在预案推荐系统中遇到的前端超时问题,并提供了在 Ext.js 库中通过设置超时时间来解决该问题的方法。通过在 AJAX 请求中添加 timeout 配置项,可以避免因数据加载时间过长导致的页面响应延迟。

      这几天老板让我将师姐曾经做过的一个预案推荐的功能跑起来,算法我没有深究,功能就是将推荐出来的预案按照树形显示出来,异步加载,点击根节点,才去后台取数据一次性将所有子节点获取,并展开。部署到服务器,页面也能访问,点击根节点,也能执行加载过程,后台运作也正常,但是前台总是超时,根节点停止获取数据,死掉了。

      查寻这方面的资料实在是少,因为大部分应用很难遇到这种情况,出现节点很多的,人家都是采取异步加载,点击一个父节点,才展开一个子节点,而这个是全部获取,另外师姐这个时间主要浪费在了预案推荐算法的执行上了,这是大头,具体算法没有研究,暂时提不出优化方案,目前就只是在现有情况下实现解决。

     将解决方法提出来,供其他遇到的朋友解决。将页面引用的ext-all.js文件打开,然后定位到requestData部分,如下所示,然后在Ext.Ajax.request中 添加 timeout配置项,设定超时时间,可自定,这里设定为五分钟。然后重新部署,允许,圆满解决。

   

  1. requestData : function(A, B) {  
  2.                 if (this.fireEvent("beforeload"this, A, B) !== false) {  
  3.                     this.transId = Ext.Ajax.request({  
  4.                                 method : this.requestMethod,  
  5.                                 url : this.dataUrl || this.url,  
  6.                                 success : this.handleResponse,  
  7.                                 failure : this.handleFailure,  
  8.                                                                timeout: this.timeout || 300000,//增加这一行,设置为5分钟  
  9.                                 scope : this,  
  10.                                 argument : {  
  11.                                     callback : B,  
  12.                                     node : A  
  13.                                 },  
  14.                                 params : this.getParams(A)  
  15.                             })  
  16.                 } else {  
  17.                     if (typeof B == "function") {  
  18.                         B()  
  19.                     }  
  20.                 }  

 当然有的人可能不大喜欢在ext-all.js中做全面修改,也可以这样修改。在页面js中,添加如下代码。

 

有store的

var connObj = new Ext.data.Connection({ 
timeout : 120000, 
url : ‘/jsp/dataSourceURL’, 
method : ‘POST’ 
});

var dataStore = new Ext.data.Store({ 
// load using HTTP 
proxy : new Ext.data.HttpProxy(connObj), 
reader : new Ext.data.JsonReader({ 
root : ‘rows’, 
totalProperty : ‘results’ 
}, recordFormat) 
});

树:

Ext.tree.TreeLoader.override({
requestData : function(node, callback){
if(this.fireEvent("beforeload", this, node, callback) !== false){
this.transId = Ext.Ajax.request({
method:this.requestMethod,
url: this.dataUrl||this.url,
success: this.handleResponse,
failure: this.handleFailure,
timeout: this.timeout || 30000,
scope: this,
argument: {callback: callback, node: node},
params: this.getParams(node) }else{
// if the load is cancelled, make sure we notify
// the node that we are done
if(typeof callback == "function"){
callback(); } });  

form : 

basicForm :timeout 属性设置

 

 

2025-10-27 12:40:01.023 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] receive response, but not matched any request, 7.186.141.144:20911 2025-10-27 12:40:01.024 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] RemotingCommand [code=0, language=JAVA, version=640, opaque=5079, flag(B)=1, remark=null, extFields={}, serializeTypeCurrentRPC=JSON] 2025-10-27 12:44:04.214 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqRemoting.115] invokeSync: wait response timeout exception, the channel[7.186.141.144:20911] 2025-10-27 12:44:04.214 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqClient.130] getConsumerIdListByGroup exception, 7.186.23.189:10911 com-huawei-cbg-it-tree_T_devops_TagManagement_label_dev_label_uat org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <7.186.141.144:20911> timeout, 3000(ms) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingAbstract.invokeSyncImpl(UmpNettyRemotingAbstract.java:406) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingClient.invokeSync(UmpNettyRemotingClient.java:485) at org.apache.rocketmq.common.ext.netty.UmpNettyProxyRemotingClient.invokeSync(UmpNettyProxyRemotingClient.java:97) at org.apache.rocketmq.client.ext.impl.MQClientAPIImpl.getConsumerIdListByGroup(MQClientAPIImpl.java:1094) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.findConsumerIdList(MQClientInstance.java:1688) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:334) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 12:44:04.215 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] ERROR [][RocketmqClient.145] AllocateMessageQueueStrategy.allocate Exception. allocateMessageQueueStrategyName=AVG java.lang.IllegalArgumentException: cidAll is null or cidAll empty at org.apache.rocketmq.client.ext.consumer.rebalance.AllocateMessageQueueAveragely.allocate(AllocateMessageQueueAveragely.java:46) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:356) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 12:44:06.075 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] receive response, but not matched any request, 7.186.141.144:20911 2025-10-27 12:44:06.075 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] RemotingCommand [code=0, language=JAVA, version=640, opaque=5471, flag(B)=1, remark=null, extFields={}, serializeTypeCurrentRPC=JSON] 2025-10-27 13:00:00.248 [scheduling-1] INFO [][com.huawei.cbgit.tree.service.task.ScheduleTask.262] SyncWarningMessageTask sync start. 2025-10-27 13:00:00.287 [thread-RBI_CACHE_DATA-2] INFO [][com.huawei.cbgit.tree.service.cache.RbiCacheUtils.72] match cache type [product_relation], cacheDate: 2025-10-27 10:03:09 2025-10-27 13:00:00.288 [thread-RBI_CACHE_DATA-7] INFO [][com.huawei.cbgit.tree.service.cache.RbiCacheUtils.72] match cache type [PBI], cacheDate: 2025-10-27 10:03:06 2025-10-27 13:00:00.288 [thread-RBI_CACHE_DATA-9] INFO [][com.huawei.cbgit.tree.service.cache.RbiCacheUtils.72] match cache type [product], cacheDate: 2025-10-27 10:03:09 2025-10-27 13:00:00.288 [thread-RBI_CACHE_DATA-4] INFO [][com.huawei.cbgit.tree.service.cache.RbiCacheUtils.72] match cache type [eamap], cacheDate: 2025-10-27 05:06:18 2025-10-27 13:00:00.414 [scheduling-1] INFO [][c.h.cbgit.tree.service.task.assettree.SyncWarningMessageTask.125] delete unRefresh warning message data count = 0 2025-10-27 13:00:00.418 [scheduling-1] INFO [][com.huawei.cbgit.tree.service.task.ScheduleTask.273] SyncWarningMessageTask sync end. 2025-10-27 13:16:57.494 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqRemoting.115] invokeSync: wait response timeout exception, the channel[7.186.141.144:20911] 2025-10-27 13:16:57.495 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqClient.130] getConsumerIdListByGroup exception, 7.186.23.189:10911 com-huawei-cbg-it-tree_T_devops_TagManagement_label_dev_label_uat org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <7.186.141.144:20911> timeout, 3000(ms) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingAbstract.invokeSyncImpl(UmpNettyRemotingAbstract.java:406) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingClient.invokeSync(UmpNettyRemotingClient.java:485) at org.apache.rocketmq.common.ext.netty.UmpNettyProxyRemotingClient.invokeSync(UmpNettyProxyRemotingClient.java:97) at org.apache.rocketmq.client.ext.impl.MQClientAPIImpl.getConsumerIdListByGroup(MQClientAPIImpl.java:1094) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.findConsumerIdList(MQClientInstance.java:1688) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:334) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:16:57.495 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] ERROR [][RocketmqClient.145] AllocateMessageQueueStrategy.allocate Exception. allocateMessageQueueStrategyName=AVG java.lang.IllegalArgumentException: cidAll is null or cidAll empty at org.apache.rocketmq.client.ext.consumer.rebalance.AllocateMessageQueueAveragely.allocate(AllocateMessageQueueAveragely.java:46) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:356) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:16:57.777 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] receive response, but not matched any request, 7.186.141.144:20911 2025-10-27 13:16:57.777 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] RemotingCommand [code=0, language=JAVA, version=640, opaque=8637, flag(B)=1, remark=null, extFields={}, serializeTypeCurrentRPC=JSON] 2025-10-27 13:19:40.518 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqRemoting.115] invokeSync: wait response timeout exception, the channel[7.186.141.144:20911] 2025-10-27 13:19:40.519 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqClient.130] getConsumerIdListByGroup exception, 7.186.23.189:10911 com-huawei-cbg-it-tree_T_devops_TagManagement_label_dev_label_uat org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <7.186.141.144:20911> timeout, 3000(ms) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingAbstract.invokeSyncImpl(UmpNettyRemotingAbstract.java:406) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingClient.invokeSync(UmpNettyRemotingClient.java:485) at org.apache.rocketmq.common.ext.netty.UmpNettyProxyRemotingClient.invokeSync(UmpNettyProxyRemotingClient.java:97) at org.apache.rocketmq.client.ext.impl.MQClientAPIImpl.getConsumerIdListByGroup(MQClientAPIImpl.java:1094) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.findConsumerIdList(MQClientInstance.java:1688) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:334) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:19:40.519 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] ERROR [][RocketmqClient.145] AllocateMessageQueueStrategy.allocate Exception. allocateMessageQueueStrategyName=AVG java.lang.IllegalArgumentException: cidAll is null or cidAll empty at org.apache.rocketmq.client.ext.consumer.rebalance.AllocateMessageQueueAveragely.allocate(AllocateMessageQueueAveragely.java:46) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:356) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:19:43.032 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] receive response, but not matched any request, 7.186.141.144:20911 2025-10-27 13:19:43.033 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] RemotingCommand [code=0, language=JAVA, version=640, opaque=8901, flag(B)=1, remark=null, extFields={}, serializeTypeCurrentRPC=JSON] 2025-10-27 13:21:06.058 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqRemoting.115] invokeSync: wait response timeout exception, the channel[7.186.141.144:20911] 2025-10-27 13:21:06.058 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] WARN [][RocketmqClient.130] getConsumerIdListByGroup exception, 7.186.23.189:10911 com-huawei-cbg-it-tree_T_devops_TagManagement_label_dev_label_uat org.apache.rocketmq.remoting.exception.RemotingTimeoutException: wait response on the channel <7.186.141.144:20911> timeout, 3000(ms) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingAbstract.invokeSyncImpl(UmpNettyRemotingAbstract.java:406) at org.apache.rocketmq.common.ext.netty.UmpNettyRemotingClient.invokeSync(UmpNettyRemotingClient.java:485) at org.apache.rocketmq.common.ext.netty.UmpNettyProxyRemotingClient.invokeSync(UmpNettyProxyRemotingClient.java:97) at org.apache.rocketmq.client.ext.impl.MQClientAPIImpl.getConsumerIdListByGroup(MQClientAPIImpl.java:1094) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.findConsumerIdList(MQClientInstance.java:1688) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:334) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:21:06.058 [RebalanceService@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0] ERROR [][RocketmqClient.145] AllocateMessageQueueStrategy.allocate Exception. allocateMessageQueueStrategyName=AVG java.lang.IllegalArgumentException: cidAll is null or cidAll empty at org.apache.rocketmq.client.ext.consumer.rebalance.AllocateMessageQueueAveragely.allocate(AllocateMessageQueueAveragely.java:46) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.rebalanceByTopic(RebalanceImpl.java:356) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceImpl.doRebalance(RebalanceImpl.java:296) at org.apache.rocketmq.client.ext.impl.consumer.DefaultMQPushConsumerImpl.doRebalance(DefaultMQPushConsumerImpl.java:1370) at org.apache.rocketmq.client.ext.impl.factory.MQClientInstance.doRebalance(MQClientInstance.java:1541) at org.apache.rocketmq.client.ext.impl.consumer.RebalanceService.run(RebalanceService.java:57) at java.base/java.lang.Thread.run(Thread.java:1583) 2025-10-27 13:21:08.415 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] receive response, but not matched any request, 7.186.141.144:20911 2025-10-27 13:21:08.416 [NettyClientWorkerThread@12.11.1.41@com-huawei-cbg-it-tree_0c0b01298872c9be0000000000000000_3-6-6-0_1] WARN [][RocketmqRemoting.110] RemotingCommand [code=0, language=JAVA, version=640, opaque=9017, flag(B)=1, remark=null, extFields={}, serializeTypeCurrentRPC=JSON] 2025-10-27 13:48:59.168 [http-nio-8003-exec-10] INFO [bb0f40612c3ddc7f0530f11757f0bfff][com.huawei.cube.rt.privilege.loader.UserPermissionLoader.111][co******************lace] load user permission, client &#39;com.huawei.cube.rt.cs.client.DefaultCommonServiceClientFactory&#39;, user is co******************lace 2025-10-27 13:48:59.193 [http-nio-8003-exec-10] WARN [bb0f40612c3ddc7f0530f11757f0bfff][c.huawei.foundation.container.core.context.BeanExecutorChain.214][co******************lace] bean idfdnIExcelExportSupport.orgTreeEmployeeNoLabelis not found for typecom.huawei.cube.excel.api.exporter.IExcelExportSupport 2025-10-27 13:48:59.194 [http-nio-8003-exec-10] ERROR [bb0f40612c3ddc7f0530f11757f0bfff][c.huawei.cbgit.tree.service.common.excel.CommonExportService.72][co******************lace] export error 无效的Excel类型 2025-10-27 13:48:59.194 [http-nio-8003-exec-10] ERROR [bb0f40612c3ddc7f0530f11757f0bfff][com.huawei.cube.logging.AbstractLoggingHandler.90][co******************lace] The log category auditlog not config, skip the log. 2025-10-27 13:49:04.955 [http-nio-8003-exec-3] WARN [481f8b247779414fba6e0be96409ff9f][c.huawei.foundation.container.core.context.BeanExecutorChain.214][co******************lace] bean idfdnIExcelExportSupport.orgTreeEmployeeNoLabelis not found for typecom.huawei.cube.excel.api.exporter.IExcelExportSupport 2025-10-27 13:49:04.956 [http-nio-8003-exec-3] ERROR [481f8b247779414fba6e0be96409ff9f][c.huawei.cbgit.tree.service.common.excel.CommonExportService.72][co******************lace] export error 无效的Excel类型 2025-10-27 13:49:04.956 [http-nio-8003-exec-3] ERROR [481f8b247779414fba6e0be96409ff9f][com.huawei.cube.logging.AbstractLoggingHandler.90][co******************lace] The log category auditlog not config, skip the log. 解释下为什么
最新发布
10-28
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值