Jelajahi Sumber

分享功能扩展。

Steven 2 tahun lalu
induk
melakukan
cc241dfe21

TEMPAT SAMPAH
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Chat/share_group.imageset/share_group@2x.png


TEMPAT SAMPAH
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Chat/share_group.imageset/share_group@3x.png


+ 22 - 0
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Chat/share_saveLink.imageset/Contents.json

@@ -0,0 +1,22 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "share_saveLink@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "share_saveLink@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

TEMPAT SAMPAH
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Chat/share_saveLink.imageset/share_saveLink@2x.png


TEMPAT SAMPAH
KulexiuForStudent/KulexiuForStudent/Assets.xcassets/Chat/share_saveLink.imageset/share_saveLink@3x.png


+ 11 - 1
KulexiuForStudent/KulexiuForStudent/Common/Base/KSBaseWKWebViewController.m

@@ -688,9 +688,19 @@ typedef NS_ENUM(NSInteger, CHOOSETYPE) {
     NSString *shareTitle = [content stringValueForKey:@"title"];
     NSString *descMessage = [content stringValueForKey:@"desc"];
     NSString *videoUrl = [content stringValueForKey:@"video"];
+    NSString *saveLinkUrl = [content stringValueForKey:@"url"];
     NSString *imgStr = [content stringValueForKey:@"image"];
     UIImage *shareImage = [self imageWithBase64String:imgStr];
-    [KSUMShareManager shareInstanceWithImage:shareImage url:videoUrl shareTitle:shareTitle descMessage:descMessage shareType:shareType showInView:self callback:^(BOOL isSuccess, NSString *descMessage) {
+    NSArray *buttonArray = [content arrayValueForKey:@"button"];
+    BOOL containCopyButton = NO;
+    for (NSString *nameString in buttonArray) {
+        if ([nameString isEqualToString:@"copy"]) {
+            containCopyButton = YES;
+            break;
+        }
+    }
+    
+    [KSUMShareManager shareInstanceShowWithImage:shareImage showSaveLink:containCopyButton saveLinkUrl:saveLinkUrl url:videoUrl shareTitle:shareTitle descMessage:descMessage shareType:shareType showInView:self callback:^(BOOL isSuccess, NSString * _Nonnull descMessage) {
         NSMutableDictionary *responParm = [NSMutableDictionary dictionary];
         [responParm setValue:[parm stringValueForKey:@"api"] forKey:@"api"];
         NSMutableDictionary *content = [NSMutableDictionary dictionary];

+ 1 - 0
KulexiuForStudent/KulexiuForStudent/Common/Tools/UMShare/KSUMShareManager.h

@@ -22,6 +22,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 + (instancetype)shareInstanceWithImage:(UIImage *)image url:(NSString *)url shareTitle:(NSString *)shareTitle descMessage:(NSString *)descMessage shareType:(KSSHARETYPE)type showInView:(UIViewController *)ctrl callback:(KSShareActionCallback)callback;
 
++ (instancetype)shareInstanceShowWithImage:(UIImage *)image showSaveLink:(BOOL)showSaveLink saveLinkUrl:(NSString *)saveLinkUrl url:(NSString *)url shareTitle:(NSString *)shareTitle descMessage:(NSString *)descMessage shareType:(KSSHARETYPE)type showInView:(UIViewController *)ctrl callback:(KSShareActionCallback)callback;
 
 @end
 

+ 32 - 21
KulexiuForStudent/KulexiuForStudent/Common/Tools/UMShare/KSUMShareManager.m

@@ -27,6 +27,8 @@
 
 @property (nonatomic, assign) KSSHARETYPE shareType;
 
+@property (nonatomic, strong) NSString *saveLinkUrl;
+
 @end
 
 @implementation KSUMShareManager
@@ -47,6 +49,29 @@
     if (callback) {
         manager.callback = callback;
     }
+    [UMSocialUIManager removeCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+2];
+    [manager openShareView];
+    return manager;
+}
+
++ (instancetype)shareInstanceShowWithImage:(UIImage *)image showSaveLink:(BOOL)showSaveLink saveLinkUrl:(NSString *)saveLinkUrl url:(NSString *)url shareTitle:(NSString *)shareTitle descMessage:(NSString *)descMessage shareType:(KSSHARETYPE)type showInView:(UIViewController *)ctrl callback:(KSShareActionCallback)callback {
+    KSUMShareManager *manager = [[self alloc] init];
+    manager.shareType = type;
+    manager.shareImage = image;
+    manager.shareUrl = url;
+    manager.shareTitle = shareTitle;
+    manager.displayCtrl = ctrl;
+    manager.shareMessage = descMessage;
+    if (callback) {
+        manager.callback = callback;
+    }
+    manager.saveLinkUrl = saveLinkUrl;
+    if (showSaveLink) {
+        [UMSocialUIManager addCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+2 withPlatformIcon:[UIImage imageNamed:@"share_saveLink"] withPlatformName:@"复制链接"];
+    }
+    else {
+        [UMSocialUIManager removeCustomPlatformWithoutFilted:UMSocialPlatformType_UserDefine_Begin+2];
+    }
     [manager openShareView];
     return manager;
 }
@@ -62,6 +87,7 @@
                     __strong typeof(weakSelf) strongSelf = weakSelf;
                     if (strongSelf.callback) {
                         strongSelf.callback(isSuccess,descMsg);
+                        [MBProgressHUD ksShowMessage:descMsg];
                     }
                 }];
                 [self.displayCtrl.navigationController pushViewController:shareGroupCtrl animated:YES];
@@ -69,32 +95,15 @@
             else {
                 if (self.callback) {
                     self.callback(NO,@"仅支持图片分享到群组");
+                    [MBProgressHUD ksShowMessage:@"仅支持图片分享到群组"];
                 }
             }
             
         }
         else if (platformType == UMSocialPlatformType_UserDefine_Begin+2) { // 图片保存到相册
-            if (self.shareType == KSSHARETYPE_IMAGE) {
-                // 判断相册权限
-                
-                [[TZImageManager manager] savePhotoWithImage:self.shareImage completion:^(PHAsset *asset, NSError *error) {
-                    if (!error) {
-                        if (self.callback) {
-                            self.callback(YES,@"保存成功");
-                        }
-                    }
-                    else {
-                        if (self.callback) {
-                            self.callback(NO,@"保存失败");
-                        }
-                    }
-                }];
-            }
-            else  {
-                if (self.callback) {
-                    self.callback(NO,@"仅支持图片保存");
-                }
-            }
+            UIPasteboard *pasteboard = [UIPasteboard generalPasteboard];
+            pasteboard.string = self.saveLinkUrl;
+            [MBProgressHUD ksShowMessage:@"复制成功"];
         }
         else {
             //创建分享消息对象
@@ -127,6 +136,7 @@
                     NSLog(@"************分享失败 %@*********",error);
                     if (self.callback) {
                         self.callback(NO, @"分享失败");
+                        [MBProgressHUD ksShowMessage:@"分享失败"];
                     }
                 }else{
                     if ([data isKindOfClass:[UMSocialShareResponse class]]) {
@@ -135,6 +145,7 @@
                         NSLog(@"************分享成功 %@*********",resp.message);
                         if (self.callback) {
                             self.callback(YES,@"分享成功");
+                            [MBProgressHUD ksShowMessage:@"分享成功"];
                         }
                     }else{
                         NSLog(@"response data is %@",data);

+ 4 - 6
KulexiuForStudent/KulexiuForStudent/Module/Live/Controller/LiveVideoRoomViewController.m

@@ -631,7 +631,6 @@ static int clickPraiseBtnTimes  = 0;
                 
                 strongSelf.micStatus = MICSTATUS_CONNECTING;
                 // 刷新麦位状态
-//                [strongSelf renderSeatView];
             });
             
         } onFailed:^(RCRTCCode code) {
@@ -680,6 +679,8 @@ static int clickPraiseBtnTimes  = 0;
                         [streamArray addObjectsFromArray:user.remoteStreams];
                     }
                 }
