button / DeepLinkKit

A splendid route-matching, block-based way to handle your deep links.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

query parameter has base64string

TimberTang opened this issue · comments

like this
schema://entry?q=eyJ0eXBlIjoiTUVTU0FHRV9ERVRBSUwiLCJpZCI6Ik00YzNmNmE5Yzc4MjA0ZTE3OTQyZDBiMjdiNjFlZmEyMyIsInN0YXR1cyI6IkVOQUJMRUQiLCJxdWVyeSI6eyJib2R5IjoiQSBnZW50bGUgcmVtaW5kZXIgdGhhdCBTR0QgMTAuMDAgd2lsbCBiZSBkZWR1Y3RlZCBmb3IgdGhlIDJuZCBQYXltZW50IGZvciB5b3VyIG9yZGVyIE8wNTg1OTY5OTg4IG9uIDAxLUF1Zy0yMDIwLiIsImNyZWF0ZVRpbWUiOjE1OTU5OTUyMDAyMDAsImlzUmVhZCI6dHJ1ZSwibWVzc2FnZUlkIjoiTTRjM2Y2YTljNzgyMDRlMTc5NDJkMGIyN2I2MWVmYTIzIiwidGl0bGUiOiJQYXltZW50IFJlbWluZGVyIiwidXNlcklkIjoiVTVEQ0NDNzNDQ0M0ODc2MDAwMTA0MTRGQSJ9fQ==

this is the code for parameterFromQuery

  • (NSDictionary *)DPL_parametersFromQueryString {
    NSArray *params = [self componentsSeparatedByString:@"&"];
    NSMutableDictionary *paramsDict = [NSMutableDictionary dictionaryWithCapacity:[params count]];
    for (NSString *param in params) {
    NSArray *pairs = [param componentsSeparatedByString:@"="];
    if (pairs.count == 2) {
    // e.g. ?key=value
    NSString *key = [pairs[0] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    NSString *value = [pairs[1] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    paramsDict[key] = value;
    }
    else if (pairs.count == 1) {
    // e.g. ?key
    NSString *key = [[pairs firstObject] DPL_stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
    paramsDict[key] = @"";
    }
    }
    return [paramsDict copy];
    }