解决了语音上传到问题,接下来要解决下载播放问题

This commit is contained in:
joywayer
2025-06-15 12:36:47 +08:00
parent bba3ed1cb4
commit c11fc62bf1
513 changed files with 31197 additions and 2969 deletions

257
Pods/Qiniu/QiniuSDK/Collect/QNReportItem.m generated Normal file
View File

@@ -0,0 +1,257 @@
//
// QNReportItem.m
// QiniuSDK
//
// Created by yangsen on 2020/5/12.
// Copyright © 2020 Qiniu. All rights reserved.
//
#import "QNReportItem.h"
#import "QNAsyncRun.h"
#import "QNLogUtil.h"
@interface QNReportItem()
@property(nonatomic, strong)NSMutableDictionary *keyValues;
@end
@implementation QNReportItem
+ (instancetype)item{
QNReportItem *item = [[QNReportItem alloc] init];
return item;
}
- (instancetype)init{
if (self = [super init]) {
[self initData];
}
return self;
}
- (void)initData{
_keyValues = [NSMutableDictionary dictionary];
}
- (void)setReportValue:(id _Nullable)value forKey:(NSString * _Nullable)key{
if (!value || !key || ![key isKindOfClass:[NSString class]]) {
return;
}
if ([value isKindOfClass:[NSString class]] && [(NSString *)value length] > 1024) {
value = [(NSString *)value substringToIndex:1024];
}
[self.keyValues setValue:value forKey:key];
}
- (void)removeReportValueForKey:(NSString * _Nullable)key{
if (!key) {
return;
}
[self.keyValues removeObjectForKey:key];
}
- (NSString *)toJson{
NSString *jsonString = @"{}";
if (!self.keyValues || self.keyValues.count == 0) {
return jsonString;
}
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:self.keyValues
options:NSJSONWritingFragmentsAllowed
error:nil];
if (!jsonData) {
return jsonString;
}
jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
return jsonString;
}
@end
@implementation QNUploadInfoReporter(ReportItem)
- (void)reportItem:(QNReportItem *)item token:(NSString *)token{
NSString *itemJsonString = [item toJson];
QNLogInfo(@"up log:%@", itemJsonString);
if (itemJsonString && ![itemJsonString isEqualToString:@"{}"]) {
[kQNReporter report:itemJsonString token:token];
}
}
@end
@implementation QNResponseInfo(Report)
- (NSNumber *)requestReportStatusCode{
return @(self.statusCode);
}
- (NSString *)requestReportErrorType{
NSString *errorType = nil;
if (self.statusCode == -1){
errorType = @"network_error";
} else if (self.statusCode == kQNLocalIOError){
errorType = @"local_io_error";
} else if (self.statusCode == 100){
errorType = @"protocol_error";
} else if (self.statusCode > 199 && self.statusCode < 300) {
// NSURLErrorFailingURLErrorKey
} else if (self.statusCode > 299){
errorType = @"response_error";
} else if (self.statusCode == -1003){
errorType = @"unknown_host";
} else if (self.statusCode == -1009){
errorType = @"network_slow";
} else if (self.statusCode == -1001){
errorType = @"timeout";
} else if (self.statusCode == -1004){
errorType = @"cannot_connect_to_host";
} else if (self.statusCode == -1005 || self.statusCode == -1021){
errorType = @"transmission_error";
} else if ((self.statusCode <= -1200 && self.statusCode >= -1206) || self.statusCode == -2000 || self.statusCode == -9807){
errorType = @"ssl_error";
} else if (self.statusCode == -1015 || self.statusCode == -1016 || self.statusCode == -1017){
errorType = @"parse_error";
} else if (self.statusCode == -1007 || self.statusCode == -1010 || self.statusCode == kQNMaliciousResponseError){
errorType = @"malicious_response";
} else if (self.statusCode == kQNUnexpectedSysCallError
|| (self.statusCode > -1130 && self.statusCode <= -1010)){
errorType = @"unexpected_syscall_error";
} else if (self.statusCode == kQNRequestCancelled
|| self.statusCode == NSURLErrorCancelled){
errorType = @"user_canceled";
} else {
errorType = @"unknown_error";
}
return errorType;
}
- (NSString *)qualityResult{
NSString *result = nil;
if (self.statusCode > 199 && self.statusCode < 300) {
result = @"ok";
} else if (self.statusCode > 399 &&
(self.statusCode < 500 || self.statusCode == 573 || self.statusCode == 579 ||
self.statusCode == 608 || self.statusCode == 612 || self.statusCode == 614 || self.statusCode == 630 || self.statusCode == 631 ||
self.statusCode == 701)) {
result = @"bad_request";
} else if (self.statusCode == kQNZeroDataSize){
result = @"zero_size_file";
} else if (self.statusCode == kQNFileError){
result = @"invalid_file";
} else if (self.statusCode == kQNInvalidToken
|| self.statusCode == kQNInvalidArgument){
result = @"invalid_args";
}
if (result == nil) {
result = [self requestReportErrorType];
}
return result;
}
@end
//MARK:--
NSString * const QNReportLogTypeRequest = @"request";
NSString * const QNReportLogTypeBlock = @"block";
NSString * const QNReportLogTypeQuality = @"quality";
//MARK:--
NSString * const QNReportRequestKeyLogType = @"log_type";
NSString * const QNReportRequestKeyUpTime = @"up_time";
NSString * const QNReportRequestKeyStatusCode = @"status_code";
NSString * const QNReportRequestKeyRequestId = @"req_id";
NSString * const QNReportRequestKeyHost = @"host";
NSString * const QNReportRequestKeyHttpVersion = @"http_version";
NSString * const QNReportRequestKeyRemoteIp = @"remote_ip";
NSString * const QNReportRequestKeyPort = @"port";
NSString * const QNReportRequestKeyTargetBucket = @"target_bucket";
NSString * const QNReportRequestKeyTargetKey = @"target_key";
NSString * const QNReportRequestKeyTotalElapsedTime = @"total_elapsed_time";
NSString * const QNReportRequestKeyDnsElapsedTime = @"dns_elapsed_time";
NSString * const QNReportRequestKeyConnectElapsedTime = @"connect_elapsed_time";
NSString * const QNReportRequestKeyTLSConnectElapsedTime = @"tls_connect_elapsed_time";
NSString * const QNReportRequestKeyRequestElapsedTime = @"request_elapsed_time";
NSString * const QNReportRequestKeyWaitElapsedTime = @"wait_elapsed_time";
NSString * const QNReportRequestKeyResponseElapsedTime = @"response_elapsed_time";
NSString * const QNReportRequestKeyFileOffset = @"file_offset";
NSString * const QNReportRequestKeyBytesSent = @"bytes_sent";
NSString * const QNReportRequestKeyBytesTotal = @"bytes_total";
NSString * const QNReportRequestKeyPid = @"pid";
NSString * const QNReportRequestKeyTid = @"tid";
NSString * const QNReportRequestKeyTargetRegionId = @"target_region_id";
NSString * const QNReportRequestKeyCurrentRegionId = @"current_region_id";
NSString * const QNReportRequestKeyErrorType = @"error_type";
NSString * const QNReportRequestKeyErrorDescription = @"error_description";
NSString * const QNReportRequestKeyUpType = @"up_type";
NSString * const QNReportRequestKeyOsName = @"os_name";
NSString * const QNReportRequestKeyOsVersion = @"os_version";
NSString * const QNReportRequestKeySDKName = @"sdk_name";
NSString * const QNReportRequestKeySDKVersion = @"sdk_version";
NSString * const QNReportRequestKeyClientTime = @"client_time";
NSString * const QNReportRequestKeyHttpClient = @"http_client";
NSString * const QNReportRequestKeyNetworkType = @"network_type";
NSString * const QNReportRequestKeySignalStrength = @"signal_strength";
NSString * const QNReportRequestKeyPrefetchedDnsSource = @"prefetched_dns_source";
NSString * const QNReportRequestKeyDnsSource = @"dns_source";
NSString * const QNReportRequestKeyDnsErrorMessage = @"dns_error_message";
NSString * const QNReportRequestKeyPrefetchedBefore = @"prefetched_before";
NSString * const QNReportRequestKeyPrefetchedErrorMessage = @"prefetched_error_message";
NSString * const QNReportRequestKeyNetworkMeasuring = @"network_measuring";
NSString * const QNReportRequestKeyPerceptiveSpeed = @"perceptive_speed";
NSString * const QNReportRequestKeyHijacking = @"hijacking";
//MARK:--
NSString * const QNReportBlockKeyLogType = @"log_type";
NSString * const QNReportBlockKeyUpTime = @"up_time";
NSString * const QNReportBlockKeyTargetBucket = @"target_bucket";
NSString * const QNReportBlockKeyTargetKey = @"target_key";
NSString * const QNReportBlockKeyTargetRegionId = @"target_region_id";
NSString * const QNReportBlockKeyCurrentRegionId = @"current_region_id";
NSString * const QNReportBlockKeyTotalElapsedTime = @"total_elapsed_time";
NSString * const QNReportBlockKeyBytesSent = @"bytes_sent";
NSString * const QNReportBlockKeyRecoveredFrom = @"recovered_from";
NSString * const QNReportBlockKeyFileSize = @"file_size";
NSString * const QNReportBlockKeyPid = @"pid";
NSString * const QNReportBlockKeyTid = @"tid";
NSString * const QNReportBlockKeyUpApiVersion = @"up_api_version";
NSString * const QNReportBlockKeyClientTime = @"client_time";
NSString * const QNReportBlockKeyOsName = @"os_name";
NSString * const QNReportBlockKeyOsVersion = @"os_version";
NSString * const QNReportBlockKeySDKName = @"sdk_name";
NSString * const QNReportBlockKeySDKVersion = @"sdk_version";
NSString * const QNReportBlockKeyPerceptiveSpeed = @"perceptive_speed";
NSString * const QNReportBlockKeyHijacking = @"hijacking";
//MARK:--
NSString * const QNReportQualityKeyLogType = @"log_type";
NSString * const QNReportQualityKeyUpType = @"up_type";
NSString * const QNReportQualityKeyUpTime = @"up_time";
NSString * const QNReportQualityKeyResult = @"result";
NSString * const QNReportQualityKeyTargetBucket = @"target_bucket";
NSString * const QNReportQualityKeyTargetKey = @"target_key";
NSString * const QNReportQualityKeyTotalElapsedTime = @"total_elapsed_time";
NSString * const QNReportQualityKeyUcQueryElapsedTime = @"uc_query_elapsed_time";
NSString * const QNReportQualityKeyRequestsCount = @"requests_count";
NSString * const QNReportQualityKeyRegionsCount = @"regions_count";
NSString * const QNReportQualityKeyBytesSent = @"bytes_sent";
NSString * const QNReportQualityKeyFileSize = @"file_size";
NSString * const QNReportQualityKeyCloudType = @"cloud_type";
NSString * const QNReportQualityKeyErrorType = @"error_type";
NSString * const QNReportQualityKeyErrorDescription = @"error_description";
NSString * const QNReportQualityKeyOsName = @"os_name";
NSString * const QNReportQualityKeyOsVersion = @"os_version";
NSString * const QNReportQualityKeySDKName = @"sdk_name";
NSString * const QNReportQualityKeySDKVersion = @"sdk_version";
NSString * const QNReportQualityKeyPerceptiveSpeed = @"perceptive_speed";
NSString * const QNReportQualityKeyHijacking = @"hijacking";