商店包版本修改 此commit置顶 1.0.3
This commit is contained in:
@@ -88,6 +88,7 @@
|
||||
239EA6532BAEA73100570127 /* RoomChatScreenContentCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 239EA6522BAEA73100570127 /* RoomChatScreenContentCell.swift */; };
|
||||
239EA65A2BAEB48A00570127 /* RoomDynamicEffectView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 239EA6592BAEB48A00570127 /* RoomDynamicEffectView.swift */; };
|
||||
239EA65F2BAED9B900570127 /* YinCustomAttachmentCoding.swift in Sources */ = {isa = PBXBuildFile; fileRef = 239EA65E2BAED9B900570127 /* YinCustomAttachmentCoding.swift */; };
|
||||
239EA6642BAF03B400570127 /* YinGetPointGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = 239EA6632BAF03B400570127 /* YinGetPointGroup.m */; };
|
||||
23EE96E02B9EB22100475D69 /* RoomMenuView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE96DF2B9EB22100475D69 /* RoomMenuView.swift */; };
|
||||
23EE96E22B9EB22F00475D69 /* RoomSendTextView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE96E12B9EB22F00475D69 /* RoomSendTextView.swift */; };
|
||||
23EE96E62B9EE79A00475D69 /* RoomVCViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 23EE96E52B9EE79A00475D69 /* RoomVCViewModel.swift */; };
|
||||
@@ -256,6 +257,8 @@
|
||||
239EA6522BAEA73100570127 /* RoomChatScreenContentCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomChatScreenContentCell.swift; sourceTree = "<group>"; };
|
||||
239EA6592BAEB48A00570127 /* RoomDynamicEffectView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomDynamicEffectView.swift; sourceTree = "<group>"; };
|
||||
239EA65E2BAED9B900570127 /* YinCustomAttachmentCoding.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YinCustomAttachmentCoding.swift; sourceTree = "<group>"; };
|
||||
239EA6622BAF03B400570127 /* YinGetPointGroup.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YinGetPointGroup.h; sourceTree = "<group>"; };
|
||||
239EA6632BAF03B400570127 /* YinGetPointGroup.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YinGetPointGroup.m; sourceTree = "<group>"; };
|
||||
23EE96DF2B9EB22100475D69 /* RoomMenuView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomMenuView.swift; sourceTree = "<group>"; };
|
||||
23EE96E12B9EB22F00475D69 /* RoomSendTextView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RoomSendTextView.swift; sourceTree = "<group>"; };
|
||||
23EE96E52B9EE79A00475D69 /* RoomVCViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoomVCViewModel.swift; sourceTree = "<group>"; };
|
||||
@@ -1206,6 +1209,8 @@
|
||||
E81A7BA92B885B1F009E736E /* yinmeng-ios-Bridging-Header.h */,
|
||||
2311D6C92B91BBF2001C70AB /* RecordVoiceManager.h */,
|
||||
2311D6CA2B91BBF2001C70AB /* RecordVoiceManager.m */,
|
||||
239EA6622BAF03B400570127 /* YinGetPointGroup.h */,
|
||||
239EA6632BAF03B400570127 /* YinGetPointGroup.m */,
|
||||
239EA64F2BAE998E00570127 /* YYTextAsyncLayer+YinTextAsyncLayer.h */,
|
||||
239EA6502BAE998E00570127 /* YYTextAsyncLayer+YinTextAsyncLayer.m */,
|
||||
);
|
||||
@@ -1413,6 +1418,7 @@
|
||||
E8D15AE82B8CD47100369467 /* WebViewController.swift in Sources */,
|
||||
E89F194B2B919ECB0098E797 /* ChatImageCell.swift in Sources */,
|
||||
234E2E2A2B9AC07B00433CF7 /* MicSeatGiftValueView.swift in Sources */,
|
||||
239EA6642BAF03B400570127 /* YinGetPointGroup.m in Sources */,
|
||||
23EE96EA2B9F01F900475D69 /* RoomChatData.swift in Sources */,
|
||||
E8D15AA12B89AF4F00369467 /* UserTokenObject.swift in Sources */,
|
||||
234E2E0E2B99A24F00433CF7 /* RoomQuitItemModel.swift in Sources */,
|
||||
|
@@ -23,6 +23,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)initWithRecord;
|
||||
-(void)stopRecord;
|
||||
- (void)playFilePathVoice;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YYTextAsyncLayer+XPTextAsyncLayer.h
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2023/10/28.
|
||||
// Created by yinmeng on 2023/10/28.
|
||||
//
|
||||
|
||||
#import <YYText/YYTextAsyncLayer.h>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YYTextAsyncLayer+XPTextAsyncLayer.m
|
||||
// xplan-ios
|
||||
//
|
||||
// Created by duoban on 2023/10/28.
|
||||
// Created by yinmeng on 2023/10/28.
|
||||
//
|
||||
|
||||
#import "YYTextAsyncLayer+YinTextAsyncLayer.h"
|
||||
|
16
yinmeng-ios/Base/Security/YinGetPointGroup.h
Normal file
16
yinmeng-ios/Base/Security/YinGetPointGroup.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// YinGetPointGroup.h
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YinGetPointGroup : NSObject
|
||||
+ (CAAnimationGroup *)getGroupPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint centerPoint:(CGPoint)centerPoint;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
68
yinmeng-ios/Base/Security/YinGetPointGroup.m
Normal file
68
yinmeng-ios/Base/Security/YinGetPointGroup.m
Normal file
@@ -0,0 +1,68 @@
|
||||
//
|
||||
// YinGetPointGroup.m
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
#import "YinGetPointGroup.h"
|
||||
|
||||
@implementation YinGetPointGroup
|
||||
|
||||
+ (CAAnimationGroup *)getGroupPoint:(CGPoint)startPoint endPoint:(CGPoint)endPoint centerPoint:(CGPoint)centerPoint{
|
||||
|
||||
CAKeyframeAnimation *animation0 = [CAKeyframeAnimation animation];
|
||||
animation0.duration = 0.8;
|
||||
animation0.keyPath = @"transform.scale";
|
||||
animation0.values = @[@1.0,@1.5,@2.0,@1.5];
|
||||
animation0.repeatCount = 1;
|
||||
animation0.calculationMode = kCAAnimationCubic;
|
||||
animation0.removedOnCompletion = NO;
|
||||
animation0.fillMode = kCAFillModeForwards;
|
||||
|
||||
CAKeyframeAnimation *animation1 = [CAKeyframeAnimation animation];
|
||||
animation1.duration = 0.8;
|
||||
animation1.beginTime = 0.8;
|
||||
animation1.keyPath = @"transform.scale";
|
||||
animation1.values = @[@1.5,@2.0,@2.5,@3.0];
|
||||
animation1.repeatCount = 1;
|
||||
animation1.calculationMode = kCAAnimationCubic;
|
||||
animation1.removedOnCompletion = NO;
|
||||
animation1.fillMode = kCAFillModeForwards;
|
||||
|
||||
|
||||
CAKeyframeAnimation *animation2 = [CAKeyframeAnimation animation];
|
||||
animation2.duration = 0.8;
|
||||
animation2.beginTime = 0.8;
|
||||
animation2.keyPath = @"position";
|
||||
animation2.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];;
|
||||
animation2.values = @[[NSValue valueWithCGPoint:startPoint],[NSValue valueWithCGPoint:CGPointMake(centerPoint.x ,centerPoint.y)]];
|
||||
animation2.repeatCount = 1;
|
||||
animation2.removedOnCompletion = NO;
|
||||
animation2.fillMode = kCAFillModeForwards;
|
||||
|
||||
CAKeyframeAnimation *animation3 = [CAKeyframeAnimation animation];
|
||||
animation3.duration = 0.8;
|
||||
animation3.beginTime = 2.6;//0.8+0.8+1
|
||||
animation3.keyPath = @"transform.scale";
|
||||
animation3.values = @[@3,@2.5,@2,@1.5,@1];
|
||||
animation3.repeatCount = 1;
|
||||
|
||||
CAKeyframeAnimation *animation4 = [CAKeyframeAnimation animation];
|
||||
animation4.duration = 0.8;
|
||||
animation4.beginTime = 2.6;
|
||||
animation4.keyPath = @"position";
|
||||
animation4.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut];
|
||||
animation4.values = @[[NSValue valueWithCGPoint:CGPointMake(centerPoint.x ,centerPoint.y)],[NSValue valueWithCGPoint:endPoint]];
|
||||
animation4.repeatCount = 1;
|
||||
|
||||
CAAnimationGroup *group = [CAAnimationGroup animation];
|
||||
group.duration = 3.2;
|
||||
group.animations = @[animation0,animation1,animation2, animation3,animation4];
|
||||
group.repeatCount = 1;
|
||||
group.removedOnCompletion = NO;
|
||||
group.fillMode = kCAFillModeForwards;
|
||||
|
||||
return group;
|
||||
}
|
||||
@end
|
@@ -16,4 +16,4 @@
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
#import <YYText/YYText.h>
|
||||
#import "UIView+VAP.h"
|
||||
|
||||
#import "YinGetPointGroup.h"
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// Enum.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// UIButtom+.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// UILabel+.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinClientInfoModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRankH5UrlModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// ChatCustomMsgModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// ChatMsgRemoteModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinCustomAttachmentCoding.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeSearchNavView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/21.
|
||||
// Created by yinmeng on 2024/3/21.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeSearchRoomCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/21.
|
||||
// Created by yinmeng on 2024/3/21.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeSearchRoomModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/21.
|
||||
// Created by yinmeng on 2024/3/21.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeSearchRoomVC.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/21.
|
||||
// Created by yinmeng on 2024/3/21.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeSearchVC.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/21.
|
||||
// Created by yinmeng on 2024/3/21.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// HomeVoiceSearchView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/20.
|
||||
// Created by yinmeng on 2024/3/20.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatData.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomDataModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomAgoraManager.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomAudioanager.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomTRTCManager.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomVC.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
import NIMSDK
|
||||
import UIKit
|
||||
@@ -332,6 +332,44 @@ extension RoomVC : NIMChatManagerDelegate, NIMChatroomManagerDelegate, NIMLoginM
|
||||
}else if msg.messageType == .custom{
|
||||
chatScreenView.dealWithCustomMsg(msg: msg)
|
||||
roomEffectView.dealWithCustomMsg(msg: msg)
|
||||
if let obj = msg.messageObject as? NIMCustomObject,let customObj = obj.attachment as? ChatCustomMsgModel{
|
||||
if customObj.first == 3 || customObj.first == 12{
|
||||
if let model = Deserialized<RectiveGiftModel>.toModel(with: customObj.data),let gift = model.gift == nil ? model.giftInfo : model.gift {
|
||||
var userList:[String] = []
|
||||
if userList.count <= 0 {
|
||||
for item in model.targetUsers {
|
||||
userList.append("\(item.uid)")
|
||||
}
|
||||
if userList.count <= 0{
|
||||
userList.append(model.targetUid)
|
||||
}
|
||||
}
|
||||
var starPoint = CGPoint(x: ScreenWidth/2, y: NavHeight)
|
||||
if let point = micSeatView.getPointWithCell(uid: model.uid){
|
||||
if point.x <= 0 || point.y <= 0{
|
||||
|
||||
}else{
|
||||
starPoint = point
|
||||
}
|
||||
}
|
||||
|
||||
var curPoint = CGPoint(x: ScreenWidth/2, y: NavHeight)
|
||||
for userUid in userList{
|
||||
|
||||
if let point = micSeatView.getPointWithCell(uid: userUid){
|
||||
if point.x <= 0 || point.y <= 0{
|
||||
|
||||
}else{
|
||||
curPoint = point
|
||||
}
|
||||
}
|
||||
|
||||
roomEffectView.startPlayAnimation(url: gift.giftUrl, start: starPoint, end: curPoint)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
micSeatView.dealWithNotMessage(msg: msg)
|
||||
menuView.dealWithNotMessage(msg: msg)
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomVCViewModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// File.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/12.
|
||||
// Created by yinmeng on 2024/3/12.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// MicSeatModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// MicSequenceModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// NormalMicSeatCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// MicSeatSuperView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// NormalMicSeatSuperView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
@@ -258,7 +258,9 @@ extension NormalMicSeatSuperView:UICollectionViewDelegate,UICollectionViewDataSo
|
||||
}
|
||||
return cell
|
||||
}
|
||||
|
||||
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
|
||||
|
||||
guard let roomUid = self.roomData?.roomId else { return }
|
||||
let user = roomUserList[indexPath.row]
|
||||
var index:Int = -2
|
||||
@@ -312,7 +314,26 @@ extension NormalMicSeatSuperView:UICollectionViewDelegate,UICollectionViewDataSo
|
||||
}
|
||||
}
|
||||
}
|
||||
func getPointWithCell(uid:String)->CGPoint?{
|
||||
if let user = roomOwnerView.user,let userId = user.uid{
|
||||
if uid == "\(userId)"{
|
||||
return CGPoint(x: ScreenWidth/2, y: UIDevice.scaleWidth(width: 152))
|
||||
}
|
||||
}
|
||||
var point = CGPoint(x: 0, y: 0)
|
||||
for i in 0..<8 {
|
||||
|
||||
if let cell = collectionView.cellForItem(at: IndexPath(row: i, section: 0)) as? NormalMicSeatCell{
|
||||
if let user = cell.user,let curUid = user.uid,"\(curUid)" == uid{
|
||||
let width = (ScreenWidth - UIDevice.scaleWidth(width: 20))/4
|
||||
let x = CGFloat(i) * width + UIDevice.scaleWidth(width: 10) + width / 2
|
||||
point = CGPoint(x: x, y: i < 4 ? UIDevice.scaleWidth(width: 273) : UIDevice.scaleWidth(width: 418))
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return point
|
||||
}
|
||||
func dealWithNotMessage(msg:NIMMessage){
|
||||
if let notMsg = msg.messageObject as? NIMNotificationObject,let content = notMsg.content as? NIMChatroomNotificationContent{
|
||||
switch content.eventType {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// MicSeatGiftNumView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// NormalMicSeatView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomNormalMicSeatView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/7.
|
||||
// Created by yinmeng on 2024/3/7.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomBackgroundView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomMsgListModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/12.
|
||||
// Created by yinmeng on 2024/3/12.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatScreenContentCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatScreenHeaderView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatScreenUserChatView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatScreenView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/8.
|
||||
// Created by yinmeng on 2024/3/8.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomChatScreenManager.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,11 +2,11 @@
|
||||
// RoomDynamicEffectView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
||||
import Nuke
|
||||
|
||||
class RoomDynamicEffectView: UIView{
|
||||
|
||||
@@ -20,6 +20,7 @@ class RoomDynamicEffectView: UIView{
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
private func setUILayout(){
|
||||
backgroundColor = .clear
|
||||
addSubview(vapView)
|
||||
addSubview(svgaView)
|
||||
vapView.snp.makeConstraints { make in
|
||||
@@ -53,7 +54,7 @@ class RoomDynamicEffectView: UIView{
|
||||
|
||||
return _svgaParser
|
||||
}()
|
||||
|
||||
var giftViewList:NSMutableSet = []
|
||||
}
|
||||
|
||||
extension RoomDynamicEffectView:SVGAPlayerDelegate,HWDMP4PlayDelegate {
|
||||
@@ -69,8 +70,9 @@ extension RoomDynamicEffectView:SVGAPlayerDelegate,HWDMP4PlayDelegate {
|
||||
func playSvgaEffect(model:RectiveGiftModel){
|
||||
guard let gift = model.gift == nil ? model.giftInfo : model.gift else { return }
|
||||
if let url = URL(string: gift.vggUrl){
|
||||
svgaView.isHidden = false
|
||||
|
||||
svgaParser.parse(with: url) { item in
|
||||
self.svgaView.isHidden = false
|
||||
if let _item = item{
|
||||
let width = _item.videoSize.width
|
||||
let height = _item.videoSize.height
|
||||
@@ -139,10 +141,26 @@ extension RoomDynamicEffectView:SVGAPlayerDelegate,HWDMP4PlayDelegate {
|
||||
vapView.isHidden = true
|
||||
svgaView.isHidden = true
|
||||
}
|
||||
func startPlayAnimation(url:String,start:CGPoint,end:CGPoint){
|
||||
|
||||
|
||||
let imageView = UIImageView(frame: CGRect(x: 0, y: 0, width: UIDevice.scaleWidth(width: 55), height: UIDevice.scaleWidth(width: 55)))
|
||||
imageView.center = start
|
||||
imageView.layer.anchorPoint = CGPoint(x: 0.5, y: 0.5)
|
||||
|
||||
Nuke.loadImage(with: url, into: imageView, completion: nil)
|
||||
self.addSubview(imageView)
|
||||
let g = YinGetPointGroup.getPoint(start, end: end, center: CGPoint(x: ScreenWidth/2, y: ScreenHeight/2))
|
||||
imageView.layer.add(g, forKey: "kPlayAnimation")
|
||||
self.perform(#selector(imageViewDidFinish(imageView:)), with: imageView, afterDelay: 4)
|
||||
}
|
||||
@objc func imageViewDidFinish(imageView:UIImageView){
|
||||
imageView.removeFromSuperview()
|
||||
imageView.image = nil
|
||||
|
||||
}
|
||||
func dealWithCustomMsg(msg:NIMMessage){
|
||||
if let obj = msg.messageObject{
|
||||
print(obj)
|
||||
}
|
||||
|
||||
if let obj = msg.messageObject as? NIMCustomObject,let customObj = obj.attachment as? ChatCustomMsgModel{
|
||||
if customObj.first == 3 || customObj.first == 12{
|
||||
if let model = Deserialized<RectiveGiftModel>.toModel(with: customObj.data),let gift = model.gift == nil ? model.giftInfo : model.gift {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomMenuView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomSendTextView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/11.
|
||||
// Created by yinmeng on 2024/3/11.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitItemModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/7.
|
||||
// Created by yinmeng on 2024/3/7.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitViewModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/7.
|
||||
// Created by yinmeng on 2024/3/7.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitClickCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitUserInfoCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitUserInfoEmptyCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomQuitView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomRankModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RoomTopView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/6.
|
||||
// Created by yinmeng on 2024/3/6.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomRankItemView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// YinRoomRankView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RectiveGiftModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// RectiveGiftUserModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/23.
|
||||
// Created by yinmeng on 2024/3/23.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftSendNumModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftUserModel.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/14.
|
||||
// Created by yinmeng on 2024/3/14.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftSendNumCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftSendNumView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
@@ -58,6 +58,7 @@ class SendGiftSendNumView: UIView {
|
||||
|
||||
|
||||
}
|
||||
|
||||
//MARK: - 懒加载
|
||||
var listData:[SendGiftSendNumModel] = []
|
||||
private lazy var visualEffectView:UIVisualEffectView = {
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftSendView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftTopView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/14.
|
||||
// Created by yinmeng on 2024/3/14.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftUserCell.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/14.
|
||||
// Created by yinmeng on 2024/3/14.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftUserView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/14.
|
||||
// Created by yinmeng on 2024/3/14.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftVC.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SendGiftView.swift
|
||||
// yinmeng-ios
|
||||
//
|
||||
// Created by duoban on 2024/3/22.
|
||||
// Created by yinmeng on 2024/3/22.
|
||||
//
|
||||
|
||||
import UIKit
|
||||
|
Reference in New Issue
Block a user