提交 d16f846b 编写于 作者: Y yixiangboy

mock结果预览页底部添加上传数据的功能

上级 6c62d02b
......@@ -39,6 +39,8 @@ NS_ASSUME_NONNULL_BEGIN
- (NSMutableArray<DoraemonMockUpLoadModel *> *)filterUpLoadArray;
- (void)uploadSaveData:(DoraemonMockUpLoadModel *)upload atView:(UIView *)view;
@end
NS_ASSUME_NONNULL_END
......
......@@ -292,6 +292,44 @@
}
- (void)uploadSaveData:(DoraemonMockUpLoadModel *)upload atView:(UIView *)view{
NSString *apiId = upload.apiId;
NSString *result = upload.result;
NSString *projectId = [DoraemonManager shareInstance].pId;
if (projectId && projectId.length > 0) {
if (!result) {
return;
}
NSDictionary *params = @{
@"projectId":projectId,
@"id":apiId,
@"tempData":result
};
[DoraemonNetworkUtil patchWithUrlString:@"https://mock.dokit.cn/api/app/interface" params:params success:^(NSDictionary * _Nonnull result) {
[self showToast:@"上传成功" atView:view];
} error:^(NSError * _Nonnull error) {
DoKitLog(@"error == %@",error);
[self showToast:@"上传失败" atView:view];
}];
}else{
DoKitLog(@"上传模板接口必须要传pid");
}
}
- (void)showToast:(NSString *)toast atView:view{
if ([NSThread isMainThread]) {
[DoraemonToastUtil showToastBlack:toast inView:view];
}else{
dispatch_async(dispatch_get_main_queue(), ^{
[DoraemonToastUtil showToastBlack:toast inView:view];
});
}
}
#pragma mark -- DoraemonNetworkInterceptorDelegate
- (void)doraemonNetworkInterceptorDidReceiveData:(NSData *)data response:(NSURLResponse *)response request:(NSURLRequest *)request error:(NSError *)error startTime:(NSTimeInterval)startTime {
if ([self needSave:request]) {
......
......@@ -43,11 +43,14 @@
}
#pragma mark - DoraemonMockUploadListViewDelegate
- (void)previewClick:(NSString *)result{
- (void)previewClick:(DoraemonMockUpLoadModel *)uploadModel{
NSString *result = uploadModel.result;
if (result && result.length>0) {
DoraemonMockDataPreviewViewController *vc = [[DoraemonMockDataPreviewViewController alloc] init];
vc.result = result;
vc.upLoadModel = uploadModel;
[self.navigationController pushViewController:vc animated:YES];
}else{
[DoraemonToastUtil showToastBlack:@"数据预览为空" inView:self.view];
}
}
......
......@@ -6,12 +6,13 @@
//
#import "DoraemonBaseViewController.h"
#import "DoraemonMockUpLoadModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface DoraemonMockDataPreviewViewController : DoraemonBaseViewController
@property (nonatomic, copy) NSString *result;
@property (nonatomic, strong) DoraemonMockUpLoadModel *upLoadModel;
@end
......
......@@ -6,6 +6,7 @@
//
#import "DoraemonMockDataPreviewViewController.h"
#import "DoraemonMockManager.h"
#import "DoraemonDefine.h"
@interface DoraemonMockDataPreviewViewController ()
......@@ -19,12 +20,22 @@
- (void)viewDidLoad {
[super viewDidLoad];
self.title = @"数据预览";
CGFloat upLoadBtnHeight = kDoraemonSizeFrom750_Landscape(100);
CGFloat tabBarHeight = self.tabBarController.tabBar.doraemon_height;
_textView = [[UITextView alloc] initWithFrame:CGRectMake(0, IPHONE_NAVIGATIONBAR_HEIGHT, self.view.doraemon_width, self.view.doraemon_height-IPHONE_NAVIGATIONBAR_HEIGHT-tabBarHeight)];
_textView.text = _result;
_textView = [[UITextView alloc] initWithFrame:CGRectMake(0, IPHONE_NAVIGATIONBAR_HEIGHT, self.view.doraemon_width, self.view.doraemon_height-IPHONE_NAVIGATIONBAR_HEIGHT-tabBarHeight-upLoadBtnHeight)];
_textView.text = self.upLoadModel.result;
[self.view addSubview:_textView];
UIButton *upLoadBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, _textView.doraemon_bottom, self.view.doraemon_width, upLoadBtnHeight)];
upLoadBtn.backgroundColor = [UIColor doraemon_blue];
[upLoadBtn setTitle:@"上传模板" forState:UIControlStateNormal];
[upLoadBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[upLoadBtn addTarget:self action:@selector(upload) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:upLoadBtn];
}
- (void)upload{
[[DoraemonMockManager sharedInstance] uploadSaveData:self.upLoadModel atView:self.view];
}
@end
......@@ -9,6 +9,7 @@
#import "DoraemonMockBaseModel.h"
#import "DoraemonDefine.h"
#import "DoraemonMockDetailSwitch.h"
#import "DoraemonMockUpLoadModel.h"
NS_ASSUME_NONNULL_BEGIN
......@@ -18,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
- (void)cellExpandClick;
- (void)sceneBtnClick;
- (void)cellSwitchClick;
- (void)previewClick:(NSString *)result;
- (void)previewClick:(DoraemonMockUpLoadModel *)uploadModel;
@end
......
......@@ -73,47 +73,13 @@
- (void)preview{
DoraemonMockUpLoadModel *upload = (DoraemonMockUpLoadModel *)self.model;
if (self.delegate && [self.delegate respondsToSelector:@selector(previewClick:)]) {
[self.delegate previewClick:upload.result];
[self.delegate previewClick:upload];
}
}
- (void)upload{
DoraemonMockUpLoadModel *upload = (DoraemonMockUpLoadModel *)self.model;
NSString *apiId = upload.apiId;
NSString *result = upload.result;
NSString *projectId = [DoraemonManager shareInstance].pId;
if (projectId && projectId.length > 0) {
if (!result) {
return;
}
NSDictionary *params = @{
@"projectId":projectId,
@"id":apiId,
@"tempData":result
};
[DoraemonNetworkUtil patchWithUrlString:@"https://mock.dokit.cn/api/app/interface" params:params success:^(NSDictionary * _Nonnull result) {
[self showToast:@"上传成功"];
} error:^(NSError * _Nonnull error) {
DoKitLog(@"error == %@",error);
[self showToast:@"上传失败"];
}];
}else{
DoKitLog(@"上传模板接口必须要传pid");
}
}
- (void)showToast:(NSString *)toast{
if ([NSThread isMainThread]) {
[DoraemonToastUtil showToastBlack:toast inView:self];
}else{
dispatch_async(dispatch_get_main_queue(), ^{
[DoraemonToastUtil showToastBlack:toast inView:self];
});
}
[[DoraemonMockManager sharedInstance] uploadSaveData:upload atView:self];
}
- (NSString *)convertToJsonData:(NSDictionary *)dict
......
......@@ -6,11 +6,12 @@
//
#import "DoraemonMockBaseListView.h"
#import "DoraemonMockUpLoadModel.h"
NS_ASSUME_NONNULL_BEGIN
@protocol DoraemonMockUploadListViewDelegate <NSObject>
- (void)previewClick:(NSString *)result;
- (void)previewClick:(DoraemonMockUpLoadModel *)uploadModel;
@end
......
......@@ -46,9 +46,9 @@
}
#pragma mark - DoraemonMockBaseCellDelegate
- (void)previewClick:(NSString *)result{
- (void)previewClick:(DoraemonMockUpLoadModel *)uploadModel{
if (_delegate && [_delegate respondsToSelector:@selector(previewClick:)]) {
[_delegate previewClick:result];
[_delegate previewClick:uploadModel];
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册