w3action 1.3.5

w3action 1.3.5

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2016 年 8 月

pisces 维护。



 
依赖库
PSFoundation>= 0
apxml>= 0
 

w3action 1.3.5

  • 作者
  • pisces

w3action 是一个库,帮助您轻松快速地使用 HTTP 连接来开发应用程序。

使用说明

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install

AppDelegate

#import "AppDelegate.h"
#import <w3action/w3action.h>

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Add plist file for configuration
    [[HTTPActionManager sharedInstance] addResourceWithBundle:[NSBundle mainBundle] plistName:@"action"];

    return YES;
}

@end

数据类型 JSON

[[HTTPActionManager sharedInstance] doAction:@"example-datatype-json" 
    param:nil body:nil headers:nil success:^(NSDictionary *result){
    NSLog(@"JSON result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

数据类型 XML

[[HTTPActionManager sharedInstance] doAction:@"example-datatype-xml" 
    param:nil body:nil headers:nil success:^(APDocument *result){
    NSLog(@"XML result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

数据类型 Text

[[HTTPActionManager sharedInstance] doAction:@"example-datatype-text" 
    param:nil body:nil headers:nil success:^(NSString *result){
    NSLog(@"Text result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

表单数据 multipart

UIImage *image = [[UIImage alloc] init];
NSData *imageData = UIImagePNGRepresentation(image);
MultipartFormDataObject *object = [MultipartFormDataObject objectWithFilename:@"sample.png" data:imageData];

[[HTTPActionManager sharedInstance] doAction:@"example-contenttype-multipart" 
    param:nil body:object headers:nil success:^(NSString *result){
    NSLog(@"JSON result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

URL 路径参数

NSDictionary *param = @{@"resourceFolderName": @"resources"};

[[HTTPActionManager sharedInstance] doAction:@"example-datatype-text" 
    param:nil body:object headers:nil success:^(NSString *result){
    NSLog(@"JSON result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

直接使用,不使用配置文件

NSDictionary *action = [NSMutableDictionary dictionary];
[action setValue:@"url" forKey:@"https://raw.github.com/pisces/w3action/master/w3action-master/resources/example.json"
[action setValue:@"method" forKey:HTTP_METHOD_POST];
[action setValue:@"contentType" forKey:ContentTypeApplicationJSON];
[action setValue:@"dataType" forKey:DataTypeJSON];
[action setValue:@"timeout" forKey:@"10"];

HTTPRequestObject *object = [[HTTPRequestObject alloc] init];
object.action = action;
object.param = @{@"p1": @"easy", @"p2": @"simple"};

[[HTTPActionManager sharedInstance] doActionWithRequestObject:object success:^(NSDictionary *result){
    NSLog(@"JSON result -> %@", result);
} error:^(NSError *error){
    NSLog(@"error -> %@", error);
}];

为配置创建 *.plist 文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Actions</key>
    <dict>
        <key>example-datatype-json</key>
        <dict>
            <key>url</key>
            <string>https://raw.github.com/pisces/w3action/master/w3action-master/resources/example.json</string>
            <key>method</key>
            <string>GET</string>
            <key>contentType</key>
            <string>application/x-www-form-urlencoded</string>
            <key>dataType</key>
            <string>json</string>
            <key>timeout</key>
            <string>10</string>
            <key>async</key>
            <false/>
        </dict>
        <key>example-datatype-xml</key>
        <dict>
            <key>url</key>
            <string>https://raw.github.com/pisces/w3action/master/w3action-master/resources/example.xml</string>
            <key>method</key>
            <string>GET</string>
            <key>contentType</key>
            <string>application/x-www-form-urlencoded</string>
            <key>dataType</key>
            <string>xml</string>
            <key>timeout</key>
            <string>10</string>
            <key>async</key>
            <false/>
        </dict>
        <key>example-datatype-text</key>
        <dict>
            <key>url</key>
            <string>https://raw.github.com/pisces/w3action/master/w3action-master/resources/example.text</string>
            <key>method</key>
            <string>GET</string>
            <key>contentType</key>
            <string>application/x-www-form-urlencoded</string>
            <key>dataType</key>
            <string>text</string>
            <key>timeout</key>
            <string>10</string>
            <key>async</key>
            <false/>
        </dict>
        <key>example-contenttype-multipart</key>
        <dict>
            <key>url</key>
            <string>https://raw.github.com/pisces/w3action/master/w3action-master/resources/example-multipart.json</string>
            <key>method</key>
            <string>GET</string>
            <key>contentType</key>
            <string>multipart/form-data</string>
            <key>dataType</key>
            <string>json</string>
            <key>timeout</key>
            <string>10</string>
            <key>async</key>
            <false/>
        </dict>
        <key>example-path-param</key>
        <dict>
            <key>url</key>
            <string>https://raw.github.com/pisces/w3action/master/w3action-master/{resourceFolderName}/example.json</string>
            <key>method</key>
            <string>GET</string>
            <key>contentType</key>
            <string>application/x-www-form-urlencoded</string>
            <key>dataType</key>
            <string>json</string>
            <key>timeout</key>
            <string>10</string>
            <key>async</key>
            <false/>
        </dict>
    </dict>
</dict>
</plist>

要求

iOS 开发目标 7.0 以上

安装

w3action 通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中即可

pod "w3action"

在项目根目录创建配置用的 *.plist 文件

作者

pisces, [email protected]

许可证

w3action 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。