//压缩前数据
TextField_get.text = @"service=\"alipay.fund.stdtrustee.order.create.pay\"&partner=\"2088401309894080\"&_input_charset=\"utf-8\"¬ify_url=\"https://wwhongbao.taobao.com/callback/alipay/notifyPaySuccess.do\"&out_order_no=\"23743001583595538_8daa2b6a58da7263bd4140857b561a19_2\"&out_request_no=\"23743001583595538_8daa2b6a58da7263bd4140857b561a19_2_p\"&product_code=\"SOCIAL_RED_PACKETS\"&scene_code=\"MERCHANT_COUPON\"&amount=\"1.00\"&pay_strategy=\"CASHIER_PAYMENT\"&receipt_strategy=\"INNER_ACCOUNT_RECEIPTS\"&platform=\"DEFAULT\"&channel=\"APP\"&order_title=\"淘宝现金红包\"&master_order_no=\"2020030710002001220523637686\"&order_type=\"DEDUCT_ORDER\"&extra_param=\"{\"payeeShowName\":\"淘宝现金红包\"}\"&pay_timeout=\"30m\"&order_expired_time=\"360d\"&sign=\"VstICnt0tJFkBhE2VVlUCnWCp%2F3lRgpIbDV7XZ3Mt1yYppGwicQ55sVASZk5F9xwpzZPEjvAXuGf15pWHInyqZRO1yAl0ZFfCaGu21b%2FzTYS860aZ%2BAQWHcQlFLIc%2FZEk9wp0wfon%2F6ySkiDOMo5YDZSAyCyJlPBUPMHsQrVuGnK4aEb%2BW4i2MsXAl3UubrYqZXW0mmHEa%2BsCmcknXWTLQ0ecOBhzLYD2kuAr73K3GAZWav%2BmGWh0pnIu9VZSixLvK7n1TpkDgD6aPK7X4vmY0F%2BdVDUowcfnZBepVyTtvWstTKPIL%2B1UA4awCQjWwYbLT6SNwNO3SFqxPjlw8fMEw%3D%3D\"&sign_type=\"RSA\"&bizcontext=\"{\"av\":\"4.6.7\",\"ty\":\"ios_lite\",\"appkey\":\"2014052600006128\",\"sv\":\"h.a.3.1.0\",\"an\":\"com.taobao.iteam.ios.aliwangwang2\"}";
//分析到原方法
//- (void)processOrder:(id)arg1 callback:(CDUnknownBlockType)arg2;
NSString*str = TextField_get.text;
//开始压缩
[[NSClassFromString(@"APayProcessor") alloc] processOrder:str callback:^(NSDictionary *resultDic) {
// [0] (null) @"command" : @"wappay"
// [1] (null) @"url" : @"https://mclient.alipay.com/cashierRoutePay.htm?route_pay_from=h5&init_from=SDKLite&session=RZ54Pr4p1wmUKKXrkED6PULU13oKXHmobilecashierRZ54&utdid=XmPLAf5frpIDAKH4r2PKKQzh&service=alipay.fund.stdtrustee.order.create.pay&tid=6bebfd5ecd3aaac7f0ea621b0102b5135ed5fa1b9e115be0a352325126a65be8&cc=y"
// [0] (null) @"error" : domain: @"系统繁忙,请稍后再试" - code: 1000
NSString*command = resultDic[@"command"];//wappay
NSString*result = resultDic[@"url"];
NSString *error = resultDic[@"error"];
NSLog(@"%@",resultDic);
if(result){
NSDictionary*dic = [xddCode dictionaryOfURLQuery:result];
NSString *authCode = dic[@"session"];
NSLog(@"压缩结果 authCode = %@", authCode?:@"");
TextField_set.text = authCode;
}else if( error != nil){
TextField_set.text = [NSString stringWithFormat:@"%@",error];
}
//内部方法-
// [[NSClassFromString(@"APayLoadView") alloc] dismissLoading];//-
//外部方法+
[NSClassFromString(@"APayLoadView") dismissLoading];//+
}];
+(NSDictionary*) dictionaryOfURLQuery:(NSString*)str
{
NSMutableDictionary *params = [[NSMutableDictionary alloc] init];
NSRange range = [str rangeOfString:@"?"];
NSString *query = @"";
if (range.location == NSNotFound){
if([str rangeOfString:@"&"].location != NSNotFound && [str rangeOfString:@"="].location != NSNotFound){
query = str;
}else{
return params;
}
}else{
query = [str substringFromIndex:range.location + 1];
}
for (NSString *param in [query componentsSeparatedByString:@"&"]) {
NSArray *elts = [param componentsSeparatedByString:@"="];
if([elts count] < 2) continue;
[params setObject:[[elts lastObject] stringByRemovingPercentEncoding]
forKey:[[elts firstObject] stringByRemovingPercentEncoding]];
}
return params;
}