mpaas RPC
1、配置工程
为保证客户端能成功请求到服务端,需在客户端配置网关地址;同时为防止客户端请求被篡改和伪造,还需对请求数据进行加签。
2、配置网关
需要客户端在
的 category 中重写以下的接口方法,指定 RPC 的网关地址;
网关地址3、配置秘钥
RPC 请求有签名机制,客户端使用的签名密钥保存在无线保镖图片中,需要通过在 DTRpcInterface 的 category 中重写下面的接口方法,指定给 RPC 加密的密钥名称。
密钥名称⚠️使用 Xcode 插件添加 RPC 模块后,会自动从工程元数据中读取网关地址和加签信息,设置到当前工程中,无需修改。
4、全局配置
RPC 在使用之前需要全局配置 V2,在第一个 RPC 发起之前调用下面的代码即可。
applicationDidFinishLaunching中配置就可以5、生成 RPC 代码
当 App 在移动网关控制台接入后台服务后,即可下载客户端的 RPC 代码
下载代码6、发送请求
将下载好的代码拽到工程中,RPC 请求必须在子线程调用,可使用 RPC 模块中, DTRpcAsyncCaller 封装的子线程调用接口,回调方法默认为主线程。代码示例如下
- (void)sendRpc
{
__block RPCDemoLoginResult *result =nil;
[DTRpcAsyncCaller callAsyncBlock:^{
@try
{
RPCDemoLoginRequest *req = [[RPCDemoLoginRequest alloc] init];
req.loginId =@"alipayAdmin";
req.loginPassword =@"123456";
RPCDemoAuthLoginPostReq *loginPostReq = [[RPCDemoAuthLoginPostReq alloc] init];
loginPostReq._requestBody = req;
RPCDemoCloudpay_accountClient *service = [[RPCDemoCloudpay_accountClient alloc] init];
result = [service authLoginPost:loginPostReq];
}
@catch(NSException*exception) {
NSLog(@"%@", exception);
}
} completion:^{
NSString*str =@"";
if(result && result.success) {
str =@"登录成功";
}else{
str =@"登录失败";
}
UIAlertView*alert = [[UIAlertViewalloc] initWithTitle:str message:nildelegate:nil
cancelButtonTitle:nilotherButtonTitles:@"ok",nil];
[alert show];
}];
}