[图片] 第二步很关键: swifterswift中的URLEncode 不支持RFC3986标准, 自己实现,看我第二张图片的实现截图
商家转账,用户确认收款,ios app始终提示package_info信息有误?商家转账,用户确认收款,ios app始终提示package_info信息有误,但同样的参数小程序就能正常拉起确认收款。[图片] [图片]问题已解决,query参数value值urlencode。直接使用addingPercentEncoding不可行,需要新增字符集,之后对value编码即可。 extension String { func urlEncodedRFC3986() -> String? { let allowed = CharacterSet(charactersIn: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~") return self.addingPercentEncoding(withAllowedCharacters: allowed) } }
05-12微信文档太不靠谱了
Objective-C 的UrlEncode字符处理失败?移动端应用APP中集成开放SDK调起微信请求用户确认收款。 Objective-C 的UrlEncode处理正确的写法是什么 我是用以下代码UrlEncode处理不正确,特殊字符没有被编码 // 1. 确保已注册 AppID [WXApi registerApp:wxAppId ]; // 2. 发起请求 WXOpenBusinessViewReq *req = [WXOpenBusinessViewReq object]; req.businessType = @"requestMerchantTransfer"; // 对 packageInfo 进行 URL 编码 NSString *encodedPackageInfo = [packageInfo stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]]; req.query = [NSString stringWithFormat:@"mchId=11230000000&appId=wx8888888888888888&package=%@", encodedPackageInfo]; NSLog(@"openChargeHuihu req.query: %@", req.query); // 3. 调用最新版微信 SDK 方法 [WXApi sendReq:req completion:^(BOOL success) { if (!success) { NSLog(@"微信请求发送失败!"); } }];
05-12