迁移仓库

This commit is contained in:
2026-02-24 09:55:08 +08:00
parent 2d5c056b82
commit df6210aaf7
30 changed files with 1121 additions and 81 deletions

View File

@@ -0,0 +1,69 @@
//
// GDWebURLSessionService.m
// DESThreeTest
//
// Created by Qwerdf on 2025/10/24.
// Copyright © 2025 zhang alan. All rights reserved.
//
#import "GDWebURLSessionService.h"
#import "GDWebURLSessionDelegate.h"
@implementation GDWebURLSessionService
#pragma mark -
- (instancetype)initWithSchemeTask:(id<WKURLSchemeTask>)task {
if (self = [super init]) {
_schemeTask = task;
}
return self;
}
#pragma mark - GDWebCustomURLSchemeProtocol
+ (BOOL)canService:(id<WKURLSchemeTask>)task {
//
return YES;
}
- (void)startLoading:(void (^)(void))completion {
self.completion = completion;
NSURLRequest *request = self.schemeTask.request;
//
// self.dataTask = [[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {
// if (error) {
// [self.schemeTask didFailWithError:error];
// } else {
// [self.schemeTask didReceiveResponse:response];
// if (data) [self.schemeTask didReceiveData:data];
// [self.schemeTask didFinish];
// }
// if (completion) completion();
// }];
// [self.dataTask resume];
// ===== NSURLSession + =====
// Cookie
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
// schemeTask
GDWebURLSessionDelegate *sessionDelegate = [[GDWebURLSessionDelegate alloc] initWithSchemeTask:self.schemeTask completion:completion];
sessionDelegate.stopMarkDic = self.stopMarkDic; // dic
// delegateQueue nil
NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:sessionDelegate delegateQueue:nil];
// sharedSession dataTask
self.dataTask = [session dataTaskWithRequest:request];
[self.dataTask resume];
}
- (void)stopLoading {
[self.dataTask cancel];
self.dataTask = nil;
self.schemeTask = nil;
if (self.completion) self.completion();
}
@end