+                strongSelf.micStatus = MICSTATUS_NOMAL;
+
                 if (streamArray.count) {
                     [strongSelf subscribeRemoteResource:streamArray];
                 }
@@ -688,9 +689,7 @@ static int clickPraiseBtnTimes  = 0;
                 }
                 
                 
-                strongSelf.micStatus = MICSTATUS_NOMAL;
                 // 刷新麦位状态
-//                [strongSelf renderSeatView];
                 // 发送下麦消息
                 [weakSelf sendDownSeatMessage];
             });
@@ -702,7 +701,6 @@ static int clickPraiseBtnTimes  = 0;
                 if (code == RCRTCCodeSwitchRoleSameRoleError) {
                     weakSelf.liveRoleType = RCRTCLiveRoleTypeAudience;
                     weakSelf.micStatus = MICSTATUS_NOMAL;
-                    [weakSelf renderSeatView];
                 }
                 else {
                     // 失败
@@ -1753,8 +1751,8 @@ static int clickPraiseBtnTimes  = 0;
             }];
             clickPraiseBtnTimes = 0;
             
-            self.likeCount += praiseSendMessage.counts;
-            [self countLikeMessageCount];
+//            self.likeCount += praiseSendMessage.counts;
+//            [self countLikeMessageCount];
         }
     });
     KSLiveChatroomLike *praiseMessage = [[KSLiveChatroomLike alloc] init];

+ 0 - 1
KulexiuForStudent/KulexiuForStudent/Module/Login/Controller/InstrumentChooseViewController.m

@@ -23,7 +23,6 @@
 
 @property (nonatomic, copy) InstrumentChooseBottonView *bottomView;
 
-
 @property (nonatomic, strong) InstrumentMessageModel *chooseModel;
 
 @property (nonatomic, strong) NSIndexPath *chooseIndexPath;