我在Wakanda Studio(Angular 4项目)的modules文件夹(后端)中创建了一个JS文件,我启用了RPC并将其添加到permissions.waPerm文件中。
当我签入localhost:8081 / rpc-proxy / myRpc /我可以看到该方法存在但我不知道如何访问它客户端,因为每个关于它的文档都谈到使用Prototyper或GUI Wakanda工作室的设计师,但这两个在当前版本的工作室中不再存在。
有什么想法吗?
答案 0 :(得分:1)
在Angular 4或除WAF之外的任何客户端框架中。可以使用HTTP POST在应用程序中将JSON-PRC服务作为外部模块进行访问。
根据文档,如果要从任何外部页面调用Wakanda RPC方法,则需要在HTML页面中添加“脚本”标记。例如:
<script type="text/javascript" src="/rpc-proxy/myRPC?namespace=myRPC"></script>
WAF
和myRPC
将在您的角度应用中提供。
然后,您所要做的就是使用命名空间myRPC(稍微调整一下)。
以下是我为使其发挥作用所做的工作:
在index.html中添加脚本
然后,在app.component.ts中声明WAF和myRPC:
declare var myRPC: any;
declare var WAF: any;
调整WAF对象:
WAF.core = {restConnect:{baseURL : "${window.location.origin}"}};
WAF.config = {enableFilePackage:true}
使用documented API调用myRPC:
myRPC.isEmptyAsync({
'onSuccess': function(result) {
console.log(result);
},
'onError': function(error){
console.log('An error occured: '+error);
},
'params': [4, 5]})
更新“proxy.conf.json”:使用以下JSON对象:
{
"/rest/*": {
"target": "http://127.0.0.1:8081",
"secure": false,
"ws": true,
"headers": {
"host": "127.0.0.1:8081",
"origin": "http://127.0.0.1:8081"
}
},
"/rpc-proxy/*": {
"target": "http://127.0.0.1:8081",
"secure": false,
"ws": true,
"headers": {
"host": "127.0.0.1:8081",
"origin": "http://127.0.0.1:8081"
}
},
"/rpc/*": {
"target": "http://127.0.0.1:8081",
"secure": false,
"ws": true,
"headers": {
"host": "127.0.0.1:8081",
"origin": "http://127.0.0.1:8081"
}
}
}
希望这有帮助。