直播软件源码中,有些平台会更愿意开发商城功能,通过添加商品、直播短视频带货实现盈利,那么,直播软件源码添加商品功能是如何实现的呢?
上传数据时设置每一个子页面都有一个bool值来记录图片上传存储有没有成功,如果都上传完成再提交服务器
-(void)uploadImage:(NSString *)token{
YBWeakSelf;
QNConfiguration *config = [QNConfiguration build:^(QNConfigurationBuilder *builder) {
builder.zone = [QNFixedZone zone0];
}];
QNUploadOption *option = [[QNUploadOption alloc]initWithMime:nil progressHandler:^(NSString *key, float percent) {
} params:nil checkCrc:NO cancellationSignal:nil];
QNUploadManager *upManager = [[QNUploadManager alloc] initWithConfiguration:config];
if (self.titleImgArr.count > 0) {
NSMutableArray *imageUrlArray = [NSMutableArray array];
thumbs = @"";
for (int i = 0; i < self.titleImgArr.count ; i ++) {
if ([self.titleImgArr[i] isKindOfClass:[UIImage class]]) {
UIImage *image =self.titleImgArr[i];
NSData *imageData = UIImagePNGRepresentation(image);
if (!imageData) {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"图片错误")];
return;
}
NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_title_image%d_cover.png", i]];
[upManager putData:imageData key:imageName token:token complete:^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
if (info.ok) {
[imageUrlArray addObject:key];
if (imageUrlArray.count == self.titleImgArr.count) {
for (NSString *str in imageUrlArray) {
if (thumbs.length == 0) {
thumbs = str;
}else{
thumbs = [NSString stringWithFormat:@"%@,%@",thumbs,str];
}
}
NSLog(@"-------标题图片合并完成------:%@",thumbs);
thumbsBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[weakSelf submitService];
}
}
}else {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"提交失败")];
}
} option:option];
}else{
NSString *imgthumb = [self.titleImgArr[i] stringByReplacingOccurrencesOfString:[common qiniu_domain] withString:@""];
[imageUrlArray addObject:imgthumb];
if (imageUrlArray.count == self.titleImgArr.count) {
for (NSString *str in imageUrlArray) {
if (thumbs.length == 0) {
thumbs = str;
}else{
thumbs = [NSString stringWithFormat:@"%@,%@",thumbs,str];
}
}
NSLog(@"-------标题图片合并完成------:%@",thumbs);
thumbsBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[weakSelf submitService];
}
}
}
}
}
if (self.detailImgArr.count > 0) {
NSMutableArray *imageUrlArray = [NSMutableArray array];
pictures = @"";
for (int i = 0; i < self.detailImgArr.count ; i ++) {
if ([self.detailImgArr[i] isKindOfClass:[UIImage class]]) {
UIImage *image =self.detailImgArr[i];
NSData *imageData = UIImagePNGRepresentation(image);
if (!imageData) {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"图片错误")];
return;
}
NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_detail_image%d_cover.png", i]];
[upManager putData:imageData key:imageName token:token complete:^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
if (info.ok) {
NSLog(@"addcommm-----detail-----key:%@",key);
[imageUrlArray addObject:key];
if (imageUrlArray.count == self.detailImgArr.count) {
for (NSString *str in imageUrlArray) {
if (pictures.length == 0) {
pictures = str;
}else{
pictures = [NSString stringWithFormat:@"%@,%@",pictures,str];
}
}
picturesBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[self submitService];
}
NSLog(@"-------内容图片合并完成------:%@",pictures);
}
}else {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"提交失败")];
}
} option:option];
}else{
NSString *imgthumb = [self.detailImgArr[i] stringByReplacingOccurrencesOfString:[common qiniu_domain] withString:@""];
[imageUrlArray addObject:imgthumb];
if (imageUrlArray.count == self.detailImgArr.count) {
for (NSString *str in imageUrlArray) {
if (pictures.length == 0) {
pictures = str;
}else{
pictures = [NSString stringWithFormat:@"%@,%@",pictures,str];
}
}
picturesBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[self submitService];
}
NSLog(@"-------内容图片合并完成------:%@",pictures);
}
}
}
}else{
picturesBool = YES;
pictures = @"";
if (standardsBool && thumbsBool && picturesBool) {
[self submitService];
}
}
for (int i = 0; i < standarsArr.count; i ++) {
StandardsView *imgVVVV = standarsArr[i];
if ([imgVVVV.imageArray[0] isKindOfClass:[UIImage class]]) {
UIImage *image =imgVVVV.imageArray[0];
NSData *imageData = UIImagePNGRepresentation(image);
if (!imageData) {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"图片错误")];
return;
}
NSString *imageName = [PublicObj getNameBaseCurrentTime:[NSString stringWithFormat:@"_commodity_standard_image%d_cover.png", i]];
[upManager putData:imageData key:imageName token:token complete:^(QNResponseInfo *info, NSString *key, NSDictionary *resp) {
if (info.ok) {
[self.standardsImgArr addObject:key];
if (self.standardsImgArr.count == standarsArr.count) {
standardsBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[self submitService];
}
}
}else {
[MBProgressHUD hideHUD];
[MBProgressHUD showError:YZMsg(@"提交失败")];
}
} option:option];
}else{
[self.standardsImgArr addObject:imgVVVV.imageArray[0]];
if (self.standardsImgArr.count == standarsArr.count) {
standardsBool = YES;
if (standardsBool && thumbsBool && picturesBool) {
[self submitService];
}
}
}
}
}
直播软件源码上传的商品规格需要获取所有添加的页面数据组成josn串
NSMutableArray *specsArr = [NSMutableArray array];
for (int i = 0; i < standarsArr.count; i ++) {
StandardsView *imgVVVV = standarsArr[i];
NSString *standard_image = [NSString stringWithFormat:@"_standard_image%d",i];
NSString *selImageStr;
for (NSString *picStr in self.standardsImgArr) {
if ([picStr containsString:standard_image]) {
selImageStr = picStr;
}
}
NSString *spec_id = [NSString stringWithFormat:@"%d",i+1];
NSString *spec_name = imgVVVV.nameField.text;
NSString *spec_num = imgVVVV.countField.text;
NSString *price = imgVVVV.priceField.text;
NSString *thumb = selImageStr;
NSMutableDictionary *specDic = [NSMutableDictionary dictionary];
[specDic setValue:spec_id forKey:@"spec_id"];
[specDic setValue:spec_name forKey:@"spec_name"];
[specDic setValue:spec_num forKey:@"spec_num"];
[specDic setValue:price forKey:@"price"];
[specDic setValue:thumb forKey:@"thumb"];
[specsArr addObject:specDic];
}
NSString *specsStr = [self gs_jsonStringCompactFormatForNSArray:specsArr];
自此所有数据上传服务器完成
更多与直播软件源码有关的疑问,可以在评论区给我留言。