From ce788b48717156fc5ea115afa3c3f7b332ce3b82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:10:58 +0800 Subject: [PATCH 1/8] =?UTF-8?q?chatUI=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Chat/Controller/ChatViewController.swift | 14 +-- .../Controller/GroupChatViewController.swift | 6 +- .../Controller/P2PChatViewController.swift | 4 +- .../UserSettingViewController.swift | 11 +-- .../Classes/Chat/Emoji/NEEmotionTool.swift | 4 +- .../Classes/Chat/Helper/MessageUtils.swift | 3 +- .../Chat/Model/CustomerSampleAttachment.swift | 56 +++++++++++ .../Chat/Model/MessageContentModel.swift | 2 +- .../Classes/Chat/Model/MessageTextModel.swift | 2 +- .../Chat/View/Cell/ChatBaseLeftCell.swift | 14 ++- .../Chat/View/Cell/ChatBaseRightCell.swift | 13 ++- .../View/Cell/ChatTimeTableViewCell.swift | 2 +- .../Chat/ViewModel/ChatViewModel.swift | 92 ++++++++++--------- .../Chat/ViewModel/TeamChatViewModel.swift | 4 +- .../Chat/ViewModel/TeamMemberSelectVM.swift | 2 +- .../Chat/ViewModel/UserSettingViewModel.swift | 2 +- .../Classes/ChatConfig/ChatUIConfig.swift | 44 +++++++++ .../Classes/ChatConfig/NEKitChatConfig.swift | 21 +++++ .../Classes/ChatRouter/ChatRouter.swift | 2 +- 19 files changed, 223 insertions(+), 75 deletions(-) create mode 100644 NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift create mode 100644 NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift create mode 100644 NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift index b8b184f7..986e85fb 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift @@ -12,7 +12,10 @@ import NEKitCommon import NEKitCore import NEKitCommonUI import WebKit -public class ChatViewController: NEBaseViewController, UINavigationControllerDelegate, ChatInputViewDelegate, ChatViewModelDelegate, NIMMediaManagerDelegate,MessageOperationViewDelegate, UIGestureRecognizerDelegate { + +@objcMembers + +open class ChatViewController: NEBaseViewController, UINavigationControllerDelegate, ChatInputViewDelegate, ChatViewModelDelegate, NIMMediaManagerDelegate,MessageOperationViewDelegate, UIGestureRecognizerDelegate { private let tag = "ChatViewController" public var viewmodel:ChatViewModel @@ -37,7 +40,7 @@ public class ChatViewController: NEBaseViewController, UINavigationControllerDel NIMSDK.shared().mediaManager.setNeedProximityMonitor(viewmodel.getHandSetEnable()) } - required init?(coder: NSCoder) { + required public init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @@ -72,7 +75,6 @@ public class ChatViewController: NEBaseViewController, UINavigationControllerDel tableView.translatesAutoresizingMaskIntoConstraints = false tableView.separatorStyle = .none tableView.showsVerticalScrollIndicator = false - tableView.backgroundColor = .red tableView.delegate = self tableView.dataSource = self tableView.backgroundColor = .white @@ -150,7 +152,7 @@ extension ChatViewController: ChatBaseCellDelegate { if let uid = model?.message?.from { FriendProvider.shared.fetchUserInfo(accountList: [uid]) {[weak self] users, error in if let u = users.first { - Router.shared.use("xkit://contact/userinfo/page", parameters: ["nav": self?.navigationController as Any, "user" : u], closure: nil) + Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": self?.navigationController as Any, "user" : u], closure: nil) } } } @@ -1229,7 +1231,7 @@ extension ChatViewController { weak var weakSelf = self let userAction = UIAlertAction(title: localizable("contact_user"), style: .default) { action in - Router.shared.register("didSelectedAccids") { param in + Router.shared.register(ContactSelectedUsersRouter) { param in print("user setting accids : ", param) var items = [ForwardItem]() @@ -1337,7 +1339,7 @@ extension ChatViewController { extension ChatViewController { @objc func toSetting() { if viewmodel.session.sessionType == .team { - Router.shared.use("xkit://team.setting.view", parameters: ["nav": navigationController as Any, "teamid": viewmodel.session.sessionId], closure: nil) + Router.shared.use(TeamSettingViewRouter, parameters: ["nav": navigationController as Any, "teamid": viewmodel.session.sessionId], closure: nil) }else if viewmodel.session.sessionType == .P2P { let userSetting = UserSettingViewController() userSetting.userId = viewmodel.session.sessionId diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift index 63e565b2..4cf37335 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift @@ -6,7 +6,9 @@ import UIKit import NIMSDK import NEKitCoreIM -public class GroupChatViewController: ChatViewController, TeamChatViewModelDelegate { + +@objcMembers +open class GroupChatViewController: ChatViewController, TeamChatViewModelDelegate { // override init(session: NIMSession) { // super.init(session: session) @@ -23,7 +25,7 @@ public class GroupChatViewController: ChatViewController, TeamChatViewModelDeleg } - required init?(coder: NSCoder) { + required public init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift index f7035b10..01c4ba2a 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift @@ -4,7 +4,9 @@ import UIKit import NIMSDK -public class P2PChatViewController: ChatViewController { + +@objcMembers +open class P2PChatViewController: ChatViewController { public override func viewDidLoad() { super.viewDidLoad() diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift index e5af0778..3b317274 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift @@ -133,7 +133,7 @@ public class UserSettingViewController: NEBaseViewController, UserSettingViewMod @objc func createDiscuss(){ weak var weakSelf = self - Router.shared.register("didSelectedAccids") { param in + Router.shared.register(ContactSelectedUsersRouter) { param in print("user setting create disscuss : ", param) var convertParam = [String: Any]() param.forEach { (key: String, value: Any) in @@ -144,7 +144,7 @@ public class UserSettingViewController: NEBaseViewController, UserSettingViewMod } } weakSelf?.view.makeToastActivity(.center) - Router.shared.use("xkit://team.create.discuss", parameters: convertParam, closure: nil) + Router.shared.use(TeamCreateDisuss, parameters: convertParam, closure: nil) } var filters = Set() if let uid = userId { @@ -153,14 +153,12 @@ public class UserSettingViewController: NEBaseViewController, UserSettingViewMod Router.shared.use(ContactUserSelectRouter, parameters: ["nav": navigationController as Any, "filters":filters, "limit": 199], closure: nil) - Router.shared.register("xkit://team.create.discuss.result") { param in + Router.shared.register(TeamCreateDiscussResult) { param in print("create discuss ", param) weakSelf?.view.hideToastActivity() if let code = param["code"] as? Int, let teamid = param["teamId"] as? String, code == 0 { let session = NIMSession(teamid, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) - DispatchQueue.main.async { if let allControllers = weakSelf?.navigationController?.viewControllers.filter({ if $0.isKind(of: P2PChatViewController.self) || $0.isKind(of: UserSettingViewController.self) { @@ -169,6 +167,7 @@ public class UserSettingViewController: NEBaseViewController, UserSettingViewMod return true }){ weakSelf?.navigationController?.viewControllers = allControllers + Router.shared.use(ChatPushGroupVC, parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) } } }else if let error = param["msg"] as? String { @@ -179,7 +178,7 @@ public class UserSettingViewController: NEBaseViewController, UserSettingViewMod @objc func showUserInfo(){ if let user = viewmodel.userInfo { - Router.shared.use("xkit://contact/userinfo/page", parameters: ["nav": navigationController as Any, "user" : user], closure: nil) + Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": navigationController as Any, "user" : user], closure: nil) } } diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift index 4bca2fb7..21e9da86 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift @@ -5,7 +5,7 @@ import UIKit public class NEEmotionTool: NSObject { - class func getAttWithStr(str:String,font:UIFont, _ offset: CGPoint = CGPoint(x: 0, y: -3) )->NSAttributedString { + class func getAttWithStr(str:String,font:UIFont, _ offset: CGPoint = CGPoint(x: 0, y: -3) )->NSMutableAttributedString { let regular = "\\[[^\\[|^\\]]+\\]" var reExpression: NSRegularExpression? = nil @@ -19,7 +19,7 @@ public class NEEmotionTool: NSObject { let emoticons = NIMInputEmoticonManager.shared.emoticonCatalog(catalogID: NIMKit_EmojiCatalog)?.emoticons let attStr = NSMutableAttributedString(string: str, attributes: [ NSAttributedString.Key.font: font, - .foregroundColor:UIColor.ne_darkText + .foregroundColor:NEKitChatConfig.shared.ui.messageColor ]) if let regArr = regularArr,regArr.count > 0,let targetEmotions = emoticons { diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift index f25ac5b6..6e93716b 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift @@ -4,7 +4,8 @@ import Foundation import NIMSDK -import NEKitCore +import NEKitCoreIM + public class MessageUtils { public class func textMessage(text: String) -> NIMMessage { diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift new file mode 100644 index 00000000..602c058a --- /dev/null +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift @@ -0,0 +1,56 @@ +// +// CustomerSampleAttachment.swift +// NEKitChatUI +// +// Created by vvj on 2022/6/17. +// + +import UIKit +import NIMSDK + +public class CustomerAttachment: NSObject,NIMCustomAttachment { + + var title = "custAttachment" + + var subTitle = "subCustAttachment" + + public func encode() -> String { + return "" + } + + +} + + +public class CustomerAttachmentDecoder:NSObject, NIMCustomAttachmentCoding { + + public func decodeAttachment(_ content: String?) -> NIMCustomAttachment? { + + var attachment: NIMCustomAttachment? = nil + let data = content?.data(using: .utf8) + guard let dataInfo = data else { + return attachment + } + + let infoDict = try? JSONSerialization.jsonObject(with: dataInfo, options: .mutableContainers) + let infoResult = infoDict as? [String:Any] + let type = infoResult?["type"] as? Int + + switch type { + case 0: + attachment = decodeCustomMessage(info: infoDict as? [String : Any] ?? [String():String()]) + default: + print("test") + } + + return attachment + } + + + func decodeCustomMessage(info:[String:Any]) -> CustomerAttachment{ + let customAttachment = CustomerAttachment() + customAttachment.title = info["title"] as? String ?? "" + customAttachment.subTitle = info["subTitle"] as? String ?? "" + return customAttachment + } +} diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift index d5fae7e3..6b7095f0 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift @@ -65,7 +65,7 @@ public class MessageContentModel: MessageModel { required public init(message: NIMMessage?) { self.message = message contentSize = CGSize(width: 32.0, height: qChat_min_h) - if message?.session?.sessionType == .team && !CoreKitIMEngine.instance.isMySelf(message?.from) { + if message?.session?.sessionType == .team && !IMKitLoginManager.instance.isMySelf(message?.from) { self.fullNameHeight = 20 } print("self.fullNameHeight\(self.fullNameHeight)") diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift index 4ca628cb..451f0b44 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift @@ -13,7 +13,7 @@ class MessageTextModel: MessageContentModel { super.init(message: message) type = .text // text = message?.text - attributeStr = NEEmotionTool.getAttWithStr(str: message?.text ?? "", font: UIFont.systemFont(ofSize: 16)) + attributeStr = NEEmotionTool.getAttWithStr(str: message?.text ?? "", font: NEKitChatConfig.shared.ui.messageFont) let textSize = NEChatUITool.getSizeWithAtt(att: attributeStr ?? NSAttributedString.init(string: ""), font: DefaultTextFont(16), maxSize: CGSize.init(width: qChat_content_maxW, height: CGFloat.greatestFiniteMagnitude)) diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift index ba68732c..466b8e92 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift @@ -24,6 +24,7 @@ class ChatBaseLeftCell: ChatBaseCell { super.init(style: style, reuseIdentifier: reuseIdentifier) baseCommonUI() addGesture() + initSubviewsLayout() } required init?(coder: NSCoder) { @@ -75,7 +76,7 @@ class ChatBaseLeftCell: ChatBaseCell { ]) // bubbleImage - if let image = UIImage.ne_imageNamed(name: "chat_message_receive") { + if let image = NEKitChatConfig.shared.ui.leftBubbleBg { self.bubbleImage.image = image.resizableImage(withCapInsets: UIEdgeInsets.init(top: 35, left: 25, bottom: 10, right: 25)) } self.bubbleImage.translatesAutoresizingMaskIntoConstraints = false @@ -150,6 +151,15 @@ class ChatBaseLeftCell: ChatBaseCell { self.bubbleImage.addGestureRecognizer(messageLongPress) } + func initSubviewsLayout(){ + if NEKitChatConfig.shared.ui.avatarType == .rectangle { + avatarImage.layer.cornerRadius = NEKitChatConfig.shared.ui.avatarCornerRadius + }else if NEKitChatConfig.shared.ui.avatarType == .cycle { + avatarImage.layer.cornerRadius = 16.0 + } + } + + // MARK: event @objc func tapAvatar(tap: UITapGestureRecognizer) { print(#function) @@ -224,7 +234,7 @@ class ChatBaseLeftCell: ChatBaseCell { private func updatePinStatus(_ model: MessageContentModel) { self.pinLabel.isHidden = !model.isPined self.pinImage.isHidden = !model.isPined - self.contentView.backgroundColor = model.isPined ? UIColor.ne_yellowBackgroundColor : .white + self.contentView.backgroundColor = model.isPined ? NEKitChatConfig.shared.ui.chatPinColor : .white if model.isPined { if let text = model.pinShowName { self.pinLabel.text = text + localizable("pin_text") diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift index 7d3c2d0f..16232633 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift @@ -38,6 +38,7 @@ class ChatBaseRightCell: ChatBaseCell { super.init(style: style, reuseIdentifier: reuseIdentifier) baseCommonUI() addGesture() + initSubviewsLayout() } required init?(coder: NSCoder) { @@ -77,7 +78,7 @@ class ChatBaseRightCell: ChatBaseCell { // bubbleImage self.bubbleImage.translatesAutoresizingMaskIntoConstraints = false - if let image = UIImage.ne_imageNamed(name: "chat_message_send") { + if let image = NEKitChatConfig.shared.ui.rightBubbleBg { self.bubbleImage.image = image.resizableImage(withCapInsets: UIEdgeInsets.init(top: 35, left: 25, bottom: 10, right: 25)) } self.bubbleImage.isUserInteractionEnabled = true @@ -162,6 +163,14 @@ class ChatBaseRightCell: ChatBaseCell { } + func initSubviewsLayout(){ + if NEKitChatConfig.shared.ui.avatarType == .rectangle { + avatarImage.layer.cornerRadius = NEKitChatConfig.shared.ui.avatarCornerRadius + }else if NEKitChatConfig.shared.ui.avatarType == .cycle { + avatarImage.layer.cornerRadius = 16.0 + } + } + // MARK: event @objc func tapAvatar(tap: UITapGestureRecognizer) { print(#function) @@ -295,7 +304,7 @@ class ChatBaseRightCell: ChatBaseCell { private func updatePinStatus(_ model: MessageContentModel) { self.pinLabel.isHidden = !model.isPined self.pinImage.isHidden = !model.isPined - self.contentView.backgroundColor = model.isPined ? UIColor.ne_yellowBackgroundColor : .white + self.contentView.backgroundColor = model.isPined ? NEKitChatConfig.shared.ui.chatPinColor : .white if model.isPined { if let text = model.pinShowName { self.pinLabel.text = text + localizable("pin_text") diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift index a516b09c..e935ec32 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift @@ -29,7 +29,7 @@ class ChatTimeTableViewCell: UITableViewCell { private lazy var timeLable:UILabel = { let label = UILabel() label.font = DefaultTextFont(12) - label.textColor = UIColor.ne_emptyTitleColor + label.textColor = NEKitChatConfig.shared.ui.timeColor label.textAlignment = .center label.translatesAutoresizingMaskIntoConstraints = false return label diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift index 1b17b08c..3a35a47f 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift @@ -41,11 +41,12 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel //下拉时间戳 private var oldMsg: NIMMessage? + public var repo: ChatRepo = ChatRepo() public var operationModel: MessageContentModel? private var userInfo = [String : User]() public var isReplying = false - public let messagPageNum: UInt = 20 + public let messagPageNum: UInt = 100 private let className = "ChatViewModel" //可信时间戳 public var credibleTimestamp:TimeInterval = 0 @@ -59,9 +60,9 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel self.anchor = nil super.init() repo.addChatDelegate(delegate: self) - repo.addConversationDelegate(delegate: self) - repo.addSystemNotiDelegate(delegate: self) - repo.addChatExtDelegate(delegate: self) + repo.addSessionDelegate(delegate: self) + repo.addSystemNotificationDelegate(delegate: self) + repo.addChatExtendDelegate(delegate: self) } @@ -73,9 +74,9 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel isHistoryChat = true } repo.addChatDelegate(delegate: self) - repo.addConversationDelegate(delegate: self) - repo.addSystemNotiDelegate(delegate: self) - repo.addChatExtDelegate(delegate: self) + repo.addSessionDelegate(delegate: self) + repo.addSystemNotificationDelegate(delegate: self) + repo.addChatExtendDelegate(delegate: self) } public func sendTextMessage(text: String, _ completion: @escaping (Error?) -> Void) { @@ -109,13 +110,13 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel public func queryRoamMsgHasMoreTime(_ completion: @escaping (Error?,NSInteger,[MessageModel]?) -> Void){ // NIMIncompleteSessionInfo weak var weakSelf = self - repo.incompleteSessionInfo(session: session) { error, sessionInfos in + repo.getIncompleteSessionInfo(session: session) { error, sessionInfos in if error == nil { let sessionInfo = sessionInfos?.first //记录可信时间戳 weakSelf?.credibleTimestamp = sessionInfo?.timestamp ?? 0 if weakSelf?.anchor == nil { - weakSelf?.getMessageHistory(completion) + weakSelf?.getMessageHistory(self.oldMsg, completion) }else { //有锚点消息,从两个方向拉去消息 @@ -131,13 +132,13 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel public func queryRoamMsgHasMoreTime_v2(_ completion: @escaping (Error?,NSInteger,NSInteger,[MessageModel]?, Int) -> Void){ weak var weakSelf = self - repo.incompleteSessionInfo(session: session) { error, sessionInfos in + repo.getIncompleteSessionInfo(session: session) { error, sessionInfos in if error == nil { let sessionInfo = sessionInfos?.first //记录可信时间戳 weakSelf?.credibleTimestamp = sessionInfo?.timestamp ?? 0 if weakSelf?.anchor == nil { - weakSelf?.getMessageHistory({ error, value, models in + weakSelf?.getMessageHistory(self.newMsg, { error, value, models in completion(error, value, 0, models, 0) }) }else { @@ -199,8 +200,8 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } //查询本地历史消息 - public func getMessageHistory(_ completion: @escaping (Error?, NSInteger,[MessageModel]?) -> Void) { - ChatProvider.shared.getMessageHistory(session: self.session, message: self.oldMsg, limit: messagPageNum) { [weak self] error, messages in + public func getMessageHistory(_ message:NIMMessage?, _ completion: @escaping (Error?, NSInteger,[MessageModel]?) -> Void) { + ChatProvider.shared.getMessageHistory(session: self.session, message: message, limit: messagPageNum) { [weak self] error, messages in if let messageArray = messages, messageArray.count > 0 { self?.oldMsg = messageArray.first for msg in messageArray { @@ -216,6 +217,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel }) }else { + completion(error,0,self?.messages) } } @@ -223,12 +225,12 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel //查询更多本地历史消息 public func getMoreMessageHistory(_ completion: @escaping (Error?,NSInteger, [MessageModel]?) -> Void) { - - if messages.count > 0 { - self.oldMsg = messages.last?.message - } + weak var weakSelf = self - ChatProvider.shared.getMessageHistory(session: self.session, message: self.oldMsg, limit: messagPageNum) { [weak self] error, messages in + + let messageParam = self.oldMsg ?? self.newMsg + + ChatProvider.shared.getMessageHistory(session: self.session, message: messageParam, limit: messagPageNum) { [weak self] error, messages in if let messageArray = messages, messageArray.count > 0 { weakSelf?.oldMsg = messageArray.first @@ -247,6 +249,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel option.startTime = 0 option.endTime = self?.oldMsg?.timestamp ?? 0 option.limit = self?.messagPageNum ?? 100 + option.sync = true weakSelf?.getRemoteHistoryMessage(direction:.old,updateCredible:true,option: option, completion) } @@ -268,12 +271,13 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } } + } //查询远端历史消息 public func getRemoteHistoryMessage(direction:LoadMessageDirection,updateCredible:Bool, option:NIMHistoryMessageSearchOption, _ completion: @escaping (Error?,NSInteger, [MessageModel]?) -> Void){ weak var weakSelf = self - repo.fetchMessageHistory(session: self.session, option: option) { error, messages in + repo.getHistoryMessage(session: self.session, option: option) { error, messages in if error == nil { if let messageArray = messages, messageArray.count > 0 { if direction == .old { @@ -282,7 +286,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel weakSelf?.newMsg = messageArray.first } for msg in messageArray { - weakSelf?.addTimeMessage(msg) + weakSelf?.addTimeForHistoryMessage(msg) if let model = weakSelf?.modelFromMessage(message: msg) { weakSelf?.messages.insert(model, at: 0) } @@ -318,7 +322,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel option.startTime = 0 option.endTime = oldMsg?.timestamp ?? 0 option.limit = messagPageNum - + option.sync = true let isCredible = isMessageCredible(message: oldMsg ?? NIMMessage()) if isCredible {//继续拉去本地消息 getMoreMessageHistory(completion) @@ -408,8 +412,11 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel self.markReadInTeam(messages: messages, completion) } // mark session read + weak var weakself = self repo.markReadInSession(session) { error in - + if error != nil { + QChatLog.errorLog(weakself?.className() ?? "ChatViewModel", desc: "❌markReadInSession failed,error = \(error!)") + } } } @@ -417,7 +424,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel for message in messages.reversed() { if message.isReceivedMsg { let param = NIMMessageReceipt(message: message) - repo.markRead(param: param, completion) + repo.markP2pMessageRead(param: param, completion) break } } @@ -433,7 +440,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel receipts.append(receipt) } } - repo.markReadInTeam(param: receipts) { error, failedReceipts in + repo.markTeamMessageRead(param: receipts) { error, failedReceipts in print("!! chatViewModel markReadInTeam error:\(error)") completion(error) } @@ -445,7 +452,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } public func replyMessage(_ message: NIMMessage, _ target: NIMMessage, _ completion: @escaping (Error?)->()) { - repo.reply(message, target) { error in + repo.replyMessage(message, target) { error in completion(error) } } @@ -468,7 +475,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } public func getTeamMember(userId: String, teamId: String) -> NIMTeamMember? { - return repo.getTeamMember(userId: userId, teamId: teamId) + return repo.getTeamMemberList(userId: userId, teamId: teamId) } public func onReceive(_ notification: NIMCustomSystemNotification) { @@ -491,6 +498,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel // MARK: NIMChatManagerDelegate public func onRecvMessages(_ messages: [NIMMessage]) { print("\(#function) 1messages:\(messages.count)") + for msg in messages { if msg.session?.sessionId == self.session.sessionId { self.newMsg = msg @@ -500,9 +508,9 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } self.delegate?.onRecvMessages(messages) - self.markRead(messages: messages, { error in - print("mark read \(error?.localizedDescription)") - }) +// self.markRead(messages: messages, { error in +// print("mark read \(error?.localizedDescription)") +// }) } @@ -529,6 +537,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel self.addTimeMessage(message) self.messages.append(self.modelFromMessage(message: message)) } + self.delegate?.willSend(message) } @@ -624,7 +633,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel param.data = string ?? "" } param.uniqueId = message.serverID - repo.addCollection(param, completion) + repo.collectMessage(param, completion) } // MARK: revoke @@ -793,7 +802,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel model.shortName = fullName.count > 2 ? String(fullName[fullName.index(fullName.endIndex, offsetBy: -2)...]) : fullName } model.replyedModel = getReplyMessage(message: message) - if let pin = repo.pinItem(message) { + if let pin = repo.searchMessagePinHistory(message) { model.isPined = true model.pinAccount = pin.accountID let pinID = pin.accountID ?? NIMSDK.shared().loginManager.currentAccount() @@ -897,6 +906,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel if index >= 0 { // let model = MessageRevokeModel(message: message) self.messages[index].isRevoked = true + self.messages[index].replyedModel = nil indexs.append(IndexPath(row: index, section: 0)) } self.delegate?.onRevokeMessage(message, atIndexs: indexs) @@ -923,11 +933,11 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } public func fetchMessageAttachment(_ message: NIMMessage, _ completion: @escaping (Error?) -> Void) { - repo.fetchMessageAttachment(message, completion) + repo.downloadMessageAttachment(message, completion) } public func downLoad(_ urlString: String, _ filePath: String, _ progress: NIMHttpProgressBlock?, _ completion: NIMDownloadCompleteBlock?){ - repo.downLoad(urlString, filePath, progress, completion) + repo.downLoadSource(urlString, filePath, progress, completion) } public func getUrls() -> [String] { @@ -966,7 +976,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel public func pinMessage(_ message: NIMMessage, _ completion: @escaping (Error?, NIMMessagePinItem?, Int)->()) { let item = NIMMessagePinItem(message: message) - repo.pin(item) {[weak self] error, pinItem in + repo.addMessagePin(item) {[weak self] error, pinItem in var index = -1 if var messages = self?.messages { for (i, model) in messages.enumerated() { @@ -1017,15 +1027,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } func setTypingCustom(_ typing: Int){ -// let message = NIMMessage() -// let attachment = TypingAttachment() -// attachment.typing = typing -// let custom = NIMCustomObject() -// custom.attachment = attachment -// message.messageObject = custom -// repo.sendMessage(message: message, session: session) { error in -// -// } + let message = NIMMessage() if message.setting == nil { message.setting = NIMMessageSetting() @@ -1034,7 +1036,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel message.setting?.shouldBeCounted = false let noti = NIMCustomSystemNotification(content: getJSONStringFromDictionary(["typing":typing])) - repo.sendNotificationMessage(noti, session) { error in + repo.sendCustomNotification(noti, session) { error in if let err = error { print("send noti success :", err) } @@ -1043,7 +1045,7 @@ public class ChatViewModel: NSObject, ChatRepoMessageDelegate, NIMChatManagerDel } public func getHandSetEnable() -> Bool{ - return repo.getHandSetEnable() + return repo.getEarState() } public func getMessageRead() -> Bool { diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift index 9375f0a1..9cb57a37 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift @@ -35,11 +35,11 @@ public class TeamChatViewModel:ChatViewModel, NIMTeamManagerDelegate { } public func getTeam(teamId: String) -> NIMTeam? { - return repo.getTeam(teamId: teamId) + return repo.getTeamInfo(teamId: teamId) } public func fetchTeamInfo(teamId: String, _ completion: @escaping (NSError?, NIMTeam?)->()) { - repo.fetchTeamInfo(teamId: teamId) {[weak self] error, team in + repo.getTeamInfo(teamId: teamId) {[weak self] error, team in if error == nil { self?.team = team } diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift index ceb83584..b3b3c6b7 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift @@ -10,6 +10,6 @@ public class TeamMemberSelectVM { public var chatRepo: ChatRepo = ChatRepo() func fetchTeamMembers(sessionId: String, _ completion: @escaping (Error?, ChatTeamInfoModel?) -> Void ) { - chatRepo.fetchTeamInfo(sessionId, completion) + chatRepo.getTeamInfo(sessionId, completion) } } diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift index e54fcf25..a7436532 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift @@ -55,7 +55,7 @@ public class UserSettingViewModel { if let uid = user.userId { let session = NIMSession(uid, type: .P2P) - setTop.switchOpen = repo.sessionIsTop(session) + setTop.switchOpen = repo.isStickTop(session) } setTop.swichChange = { isOpen in diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift new file mode 100644 index 00000000..a6e47b3c --- /dev/null +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift @@ -0,0 +1,44 @@ +// +// ChatUIConfig.swift +// NEKitConversationUI +// +// Created by vvj on 2022/6/13. +// + +import UIKit + + +/// 头像枚举类型 +public enum NEChatAvatarType { + case rectangle //矩形 + case cycle //圆形 +} + + +public class ChatUIConfig: NSObject { + + /// 头像圆角大小 + public var avatarCornerRadius = 4.0 + + /// 头像类型 + public var avatarType:NEChatAvatarType = .cycle + + /// 设置聊天消息标记的背景色 + public var chatPinColor = UIColor.ne_yellowBackgroundColor + + //时间颜色 + public var timeColor = UIColor.ne_emptyTitleColor + + //右侧聊天背景气泡 + public var rightBubbleBg = UIImage.ne_imageNamed(name: "chat_message_send") + + //左侧聊天背景气泡 + public var leftBubbleBg = UIImage.ne_imageNamed(name: "chat_message_receive") + + /// 聊天字体大小(文本类型) + public var messageFont = UIFont.systemFont(ofSize: 16) + + /// 聊天字体颜色(文本类型) + public var messageColor = UIColor.ne_darkText + +} diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift new file mode 100644 index 00000000..8bed909d --- /dev/null +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift @@ -0,0 +1,21 @@ +// +// NEKitChatConfig.swift +// NEKitChatUI +// +// Created by vvj on 2022/6/15. +// + +import UIKit + +@objcMembers +public class NEKitChatConfig: NSObject { + + + public static let shared = NEKitChatConfig() + + + //chat UI配置相关 + public var ui = ChatUIConfig() + + //chat 其他配置 待扩展 +} diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift index 3e5de9dd..e2917127 100644 --- a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift +++ b/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift @@ -22,7 +22,7 @@ public struct ChatRouter { } // group - Router.shared.register("pushGroupChatVC") { param in + Router.shared.register(ChatPushGroupVC) { param in print("param:\(param)") let nav = param["nav"] as? UINavigationController guard let session = param["session"] as? NIMSession else { From 6e8b00153a9b701a300cab24ce5e9ac5c0628ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:12:53 +0800 Subject: [PATCH 2/8] =?UTF-8?q?contactUI=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModel/BlackListViewModel.swift | 2 +- .../Classes/Common/ContactRouter.swift | 7 ---- .../Classes/Common/ContactsConfig.swift | 2 - .../ContactConfig/ContactUIConfig.swift | 41 +++++++++++++++++++ .../ContactConfig/NEKitContactConfig.swift | 21 ++++++++++ .../Classes/Model/ContactInfo.swift | 1 + .../TeamListViewController.swift | 2 +- .../ContactUserViewController.swift | 13 +++--- .../ValidationMessageViewModel.swift | 19 ++++----- .../ViewModel/ContactUserViewModel.swift | 5 +-- .../Classes/ViewModel/ContactViewModel.swift | 6 +-- .../ViewModel/FindFriendViewModel.swift | 2 +- .../Views/Cell/ContactUnCheckCell.swift | 41 ++++++------------- .../Views/ContactBaseViewController.swift | 2 +- .../Classes/Views/ContactSectionView.swift | 5 ++- .../Classes/Views/ContactTableViewCell.swift | 15 ++++++- .../ContactsSelectedViewController.swift | 7 ++-- .../Views/ContactsViewController.swift | 20 +++++++-- 18 files changed, 137 insertions(+), 74 deletions(-) create mode 100644 NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift create mode 100644 NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift index 6e046f2b..26c81ddf 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift @@ -17,7 +17,7 @@ public class BlackListViewModel: FriendProviderDelegate { } func removeFromBlackList(account: String, _ completion: @escaping (NSError?)->()) { - contactRepo.removeFromBlackList(account: account, completion) + contactRepo.removeBlackList(account: account, completion) } func addBlackList(account: String, _ completion: @escaping (NSError?)->()) { diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift index bcc60476..212c405d 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift @@ -7,13 +7,6 @@ import Foundation import NEKitCore import NEKitCoreIM import NIMSDK -public let ValidationMessageRouter = "xkit://contact.validation.view" -public let ContactPersonRouter = "xkit://contact.person.view" -public let ContactBlackListRouter = "xkit://contact.blacklist.view" -public let ContactGroupRouter = "xkit://contact.group.view" -public let ContactComputerRouter = "xkit://contact.computer.view" -public let ContactSearchUserRouter = "xkit://contact.searchuser.view" - public struct ContactRouter { public static func register() { diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift index fbb1ebfe..71865023 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift @@ -15,8 +15,6 @@ public class ContactsConfig { public var sectionHeaderTitleFont = UIFont.systemFont(ofSize: 14.0) // ContactTableViewCell - public var cellTitleFont = UIFont.systemFont(ofSize: 14.0) - public var cellTitleColor = UIColor(hexString: "333333") public var cellNameFont = UIFont.systemFont(ofSize: 14.0) public var cellNameColor = UIColor.white diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift new file mode 100644 index 00000000..2b931d5b --- /dev/null +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift @@ -0,0 +1,41 @@ +// +// ContactUIConfig.swift +// NEKitContactUI +// +// Created by vvj on 2022/6/13. +// + +import UIKit +/// 头像枚举类型 +public enum NEContactAvatarType { + case rectangle //矩形 + case cycle //圆形 +} + + +public class ContactUIConfig: NSObject { + + /// 头像圆角大小 + public var avatarCornerRadius = 4.0 + + /// 头像类型 + public var avatarType:NEContactAvatarType = .cycle + + //通讯录标题大小 + public var titleFont = UIFont.systemFont(ofSize: 14) + + /// 通讯录标题颜色 + public var titleColor = UIColor.ne_darkText + + /// 是否隐藏通讯录搜索按钮 + public var hiddenSearchBtn = false + + /// 是否把顶部添加好友和搜索按钮都隐藏 + public var hiddenRightBtns = false + + /// 通讯录间隔线颜色 + public var divideLineColor = UIColor.ne_borderColor + + /// 检索标题字体颜色 + public var indexTitleColor = UIColor.ne_emptyTitleColor +} diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift new file mode 100644 index 00000000..d352eb14 --- /dev/null +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift @@ -0,0 +1,21 @@ +// +// NEKitContactConfig.swift +// NEKitChatUI +// +// Created by vvj on 2022/6/15. +// + +import UIKit + +@objcMembers +public class NEKitContactConfig: NSObject { + + public static let shared = NEKitContactConfig() + + + //contact UI配置相关 + public var ui = ContactUIConfig() + + + +} diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift index afb58ca9..c8ebb376 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift @@ -6,6 +6,7 @@ import Foundation import NEKitCoreIM import UIKit +import NEKitCore public class ContactInfo { func getRowHeight() -> CGFloat? { diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift index 3c2ce55d..5286c370 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift @@ -63,7 +63,7 @@ public class TeamListViewController: UIViewController, UITableViewDelegate, UITa } if let teamid = model.teamId { let session = NIMSession(teamid, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": navigationController as Any, "session" : session as Any], closure: nil) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": navigationController as Any, "session" : session as Any], closure: nil) } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift index 7ab025e3..85106fe8 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift @@ -89,7 +89,7 @@ public class ContactUserViewController: ContactBaseViewController, UITableViewDe func loadData() { let isFriend = viewModel.contactRepo.isFriend(account: self.user?.userId ?? "") - self.isBlack = viewModel.contactRepo.isBlack(account: self.user?.userId ?? "") + self.isBlack = viewModel.contactRepo.isBlackList(account: self.user?.userId ?? "") if isFriend { data = [[UserItem(title: localizable("备注名"), detailTitle: user?.alias, value: false, textColor: UIColor.darkText, cellClass: TextWithRightArrowCell.self)], @@ -209,7 +209,7 @@ public class ContactUserViewController: ContactBaseViewController, UITableViewDe }else { // remove - viewModel.contactRepo.removeFromBlackList(account: userId) {[weak self] error in + viewModel.contactRepo.removeBlackList(account: userId) {[weak self] error in if error != nil { self?.view.makeToast(error?.localizedDescription) }else { @@ -248,16 +248,17 @@ public class ContactUserViewController: ContactBaseViewController, UITableViewDe } @objc func addFriend(){ + + + weak var weakSelf = self if let account = user?.userId { viewModel.addFriend(account) { error in if let err = error { - print("add friend failed :", err) + QChatLog.errorLog("ContactUserViewController", desc: "❌add friend failed :\(err)") }else { - print("add friend success") - self.navigationController?.popToRootViewController(animated: true) + weakSelf?.showToast("好友申请已发送") } } } - print("add friend") } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift index 3595c0ef..50a1bf0b 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift @@ -6,13 +6,14 @@ import Foundation import NEKitContact import NEKitCoreIM +import NEKitCore public class ValidationMessageViewModel: ContactRepoSystemNotiDelegate { typealias DataRefresh = () -> Void var dataRefresh: DataRefresh? - + private let className = "ValidationMessageViewModel" let contactRepo = ContactRepo() var datas = [XNotification]() @@ -29,7 +30,7 @@ public class ValidationMessageViewModel: ContactRepoSystemNotiDelegate { // datas.insert(notification, at: 0) // } datas.insert(notification, at: 0) - contactRepo.clearUnreadCount() + contactRepo.clearNotificationUnreadCount() if let block = dataRefresh { block() } @@ -37,28 +38,26 @@ public class ValidationMessageViewModel: ContactRepoSystemNotiDelegate { func getValidationMessage(_ completin: () -> Void ){ let data = contactRepo.getNotificationList(limit: 500) - print("get validation message : ", data) - data.forEach { noti in - datas.append(noti) - print("get noti : ", noti.type as Any) - } + datas = data if datas.count > 0 { completin() + }else { + QChatLog.warn(className, desc: "⚠️NotificationList is empty") } } func clearAllNoti(_ completion: () -> Void){ - contactRepo.deleteNoti() + contactRepo.clearNotification() datas.removeAll() completion() } public func acceptInviteWithTeam(_ teamId:String,_ invitorId:String,_ completion: @escaping (Error?) -> Void){ - contactRepo.acceptInviteWithTeam(teamId, invitorId, completion) + contactRepo.acceptTeamInvite(teamId, invitorId, completion) } public func rejectInviteWithTeam(_ teamId:String,_ invitorId:String,_ completion: @escaping (Error?) -> Void){ - contactRepo.rejectInviteWithTeam(teamId, invitorId, completion) + contactRepo.rejectTeamInvite(teamId, invitorId, completion) } func agreeRequest(_ account: String, _ completion: @escaping (NSError?)->()){ diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift index 81bb00c1..487734d3 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift @@ -12,7 +12,6 @@ class ContactUserViewModel { let contactRepo = ContactRepo() func addFriend(_ account: String, _ completion: @escaping (NSError?)->()){ - print("account : ", account) let request = AddFriendRequest() request.account = account request.operationType = .addRequest @@ -28,7 +27,7 @@ class ContactUserViewModel { } public func isBlack(account: String) -> Bool { - return contactRepo.isBlack(account: account) + return contactRepo.isBlackList(account: account) } public func update(_ user: User, _ completion: @escaping (Error?) -> Void){ @@ -36,7 +35,7 @@ class ContactUserViewModel { } public func getUserInfo(_ uid: String, _ completion: @escaping (Error?, User?) -> Void){ - contactRepo.getUserInfoAdvanced(uid) { error, users in + contactRepo.getUserInfo(uid) { error, users in completion(error, users.first) } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift index 4970d9ef..e3a65025 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift @@ -22,7 +22,7 @@ public class ContactViewModel: ContactRepoSystemNotiDelegate { var refresh: RefreshBlock? init(contactHeaders: [ContactHeadItem]?) { contactRepo.notiDelegate = self - unreadCount = contactRepo.getUnreadCount() + unreadCount = contactRepo.getNotificationUnreadCount() self.contactHeaders = contactHeaders } @@ -50,7 +50,7 @@ public class ContactViewModel: ContactRepoSystemNotiDelegate { func getContactList(_ filters: Set? = nil) -> [ContactSection] { var contactList: [ContactSection] = [] - var users = contactRepo.getFriends() + var users = contactRepo.getFriendList() if let filterUsers = filters { users = users.filter({ user in @@ -73,7 +73,7 @@ public class ContactViewModel: ContactRepoSystemNotiDelegate { let inital = name?.initalLetter() let contactInfo = ContactInfo() contactInfo.user = contact - contactInfo.headerBackColor = UIColor.colorWithString(string: contact.userId) + contactInfo.headerBackColor = UIColor.colorWithString(string: contact.showName() ?? "") var contactsTemp = initalDict[inital!] if contactsTemp == nil { diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift index afb80e9b..ae27f1c1 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift @@ -12,7 +12,7 @@ class FindFriendViewModel { let contactRepo = ContactRepo() func searchFriend(_ text: String, _ completion: @escaping ([User]?, NSError?)->()){ - contactRepo.fetchUserInfo(accountList: [text], completion) + contactRepo.getUserInfo(accountList: [text], completion) } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift index 289b13fe..c618f4fe 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift @@ -1,15 +1,12 @@ - // Copyright (c) 2022 NetEase, Inc. All rights reserved. // Use of this source code is governed by a MIT license that can be found in the LICENSE file. import UIKit +import NEKitCommonUI class ContactUnCheckCell: UICollectionViewCell { - public var avatarImage = UIView() - public var nameTailLabel = UILabel() - override init(frame: CGRect) { super.init(frame: frame) setupUI() @@ -21,38 +18,26 @@ class ContactUnCheckCell: UICollectionViewCell { func setupUI(){ contentView.addSubview(avatarImage) - avatarImage.translatesAutoresizingMaskIntoConstraints = false NSLayoutConstraint.activate([ avatarImage.centerYAnchor.constraint(equalTo: contentView.centerYAnchor), avatarImage.centerXAnchor.constraint(equalTo: contentView.centerXAnchor), avatarImage.widthAnchor.constraint(equalToConstant: 36), avatarImage.heightAnchor.constraint(equalToConstant: 36) ]) - avatarImage.layer.cornerRadius = 18.0 - avatarImage.clipsToBounds = true - - avatarImage.addSubview(nameTailLabel) - nameTailLabel.translatesAutoresizingMaskIntoConstraints = false - NSLayoutConstraint.activate([ - nameTailLabel.centerXAnchor.constraint(equalTo: avatarImage.centerXAnchor), - nameTailLabel.centerYAnchor.constraint(equalTo: avatarImage.centerYAnchor), - nameTailLabel.leftAnchor.constraint(equalTo: avatarImage.leftAnchor, constant: 1), - nameTailLabel.rightAnchor.constraint(equalTo: avatarImage.rightAnchor, constant: -1) - ]) - self.nameTailLabel.font = UIFont.systemFont(ofSize: 16.0) - self.nameTailLabel.textAlignment = .center - self.nameTailLabel.textColor = .white - - contentView.backgroundColor = .clear } + + lazy var avatarImage: NEUserHeaderView = { + let view = NEUserHeaderView(frame: .zero) + view.titleLabel.font = UIFont.systemFont(ofSize: 16.0) + view.layer.cornerRadius = 18 + view.clipsToBounds = true + view.translatesAutoresizingMaskIntoConstraints = false + return view + }() + func configure(_ model: ContactInfo){ - avatarImage.backgroundColor = model.headerBackColor - // title - let showName = model.user?.alias?.count ?? 0 > 0 ? model.user?.alias : model.user?.userInfo?.nickName - guard let name = showName else { - return - } - self.nameTailLabel.text = name.count > 2 ? String(name[name.index(name.endIndex, offsetBy: -2)...]) : name + avatarImage.configHeadData(headUrl: model.user?.userInfo?.avatarUrl, name: model.user?.showName() ?? "") + } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift index 849b6b13..80b4c137 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift @@ -5,7 +5,7 @@ import UIKit -public class ContactBaseViewController: UIViewController { +open class ContactBaseViewController: UIViewController { public override func viewDidLoad() { super.viewDidLoad() diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift index 399a21b0..18c32095 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift @@ -21,7 +21,8 @@ public class ContactSectionView: UITableViewHeaderFooterView { func commonUI() { self.contentView.backgroundColor = .white self.titleLabel.translatesAutoresizingMaskIntoConstraints = false - self.titleLabel.textColor = UIColor(red: 179/255.0, green: 183/255.0, blue: 188/255.0, alpha: 1.0) + + self.titleLabel.textColor = NEKitContactConfig.shared.ui.indexTitleColor self.titleLabel.font = UIFont.systemFont(ofSize: 14.0) self.addSubview(self.titleLabel) NSLayoutConstraint.activate([ @@ -32,7 +33,7 @@ public class ContactSectionView: UITableViewHeaderFooterView { ]) self.line.translatesAutoresizingMaskIntoConstraints = false - self.line.backgroundColor = UIColor(red: 219/255.0, green: 224/255.0, blue: 232/255.0, alpha: 1.0) + self.line.backgroundColor = NEKitContactConfig.shared.ui.divideLineColor self.addSubview(self.line) NSLayoutConstraint.activate([ self.line.leftAnchor.constraint(equalTo: self.titleLabel.leftAnchor), diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift index be5e626f..af40a712 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift @@ -37,6 +37,7 @@ public class ContactTableViewCell: ContactBaseViewCell, ContactCellDataProtrol { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) self.commonUI() + initSubviewsLayout() } required init?(coder: NSCoder) { @@ -71,9 +72,19 @@ public class ContactTableViewCell: ContactBaseViewCell, ContactCellDataProtrol { ]) } + func initSubviewsLayout(){ + if NEKitContactConfig.shared.ui.avatarType == .rectangle { + avatarImage.layer.cornerRadius = NEKitContactConfig.shared.ui.avatarCornerRadius + }else if NEKitContactConfig.shared.ui.avatarType == .cycle { + avatarImage.layer.cornerRadius = 18.0 + } + } + + + func setConfig(_ config: ContactsConfig){ - self.titleLabel.font = config.cellTitleFont - self.titleLabel.textColor = config.cellTitleColor + self.titleLabel.font = NEKitContactConfig.shared.ui.titleFont + self.titleLabel.textColor = NEKitContactConfig.shared.ui.titleColor self.nameLabel.font = config.cellNameFont self.nameLabel.textColor = config.cellNameColor } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift index 4bb5ae8b..d1119ddc 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift @@ -10,7 +10,7 @@ import Toast_Swift import NEKitCore import NIMSDK -public class ContactsSelectedViewController: ContactBaseViewController { +open class ContactsSelectedViewController: ContactBaseViewController { public var callBack: ContactsSelectCompletion? @@ -137,7 +137,7 @@ extension ContactsSelectedViewController { var accids = [String]() var names = [String]() - names.append(viewModel.contactRepo.currentUserShowName()) + names.append(viewModel.contactRepo.getUserName()) var users = [NIMUser]() for c in selectArray { @@ -155,8 +155,7 @@ extension ContactsSelectedViewController { let nameString = names.joined(separator: "、") print("name string : ", nameString) - Router.shared.use("didSelectedAccids", parameters: ["accids":accids, "names":nameString, "im_user": users], closure: nil) - + Router.shared.use(ContactSelectedUsersRouter, parameters: ["accids":accids, "names":nameString, "im_user": users], closure: nil) self.navigationController?.popViewController(animated: true) } } diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift index 4eb940b9..514ca6d1 100644 --- a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift +++ b/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift @@ -25,8 +25,10 @@ public class ContactsViewController: UIViewController, UITableViewDelegate, UITa public init(withConfig custom: ContactsConfig){ super.init(nibName: nil, bundle: nil) uiConfig = custom - viewModel.contactRepo.addNotifyDelegate(delegate: self) + viewModel.contactRepo.addNotificationDelegate(delegate: self) viewModel.contactRepo.addContactDelegate(delegate: self) + +// NEKitContactConfig.shared.ui.avatarType = .rectangle } required init?(coder: NSCoder) { @@ -127,7 +129,7 @@ public class ContactsViewController: UIViewController, UITableViewDelegate, UITa if info.contactCellType == ContactCellType.ContactOthers.rawValue { switch info.router { case ValidationMessageRouter: - viewModel.contactRepo.clearUnreadCount() + viewModel.contactRepo.clearNotificationUnreadCount() let validationController = ValidationMessageViewController() validationController.hidesBottomBarWhenPushed = true self.navigationController?.pushViewController(validationController, animated: true) @@ -203,13 +205,25 @@ public class ContactsViewController: UIViewController, UITableViewDelegate, UITa extension ContactsViewController { private func addNavbarAction(){ + edgesForExtendedLayout = [] let addItem = UIBarButtonItem(image: UIImage.ne_imageNamed(name: "add"), style: .plain, target: self, action: #selector(goToFindFriend)) addItem.tintColor = UIColor(hexString: "333333") let searchItem = UIBarButtonItem(image: UIImage.ne_imageNamed(name: "contact_search"), style: .plain, target: self, action: #selector(searchContact)) searchItem.imageInsets = UIEdgeInsets.init(top: 0, left: 35, bottom: 0, right: 0) searchItem.tintColor = UIColor(hexString: "333333") - self.navigationItem.rightBarButtonItems = [addItem,searchItem] + if NEKitContactConfig.shared.ui.hiddenRightBtns { + return + }else { + if NEKitContactConfig.shared.ui.hiddenSearchBtn { + self.navigationItem.rightBarButtonItems = [addItem] + }else { + self.navigationItem.rightBarButtonItems = [addItem,searchItem] + } + } + + + } @objc private func goToFindFriend(){ From eb660ae2ae8dba9e0b14c46cb8f3d038c6a0b0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:13:43 +0800 Subject: [PATCH 3/8] =?UTF-8?q?ConversationUI=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controller/ConversationController.swift | 32 ++++++----- .../ConversationListViewController.swift | 6 +- .../ConversationSearchController.swift | 9 +-- .../View/ConversationListCell.swift | 35 ++++++++---- .../View/ConversationNavView.swift | 12 ++++ .../ConversationSearchViewModel.swift | 2 +- .../ViewModel/ConversationViewModel.swift | 33 ++++------- .../ConversationUIConfig.swift | 57 +++++++++++++++++++ .../NEKitConversationConfig.swift | 21 +++++++ 9 files changed, 151 insertions(+), 56 deletions(-) create mode 100644 NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift create mode 100644 NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift index 140b3872..11979ad5 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift @@ -5,12 +5,11 @@ import UIKit import NEKitCommonUI -// import NEKitCore - -public class ConversationController: UIViewController { +@objcMembers +open class ConversationController: UIViewController { let viewmodel = ConversationViewModel() private var listCtrl = ConversationListViewController() @@ -27,6 +26,8 @@ public class ConversationController: UIViewController { func setupSubviews(){ +// NEKitConversationConfig.shared.ui.avatarType = .rectangle + listCtrl.view.translatesAutoresizingMaskIntoConstraints = false self.addChild(listCtrl) self.view.addSubview(navView) @@ -53,6 +54,8 @@ public class ConversationController: UIViewController { nav.translatesAutoresizingMaskIntoConstraints = false nav.backgroundColor = .white nav.delegate = self + + nav.isHidden = NEKitConversationConfig.shared.ui.hiddenNav return nav }() @@ -93,8 +96,7 @@ extension ConversationController: ConversationNavViewDelegate { addFriend.showName = localizable("add_friend") addFriend.image = UIImage.ne_imageNamed(name: "add_friend") addFriend.completion = { - Router.shared.use("xkit://contact.searchuser.view", parameters: ["nav": self.navigationController as Any]) { obj, routerState, str in - + Router.shared.use(ContactSearchUserRouter, parameters: ["nav": self.navigationController as Any]) { obj, routerState, str in } } items.append(addFriend) @@ -119,17 +121,17 @@ extension ConversationController: ConversationNavViewDelegate { } func createDiscussGroup(){ - Router.shared.register("didSelectedAccids") { param in + Router.shared.register(ContactSelectedUsersRouter) { param in print("user setting accids : ", param) - Router.shared.use("xkit://team.create.discuss", parameters: param, closure: nil) + Router.shared.use(TeamCreateDisuss, parameters: param, closure: nil) } Router.shared.use(ContactUserSelectRouter, parameters: ["nav": navigationController as Any, "limit": 200], closure: nil) weak var weakSelf = self - Router.shared.register("xkit://team.create.discuss.result") { param in + Router.shared.register(TeamCreateDiscussResult) { param in print("create discuss ", param) if let code = param["code"] as? Int, let teamid = param["teamId"] as? String, code == 0 { - let session = weakSelf?.viewmodel.repo.createRecentTeamSession(teamid) - Router.shared.use("pushGroupChatVC", parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) + let session = weakSelf?.viewmodel.repo.createTeamSession(teamid) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) }else if let msg = param["msg"] as? String { weakSelf?.showToast(msg) } @@ -137,16 +139,16 @@ extension ConversationController: ConversationNavViewDelegate { } func createSeniorGroup(){ - Router.shared.register("didSelectedAccids") { param in - Router.shared.use("xkit://team.create.senior", parameters: param, closure: nil) + Router.shared.register(ContactSelectedUsersRouter) { param in + Router.shared.use(TeamCreateSenior, parameters: param, closure: nil) } Router.shared.use(ContactUserSelectRouter, parameters: ["nav": navigationController as Any, "limit": 200], closure: nil) weak var weakSelf = self - Router.shared.register("xkit://team.create.senior.result") { param in + Router.shared.register(TeamCreateSeniorResult) { param in print("create senior : ", param) if let code = param["code"] as? Int, let teamid = param["teamId"] as? String, code == 0 { - let session = weakSelf?.viewmodel.repo.createRecentTeamSession(teamid) - Router.shared.use("pushGroupChatVC", parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) + let session = weakSelf?.viewmodel.repo.createTeamSession(teamid) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": weakSelf?.navigationController as Any, "session" : session as Any], closure: nil) }else if let msg = param["msg"] as? String { weakSelf?.showToast(msg) } diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift index d716b654..3ff7db9b 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift @@ -6,9 +6,9 @@ import UIKit import NIMSDK -public class ConversationListViewController: UIViewController { +@objcMembers +open class ConversationListViewController: UIViewController { - private var viewModel = ConversationViewModel() private let className = "ConversationListViewController" private var tableViewTopConstraint:NSLayoutConstraint? @@ -166,7 +166,7 @@ extension ConversationListViewController:UITableViewDelegate,UITableViewDataSour }else if conversationModel?.recentSession?.session?.sessionType == .team { let session = NIMSession(commonId, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) } } diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift index 40997b8d..2d25ad75 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift @@ -6,7 +6,8 @@ import UIKit import NIMSDK -class SearchSessionHeaderView:UITableViewHeaderFooterView { +@objcMembers +open class SearchSessionHeaderView:UITableViewHeaderFooterView { override init(reuseIdentifier: String?) { super.init(reuseIdentifier: reuseIdentifier) @@ -29,7 +30,7 @@ class SearchSessionHeaderView:UITableViewHeaderFooterView { } - required init?(coder: NSCoder) { + required public init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } @@ -235,13 +236,13 @@ extension ConversationSearchController:UITableViewDelegate,UITableViewDataSource let searchModel = viewModel.searchResult?.contactGroup[indexPath.row] if let teamId = searchModel?.teamInfo?.teamId { let session = NIMSession(teamId, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) } }else { let searchModel = viewModel.searchResult?.seniorGroup[indexPath.row] if let teamId = searchModel?.teamInfo?.teamId { let session = NIMSession(teamId, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": self.navigationController as Any, "session" : session as Any], closure: nil) } } diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift index ebae5794..909c2a7c 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift @@ -7,17 +7,17 @@ import UIKit import NIMSDK -class ConversationListCell: UITableViewCell { +open class ConversationListCell: UITableViewCell { private var viewModel = ConversationViewModel() public var topStickInfos = [NIMSession:NIMStickTopSessionInfo]() - override func awakeFromNib() { + open override func awakeFromNib() { super.awakeFromNib() // Initialization code } - override func setSelected(_ selected: Bool, animated: Bool) { + open override func setSelected(_ selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state @@ -26,12 +26,14 @@ class ConversationListCell: UITableViewCell { override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) { super.init(style: style, reuseIdentifier: reuseIdentifier) setupSubviews() + initSubviewsLayout() } - required init?(coder: NSCoder) { + required public init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } + @objc func setupSubviews(){ self.selectionStyle = .none self.contentView.addSubview(headImge) @@ -78,8 +80,17 @@ class ConversationListCell: UITableViewCell { notifyMsg.heightAnchor.constraint(equalToConstant: 13) ]) } - - func configData(sessionModel:ConversationListModel?){ + + func initSubviewsLayout (){ + if NEKitConversationConfig.shared.ui.avatarType == .rectangle { + headImge.layer.cornerRadius = NEKitConversationConfig.shared.ui.avatarCornerRadius + }else if NEKitConversationConfig.shared.ui.avatarType == .cycle { + headImge.layer.cornerRadius = 21.0 + } + } + + + func configData(sessionModel:ConversationListModel?){ guard let conversationModel = sessionModel else { return } @@ -218,8 +229,8 @@ class ConversationListCell: UITableViewCell { private lazy var title:UILabel = { let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false - label.textColor = UIColor.ne_darkText - label.font = NEConstant.defaultTextFont(16) + label.textColor = NEKitConversationConfig.shared.ui.titleColor + label.font = NEKitConversationConfig.shared.ui.titleFont label.text = "Oliver" return label }() @@ -227,16 +238,16 @@ class ConversationListCell: UITableViewCell { private lazy var subTitle:UILabel = { let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false - label.textColor = UIColor.ne_lightText - label.font = NEConstant.defaultTextFont(13) + label.textColor = NEKitConversationConfig.shared.ui.subTitleColor + label.font = NEKitConversationConfig.shared.ui.subTitleFont return label }() private lazy var timeLabel:UILabel = { let label = UILabel() label.translatesAutoresizingMaskIntoConstraints = false - label.textColor = NEConstant.hexRGB(0xcccccc) - label.font = NEConstant.defaultTextFont(12) + label.textColor = NEKitConversationConfig.shared.ui.timeColor + label.font = NEKitConversationConfig.shared.ui.timeFont label.textAlignment = .right return label }() diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift index 5d4bb57b..5c2f4cf1 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift @@ -18,6 +18,8 @@ class ConversationNavView: UIView { override init(frame: CGRect) { super.init(frame: frame) setupSubviews() + initSubviewsLayout() + } required init?(coder: NSCoder) { @@ -58,6 +60,16 @@ class ConversationNavView: UIView { ]) } + func initSubviewsLayout(){ + if NEKitConversationConfig.shared.ui.hiddenRightBtns { + searchBtn.isHidden = true + addBtn.isHidden = true + }else { + if NEKitConversationConfig.shared.ui.hiddenSearchBtn { + searchBtn.isHidden = true + } + } + } //MARK: lazy method private lazy var brandBtn:UIButton = { let button = UIButton() diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift index 02a5a795..12ceee76 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift @@ -23,7 +23,7 @@ class ConversationSearchViewModel: NSObject { /// - completion: 回调结果 public func doSearch(searchStr:String,_ completion:@escaping (NSError?,(friend:[ConversationSearchListModel], contactGroup:[ConversationSearchListModel],seniorGroup:[ConversationSearchListModel])?)->()) { weak var weakSelf = self - repo.doSearch(searchStr: searchStr) { error, searchResult in + repo.searchContact(searchStr: searchStr) { error, searchResult in weakSelf?.searchResult = searchResult completion(error,searchResult) } diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift index ed609f73..0eda3f1d 100644 --- a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift @@ -24,7 +24,7 @@ public class ConversationViewModel:NSObject,ConversationRepoDelegate,NIMConversa public override init() { super.init() repo.delegate = self - repo.addConversationDelegate(delegate: self) + repo.addSessionDelegate(delegate: self) repo.addTeamDelegate(delegate: self) stickTopInfos = repo.getStickTopInfos() NIMSDK.shared().userManager.add(self) @@ -33,44 +33,35 @@ public class ConversationViewModel:NSObject,ConversationRepoDelegate,NIMConversa public func fetchServerSessions(option:NIMFetchServerSessionOption,_ completion:@escaping (NSError?,[ConversationListModel]?)->()) { weak var weakSelf = self - repo.getServerSessions(option: option) { error, conversaitonList in - weakSelf?.conversationListArray = conversaitonList?.filter({ listModel in - if listModel.recentSession?.session?.sessionType == .team && listModel.teamInfo == nil { - if let recentSession = listModel.recentSession { - weakSelf?.deleteRecentSession(recentSession: recentSession) - } - return false - }else { - return true - } - }) + repo.getSessionList(option: option) { error, conversaitonList in + weakSelf?.conversationListArray = conversaitonList completion(error,weakSelf?.conversationListArray) } } public func deleteRecentSession(recentSession:NIMRecentSession){ - repo.deleteRecentSession(recentSession: recentSession) + repo.deleteLocalSession(recentSession: recentSession) } public func stickTopInfoForSession(session:NIMSession) -> NIMStickTopSessionInfo?{ - return repo.stickTopInfoForSession(session: session) + return repo.getStickTopSessionInfo(session: session) } public func addStickTopSession(session:NIMSession,_ completion:@escaping (NSError?,NIMStickTopSessionInfo?)->()){ let params = NIMAddStickTopSessionParams.init(session: session) - repo.addStickTopSession(params: params) { error, stickTopSessionInfo in + repo.addStickTop(params: params) { error, stickTopSessionInfo in completion(error as NSError?,stickTopSessionInfo) } } public func removeStickTopSession(params:NIMStickTopSessionInfo,_ completion:@escaping (NSError?,NIMStickTopSessionInfo?)->()) { - repo.removeStickTopSession(params: params) { error, stickTopSessionInfo in + repo.removeStickTop(params: params) { error, stickTopSessionInfo in completion(error as NSError?,stickTopSessionInfo) } } public func loadStickTopSessionInfos(_ completion:@escaping (NSError?,[NIMSession:NIMStickTopSessionInfo]?)->()){ - repo.loadStickTopSessionInfos(completion) + repo.getStickTopSessions(completion) } public func notifyForNewMsg(userId:String?) -> Bool{ @@ -79,12 +70,12 @@ public class ConversationViewModel:NSObject,ConversationRepoDelegate,NIMConversa public func notifyStateForNewMsg(teamId:String?) -> NIMTeamNotifyState{ - return repo.notifyStateForNewMsg(teamId: teamId) + return repo.getNotifyStateForNewMsg(teamId: teamId) } deinit { NIMSDK.shared().userManager.remove(self) - repo.removeConversationDelegate(delegate: self) + repo.removeSessionDelegate(delegate: self) repo.removeTeamDelegate(delegate: self) } @@ -102,7 +93,7 @@ public class ConversationViewModel:NSObject,ConversationRepoDelegate,NIMConversa } }) - let resultArr = repo.sortRecentSessions(recentSessions: tempArr, stickTopInfo: stickTopInfos) + let resultArr = repo.sortSessionList(recentSessions: tempArr, stickTopInfo: stickTopInfos) var sortResultArr = [ConversationListModel]() resultArr.forEach { recentSession in let listModel = ConversationListModel() @@ -181,7 +172,7 @@ public class ConversationViewModel:NSObject,ConversationRepoDelegate,NIMConversa conversationListArray?.append(listModel) delegate?.didAddRecentSession() }else if recentSession.session?.sessionType == .team { - repo.fetchTeamInfo(teamId: targetId, { error, teamInfo in + repo.getTeamInfo(teamId: targetId, { error, teamInfo in listModel.teamInfo = teamInfo weakSelf?.conversationListArray?.append(listModel) weakSelf?.delegate?.didAddRecentSession() diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift new file mode 100644 index 00000000..c9ba1dd7 --- /dev/null +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift @@ -0,0 +1,57 @@ +// +// ConversationUIConfig.swift +// NEKitConversationUI +// +// Created by vvj on 2022/6/13. +// + +import UIKit + + +/// 头像枚举类型 +public enum NEConversationAvatarType { + case rectangle //矩形 + case cycle //圆形 +} + +public class ConversationUIConfig: NSObject { + + + + /// 头像圆角大小 + public var avatarCornerRadius = 4.0 + + /// 头像类型 + public var avatarType:NEConversationAvatarType = .cycle + + /// 是否隐藏导航栏 + public var hiddenNav = false + + /// 是否隐藏搜索按钮 + public var hiddenSearchBtn = false + + /// 是否把顶部添加按钮和搜索按钮都隐藏 + public var hiddenRightBtns = false + + // 主标题字体大小 + public var titleFont = UIFont.systemFont(ofSize: 16) + + // 副标题字体大小 + public var subTitleFont = UIFont.systemFont(ofSize: 13) + + // 主标题字体颜色 + public var titleColor = UIColor.ne_darkText + + // 副标题字体颜色 + public var subTitleColor = UIColor.ne_lightText + + /// 时间字体颜色 + public var timeColor = UIColor.init(hexString:"0xcccccc") + + /// 时间字体大小 + public var timeFont = UIFont.systemFont(ofSize: 12) + + + + +} diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift new file mode 100644 index 00000000..8a3dfb82 --- /dev/null +++ b/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift @@ -0,0 +1,21 @@ +// +// NEKitConversationConfig.swift +// NEKitChatUI +// +// Created by vvj on 2022/6/15. +// + +import UIKit + +@objcMembers +public class NEKitConversationConfig: NSObject { + + + public static let shared = NEKitConversationConfig() + + + + //conversation ui 配置 + public var ui = ConversationUIConfig() + +} From 5c5873e50bed5b7555bcfa6aedf0da9ce671fc1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:14:40 +0800 Subject: [PATCH 4/8] =?UTF-8?q?qchatUI=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QChatChannelMembersVC.swift | 2 +- .../QChatWhiteBlackListVC.swift | 12 ++++++-- .../Chat/Controller/QChatViewController.swift | 2 +- .../Chat/ViewModel/QChatViewModel.swift | 4 +-- .../Controller/MemberListViewController.swift | 2 +- .../MineCreateServerController.swift | 2 +- .../Controller/QChatHomeViewController.swift | 6 ++-- .../View/NEHomeChannelView.swift | 4 +-- .../View/NESearchServerCell.swift | 2 +- .../QChatEditMemberViewController.swift | 28 +++++++++---------- .../QChatServerSettingViewController.swift | 6 ++-- 11 files changed, 38 insertions(+), 32 deletions(-) diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift index 423c9736..8dbbda00 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift @@ -136,7 +136,7 @@ public class QChatChannelMembersVC: QChatTableViewController, QChatMemberInfoVie func didClickUserHeader(_ accid: String?) { if let uid = accid { - if CoreKitIMEngine.instance.isMySelf(uid){ + if IMKitLoginManager.instance.isMySelf(uid){ Router.shared.use(MeSetting, parameters: ["nav": navigationController as Any], closure: nil) }else { Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": navigationController as Any, "uid": uid as Any], closure: nil) diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift index b47013fc..8a0d3375 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift @@ -59,7 +59,10 @@ public class QChatWhiteBlackListVC: QChatTableViewController, QChatMemberSelectC let member = self.memberArray?[indexPath.row] cell.setup(accid: member?.accid, nickName: member?.nick) cell.rightStyle = self.isEdited ? .delete : .none - if CoreKitEngine.instance.imAccid == member?.accid, self.type == .white { +// if CoreKitEngine.instance.imAccid == member?.accid, self.type == .white { +// cell.rightStyle = .none +// } + if IMKitLoginManager.instance.imAccid == member?.accid,self.type == .white { cell.rightStyle = .none } return cell @@ -102,9 +105,14 @@ public class QChatWhiteBlackListVC: QChatTableViewController, QChatMemberSelectC return } - if CoreKitEngine.instance.imAccid == member.accid, self.type == .white { +// if CoreKitEngine.instance.imAccid == member.accid, self.type == .white { +// return +// } + + if IMKitLoginManager.instance.imAccid == member.accid,self.type == .white { return } + let name = (member.nick != nil ? member.nick : member.accid) ?? "" let message = localizable("confirm_delete_channel") + name + localizable("qchat_member") + "?" let alertVC = UIAlertController.reconfimAlertView(title: localizable("removeMember"), message: message) { diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift index 681ff6ae..b9244cf9 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift @@ -71,7 +71,7 @@ extension QChatViewController:QChatBaseCellDelegate { } func didClickHeader(_ message: NIMQChatMessage) { - if CoreKitIMEngine.instance.isMySelf(message.from) == true { + if IMKitLoginManager.instance.isMySelf(message.from) == true { Router.shared.use(MeSetting, parameters: ["nav": navigationController as Any], closure: nil) }else { Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": navigationController as Any, "uid": message.from as Any], closure: nil) diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift index 0722d4b1..77534859 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift @@ -33,7 +33,7 @@ public class QChatViewModel: NSObject, NIMQChatMessageManagerDelegate { if let cid = self.channel?.channelId, let sid = self.channel?.serverId { let message = NIMQChatMessage() message.text = text - message.from = CoreKitIMEngine.instance.imAccid + message.from = IMKitLoginManager.instance.imAccid QChatSystemMessageProvider.shared.sendMessage(message: message, session: NIMSession(forQChat: Int64(cid), qchatServerId: Int64(sid))) { error in print("sendText error:\(error) ") completion(error) @@ -45,7 +45,7 @@ public class QChatViewModel: NSObject, NIMQChatMessageManagerDelegate { if let cid = self.channel?.channelId, let sid = self.channel?.serverId { let message = NIMQChatMessage() message.messageObject = NIMImageObject(image: image) - message.from = CoreKitIMEngine.instance.imAccid + message.from = IMKitLoginManager.instance.imAccid QChatSystemMessageProvider.shared.sendMessage(message: message, session: NIMSession(forQChat: Int64(cid), qchatServerId: Int64(sid))) { error in print("sendImage error:\(error) ") completion(error) diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift index d337302a..8f99ba38 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift @@ -72,7 +72,7 @@ extension MemberListViewController:UITableViewDelegate,UITableViewDataSource { @objc func addMemberClick(sender:UIButton) { - Router.shared.register("didSelectedAccids") {[weak self] param in + Router.shared.register(ContactSelectedUsersRouter) {[weak self] param in print("param\(param)") if let userIds = param["accids"] as? [String] { print("userIds:\(userIds)") diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift index f6418ecf..9da45c7a 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift @@ -213,7 +213,7 @@ extension MineCreateServerController:UITextFieldDelegate{ self.view.makeToastActivity(.center) if let imageData = image.jpegData(compressionQuality: 0.6) as NSData? { - let filePath = NSHomeDirectory().appending("/Documents/").appending(CoreKitIMEngine.instance.imAccid) + let filePath = NSHomeDirectory().appending("/Documents/").appending(IMKitLoginManager.instance.imAccid) let succcess = imageData.write(toFile: filePath, atomically: true) if succcess { diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift index 3f6b0784..bd62233c 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift @@ -291,12 +291,12 @@ extension QChatHomeViewController:NIMQChatMessageManagerDelegate { switch systemNotification.type { - case .channelCreate,.channelRemove,.channelUpdateWhiteBlackIdentifyUser,.channelUpdate: + case .channelCreate,.channelRemove,.updateChannelCategoryBlackWhiteRole,.channelUpdate: self.channelChange(notificationInfo: systemNotification) break case .serverMemberKick,.serverMemberInviteDone: - if systemNotification.fromAccount != CoreKitIMEngine.instance.imAccid,((systemNotification.toAccids?.contains(CoreKitIMEngine.instance.imAccid)) != nil){ + if systemNotification.fromAccount != IMKitLoginManager.instance.imAccid,((systemNotification.toAccids?.contains(IMKitLoginManager.instance.imAccid)) != nil){ self.requestData(timeTag: 0) } break @@ -306,7 +306,7 @@ extension QChatHomeViewController:NIMQChatMessageManagerDelegate { selectIndex = 0 self.requestData(timeTag: 0) }else { - if systemNotification.fromAccount == CoreKitIMEngine.instance.imAccid { + if systemNotification.fromAccount == IMKitLoginManager.instance.imAccid { selectIndex = 0 self.requestData(timeTag: 0) } diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift index 29664892..be1891f8 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift @@ -114,8 +114,8 @@ class NEHomeChannelView: UIView { requestData(timeTag: 0) } break - case .channelUpdateWhiteBlackIdentifyUser: - if noticeInfo.serverId == self.qchatServerModel?.serverId,((noticeInfo.toAccids?.contains(CoreKitIMEngine.instance.imAccid)) != nil){ + case .updateChannelCategoryBlackWhiteRole: + if noticeInfo.serverId == self.qchatServerModel?.serverId,((noticeInfo.toAccids?.contains(IMKitLoginManager.instance.imAccid)) != nil){ requestData(timeTag: 0) } break diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift index e7481220..27530df6 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift @@ -33,7 +33,7 @@ class NESearchServerCell: UITableViewCell { } self.subContent.text = "\(serverId)" - let item = QChatGetServerMemberItem(serverId: serverId, accid: CoreKitIMEngine.instance.imAccid) + let item = QChatGetServerMemberItem(serverId: serverId, accid: IMKitLoginManager.instance.imAccid) let param = QChatGetServerMembersParam(serverAccIds: [item]) serverViewModel.getServerMemberList(parameter: param) { error, membersResult in diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift index e43823e1..42a9063b 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift @@ -271,10 +271,13 @@ extension QChatEditMemberViewController: UITableViewDataSource, UITableViewDeleg func getKickDisable() -> Bool { if let accid = user?.serverMember?.accid { - if CoreKitEngine.instance.imAccid == accid { +// if CoreKitEngine.instance.imAccid == accid { +// return true +// } + + if IMKitLoginManager.instance.imAccid == accid { return true } - if let type = user?.serverMember?.type, type == .owner { return true } @@ -313,24 +316,19 @@ extension QChatEditMemberViewController { @objc func rightBtnClick(_ btn: ExpandButton){ if btn.isSelected == true { print("to save") -// if nickName.count <= 0 { -// showToast("昵称不能为空") -// return -// } - weak var weakSelf = self - + if nickName.count <= 0 { + showToast("昵称不能为空") + return + } + guard let accid = user?.accid else { showToast("accid 不能为空") return } - if nickName.count == 0 { - if let aid = user?.accid { - nickName = aid - } - } - - if CoreKitIMEngine.instance.isMySelf(accid) == true { + weak var weakSelf = self + + if IMKitLoginManager.instance.isMySelf(accid) == true { viewModel.updateMyMember(user?.serverMember?.serverId, nickName ) { error, member in if let err = error { weakSelf?.showToast(err.localizedDescription) diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift index 407a2bcd..2dc2ce5e 100644 --- a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift +++ b/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift @@ -383,7 +383,7 @@ extension QChatServerSettingViewController: UITableViewDelegate, UITableViewData let idGroupController = QChatIdGroupViewController() idGroupController.serverid = server?.serverId - if let owner = server?.owner, owner == CoreKitIMEngine.instance.imAccid { + if let owner = server?.owner, owner == IMKitLoginManager.instance.imAccid { idGroupController.isOwner = true } navigationController?.pushViewController(idGroupController, animated: true) @@ -438,7 +438,7 @@ extension QChatServerSettingViewController: UITableViewDelegate, UITableViewData func isMyServer() -> Bool{ if let owner = server?.owner { - let accid = CoreKitIMEngine.instance.imAccid + let accid = IMKitLoginManager.instance.imAccid if owner == accid { return true } @@ -459,7 +459,7 @@ extension QChatServerSettingViewController: UINavigationControllerDelegate { view.makeToastActivity(.center) if let imageData = image.jpegData(compressionQuality: 0.6) as NSData? { - let filePath = NSHomeDirectory().appending("/Documents/").appending(CoreKitIMEngine.instance.imAccid) + let filePath = NSHomeDirectory().appending("/Documents/").appending(IMKitLoginManager.instance.imAccid) let succcess = imageData.write(toFile: filePath, atomically: true) weak var weakSelf = self if succcess { From cdf8cac5034c08d90545e018cd5b97d9fbd3232d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:15:18 +0800 Subject: [PATCH 5/8] =?UTF-8?q?teamUI=20=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Setting/TeamAvatarViewController.swift | 6 +-- .../TeamHistoryMessageController.swift | 2 +- .../Setting/TeamIntroduceViewController.swift | 4 +- .../Setting/TeamMembersController.swift | 2 +- .../Setting/TeamNameViewController.swift | 4 +- .../Setting/TeamSettingViewController.swift | 14 +++---- .../View/TeamSettingSubtitleCell.swift | 2 +- .../ViewModel/TeamSettingViewModel.swift | 38 +++++++------------ .../NEKitTeamUI/Classes/TeamRouter.swift | 14 ++----- 9 files changed, 34 insertions(+), 52 deletions(-) diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift index 26cc862e..dab69e44 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift @@ -153,7 +153,7 @@ public class TeamAvatarViewController: NEBaseViewController { if let type = team?.type, type == .normal { return true } - if let ownerId = team?.owner, CoreKitIMEngine.instance.isMySelf(ownerId) { + if let ownerId = team?.owner, IMKitLoginManager.instance.isMySelf(ownerId) { return true } if let mode = team?.updateInfoMode, mode == .all { @@ -186,7 +186,7 @@ extension TeamAvatarViewController { if let tid = team?.teamId { view.makeToastActivity(.center) weak var weakSelf = self - repo.updateTeamAvatar(headerUrl, tid) { error in + repo.updateTeamIcon(headerUrl, tid) { error in weakSelf?.view.hideToastActivity() if let err = error { weakSelf?.showToast(err.localizedDescription) @@ -247,7 +247,7 @@ extension TeamAvatarViewController: UINavigationControllerDelegate { view.makeToastActivity(.center) if let imageData = image.jpegData(compressionQuality: 0.6) as NSData? { - let filePath = NSHomeDirectory().appending("/Documents/").appending(CoreKitIMEngine.instance.imAccid) + let filePath = NSHomeDirectory().appending("/Documents/").appending(IMKitLoginManager.instance.imAccid) let succcess = imageData.write(toFile: filePath, atomically: true) weak var weakSelf = self if succcess { diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift index e6ee1a95..77fb7f30 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift @@ -173,7 +173,7 @@ extension TeamHistoryMessageController:UITableViewDelegate,UITableViewDataSource if let sid = cellModel?.imMessage?.session?.sessionId, let message = cellModel?.imMessage { let session = NIMSession(sid, type: .team) - Router.shared.use("pushGroupChatVC", parameters: ["nav": self.navigationController as Any, "session" : session as Any, "anchor": message], closure: nil) + Router.shared.use(ChatPushGroupVC, parameters: ["nav": self.navigationController as Any, "session" : session as Any, "anchor": message], closure: nil) } } diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift index df5ed164..e59a6284 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift @@ -126,7 +126,7 @@ public class TeamIntroduceViewController: NEBaseViewController { */ func changePermission() -> Bool { - if let ownerId = team?.owner, CoreKitIMEngine.instance.isMySelf(ownerId) { + if let ownerId = team?.owner, IMKitLoginManager.instance.isMySelf(ownerId) { return true } if let mode = team?.updateInfoMode, mode == .all { @@ -170,7 +170,7 @@ extension TeamIntroduceViewController: UITextViewDelegate { let text = textView.text ?? "" weak var weakSelf = self view.makeToastActivity(.center) - repo.updateTeamIntr(text, teamid) { error in + repo.updateTeamIntroduce(text, teamid) { error in weakSelf?.view.hideToastActivity() if let err = error { weakSelf?.showToast(err.localizedDescription) diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift index 52d17843..a3b594a3 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift @@ -198,7 +198,7 @@ extension TeamMembersController: UITableViewDelegate, UITableViewDataSource { public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { if let model = getRealModel(indexPath.row), let user = model.nimUser { - if CoreKitIMEngine.instance.isMySelf(user.userId) { + if IMKitLoginManager.instance.isMySelf(user.userId) { Router.shared.use(MeSetting, parameters: ["nav": navigationController as Any], closure: nil) }else { Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": navigationController as Any, "nim_user": user], closure: nil) diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift index fa147965..b7d8e92b 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift @@ -135,7 +135,7 @@ public class TeamNameViewController: NEBaseViewController { return true } - if let ownerId = team?.owner, CoreKitIMEngine.instance.isMySelf(ownerId) { + if let ownerId = team?.owner, IMKitLoginManager.instance.isMySelf(ownerId) { return true } if let mode = team?.updateInfoMode, mode == .all { @@ -213,7 +213,7 @@ extension TeamNameViewController: UITextFieldDelegate { }else if type == .NickName, let tid = team?.teamId, let uid = teamMember?.userId{ let n = textField.text ?? "" view.makeToastActivity(.center) - repo.updateTeamNick(uid, n, tid) { error in + repo.updateMemberNick(uid, n, tid) { error in weakSelf?.view.hideToastActivity() if let err = error { diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift index 46fb4b9a..b6943710 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift @@ -332,14 +332,14 @@ extension TeamSettingViewController { func didAddUserAndRefreshUI(_ accids: [String], _ tid: String){ weak var weakSelf = self view.makeToastActivity(.center) - viewmodel.repo.addTeamUsers(accids, tid, nil, nil) { error, members in + viewmodel.repo.inviteUser(accids, tid, nil, nil) { error, members in if let err = error { weakSelf?.view.hideToastActivity() weakSelf?.showToast(err.localizedDescription) }else { print("add users success : ", members as Any) if let ms = members, let model = weakSelf?.viewmodel.teamInfoModel { - weakSelf?.viewmodel.repo.chunckMembersAndFetch(ms, model) { error, team in + weakSelf?.viewmodel.repo.splitGroupMember(ms, model) { error, team in weakSelf?.view.hideToastActivity() if let e = error { weakSelf?.showToast(e.localizedDescription) @@ -358,7 +358,7 @@ extension TeamSettingViewController { func didAddUser(_ accids: [String], _ tid: String){ weak var weakSelf = self view.makeToastActivity(.center) - viewmodel.repo.addTeamUsers(accids, tid, nil, nil) { error, members in + viewmodel.repo.inviteUser(accids, tid, nil, nil) { error, members in weakSelf?.view.hideToastActivity() if let err = error { weakSelf?.showToast(err.localizedDescription) @@ -371,7 +371,7 @@ extension TeamSettingViewController { @objc func addUser(){ weak var weakSelf = self - Router.shared.register("didSelectedAccids") { param in + Router.shared.register(ContactSelectedUsersRouter) { param in print("addUser weak self ", weakSelf as Any) if let accids = param["accids"] as? [String], let tid = self.viewmodel.teamInfoModel?.team?.teamId, let beInviteMode = self.viewmodel.teamInfoModel?.team?.beInviteMode, let type = self.viewmodel.teamInfoModel?.team?.type { if beInviteMode == .noAuth || type == .normal { @@ -495,7 +495,7 @@ extension TeamSettingViewController: UICollectionViewDelegate, UICollectionViewD public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { if let member = viewmodel.teamInfoModel?.users[indexPath.row], let nimUser = member.nimUser{ let user = User(user:nimUser) - if CoreKitIMEngine.instance.isMySelf(user.userId) { + if IMKitLoginManager.instance.isMySelf(user.userId) { Router.shared.use(MeSetting, parameters: ["nav": navigationController as Any], closure: nil) }else { Router.shared.use(ContactUserInfoPageRouter, parameters: ["nav": navigationController as Any, "user" : user], closure: nil) @@ -637,7 +637,7 @@ extension TeamSettingViewController: TeamSettingViewModelDelegate { let manager = UIAlertAction(title: "群主", style: .default){ _ in weakSelf?.view.makeToastActivity(.center) - weakSelf?.viewmodel.repo.updateInfoMode(.manager, weakSelf?.teamId ?? "") { error in + weakSelf?.viewmodel.repo.updateTeamInfoPrivilege(.manager, weakSelf?.teamId ?? "") { error in weakSelf?.view.hideToastActivity() if let err = error { weakSelf?.showToast(err.localizedDescription) @@ -652,7 +652,7 @@ extension TeamSettingViewController: TeamSettingViewModelDelegate { let all = UIAlertAction(title: "所有人", style: .default){ _ in weakSelf?.view.makeToastActivity(.center) - weakSelf?.viewmodel.repo.updateInfoMode(.all, weakSelf?.teamId ?? "") { error in + weakSelf?.viewmodel.repo.updateTeamInfoPrivilege(.all, weakSelf?.teamId ?? "") { error in weakSelf?.view.hideToastActivity() if let err = error { weakSelf?.showToast(err.localizedDescription) diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift index 0bf05fc0..57d2eacc 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift @@ -47,7 +47,7 @@ public class TeamSettingSubtitleCell: BaseTeamSettingCell { NSLayoutConstraint.activate([ subTitleLabel.rightAnchor.constraint(equalTo: arrow.leftAnchor,constant: -10), subTitleLabel.centerYAnchor.constraint(equalTo: contentView.centerYAnchor), -// subTitleLabel.leftAnchor.constraint(equalTo: titleLabel.rightAnchor,constant: 20) + subTitleLabel.widthAnchor.constraint(equalToConstant: 200) ]) titleLabel.centerYAnchor.constraint(equalTo: contentView.centerYAnchor).isActive = true diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift index 76ea901d..3cc12d2c 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift @@ -81,7 +81,7 @@ public class TeamSettingViewModel { if let tid = weakSelf?.teamInfoModel?.team?.teamId { if isOpen == true { //weakSelf?.repo.updateNoti(.all, tid) - weakSelf?.repo.updateNoti(.all, tid, { error in + weakSelf?.repo.updateTeamNotify(.all, tid, { error in if let err = error { weakSelf?.delegate?.didNeedRefreshUI() weakSelf?.delegate?.didError(err) @@ -91,7 +91,7 @@ public class TeamSettingViewModel { }) }else { // weakSelf?.repo.updateNoti(.none, tid) - weakSelf?.repo.updateNoti(.none, tid, { error in + weakSelf?.repo.updateTeamNotify(.none, tid, { error in if let err = error { weakSelf?.delegate?.didNeedRefreshUI() weakSelf?.delegate?.didError(err) @@ -110,7 +110,7 @@ public class TeamSettingViewModel { if let tid = teamInfoModel?.team?.teamId { let session = NIMSession(tid, type: .team) - setTop.switchOpen = repo.sessionIsTop(session) + setTop.switchOpen = repo.isStickTop(session) } setTop.swichChange = { isOpen in @@ -118,7 +118,7 @@ public class TeamSettingViewModel { let session = NIMSession(tid, type: .team) if isOpen { let params = NIMAddStickTopSessionParams.init(session: session) - weakSelf?.repo.addStickTopSession(params: params) { error, info in + weakSelf?.repo.addStickTop(params: params) { error, info in print("add stick : ",error as Any) if let err = error { weakSelf?.delegate?.didNeedRefreshUI() @@ -129,7 +129,7 @@ public class TeamSettingViewModel { } }else { if let info = weakSelf?.repo.getTopSessionInfo(session) { - weakSelf?.repo.removeStickTopSession(params: info) { error, info in + weakSelf?.repo.removeStickTop(params: info) { error, info in print("remote stick : ",error as Any) if let err = error { weakSelf?.delegate?.didNeedRefreshUI() @@ -168,7 +168,7 @@ public class TeamSettingViewModel { } forbiddenWords.swichChange = { isOpen in if let tid = weakSelf?.teamInfoModel?.team?.teamId { - weakSelf?.repo.updateMuteState(isOpen, tid, { error in + weakSelf?.repo.muteAllMembers(isOpen, tid, { error in print("update mute error : ", error as Any) if let err = error { forbiddenWords.switchOpen = !isOpen @@ -284,7 +284,7 @@ public class TeamSettingViewModel { if error == nil { weakSelf?.getData() - weakSelf?.getCurrentMember(CoreKitIMEngine.instance.imAccid, teamId) + weakSelf?.getCurrentMember(IMKitLoginManager.instance.imAccid, teamId) } completion(error) } @@ -308,7 +308,7 @@ public class TeamSettingViewModel { func isOwner() -> Bool { if let accid = teamInfoModel?.team?.owner { - if CoreKitIMEngine.instance.isMySelf(accid) { + if IMKitLoginManager.instance.isMySelf(accid) { return true } } @@ -316,7 +316,7 @@ public class TeamSettingViewModel { } public func updateInfoMode(_ mode: NIMTeamUpdateInfoMode, _ teamId: String, _ completion: @escaping (Error?) -> Void){ - repo.updateInfoMode(mode, teamId, completion) + repo.updateTeamInfoPrivilege(mode, teamId, completion) } public func updateInviteMode(_ mode: NIMTeamInviteMode, _ teamId: String, _ completion: @escaping (Error?) -> Void){ @@ -332,26 +332,14 @@ public class TeamSettingViewModel { } public func searchMessages(_ session:NIMSession,option:NIMMessageSearchOption,_ completion:@escaping (NSError?,[HistoryMessageModel]?)->()) { - weak var weakSelf = self - var resultArr = [HistoryMessageModel]() - repo.searchMessages(session, option: option) { error, messages in if error == nil { - messages?.forEach({ message in - let messageModel = HistoryMessageModel() - messageModel.imMessage = message - let userInfo = weakSelf?.repo.getUserInfo(userId: message.from ?? "") - messageModel.avatar = userInfo?.userInfo?.avatarUrl - messageModel.content = message.text - messageModel.name = userInfo?.showName() - messageModel.time = String.stringFromDate(date: Date(timeIntervalSince1970: message.timestamp)) - resultArr.append(messageModel) - }) - resultArr.reverse() - weakSelf?.searchResultInfos = resultArr + weakSelf?.searchResultInfos = messages + completion(nil,weakSelf?.searchResultInfos) + }else { + completion(error,nil) } - completion(error,weakSelf?.searchResultInfos) } } } diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift index 50df915e..272f162c 100644 --- a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift +++ b/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift @@ -5,13 +5,7 @@ import Foundation import NEKitTeam import NEKitCore -public let TeamCreateDisuss = "xkit://team.create.discuss" -public let TeamCreateSenior = "xkit://team.create.senior" - -public let TeamCreateDiscussResult = "xkit://team.create.discuss.result" -public let TeamCreateSeniorResult = "xkit://team.create.senior.result" - -public let TeamSettingView = "xkit://team.setting.view" +import NEKitCoreIM public class TeamRouter { @@ -25,7 +19,7 @@ public class TeamRouter { public static func register(){ - Router.shared.register(TeamSettingView){ param in + Router.shared.register(TeamSettingViewRouter){ param in let nav = param["nav"] as? UINavigationController let teamId = param["teamid"] as? String let teamSetting = TeamSettingViewController() @@ -63,7 +57,7 @@ public class TeamRouter { name = String(name.prefix(30)) } let iconUrl = (param["url"] as? String) ?? iconUrls[Int(arc4random()) % iconUrls.count] - repo.createSeniorTeam(accids, iconUrl, name) { error, teamid, failedIds in + repo.createAdvanceTeam(accids, iconUrl, name) { error, teamid, failedIds in var result = [String : Any]() if let err = error { result["code"] = err.code @@ -73,7 +67,7 @@ public class TeamRouter { result["msg"] = "ok" result["teamId"] = teamid - repo.sendCreateSeniorNoti(teamid ?? "", localizable("create_senior_team_noti")) { error in + repo.sendCreateAdavanceNoti(teamid ?? "", localizable("create_senior_team_noti")) { error in print("send noti message : ", error as Any) } } From 4f2b10a082f7cbc75dd8ac9d3b0e28f7f8da647e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 20:24:41 +0800 Subject: [PATCH 6/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9pod=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Podfile | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/Podfile b/Podfile index 95c1a2d2..4ad65b4e 100644 --- a/Podfile +++ b/Podfile @@ -7,17 +7,17 @@ target 'app' do pod 'YXLogin', '1.0.0' - pod 'NEContactUIKit', '9.0.2-beta2' - pod 'NEQChatUIKit', '9.0.2-beta2' - pod 'NEConversationUIKit', '9.0.2-beta2' - pod 'NEChatUIKit', '9.0.2-beta2' - pod 'NETeamUIKit', '9.0.2-beta2' + pod 'NEContactUIKit', '9.2.0' + pod 'NEQChatUIKit', '9.2.0' + pod 'NEConversationUIKit', '9.2.0' + pod 'NEChatUIKit', '9.2.0' + pod 'NETeamUIKit', '9.2.0' # 如果需要查看UI部分源码请注释掉以上在线依赖,打开下面的本地依赖 -# pod 'NEChatKit', '9.0.1' -# pod 'NEConversationKit', '9.0.1' -# pod 'NEContactKit', '9.0.1' -# pod 'NETeamKit', '9.0.1' +# pod 'NEChatKit', '9.2.0' +# pod 'NEConversationKit', '9.2.0' +# pod 'NEContactKit', '9.2.0' +# pod 'NETeamKit', '9.2.0' # pod 'NEKitQChatUI', :path => 'NEKitQChat/NEKitQChatUI/NEKitQChatUI.podspec' # pod 'NEKitContactUI', :path => 'NEKitContact/NEKitContactUI/NEKitContactUI.podspec' # pod 'NEKitConversationUI', :path => 'NEKitConversation/NEKitConversationUI/NEKitConversationUI.podspec' From 2a6ce13bdf82e957b19144f6ef3ee7ebd176f6d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Thu, 23 Jun 2022 22:11:59 +0800 Subject: [PATCH 7/8] =?UTF-8?q?=E5=AF=B9=E9=BD=90=E5=A3=B3=E5=AD=90?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/AppDelegate.swift | 8 ++++---- app/Mine/MeViewController.swift | 2 +- app/Mine/MineSettingViewModel.swift | 15 ++++++++------- app/Mine/PersonInfoViewController.swift | 4 ++-- app/Mine/PersonInfoViewModel.swift | 2 +- app/NETabBarController.swift | 2 +- 6 files changed, 17 insertions(+), 16 deletions(-) diff --git a/app/AppDelegate.swift b/app/AppDelegate.swift index 0ff2b282..50fcfe52 100644 --- a/app/AppDelegate.swift +++ b/app/AppDelegate.swift @@ -31,14 +31,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD let option = NIMSDKOption() option.appKey = AppKey.appKey option.apnsCername = AppKey.pushCerName - CoreKitEngine.instance.setupCoreKit(option) + IMKitEngine.instance.setupCoreKitIM(option) IQKeyboardManager.shared.enable = true IQKeyboardManager.shared.shouldResignOnTouchOutside = true //login action - startLogin(account: <#imaccid#>, token: <#imToken#>) + startLogin(account:"279476370047232", token:"22b4fb5a-9696-4ce6-95b5-39be56bf5980") } @objc func refreshRoot(){ @@ -80,13 +80,13 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD func startLogin(account:String,token:String){ weak var weakSelf = self - CoreKitEngine.instance.login(account, token) { error in + IMKitLoginManager.instance.loginIM(account, token) { error in if let err = error { print("NEKitCore login error : ", err) }else { ChatRouter.setupInit() let param = QChatLoginParam(account,token) - CoreKitIMEngine.instance.loginQchat(param) { error, response in + IMKitLoginManager.instance.loginQchat(param) { error, response in if let err = error { print("qchatLogin failed, error : ", err) }else { diff --git a/app/Mine/MeViewController.swift b/app/Mine/MeViewController.swift index 22482908..df40a859 100644 --- a/app/Mine/MeViewController.swift +++ b/app/Mine/MeViewController.swift @@ -127,7 +127,7 @@ class MeViewController: UIViewController { } func updateUserInfo(){ - let user = userProvider.getUserInfo(userId: CoreKitIMEngine.instance.imAccid) + let user = userProvider.getUserInfo(userId: IMKitLoginManager.instance.imAccid) idLabel.text = "账号:\(user?.userId ?? "")" nameLabel.text = user?.userInfo?.nickName header.configHeadData(headUrl: user?.userInfo?.avatarUrl, name: user?.showName() ?? "") diff --git a/app/Mine/MineSettingViewModel.swift b/app/Mine/MineSettingViewModel.swift index 20adaf49..197c7043 100644 --- a/app/Mine/MineSettingViewModel.swift +++ b/app/Mine/MineSettingViewModel.swift @@ -57,10 +57,11 @@ public class MineSettingViewModel { receiverModel.cellName = "听筒模式" receiverModel.type = SettingCellType.SettingSwitchCell.rawValue receiverModel.cornerType = .topLeft.union(.topRight) - receiverModel.switchOpen = CoreKitEngine.instance.repo.getHandSetMode() - +// receiverModel.switchOpen = CoreKitEngine.instance.repo.getHandSetMode() + receiverModel.switchOpen = IMKitEngine.instance.repo.getHandSetMode() + receiverModel.swichChange = { isOpen in - CoreKitEngine.instance.repo.setHandSetMode(isOpen) + IMKitEngine.instance.repo.setHandSetMode(isOpen) } // //过滤通知 // let filterNotify = SettingCellModel() @@ -76,10 +77,10 @@ public class MineSettingViewModel { let deleteFriend = SettingCellModel() deleteFriend.cellName = "删除好友是否同步删除备注" deleteFriend.type = SettingCellType.SettingSwitchCell.rawValue - deleteFriend.switchOpen = CoreKitEngine.instance.repo.getDeleteFriendAlias() + deleteFriend.switchOpen = IMKitEngine.instance.repo.getDeleteFriendAlias() deleteFriend.swichChange = { isOpen in - CoreKitEngine.instance.repo.setDeleteFriendAlias(isOpen) + IMKitEngine.instance.repo.setDeleteFriendAlias(isOpen) } //消息已读未读功能 @@ -88,9 +89,9 @@ public class MineSettingViewModel { hasRead.type = SettingCellType.SettingSwitchCell.rawValue hasRead.cornerType = .bottomLeft.union(.bottomRight) // hasRead.switchOpen = true - hasRead.switchOpen = CoreKitEngine.instance.repo.getMessageRead() + hasRead.switchOpen = IMKitEngine.instance.repo.getMessageRead() hasRead.swichChange = { isOpen in - CoreKitEngine.instance.repo.setMessageRead(isOpen) + IMKitEngine.instance.repo.setMessageRead(isOpen) } model.cellModels.append(contentsOf: [receiverModel ,deleteFriend,hasRead]) return model diff --git a/app/Mine/PersonInfoViewController.swift b/app/Mine/PersonInfoViewController.swift index 273c12b7..e85a782e 100644 --- a/app/Mine/PersonInfoViewController.swift +++ b/app/Mine/PersonInfoViewController.swift @@ -128,7 +128,7 @@ class PersonInfoViewController: NEBaseViewController { extension PersonInfoViewController:NIMUserManagerDelegate { func onUserInfoChanged(_ user: NIMUser) { - if user.userId == CoreKitIMEngine.instance.imAccid { + if user.userId == IMKitLoginManager.instance.imAccid { viewModel.getData() tableView.reloadData() } @@ -150,7 +150,7 @@ extension PersonInfoViewController:UINavigationControllerDelegate { self.view.makeToastActivity(.center) weak var weakSelf = self if let imageData = image.jpegData(compressionQuality: 0.6) as NSData? { - let filePath = NSHomeDirectory().appending("/Documents/").appending(CoreKitIMEngine.instance.imAccid) + let filePath = NSHomeDirectory().appending("/Documents/").appending(IMKitLoginManager.instance.imAccid) let succcess = imageData.write(toFile: filePath, atomically: true) if succcess { NIMSDK.shared().resourceManager.upload(filePath, scene: NIMNOSSceneTypeAvatar, progress: nil) { urlString, error in diff --git a/app/Mine/PersonInfoViewModel.swift b/app/Mine/PersonInfoViewModel.swift index 833f6f51..6ad9027c 100644 --- a/app/Mine/PersonInfoViewModel.swift +++ b/app/Mine/PersonInfoViewModel.swift @@ -26,7 +26,7 @@ public class PersonInfoViewModel{ func getData(){ sectionData.removeAll() - userInfo = friendProvider.getUserInfo(userId: CoreKitIMEngine.instance.imAccid) + userInfo = friendProvider.getUserInfo(userId: IMKitLoginManager.instance.imAccid) sectionData.append(getFirstSection()) sectionData.append(getSecondSection()) } diff --git a/app/NETabBarController.swift b/app/NETabBarController.swift index 482ec46e..1dfa0d4e 100644 --- a/app/NETabBarController.swift +++ b/app/NETabBarController.swift @@ -61,7 +61,7 @@ class NETabBarController: UITabBarController { } func setUpSessionBadgeValue(){ - sessionUnreadCount = ConversationRepo().allUnreadCount(notify: true) + sessionUnreadCount = ConversationRepo().getMsgUnreadCount(notify: true) if sessionUnreadCount > 0 { self.tabBar.showBadgOn(index: 0) }else { From 6390a7125d5bb389c52ff5a11cbf4ed7852c95ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E5=96=84=E6=A0=8B?= Date: Fri, 24 Jun 2022 09:34:52 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../NEKitChatUI.podspec | 0 .../NEKitChatUI/Assets/.gitkeep | 0 .../NEKitChatUI.xcassets/Chat/Contents.json | 0 .../Chat/add.imageset/Contents.json | 0 .../Chat/add.imageset/Frame@2x-4.png | Bin .../Chat/add.imageset/Frame@3x-4.png | Bin .../Chat/audio_play.imageset/Contents.json | 0 .../Chat/audio_play.imageset/Frame@2x.png | Bin .../Chat/audio_play.imageset/Frame@3x.png | Bin .../Contents.json | 0 .../chat_message_receive@2x.png | Bin .../chat_message_receive@3x.png | Bin .../chat_message_send.imageset/Contents.json | 0 .../chat_message_send@2x.png | Bin .../chat_message_send@3x.png | Bin .../Chat/chat_read_all.imageset/Contents.json | 0 .../chat_read_all.imageset/Group 156@2x.png | Bin .../chat_read_all.imageset/Group 156@3x.png | Bin .../Chat/chat_record.imageset/Contents.json | 0 .../chat_record.imageset/Group 280@2x.png | Bin .../chat_record.imageset/Group 280@3x.png | Bin .../Chat/chat_unread.imageset/Contents.json | 0 .../chat_unread.imageset/Ellipse 17@2x.png | Bin .../chat_unread.imageset/Ellipse 17@3x.png | Bin .../Chat/chat_video.imageset/Contents.json | 0 .../chat_video.imageset/chat_video@2x.png | Bin .../chat_video.imageset/chat_video@3x.png | Bin .../Chat/close.imageset/Contents.json | 0 .../Chat/close.imageset/Frame@2x.png | Bin .../Chat/close.imageset/Frame@3x.png | Bin .../Chat/emoji.imageset/Contents.json | 0 .../Chat/emoji.imageset/Frame@2x-1.png | Bin .../Chat/emoji.imageset/Frame@3x-1.png | Bin .../Chat/file.imageset/Contents.json | 0 .../Chat/file.imageset/Frame@2x-3.png | Bin .../Chat/file.imageset/Frame@3x-3.png | Bin .../Chat/left_play_1.imageset/Contents.json | 0 .../Chat/left_play_1.imageset/Frame@2x.png | Bin .../Chat/left_play_1.imageset/Frame@3x.png | Bin .../Chat/left_play_2.imageset/Contents.json | 0 .../Chat/left_play_2.imageset/Frame@2x-1.png | Bin .../Chat/left_play_2.imageset/Frame@3x-1.png | Bin .../Chat/left_play_3.imageset/Contents.json | 0 .../Chat/left_play_3.imageset/Frame@2x-2.png | Bin .../Chat/left_play_3.imageset/Frame@3x-2.png | Bin .../Chat/mic.imageset/Contents.json | 0 .../Chat/mic.imageset/Frame@2x.png | Bin .../Chat/mic.imageset/Frame@3x.png | Bin .../Chat/msg_pin.imageset/Contents.json | 0 .../Chat/msg_pin.imageset/Frame@2x.png | Bin .../Chat/msg_pin.imageset/Frame@3x.png | Bin .../Chat/photo.imageset/Contents.json | 0 .../Chat/photo.imageset/Frame@2x-2.png | Bin .../Chat/photo.imageset/Frame@3x-2.png | Bin .../Chat/play_1.imageset/Contents.json | 0 .../Chat/play_1.imageset/Frame@2x.png | Bin .../Chat/play_1.imageset/Frame@3x.png | Bin .../Chat/play_2.imageset/Contents.json | 0 .../Chat/play_2.imageset/Frame@2x-1.png | Bin .../Chat/play_2.imageset/Frame@3x-1.png | Bin .../Chat/play_3.imageset/Contents.json | 0 .../Chat/play_3.imageset/Frame@2x-2.png | Bin .../Chat/play_3.imageset/Frame@3x-2.png | Bin .../Chat/record_1.imageset/Contents.json | 0 .../Chat/record_1.imageset/Group 311@2x.png | Bin .../Chat/record_1.imageset/Group 311@3x.png | Bin .../Chat/record_2.imageset/Contents.json | 0 .../Chat/record_2.imageset/Group 310@2x.png | Bin .../Chat/record_2.imageset/Group 310@3x.png | Bin .../Chat/record_3.imageset/Contents.json | 0 .../Chat/record_3.imageset/Group 309@2x.png | Bin .../Chat/record_3.imageset/Group 309@3x.png | Bin .../Chat/record_4.imageset/Contents.json | 0 .../Chat/record_4.imageset/Group 308@2x.png | Bin .../Chat/record_4.imageset/Group 308@3x.png | Bin .../sendMessage_failed.imageset/Contents.json | 0 .../sendMessage_failed.png | Bin .../NEKitChatUI.xcassets/Commom/Contents.json | 0 .../Commom/arrowDown.imageset/Contents.json | 0 .../arrowDown.imageset/Frame 214@2x.png | Bin .../arrowDown.imageset/Frame 214@3x.png | Bin .../Commom/arrowRight.imageset/Contents.json | 0 .../arrowRight.imageset/Vector 87@2x.png | Bin .../arrowRight.imageset/Vector 87@3x.png | Bin .../Commom/arrowUp.imageset/Contents.json | 0 .../Commom/arrowUp.imageset/Frame 214@2x.png | Bin .../Commom/arrowUp.imageset/Frame 214@3x.png | Bin .../Commom/backArrow.imageset/Contents.json | 0 .../Commom/backArrow.imageset/back@2x.png | Bin .../Commom/backArrow.imageset/back@3x.png | Bin .../Commom/delete.imageset/Contents.json | 0 .../Commom/delete.imageset/Frame@2x.png | Bin .../Commom/delete.imageset/Frame@3x.png | Bin .../memberPlaceholder.imageset/Contents.json | 0 .../Frame 1016@2x.png | Bin .../Frame 1016@3x.png | Bin .../Commom/right_arrow.imageset/Contents.json | 0 .../Commom/right_arrow.imageset/Frame@2x.png | Bin .../Commom/right_arrow.imageset/Frame@3x.png | Bin .../rolePlaceholder.imageset/Contents.json | 0 .../Frame 1018@2x.png | Bin .../Frame 1018@3x.png | Bin .../Commom/search.imageset/Contents.json | 0 .../Commom/search.imageset/Frame@2x.png | Bin .../Commom/search.imageset/Frame@3x.png | Bin .../Commom/select.imageset/Contents.json | 0 .../Commom/select.imageset/select@2x.png | Bin .../Commom/select.imageset/select@3x.png | Bin .../Commom/setting_add.imageset/Contents.json | 0 .../setting_add.imageset/setting_add@2x.png | Bin .../setting_add.imageset/setting_add@3x.png | Bin .../Commom/sign_add.imageset/Contents.json | 0 .../\346\267\273\345\212\240@2x.png" | Bin .../\346\267\273\345\212\240@3x.png" | Bin .../Commom/three_point.imageset/Contents.json | 0 .../three_point.imageset/threePoint@2x.png | Bin .../three_point.imageset/threePoint@3x.png | Bin .../Commom/unselect.imageset/Contents.json | 0 .../Commom/unselect.imageset/unselect@2x.png | Bin .../Commom/unselect.imageset/unslect@3x.png | Bin .../Assets/NEKitChatUI.xcassets/Contents.json | 0 .../Members/Contents.json | 0 .../Members/chat_team.imageset/Contents.json | 0 .../chat_team.imageset/Group 117@2x.png | Bin .../chat_team.imageset/Group 117@3x.png | Bin .../operation/Contents.json | 0 .../op_collection.imageset/Contents.json | 0 .../op_collection.imageset/Frame@2x-5.png | Bin .../op_collection.imageset/Frame@3x-5.png | Bin .../operation/op_copy.imageset/Contents.json | 0 .../operation/op_copy.imageset/Frame@2x.png | Bin .../operation/op_copy.imageset/Frame@3x.png | Bin .../op_delete.imageset/Contents.json | 0 .../op_delete.imageset/Frame 45@2x.png | Bin .../op_delete.imageset/Frame 45@3x.png | Bin .../op_forward.imageset/Contents.json | 0 .../op_forward.imageset/Frame@2x-2.png | Bin .../op_forward.imageset/Frame@3x-2.png | Bin .../operation/op_pin.imageset/Contents.json | 0 .../operation/op_pin.imageset/Frame@2x-3.png | Bin .../operation/op_pin.imageset/Frame@3x-3.png | Bin .../op_recall.imageset/Contents.json | 0 .../op_recall.imageset/Frame@2x-6.png | Bin .../op_recall.imageset/Frame@3x-6.png | Bin .../op_replay.imageset/Contents.json | 0 .../op_replay.imageset/Frame@2x-1.png | Bin .../op_replay.imageset/Frame@3x-1.png | Bin .../op_select.imageset/Contents.json | 0 .../op_select.imageset/Frame@2x-4.png | Bin .../op_select.imageset/Frame@3x-4.png | Bin .../Emoji/emoj_s_normal@2x.png | Bin .../Emoji/emoj_s_pressed@2x.png | Bin .../NIMKitEmoticon.bundle/Emoji/emoji.plist | 0 .../NIMKitEmoticon.bundle/Emoji/emoji.xml | 0 .../Emoji/emoji_00@2x.png | Bin .../Emoji/emoji_01@2x.png | Bin .../Emoji/emoji_02@2x.png | Bin .../Emoji/emoji_03@2x.png | Bin .../Emoji/emoji_04@2x.png | Bin .../Emoji/emoji_05@2x.png | Bin .../Emoji/emoji_06@2x.png | Bin .../Emoji/emoji_07@2x.png | Bin .../Emoji/emoji_08@2x.png | Bin .../Emoji/emoji_09@2x.png | Bin .../Emoji/emoji_10@2x.png | Bin .../Emoji/emoji_11@2x.png | Bin .../Emoji/emoji_12@2x.png | Bin .../Emoji/emoji_13@2x.png | Bin .../Emoji/emoji_14@2x.png | Bin .../Emoji/emoji_15@2x.png | Bin .../Emoji/emoji_16@2x.png | Bin .../Emoji/emoji_17@2x.png | Bin .../Emoji/emoji_18@2x.png | Bin .../Emoji/emoji_19@2x.png | Bin .../Emoji/emoji_20@2x.png | Bin .../Emoji/emoji_21@2x.png | Bin .../Emoji/emoji_22@2x.png | Bin .../Emoji/emoji_23@2x.png | Bin .../Emoji/emoji_24@2x.png | Bin .../Emoji/emoji_25@2x.png | Bin .../Emoji/emoji_26@2x.png | Bin .../Emoji/emoji_27@2x.png | Bin .../Emoji/emoji_28@2x.png | Bin .../Emoji/emoji_29@2x.png | Bin .../Emoji/emoji_30@2x.png | Bin .../Emoji/emoji_31@2x.png | Bin .../Emoji/emoji_32@2x.png | Bin .../Emoji/emoji_33@2x.png | Bin .../Emoji/emoji_34@2x.png | Bin .../Emoji/emoji_35@2x.png | Bin .../Emoji/emoji_36@2x.png | Bin .../Emoji/emoji_37@2x.png | Bin .../Emoji/emoji_38@2x.png | Bin .../Emoji/emoji_39@2x.png | Bin .../Emoji/emoji_40@2x.png | Bin .../Emoji/emoji_41@2x.png | Bin .../Emoji/emoji_42@2x.png | Bin .../Emoji/emoji_43@2x.png | Bin .../Emoji/emoji_44@2x.png | Bin .../Emoji/emoji_45@2x.png | Bin .../Emoji/emoji_46@2x.png | Bin .../Emoji/emoji_47@2x.png | Bin .../Emoji/emoji_48@2x.png | Bin .../Emoji/emoji_49@2x.png | Bin .../Emoji/emoji_50@2x.png | Bin .../Emoji/emoji_51@2x.png | Bin .../Emoji/emoji_52@2x.png | Bin .../Emoji/emoji_53@2x.png | Bin .../Emoji/emoji_54@2x.png | Bin .../Emoji/emoji_55@2x.png | Bin .../Emoji/emoji_56@2x.png | Bin .../Emoji/emoji_57@2x.png | Bin .../Emoji/emoji_58@2x.png | Bin .../Emoji/emoji_59@2x.png | Bin .../Emoji/emoji_60@2x.png | Bin .../Emoji/emoji_61@2x.png | Bin .../Emoji/emoji_62@2x.png | Bin .../Emoji/emoji_63@2x.png | Bin .../Emoji/emoji_64@2x.png | Bin .../Emoji/emoji_65@2x.png | Bin .../Emoji/emoji_66@2x.png | Bin .../Emoji/emoji_67@2x.png | Bin .../Emoji/emoji_68@2x.png | Bin .../Emoji/emoji_del_normal@2x.png | Bin .../Emoji/emoji_del_pressed@2x.png | Bin .../Emoji/emoji_ios.plist | 0 .../Emoji/emoji_ios_new.plist | 0 .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitChatUI/Classes/.gitkeep | 0 .../Classes/Base/BaseView/ChatBaseCell.swift | 0 .../BaseView/ChatBaseCollectionViewCell.swift | 0 .../Base/BaseView/ChatCenterTextCell.swift | 0 .../Base/BaseView/ChatCornerCell.swift | 0 .../Base/BaseView/ChatHeaderView.swift | 0 .../Base/BaseView/ChatImageTextCell.swift | 0 .../Base/BaseView/ChatSectionView.swift | 0 .../Classes/Base/BaseView/ChatStateCell.swift | 0 .../Base/BaseView/ChatTextArrowCell.swift | 0 .../Classes/Base/BaseView/ChatTextCell.swift | 0 .../Base/BaseView/ChatUnfoldCell.swift | 0 .../Base/BaseView/ChatUserHeaderView.swift | 0 .../ChatBaseViewController.swift | 0 .../ChatNavigationController.swift | 0 .../ChatTableViewController.swift | 0 .../Chat/Controller/ChatViewController.swift | 0 .../Controller/GroupChatViewController.swift | 0 .../Controller/P2PChatViewController.swift | 0 .../Chat/Controller/ReadViewController.swift | 0 .../Controller/SelectUserViewController.swift | 0 .../UserSettingViewController.swift | 0 .../Classes/Chat/Emoji/EmojiPageView.swift | 0 .../Emoji/InputEmoticonContainerView.swift | 0 .../Chat/Emoji/InputEmoticonTabView.swift | 0 .../Chat/Emoji/NEEmotionAttachment.swift | 0 .../Classes/Chat/Emoji/NEEmotionTool.swift | 0 .../Chat/Emoji/NIMInputEmoticonButton.swift | 0 .../Chat/Emoji/NIMInputEmoticonDefine.swift | 0 .../Chat/Emoji/NIMInputEmoticonManager.swift | 0 .../Chat/Helper/ChatMessageHelper.swift | 0 .../Classes/Chat/Helper/MessageUtils.swift | 0 .../Helper/NotificationMessageUtils.swift | 0 .../Chat/Helper/ReplyMessageUtil.swift | 0 .../Chat/Model/CustomerSampleAttachment.swift | 0 .../Chat/Model/MessageAudioModel.swift | 0 .../Chat/Model/MessageContentModel.swift | 0 .../Chat/Model/MessageImageModel.swift | 0 .../Classes/Chat/Model/MessageModel.swift | 0 .../Chat/Model/MessageReplyModel.swift | 0 .../Classes/Chat/Model/MessageTextModel.swift | 0 .../Classes/Chat/Model/MessageTipsModel.swift | 0 .../Chat/Model/MessageVideoModel.swift | 0 .../Classes/Chat/Model/OperationItem.swift | 0 .../Chat/Model/UserSettingCellModel.swift | 0 .../Chat/View/Cell/ChatAudioLeftCell.swift | 0 .../Chat/View/Cell/ChatAudioRightCell.swift | 0 .../Chat/View/Cell/ChatBaseLeftCell.swift | 0 .../Chat/View/Cell/ChatBaseRightCell.swift | 0 .../Chat/View/Cell/ChatImageLeftCell.swift | 0 .../Chat/View/Cell/ChatImageRightCell.swift | 0 .../Chat/View/Cell/ChatReplyLeftCell.swift | 0 .../Chat/View/Cell/ChatReplyRightCell.swift | 0 .../Chat/View/Cell/ChatRevokeLeftCell.swift | 0 .../Chat/View/Cell/ChatRevokeRightCell.swift | 0 .../Chat/View/Cell/ChatTeamMemberCell.swift | 0 .../Chat/View/Cell/ChatTextLeftCell.swift | 0 .../Chat/View/Cell/ChatTextRightCell.swift | 0 .../View/Cell/ChatTimeTableViewCell.swift | 0 .../Chat/View/Cell/ChatVideoLeftCell.swift | 0 .../Chat/View/Cell/ChatVideoRightCell.swift | 0 .../Chat/View/Cell/OperationCell.swift | 0 .../Chat/View/Cell/UserSettingBaseCell.swift | 0 .../View/Cell/UserSettingSwitchCell.swift | 0 .../Chat/View/Cell/UserTableViewCell.swift | 0 .../Chat/View/ChatActivityIndicatorView.swift | 0 .../Chat/View/ChatBrokenNetworkView.swift | 0 .../Classes/Chat/View/ChatInputView.swift | 0 .../Classes/Chat/View/ChatRecordView.swift | 0 .../Classes/Chat/View/CirleProgressView.swift | 0 .../View/ForwardAlertViewController.swift | 0 .../Chat/View/MessageOperationView.swift | 0 .../Classes/Chat/View/ReplyView.swift | 0 .../Chat/ViewModel/ChatViewModel.swift | 0 .../Chat/ViewModel/TeamChatViewModel.swift | 0 .../Chat/ViewModel/TeamMemberSelectVM.swift | 0 .../Chat/ViewModel/UserSettingViewModel.swift | 0 .../Classes/ChatConfig/ChatUIConfig.swift | 0 .../Classes/ChatConfig/NEKitChatConfig.swift | 0 .../Classes/ChatRouter/ChatRouter.swift | 0 .../Classes/Common/ChatConstantValue.swift | 0 .../Classes/Common/Constants.swift | 0 .../Classes/Common/NEChatUITool.swift | 0 .../Classes/Common/NSBundleExtension.swift | 0 .../Classes/Extension/AlertVCExtention.swift | 0 .../Extension/ChatStringExtension.swift | 0 .../Classes/Extension/ColorExtension.swift | 0 .../Classes/Extension/ImageExtension.swift | 0 .../Classes/Extension/NEErrorExtension.swift | 0 .../NEKitCommonUI.podspec | 0 .../NEKitCommonUI/Assets/.gitkeep | 0 .../Assets/NECommonUI.xcassets/Contents.json | 0 .../NECommonUI.xcassets/common/Contents.json | 0 .../common/close_btn.imageset/Contents.json | 0 .../close_btn.imageset/close_btn@2x.png | Bin .../close_btn.imageset/close_btn@3x.png | Bin .../common/photo_btn.imageset/Contents.json | 0 .../photo_btn.imageset/photo_btn@2x.png | Bin .../photo_btn.imageset/photo_btn@3x.png | Bin .../common/save_btn.imageset/Contents.json | 0 .../common/save_btn.imageset/save_btn@2x.png | Bin .../common/save_btn.imageset/save_btn@3x.png | Bin .../common/thumb.imageset/Contents.json | 0 .../common/thumb.imageset/thumb@2x.png | Bin .../common/thumb.imageset/thumb@3x.png | Bin .../common/video_play.imageset/Contents.json | 0 .../video_play.imageset/video_play@2x.png | Bin .../video_play.imageset/video_play@3x.png | Bin .../video_play_big.imageset/Contents.json | 0 .../video_play_big@2x.png | Bin .../video_play_big@3x.png | Bin .../video_play_icon.imageset/Contents.json | 0 .../video_play@2x.png | Bin .../video_play@3x.png | Bin .../video_stop_icon.imageset/Contents.json | 0 .../video_stop@2x.png | Bin .../video_stop@3x.png | Bin .../white_right_img.imageset/Contents.json | 0 .../white_right@2x.png | Bin .../white_right@3x.png | Bin .../placeholder/Contents.json | 0 .../emptyView.imageset/Contents.json | 0 .../emptyView.imageset/Frame 1020@2x.png | Bin .../emptyView.imageset/Frame 1020@3x.png | Bin .../user_empty.imageset/Contents.json | 0 .../user_empty.imageset/user_empty@2x.png | Bin .../user_empty.imageset/user_empty@3x.png | Bin .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitCommonUI/Classes/.gitkeep | 0 .../NEKitCommonUI/Classes/Constant.swift | 0 .../NEKitCommonUI/Classes/ExpandButton.swift | 0 .../Classes/NEBrokenNetworkView.swift | 0 .../Classes/NEButtonExtension.swift | 0 .../Classes/NEEmptyDataView.swift | 0 .../Classes/NEUserHeaderView.swift | 0 .../PhotoBrowserBigImgBackView.swift | 0 .../PhotoBrowser/PhotoBrowserCell.swift | 0 .../PhotoBrowser/PhotoBrowserController.swift | 0 .../PhotoBrowser/PhotoBrowserFlowLayout.swift | 0 .../Classes/PopListViewController.swift | 0 .../NEKitCommonUI/Classes/RedAngleLabel.swift | 0 .../Classes/SearchTextField.swift | 0 .../Classes/TabbarExtensionView.swift | 0 .../Classes/UIAlertController.swift | 0 .../NEKitCommonUI/Classes/UIImageView.swift | 0 .../VideoPlayerViewController.swift | 0 .../Classes/VideoBrowser/VideoToolBar.swift | 0 .../Classes/View/BrowserToolsBar.swift | 0 .../Classes/View/CornerCell.swift | 0 .../Classes/View/TextBaseCell.swift | 0 .../Classes/View/ToastImageView.swift | 0 .../Classes/View/VideoStateView.swift | 0 .../Classes/ViewControllerExtension.swift | 0 .../NEKitContactUI.podspec | 0 .../NEKitContactUI/Assets/.gitkeep | 0 .../NEKitContact.xcassets/Contents.json | 0 .../add.imageset/Contents.json | 0 .../add.imageset/add@2x.png | Bin .../add.imageset/add@3x.png | Bin .../addBlack.imageset/Contents.json | 0 .../addBlack.imageset/Group 367@2x.png | Bin .../addBlack.imageset/Group 367@3x.png | Bin .../arrowRight.imageset/Contents.json | 0 .../arrowRight.imageset/Vector 87@2x.png | Bin .../arrowRight.imageset/Vector 87@3x.png | Bin .../backArrow.imageset/Contents.json | 0 .../backArrow.imageset/back@2x.png | Bin .../backArrow.imageset/back@3x.png | Bin .../blackName.imageset/Contents.json | 0 .../blackName.imageset/blackName@2x.png | Bin .../blackName.imageset/blackName@3x.png | Bin .../contact_search.imageset/Contents.json | 0 .../contact_search@2x.png | Bin .../contact_search@3x.png | Bin .../finishFlag.imageset/Contents.json | 0 .../finishFlag.imageset/grayRight@2x.png | Bin .../finishFlag.imageset/grayRight@3x.png | Bin .../group.imageset/Contents.json | 0 .../group.imageset/group@2x.png | Bin .../group.imageset/group@3x.png | Bin .../myComputer.imageset/Contents.json | 0 .../myComputer.imageset/Frame@2x.png | Bin .../myComputer.imageset/Frame@3x.png | Bin .../search.imageset/Contents.json | 0 .../search.imageset/search@2x.png | Bin .../search.imageset/search@3x.png | Bin .../select.imageset/Contents.json | 0 .../select.imageset/select@2x.png | Bin .../select.imageset/select@3x.png | Bin .../NEKitContact.xcassets/team/Contents.json | 0 .../team/icon_0.imageset/Contents.json | 0 .../team/icon_0.imageset/icon_1@2x.png | Bin .../team/icon_0.imageset/icon_1@3x.png | Bin .../team/icon_1.imageset/Contents.json | 0 .../team/icon_1.imageset/icon_2@2x.png | Bin .../team/icon_1.imageset/icon_2@3x.png | Bin .../team/icon_2.imageset/Contents.json | 0 .../team/icon_2.imageset/icon_3@2x.png | Bin .../team/icon_2.imageset/icon_3@3x.png | Bin .../team/icon_3.imageset/Contents.json | 0 .../team/icon_3.imageset/icon_4@2x.png | Bin .../team/icon_3.imageset/icon_4@3x.png | Bin .../team/icon_4.imageset/Contents.json | 0 .../team/icon_4.imageset/icon_5@2x.png | Bin .../team/icon_4.imageset/icon_5@3x.png | Bin .../unselect.imageset/Contents.json | 0 .../unselect.imageset/unselect@2x.png | Bin .../unselect.imageset/unslect@3x.png | Bin .../user_empty.imageset/Contents.json | 0 .../user_empty.imageset/user_empty@2x.png | Bin .../user_empty.imageset/user_empty@3x.png | Bin .../valid.imageset/Contents.json | 0 .../valid.imageset/valid@2x.png | Bin .../valid.imageset/valid@3x.png | Bin .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitContactUI/Classes/.gitkeep | 0 .../Classes/Base/ContactBaseViewCell.swift | 0 .../BlackListViewController.swift | 0 .../ViewModel/BlackListViewModel.swift | 0 .../BlackList/Views/BlackListCell.swift | 0 .../Common/ContactCellDataProtrol.swift | 0 .../Classes/Common/ContactConst.swift | 0 .../Classes/Common/ContactDataProtrol.swift | 0 .../Classes/Common/ContactRouter.swift | 0 .../Classes/Common/ContactsConfig.swift | 0 .../ContactConfig/ContactUIConfig.swift | 0 .../ContactConfig/NEKitContactConfig.swift | 0 .../Classes/Extension/ContactUI.swift | 0 .../Classes/Extension/ImageExtension.swift | 0 .../Classes/Extension/UIViewController.swift | 0 .../Classes/Model/ContactInfo.swift | 0 .../Classes/Model/ContactSection.swift | 0 .../TeamListViewController.swift | 0 .../Team/ViewModel/TeamListViewModel.swift | 0 .../Team/Views/TeamTableViewCell.swift | 0 .../Classes/UserInfo/Models/UserItem.swift | 0 .../Classes/UserInfo/UserInfoHeaderView.swift | 0 .../ContactRemakNameViewController.swift | 0 .../ContactUserViewController.swift | 0 .../UserInfo/Views/CenterTextCell.swift | 0 .../Classes/UserInfo/Views/TextBaseCell.swift | 0 .../Views/TextWithDetailTextCell.swift | 0 .../Views/TextWithRightArrowCell.swift | 0 .../UserInfo/Views/TextWithSwitchCell.swift | 0 .../ValidationMessageViewController.swift | 0 .../ValidationMessageViewModel.swift | 0 .../Validation/Views/BaseValidationCell.swift | 0 .../Views/SystemNotificationCell.swift | 0 .../Classes/ViewModel/ContactGroup.swift | 0 .../ViewModel/ContactUserViewModel.swift | 0 .../Classes/ViewModel/ContactViewModel.swift | 0 .../ViewModel/FindFriendViewModel.swift | 0 .../Views/Cell/ContactSelectedCell.swift | 0 .../Views/Cell/ContactUnCheckCell.swift | 0 .../Views/ContactBaseViewController.swift | 0 .../Classes/Views/ContactHeadItem.swift | 0 .../Classes/Views/ContactSectionView.swift | 0 .../Classes/Views/ContactTableViewCell.swift | 0 .../ContactsSelectedViewController.swift | 0 .../Views/ContactsViewController.swift | 0 .../Views/FindFriendViewController.swift | 0 .../NEKitContactUI/NEKitContactUI.h | 0 .../NEKitConversationUI.podspec | 0 .../NEKitConversationUI/Assets/.gitkeep | 0 .../Contents.json | 0 .../conversation/Contents.json | 0 .../add_friend.imageset/Contents.json | 0 .../add_friend.imageset/Group 139@2x.png | Bin .../add_friend.imageset/Group 139@3x.png | Bin .../brand_yunxin.imageset/Contents.json | 0 .../brand_yunxin.imageset/brand_yunxin@2x.png | Bin .../brand_yunxin.imageset/brand_yunxin@3x.png | Bin .../chat_add.imageset/Contents.json | 0 .../chat_add.imageset/chat_add@2x.png | Bin .../chat_add.imageset/chat_add@3x.png | Bin .../chat_search.imageset/Contents.json | 0 .../chat_search.imageset/chat_search@2x.png | Bin .../chat_search.imageset/chat_search@3x.png | Bin .../Contents.json | 0 .../conversation_search_icon@2x.png | Bin .../conversation_search_icon@3x.png | Bin .../create_discussion.imageset/Contents.json | 0 .../Group 140@2x.png | Bin .../Group 140@3x.png | Bin .../create_group.imageset/Contents.json | 0 .../create_group.imageset/Frame 53@2x.png | Bin .../create_group.imageset/Frame 53@3x.png | Bin .../noNeed_notify.imageset/Contents.json | 0 .../noNeed_notify@2x.png | Bin .../noNeed_notify@3x.png | Bin .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitConversationUI/Classes/.gitkeep | 0 .../Classes/Common/ColorExtension.swift | 0 .../Classes/Common/ConversationConstant.swift | 0 .../Classes/Common/ConversationUI.swift | 0 .../Classes/Common/ImageExtension.swift | 0 .../Controller/ConversationController.swift | 0 .../ConversationListViewController.swift | 0 .../ConversationSearchController.swift | 0 .../ConversationRouter.swift | 0 .../View/ConversationListCell.swift | 0 .../View/ConversationNavView.swift | 0 .../View/ConversationSearchCell.swift | 0 .../ConversationSearchViewModel.swift | 0 .../ViewModel/ConversationViewModel.swift | 0 .../ConversationUIConfig.swift | 0 .../NEKitConversationConfig.swift | 0 .../Classes/Util/NEMessageUtil.swift | 0 .../NEKitQChatUI.podspec | 0 .../NEKitQChatUI/Assets/.gitkeep | 0 .../NEKitQChatUI.xcassets/Chat/Contents.json | 0 .../Chat/add.imageset/Contents.json | 0 .../Chat/add.imageset/Frame@2x-4.png | Bin .../Chat/add.imageset/Frame@3x-4.png | Bin .../Chat/emoji.imageset/Contents.json | 0 .../Chat/emoji.imageset/Frame@2x-1.png | Bin .../Chat/emoji.imageset/Frame@3x-1.png | Bin .../Chat/file.imageset/Contents.json | 0 .../Chat/file.imageset/Frame@2x-3.png | Bin .../Chat/file.imageset/Frame@3x-3.png | Bin .../Chat/mic.imageset/Contents.json | 0 .../Chat/mic.imageset/Frame@2x.png | Bin .../Chat/mic.imageset/Frame@3x.png | Bin .../Chat/photo.imageset/Contents.json | 0 .../Chat/photo.imageset/Frame@2x-2.png | Bin .../Chat/photo.imageset/Frame@3x-2.png | Bin .../sendMessage_failed.imageset/Contents.json | 0 .../sendMessage_failed.png | Bin .../Commom/Contents.json | 0 .../Commom/arrowDown.imageset/Contents.json | 0 .../arrowDown.imageset/Frame 214@2x.png | Bin .../arrowDown.imageset/Frame 214@3x.png | Bin .../Commom/arrowRight.imageset/Contents.json | 0 .../arrowRight.imageset/Vector 87@2x.png | Bin .../arrowRight.imageset/Vector 87@3x.png | Bin .../Commom/arrowUp.imageset/Contents.json | 0 .../Commom/arrowUp.imageset/Frame 214@2x.png | Bin .../Commom/arrowUp.imageset/Frame 214@3x.png | Bin .../Commom/backArrow.imageset/Contents.json | 0 .../Commom/backArrow.imageset/back@2x.png | Bin .../Commom/backArrow.imageset/back@3x.png | Bin .../Commom/delete.imageset/Contents.json | 0 .../Commom/delete.imageset/Frame@2x.png | Bin .../Commom/delete.imageset/Frame@3x.png | Bin .../memberPlaceholder.imageset/Contents.json | 0 .../Frame 1016@2x.png | Bin .../Frame 1016@3x.png | Bin .../rolePlaceholder.imageset/Contents.json | 0 .../Frame 1018@2x.png | Bin .../Frame 1018@3x.png | Bin .../Commom/search.imageset/Contents.json | 0 .../Commom/search.imageset/Frame@2x.png | Bin .../Commom/search.imageset/Frame@3x.png | Bin .../Commom/select.imageset/Contents.json | 0 .../Commom/select.imageset/select@2x.png | Bin .../Commom/select.imageset/select@3x.png | Bin .../Commom/sign_add.imageset/Contents.json | 0 .../\346\267\273\345\212\240@2x.png" | Bin .../\346\267\273\345\212\240@3x.png" | Bin .../Commom/unselect.imageset/Contents.json | 0 .../Commom/unselect.imageset/unselect@2x.png | Bin .../Commom/unselect.imageset/unslect@3x.png | Bin .../NEKitQChatUI.xcassets/Contents.json | 0 .../NEKitQChatUI.xcassets/Home/Contents.json | 0 .../Home/addOther_icon.imageset/Contents.json | 0 .../addOther_icon@2x.png | Bin .../addOther_icon@3x.png | Bin .../addService_icon.imageset/Contents.json | 0 .../addService_icon@2x.png | Bin .../addService_icon@3x.png | Bin .../cell_arrow_icon.imageset/Contents.json | 0 .../cell_arrow_icon@2x.png | Bin .../cell_arrow_icon@3x.png | Bin .../Contents.json | 0 .../chat_message_receive@2x.png | Bin .../chat_message_receive@3x.png | Bin .../chat_message_send.imageset/Contents.json | 0 .../chat_message_send@2x.png | Bin .../chat_message_send@3x.png | Bin .../home_addChannel.imageset/Contents.json | 0 .../home_addChannel@2x.png | Bin .../home_addChannel@3x.png | Bin .../home_setupServer.imageset/Contents.json | 0 .../home_setupServer@2x.png | Bin .../home_setupServer@3x.png | Bin .../Home/mine_create.imageset/Contents.json | 0 .../mine_create.imageset/mine_create@2x.png | Bin .../mine_create.imageset/mine_create@3x.png | Bin .../Contents.json | 0 .../otherService_search_icon@2x.png | Bin .../otherService_search_icon@3x.png | Bin .../uploadPic_bg_icon.imageset/Contents.json | 0 .../uploadPic_bg_icon@2x.png | Bin .../uploadPic_bg_icon@3x.png | Bin .../Home/upload_camera.imageset/Contents.json | 0 .../upload_camera@2x.png | Bin .../upload_camera@3x.png | Bin .../Server/Contents.json | 0 .../Server/camera.imageset/Contents.json | 0 .../Server/camera.imageset/Vector@2x.png | Bin .../Server/camera.imageset/Vector@3x.png | Bin .../count_header.imageset/Contents.json | 0 .../count_header.imageset/Vector@2x.png | Bin .../count_header.imageset/Vector@3x.png | Bin .../Server/dot_image.imageset/Contents.json | 0 .../Server/dot_image.imageset/Vector@2x.png | Bin .../Server/dot_image.imageset/Vector@3x.png | Bin .../dot_image_disable.imageset/Contents.json | 0 .../dot_image_disable.imageset/Vector@2x.png | Bin .../dot_image_disable.imageset/Vector@3x.png | Bin .../id_group_header.imageset/Contents.json | 0 .../id_group_header.imageset/Group 389@2x.png | Bin .../id_group_header.imageset/Group 389@3x.png | Bin .../id_group_sort.imageset/Contents.json | 0 .../id_group_sort.imageset/Vector@2x.png | Bin .../id_group_sort.imageset/Vector@3x.png | Bin .../Contents.json | 0 .../invitemember_success@2x.png | Bin .../invitemember_success@3x.png | Bin .../Server/lock.imageset/Contents.json | 0 .../Server/lock.imageset/Vector@2x.png | Bin .../Server/lock.imageset/Vector@3x.png | Bin .../member_header.imageset/Contents.json | 0 .../member_header.imageset/Group 390@2x.png | Bin .../member_header.imageset/Group 390@3x.png | Bin .../Contents.json | 0 .../channel_noMore@2x.png | Bin .../channel_noMore@3x.png | Bin .../servers_noMore.imageset/Contents.json | 0 .../servers_noMore@2x.png | Bin .../servers_noMore@3x.png | Bin .../channel/Contents.json | 0 .../channel/Selection.imageset/Contents.json | 0 .../channel/Selection.imageset/Vector@2x.png | Bin .../channel/Selection.imageset/Vector@3x.png | Bin .../channel/Setting.imageset/Contents.json | 0 .../channel/Setting.imageset/Vector@2x.png | Bin .../channel/Setting.imageset/Vector@3x.png | Bin .../channel/allow.imageset/Contents.json | 0 .../channel/allow.imageset/Frame@2x-1.png | Bin .../channel/allow.imageset/Frame@3x-1.png | Bin .../allowSeleted.imageset/Contents.json | 0 .../allowSeleted.imageset/Frame@2x.png | Bin .../allowSeleted.imageset/Frame@3x.png | Bin .../channel/bgImage.imageset/Contents.json | 0 .../channel/bgImage.imageset/image 86@2x.png | Bin .../channel/bgImage.imageset/image 86@3x.png | Bin .../channel_member.imageset/Contents.json | 0 .../channel_member.imageset/Frame@2x.png | Bin .../channel_member.imageset/Frame@3x.png | Bin .../channel_noMoreData.imageset/Contents.json | 0 .../channel_noMoreData@2x.png | Bin .../channel_noMoreData@3x.png | Bin .../channel/deny.imageset/Contents.json | 0 .../channel/deny.imageset/Frame@2x.png | Bin .../channel/deny.imageset/Frame@3x.png | Bin .../denySelected.imageset/Contents.json | 0 .../denySelected.imageset/Frame@2x.png | Bin .../denySelected.imageset/Frame@3x.png | Bin .../channel/extend.imageset/Contents.json | 0 .../channel/extend.imageset/Frame@2x-2.png | Bin .../channel/extend.imageset/Frame@3x-2.png | Bin .../extendSelected.imageset/Contents.json | 0 .../extendSelected.imageset/Frame@2x-2.png | Bin .../extendSelected.imageset/Frame@3x-2.png | Bin .../channel/server.imageset/Contents.json | 0 .../channel/server.imageset/Frame 245@2x.png | Bin .../channel/server.imageset/Frame 245@3x.png | Bin .../server_menu.imageset/Contents.json | 0 .../server_menu.imageset/Group 329@2x.png | Bin .../server_menu.imageset/Group 329@3x.png | Bin .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitQChatUI/Classes/.gitkeep | 0 .../Classes/Base/BaseView/QChatBaseCell.swift | 0 .../QChatBaseCollectionViewCell.swift | 0 .../Base/BaseView/QChatCenterTextCell.swift | 0 .../Base/BaseView/QChatCornerCell.swift | 0 .../Base/BaseView/QChatHeaderView.swift | 0 .../Base/BaseView/QChatImageTextCell.swift | 0 .../Base/BaseView/QChatSectionView.swift | 0 .../Base/BaseView/QChatStateCell.swift | 0 .../Base/BaseView/QChatTextArrowCell.swift | 0 .../Classes/Base/BaseView/QChatTextCell.swift | 0 .../Base/BaseView/QChatUnfoldCell.swift | 0 .../QChatBaseViewController.swift | 0 .../QChatNavigationController.swift | 0 .../QChatTableViewController.swift | 0 .../Classes/Channel/Model/QChatRoles.swift | 0 .../Channel/Model/RoleStatusInfoExt.swift | 0 .../Channel/View/ChannelHeaderView.swift | 0 .../Classes/Channel/View/CornerButton.swift | 0 .../View/QChatImageTextOnlineCell.swift | 0 .../Channel/View/QChatMemberInfoView.swift | 0 .../View/QChatPermissionSettingCell.swift | 0 .../Channel/View/QChatTextEditCell.swift | 0 .../Channel/View/QChatTextSelectionCell.swift | 0 .../ViewController/QChatAddMemberVC.swift | 0 .../ViewController/QChatAddRoleGroupVC.swift | 0 .../QChatChannelAuthoritySettingVC.swift | 0 .../QChatChannelMembersVC.swift | 0 .../QChatChannelSettingVC.swift | 0 .../ViewController/QChatChannelTypeVC.swift | 0 .../QChatChannelViewController.swift | 0 .../QChatGroupPermissionSettingVC.swift | 0 .../QChatMemberPermissionSettingVC.swift | 0 .../ViewController/QChatSearchVC.swift | 0 .../QChatWhiteBlackListVC.swift | 0 .../QChatAuthoritySettingViewModel.swift | 0 .../ViewModel/QChatChannelViewModel.swift | 0 .../QChatUpdateChannelViewModel.swift | 0 .../Chat/Controller/QChatViewController.swift | 0 .../Chat/Helper/QChatMessageHelper.swift | 0 .../Chat/Model/QChatMessageFrame.swift | 0 .../View/Cell/QChatBaseTableViewCell.swift | 0 .../View/Cell/QChatImageTableViewCell.swift | 0 .../View/Cell/QChatTextTableViewCell.swift | 0 .../View/Cell/QChatTimeTableViewCell.swift | 0 .../View/QChatActivityIndicatorView.swift | 0 .../Classes/Chat/View/QChatInputView.swift | 0 .../Chat/ViewModel/QChatViewModel.swift | 0 .../Classes/Common/Constants.swift | 0 .../Classes/Common/NEAuthManager.swift | 0 .../Classes/Common/QChatConstantValue.swift | 0 .../Classes/Extension/AlertVCExtention.swift | 0 .../Classes/Extension/ColorExtension.swift | 0 .../Classes/Extension/ImageExtension.swift | 0 .../Classes/Extension/NEErrorExtension.swift | 0 .../Extension/QChatStringExtension.swift | 0 .../CreateServerViewController.swift | 0 .../JoinOtherServiceController.swift | 0 .../Controller/MemberListViewController.swift | 0 .../MineCreateServerController.swift | 0 .../Controller/QChatHomeViewController.swift | 0 .../QChatHomePage/Model/AllChannelData.swift | 0 .../Model/ServerMemberModel.swift | 0 .../QChatHomePage/View/EmptyDataView.swift | 0 .../QChatHomePage/View/InviteMemberView.swift | 0 .../View/NECreateServerCell.swift | 0 .../View/NEGroupIdentityMemberCell.swift | 0 .../View/NEHomeChannelCell.swift | 0 .../View/NEHomeChannelView.swift | 0 .../QChatHomePage/View/NEHomeServerCell.swift | 0 .../QChatHomePage/View/NEMemberListCell.swift | 0 .../View/NESearchServerCell.swift | 0 .../ViewModel/CreateServerViewModel.swift | 0 .../ViewModel/MemberListViewModel.swift | 0 .../Classes/QChatRouter/QChatRouter.swift | 0 .../Classes/Server/Model/IdGroupModel.swift | 0 .../Server/Model/PermissionCellModel.swift | 0 .../Server/Model/PermissionModel.swift | 0 .../Classes/Server/Model/SettingModel.swift | 0 .../Classes/Server/Model/UserInfo.swift | 0 .../Server/View/QChatDestructiveCell.swift | 0 .../Classes/Server/View/QChatHeaderCell.swift | 0 .../Server/View/QChatIdGroupCell.swift | 0 .../Server/View/QChatIdGroupMemberCell.swift | 0 .../Server/View/QChatIdGroupSelectCell.swift | 0 .../View/QChatIdGroupSortButtonCell.swift | 0 .../Server/View/QChatIdGroupTopCell.swift | 0 .../Server/View/QChatMemberManagerCell.swift | 0 .../Server/View/QChatPlainTextArrowCell.swift | 0 .../Server/View/QChatSelectedCell.swift | 0 .../Classes/Server/View/QChatSortCell.swift | 0 .../Classes/Server/View/QChatSwitchCell.swift | 0 .../Server/View/QChatUserUnCheckCell.swift | 0 .../QChatCreateGroupViewController.swift | 0 .../QChatEditMemberViewController.swift | 0 .../QChatIdGroupSortController.swift | 0 .../QChatIdGroupViewController.swift | 0 .../QChatMemberManagerController.swift | 0 .../QChatMemberSelectController.swift | 0 .../QChatPermissionViewController.swift | 0 .../QChatServerSettingViewController.swift | 0 .../ViewModel/CreateGroupViewModel.swift | 0 .../ViewModel/EditMemberViewModel.swift | 0 .../ViewModel/IdGroupSortViewModel.swift | 0 .../Server/ViewModel/IdGroupViewModel.swift | 0 .../ViewModel/MemberManagerViewModel.swift | 0 .../ViewModel/MemberSelectViewModel.swift | 0 .../ViewModel/PermissionViewModel.swift | 0 .../Server/ViewModel/SettingViewModel.swift | 0 .../NEKitTeamUI.podspec | 0 .../NEKitTeamUI/Assets/.gitkeep | 0 .../Assets/NEKitTeam.xcassets/Contents.json | 0 .../NEKitTeam.xcassets/common/Contents.json | 0 .../common/add.imageset/Contents.json | 0 .../common/add.imageset/add@2x.png | Bin .../common/add.imageset/add@3x.png | Bin .../common/arrowRight.imageset/Contents.json | 0 .../arrowRight.imageset/Vector 87@2x.png | Bin .../arrowRight.imageset/Vector 87@3x.png | Bin .../contact_search.imageset/Contents.json | 0 .../contact_search@2x.png | Bin .../contact_search@3x.png | Bin .../common/copy_icon.imageset/Contents.json | 0 .../common/copy_icon.imageset/copy_icon.png | Bin .../common/icon_0.imageset/Contents.json | 0 .../common/icon_0.imageset/icon_1@2x.png | Bin .../common/icon_0.imageset/icon_1@3x.png | Bin .../common/icon_1.imageset/Contents.json | 0 .../common/icon_1.imageset/icon_2@2x.png | Bin .../common/icon_1.imageset/icon_2@3x.png | Bin .../common/icon_2.imageset/Contents.json | 0 .../common/icon_2.imageset/icon_3@2x.png | Bin .../common/icon_2.imageset/icon_3@3x.png | Bin .../common/icon_3.imageset/Contents.json | 0 .../common/icon_3.imageset/icon_4@2x.png | Bin .../common/icon_3.imageset/icon_4@3x.png | Bin .../common/icon_4.imageset/Contents.json | 0 .../common/icon_4.imageset/icon_5@2x.png | Bin .../common/icon_4.imageset/icon_5@3x.png | Bin .../common/photo.imageset/Contents.json | 0 .../common/photo.imageset/team_photo@2x.png | Bin .../common/photo.imageset/team_photo@3x.png | Bin .../common/search_icon.imageset/Contents.json | 0 .../search_icon.imageset/search_icon@2x.png | Bin .../search_icon.imageset/search_icon@3x.png | Bin .../Assets/en.lproj/Localizable.strings | 0 .../Assets/zh-Hans.lproj/Localizable.strings | 0 .../NEKitTeamUI/Classes/.gitkeep | 0 .../Setting/Model/SettingCellModel.swift | 0 .../Setting/Model/SettingSectionModel.swift | 0 .../Setting/TeamAvatarViewController.swift | 0 .../TeamHistoryMessageController.swift | 0 .../Setting/TeamInfoViewController.swift | 0 .../Setting/TeamIntroduceViewController.swift | 0 .../Setting/TeamMembersController.swift | 0 .../Setting/TeamNameViewController.swift | 0 .../Setting/TeamSettingViewController.swift | 0 .../Setting/View/BaseTeamSettingCell.swift | 0 .../Setting/View/HistoryMessageCell.swift | 0 .../Setting/View/TeamArrowSettingCell.swift | 0 .../Setting/View/TeamDefaultIconCell.swift | 0 .../Classes/Setting/View/TeamMemberCell.swift | 0 .../Setting/View/TeamSettingHeaderCell.swift | 0 .../View/TeamSettingRightCustomCell.swift | 0 .../Setting/View/TeamSettingSelectCell.swift | 0 .../View/TeamSettingSubtitleCell.swift | 0 .../Setting/View/TeamSettingSwitchCell.swift | 0 .../Classes/Setting/View/TeamUserCell.swift | 0 .../Setting/ViewModel/TeamInfoViewModel.swift | 0 .../ViewModel/TeamSettingViewModel.swift | 0 .../NEKitTeamUI/Classes/TeamConstant.swift | 0 .../NEKitTeamUI/Classes/TeamRouter.swift | 0 .../TeamSettingConfig.swift | 0 Podfile | 32 ++++++++++-------- app/AppDelegate.swift | 3 +- 880 files changed, 19 insertions(+), 16 deletions(-) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI.podspec (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/.gitkeep (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@2x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@3x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@2x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@3x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@2x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@3x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@2x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@3x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/Contents.json (100%) rename "NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" => "NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" (100%) rename "NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" => "NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@2x-5.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@3x-5.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@3x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@2x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@3x-2.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@2x-3.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@3x-3.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@2x-6.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@3x-6.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@2x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@3x-1.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Contents.json (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@2x-4.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@3x-4.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_normal@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_pressed@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.plist (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.xml (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_00@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_01@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_02@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_03@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_04@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_05@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_06@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_07@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_08@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_09@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_10@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_11@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_12@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_13@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_14@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_15@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_16@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_17@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_18@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_19@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_20@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_21@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_22@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_23@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_24@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_25@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_26@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_27@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_28@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_29@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_30@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_31@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_32@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_33@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_34@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_35@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_36@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_37@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_38@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_39@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_40@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_41@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_42@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_43@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_44@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_45@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_46@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_47@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_48@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_49@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_50@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_51@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_52@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_53@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_54@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_55@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_56@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_57@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_58@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_59@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_60@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_61@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_62@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_63@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_64@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_65@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_66@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_67@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_68@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_normal@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_pressed@2x.png (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios.plist (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios_new.plist (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/.gitkeep (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatBaseCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatBaseCollectionViewCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatCenterTextCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatCornerCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatHeaderView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatImageTextCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatSectionView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatStateCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatTextArrowCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatTextCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatUnfoldCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseView/ChatUserHeaderView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseViewController/ChatBaseViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseViewController/ChatNavigationController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Base/BaseViewController/ChatTableViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/ReadViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/SelectUserViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/EmojiPageView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonContainerView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonTabView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/NEEmotionAttachment.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonButton.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonDefine.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonManager.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Helper/ChatMessageHelper.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Helper/NotificationMessageUtils.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Helper/ReplyMessageUtil.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageAudioModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageImageModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageReplyModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageTipsModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/MessageVideoModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/OperationItem.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/Model/UserSettingCellModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatImageLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatImageRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatTeamMemberCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatTextLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatTextRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoLeftCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoRightCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/OperationCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/UserSettingBaseCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/UserSettingSwitchCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/Cell/UserTableViewCell.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ChatActivityIndicatorView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ChatBrokenNetworkView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ChatInputView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ChatRecordView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/CirleProgressView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ForwardAlertViewController.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/MessageOperationView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/View/ReplyView.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Common/ChatConstantValue.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Common/Constants.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Common/NEChatUITool.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Common/NSBundleExtension.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Extension/AlertVCExtention.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Extension/ChatStringExtension.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Extension/ColorExtension.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Extension/ImageExtension.swift (100%) rename {NEKitChat/NEKitChatUI => NEKitChatUI}/NEKitChatUI/Classes/Extension/NEErrorExtension.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI.podspec (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/.gitkeep (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/Contents.json (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@2x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@3x.png (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/.gitkeep (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/Constant.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/ExpandButton.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/NEBrokenNetworkView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/NEButtonExtension.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/NEEmptyDataView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/NEUserHeaderView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserBigImgBackView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserCell.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserController.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserFlowLayout.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/PopListViewController.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/RedAngleLabel.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/SearchTextField.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/TabbarExtensionView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/UIAlertController.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/UIImageView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/VideoBrowser/VideoPlayerViewController.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/VideoBrowser/VideoToolBar.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/View/BrowserToolsBar.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/View/CornerCell.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/View/TextBaseCell.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/View/ToastImageView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/View/VideoStateView.swift (100%) rename {NEKitCommon/NEKitCommonUI => NEKitCommonUI}/NEKitCommonUI/Classes/ViewControllerExtension.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI.podspec (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/.gitkeep (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unselect@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unslect@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/Contents.json (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@2x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@3x.png (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/.gitkeep (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Base/ContactBaseViewCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/BlackList/ViewController/BlackListViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/BlackList/Views/BlackListCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Common/ContactCellDataProtrol.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Common/ContactConst.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Common/ContactDataProtrol.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Common/ContactRouter.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Common/ContactsConfig.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Extension/ContactUI.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Extension/ImageExtension.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Extension/UIViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Model/ContactInfo.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Model/ContactSection.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Team/ViewModel/TeamListViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Team/Views/TeamTableViewCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Models/UserItem.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/UserInfoHeaderView.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/ViewController/ContactRemakNameViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Views/CenterTextCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Views/TextBaseCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Views/TextWithDetailTextCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Views/TextWithRightArrowCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/UserInfo/Views/TextWithSwitchCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Validation/ViewController/ValidationMessageViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Validation/Views/BaseValidationCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Validation/Views/SystemNotificationCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ViewModel/ContactGroup.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/Cell/ContactSelectedCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactBaseViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactHeadItem.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactSectionView.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactTableViewCell.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/ContactsViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/Classes/Views/FindFriendViewController.swift (100%) rename {NEKitContact/NEKitContactUI => NEKitContactUI}/NEKitContactUI/NEKitContactUI.h (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI.podspec (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/.gitkeep (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/Contents.json (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@2x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@3x.png (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/.gitkeep (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Common/ColorExtension.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Common/ConversationConstant.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Common/ConversationUI.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Common/ImageExtension.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/ConversationRouter/ConversationRouter.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/View/ConversationSearchCell.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift (100%) rename {NEKitConversation/NEKitConversationUI => NEKitConversationUI}/NEKitConversationUI/Classes/Util/NEMessageUtil.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI.podspec (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/.gitkeep (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/Contents.json (100%) rename "NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" => "NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" (100%) rename "NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" => "NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@2x-1.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@3x-1.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@2x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@3x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@2x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@3x-2.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Contents.json (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@2x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@3x.png (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/.gitkeep (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCollectionViewCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatCenterTextCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatCornerCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatHeaderView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatImageTextCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatSectionView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatStateCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatTextArrowCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatTextCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseView/QChatUnfoldCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseViewController/QChatBaseViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseViewController/QChatNavigationController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Base/BaseViewController/QChatTableViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/Model/QChatRoles.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/Model/RoleStatusInfoExt.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/ChannelHeaderView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/CornerButton.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/QChatImageTextOnlineCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/QChatMemberInfoView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/QChatPermissionSettingCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/QChatTextEditCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/View/QChatTextSelectionCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatAddMemberVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatAddRoleGroupVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelAuthoritySettingVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelSettingVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelTypeVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatGroupPermissionSettingVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatMemberPermissionSettingVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatSearchVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewModel/QChatAuthoritySettingViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewModel/QChatChannelViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Channel/ViewModel/QChatUpdateChannelViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/Helper/QChatMessageHelper.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/Model/QChatMessageFrame.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/Cell/QChatBaseTableViewCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/Cell/QChatImageTableViewCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/Cell/QChatTextTableViewCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/Cell/QChatTimeTableViewCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/QChatActivityIndicatorView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/View/QChatInputView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Common/Constants.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Common/NEAuthManager.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Common/QChatConstantValue.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Extension/AlertVCExtention.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Extension/ColorExtension.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Extension/ImageExtension.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Extension/NEErrorExtension.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Extension/QChatStringExtension.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Controller/CreateServerViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Controller/JoinOtherServiceController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Model/AllChannelData.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/Model/ServerMemberModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/EmptyDataView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/InviteMemberView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NECreateServerCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NEGroupIdentityMemberCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeServerCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NEMemberListCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/ViewModel/CreateServerViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatHomePage/ViewModel/MemberListViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/QChatRouter/QChatRouter.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/Model/IdGroupModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/Model/PermissionCellModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/Model/PermissionModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/Model/SettingModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/Model/UserInfo.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatDestructiveCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatHeaderCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatIdGroupCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatIdGroupMemberCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatIdGroupSelectCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatIdGroupSortButtonCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatIdGroupTopCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatMemberManagerCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatPlainTextArrowCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatSelectedCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatSortCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatSwitchCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/View/QChatUserUnCheckCell.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatCreateGroupViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupSortController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatMemberManagerController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatMemberSelectController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatPermissionViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/CreateGroupViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/EditMemberViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/IdGroupSortViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/IdGroupViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/MemberManagerViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/MemberSelectViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/PermissionViewModel.swift (100%) rename {NEKitQChat/NEKitQChatUI => NEKitQChatUI}/NEKitQChatUI/Classes/Server/ViewModel/SettingViewModel.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI.podspec (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/.gitkeep (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/copy_icon.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/Contents.json (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@2x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@3x.png (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/en.lproj/Localizable.strings (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Assets/zh-Hans.lproj/Localizable.strings (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/.gitkeep (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/Model/SettingCellModel.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/Model/SettingSectionModel.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamInfoViewController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamMembersController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/BaseTeamSettingCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/HistoryMessageCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamArrowSettingCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamDefaultIconCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamMemberCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamSettingHeaderCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamSettingRightCustomCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamSettingSelectCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamSettingSwitchCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/View/TeamUserCell.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/ViewModel/TeamInfoViewModel.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/TeamConstant.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/NEKitTeamUI/Classes/TeamRouter.swift (100%) rename {NEKitTeam/NEKitTeamUI => NEKitTeamUI}/TeamSettingConfig.swift (100%) diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI.podspec b/NEKitChatUI/NEKitChatUI.podspec similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI.podspec rename to NEKitChatUI/NEKitChatUI.podspec diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/.gitkeep b/NEKitChatUI/NEKitChatUI/Assets/.gitkeep similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/.gitkeep rename to NEKitChatUI/NEKitChatUI/Assets/.gitkeep diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/audio_play.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_receive.imageset/chat_message_receive@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_message_send.imageset/chat_message_send@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_read_all.imageset/Group 156@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_record.imageset/Group 280@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_unread.imageset/Ellipse 17@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/chat_video.imageset/chat_video@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/close.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_1.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@2x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@2x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@2x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@2x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@3x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@3x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@3x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_2.imageset/Frame@3x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@2x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@2x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@2x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@2x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@3x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@3x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@3x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/left_play_3.imageset/Frame@3x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/mic.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/msg_pin.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_1.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@2x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@2x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@2x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@2x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@3x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@3x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@3x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_2.imageset/Frame@3x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@2x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@2x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@2x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@2x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@3x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@3x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@3x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/play_3.imageset/Frame@3x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_1.imageset/Group 311@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_2.imageset/Group 310@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_3.imageset/Group 309@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/record_4.imageset/Group 308@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/backArrow.imageset/back@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/delete.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/right_arrow.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/search.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/select.imageset/select@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/setting_add.imageset/setting_add@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/Contents.json diff --git "a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" "b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" similarity index 100% rename from "NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" rename to "NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" diff --git "a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" "b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" similarity index 100% rename from "NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" rename to "NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/three_point.imageset/threePoint@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/Members/chat_team.imageset/Group 117@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@2x-5.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@2x-5.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@2x-5.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@2x-5.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@3x-5.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@3x-5.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@3x-5.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_collection.imageset/Frame@3x-5.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_copy.imageset/Frame@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@3x.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@3x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@3x.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_delete.imageset/Frame 45@3x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@2x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@2x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@2x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@2x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@3x-2.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@3x-2.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@3x-2.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_forward.imageset/Frame@3x-2.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@2x-3.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@2x-3.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@2x-3.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@2x-3.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@3x-3.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@3x-3.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@3x-3.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_pin.imageset/Frame@3x-3.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@2x-6.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@2x-6.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@2x-6.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@2x-6.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@3x-6.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@3x-6.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@3x-6.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_recall.imageset/Frame@3x-6.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@2x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@2x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@2x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@2x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@3x-1.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@3x-1.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@3x-1.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_replay.imageset/Frame@3x-1.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Contents.json b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Contents.json similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Contents.json rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Contents.json diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@2x-4.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@2x-4.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@2x-4.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@2x-4.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@3x-4.png b/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@3x-4.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@3x-4.png rename to NEKitChatUI/NEKitChatUI/Assets/NEKitChatUI.xcassets/operation/op_select.imageset/Frame@3x-4.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_normal@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_normal@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_normal@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_normal@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_pressed@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_pressed@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_pressed@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoj_s_pressed@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.plist b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.plist similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.plist rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.plist diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.xml b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.xml similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.xml rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji.xml diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_00@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_00@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_00@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_00@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_01@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_01@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_01@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_01@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_02@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_02@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_02@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_02@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_03@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_03@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_03@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_03@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_04@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_04@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_04@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_04@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_05@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_05@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_05@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_05@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_06@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_06@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_06@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_06@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_07@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_07@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_07@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_07@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_08@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_08@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_08@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_08@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_09@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_09@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_09@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_09@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_10@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_10@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_10@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_10@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_11@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_11@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_11@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_11@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_12@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_12@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_12@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_12@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_13@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_13@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_13@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_13@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_14@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_14@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_14@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_14@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_15@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_15@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_15@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_15@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_16@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_16@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_16@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_16@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_17@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_17@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_17@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_17@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_18@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_18@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_18@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_18@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_19@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_19@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_19@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_19@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_20@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_20@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_20@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_20@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_21@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_21@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_21@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_21@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_22@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_22@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_22@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_22@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_23@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_23@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_23@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_23@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_24@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_24@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_24@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_24@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_25@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_25@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_25@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_25@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_26@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_26@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_26@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_26@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_27@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_27@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_27@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_27@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_28@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_28@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_28@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_28@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_29@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_29@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_29@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_29@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_30@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_30@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_30@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_30@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_31@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_31@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_31@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_31@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_32@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_32@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_32@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_32@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_33@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_33@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_33@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_33@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_34@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_34@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_34@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_34@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_35@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_35@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_35@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_35@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_36@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_36@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_36@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_36@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_37@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_37@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_37@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_37@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_38@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_38@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_38@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_38@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_39@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_39@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_39@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_39@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_40@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_40@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_40@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_40@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_41@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_41@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_41@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_41@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_42@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_42@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_42@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_42@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_43@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_43@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_43@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_43@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_44@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_44@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_44@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_44@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_45@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_45@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_45@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_45@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_46@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_46@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_46@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_46@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_47@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_47@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_47@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_47@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_48@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_48@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_48@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_48@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_49@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_49@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_49@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_49@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_50@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_50@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_50@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_50@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_51@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_51@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_51@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_51@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_52@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_52@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_52@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_52@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_53@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_53@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_53@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_53@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_54@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_54@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_54@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_54@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_55@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_55@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_55@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_55@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_56@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_56@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_56@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_56@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_57@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_57@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_57@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_57@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_58@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_58@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_58@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_58@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_59@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_59@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_59@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_59@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_60@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_60@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_60@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_60@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_61@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_61@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_61@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_61@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_62@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_62@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_62@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_62@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_63@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_63@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_63@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_63@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_64@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_64@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_64@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_64@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_65@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_65@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_65@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_65@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_66@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_66@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_66@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_66@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_67@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_67@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_67@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_67@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_68@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_68@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_68@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_68@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_normal@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_normal@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_normal@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_normal@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_pressed@2x.png b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_pressed@2x.png similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_pressed@2x.png rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_del_pressed@2x.png diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios.plist b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios.plist similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios.plist rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios.plist diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios_new.plist b/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios_new.plist similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios_new.plist rename to NEKitChatUI/NEKitChatUI/Assets/NIMKitEmoticon.bundle/Emoji/emoji_ios_new.plist diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/en.lproj/Localizable.strings b/NEKitChatUI/NEKitChatUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/en.lproj/Localizable.strings rename to NEKitChatUI/NEKitChatUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitChatUI/NEKitChatUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitChatUI/NEKitChatUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/.gitkeep b/NEKitChatUI/NEKitChatUI/Classes/.gitkeep similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/.gitkeep rename to NEKitChatUI/NEKitChatUI/Classes/.gitkeep diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCollectionViewCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCollectionViewCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCollectionViewCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatBaseCollectionViewCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCenterTextCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCenterTextCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCenterTextCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCenterTextCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCornerCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCornerCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCornerCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatCornerCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatHeaderView.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatHeaderView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatHeaderView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatHeaderView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatImageTextCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatImageTextCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatImageTextCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatImageTextCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatSectionView.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatSectionView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatSectionView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatSectionView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatStateCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatStateCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatStateCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatStateCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextArrowCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextArrowCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextArrowCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextArrowCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatTextCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUnfoldCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUnfoldCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUnfoldCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUnfoldCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUserHeaderView.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUserHeaderView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUserHeaderView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseView/ChatUserHeaderView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatBaseViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatBaseViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatBaseViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatBaseViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatNavigationController.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatNavigationController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatNavigationController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatNavigationController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatTableViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatTableViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatTableViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Base/BaseViewController/ChatTableViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ChatViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/GroupChatViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/P2PChatViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ReadViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ReadViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ReadViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/ReadViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/SelectUserViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/SelectUserViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/SelectUserViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/SelectUserViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Controller/UserSettingViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/EmojiPageView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/EmojiPageView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/EmojiPageView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/EmojiPageView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonContainerView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonContainerView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonContainerView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonContainerView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonTabView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonTabView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonTabView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/InputEmoticonTabView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionAttachment.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionAttachment.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionAttachment.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionAttachment.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NEEmotionTool.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonButton.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonButton.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonButton.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonButton.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonDefine.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonDefine.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonDefine.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonDefine.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonManager.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonManager.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonManager.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Emoji/NIMInputEmoticonManager.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ChatMessageHelper.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ChatMessageHelper.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ChatMessageHelper.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ChatMessageHelper.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/MessageUtils.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/NotificationMessageUtils.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/NotificationMessageUtils.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/NotificationMessageUtils.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/NotificationMessageUtils.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ReplyMessageUtil.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ReplyMessageUtil.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ReplyMessageUtil.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Helper/ReplyMessageUtil.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/CustomerSampleAttachment.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageAudioModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageAudioModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageAudioModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageAudioModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageContentModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageImageModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageImageModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageImageModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageImageModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageReplyModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageReplyModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageReplyModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageReplyModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTextModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTipsModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTipsModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTipsModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageTipsModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageVideoModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageVideoModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageVideoModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/MessageVideoModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/OperationItem.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/OperationItem.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/OperationItem.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/OperationItem.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/UserSettingCellModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/UserSettingCellModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/Model/UserSettingCellModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/Model/UserSettingCellModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatAudioRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatBaseRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatImageRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatReplyRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatRevokeRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTeamMemberCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTeamMemberCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTeamMemberCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTeamMemberCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTextRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatTimeTableViewCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoLeftCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoLeftCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoLeftCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoLeftCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoRightCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoRightCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoRightCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/ChatVideoRightCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/OperationCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/OperationCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/OperationCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/OperationCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingBaseCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingBaseCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingBaseCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingBaseCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingSwitchCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingSwitchCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingSwitchCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserSettingSwitchCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserTableViewCell.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserTableViewCell.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserTableViewCell.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/Cell/UserTableViewCell.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatActivityIndicatorView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatActivityIndicatorView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatActivityIndicatorView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatActivityIndicatorView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatBrokenNetworkView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatBrokenNetworkView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatBrokenNetworkView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatBrokenNetworkView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatInputView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatInputView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatInputView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatInputView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatRecordView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatRecordView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatRecordView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ChatRecordView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/CirleProgressView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/CirleProgressView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/CirleProgressView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/CirleProgressView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ForwardAlertViewController.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ForwardAlertViewController.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ForwardAlertViewController.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ForwardAlertViewController.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/MessageOperationView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/MessageOperationView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/MessageOperationView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/MessageOperationView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ReplyView.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ReplyView.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/View/ReplyView.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/View/ReplyView.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/ChatViewModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamChatViewModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/TeamMemberSelectVM.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift b/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift rename to NEKitChatUI/NEKitChatUI/Classes/Chat/ViewModel/UserSettingViewModel.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift b/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift rename to NEKitChatUI/NEKitChatUI/Classes/ChatConfig/ChatUIConfig.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift b/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift rename to NEKitChatUI/NEKitChatUI/Classes/ChatConfig/NEKitChatConfig.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift b/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift rename to NEKitChatUI/NEKitChatUI/Classes/ChatRouter/ChatRouter.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/ChatConstantValue.swift b/NEKitChatUI/NEKitChatUI/Classes/Common/ChatConstantValue.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/ChatConstantValue.swift rename to NEKitChatUI/NEKitChatUI/Classes/Common/ChatConstantValue.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/Constants.swift b/NEKitChatUI/NEKitChatUI/Classes/Common/Constants.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/Constants.swift rename to NEKitChatUI/NEKitChatUI/Classes/Common/Constants.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/NEChatUITool.swift b/NEKitChatUI/NEKitChatUI/Classes/Common/NEChatUITool.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/NEChatUITool.swift rename to NEKitChatUI/NEKitChatUI/Classes/Common/NEChatUITool.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/NSBundleExtension.swift b/NEKitChatUI/NEKitChatUI/Classes/Common/NSBundleExtension.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Common/NSBundleExtension.swift rename to NEKitChatUI/NEKitChatUI/Classes/Common/NSBundleExtension.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/AlertVCExtention.swift b/NEKitChatUI/NEKitChatUI/Classes/Extension/AlertVCExtention.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/AlertVCExtention.swift rename to NEKitChatUI/NEKitChatUI/Classes/Extension/AlertVCExtention.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ChatStringExtension.swift b/NEKitChatUI/NEKitChatUI/Classes/Extension/ChatStringExtension.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ChatStringExtension.swift rename to NEKitChatUI/NEKitChatUI/Classes/Extension/ChatStringExtension.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ColorExtension.swift b/NEKitChatUI/NEKitChatUI/Classes/Extension/ColorExtension.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ColorExtension.swift rename to NEKitChatUI/NEKitChatUI/Classes/Extension/ColorExtension.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ImageExtension.swift b/NEKitChatUI/NEKitChatUI/Classes/Extension/ImageExtension.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/ImageExtension.swift rename to NEKitChatUI/NEKitChatUI/Classes/Extension/ImageExtension.swift diff --git a/NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/NEErrorExtension.swift b/NEKitChatUI/NEKitChatUI/Classes/Extension/NEErrorExtension.swift similarity index 100% rename from NEKitChat/NEKitChatUI/NEKitChatUI/Classes/Extension/NEErrorExtension.swift rename to NEKitChatUI/NEKitChatUI/Classes/Extension/NEErrorExtension.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI.podspec b/NEKitCommonUI/NEKitCommonUI.podspec similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI.podspec rename to NEKitCommonUI/NEKitCommonUI.podspec diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/.gitkeep b/NEKitCommonUI/NEKitCommonUI/Assets/.gitkeep similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/.gitkeep rename to NEKitCommonUI/NEKitCommonUI/Assets/.gitkeep diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/close_btn.imageset/close_btn@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/photo_btn.imageset/photo_btn@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/save_btn.imageset/save_btn@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/thumb.imageset/thumb@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play.imageset/video_play@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_big.imageset/video_play_big@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_play_icon.imageset/video_play@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/video_stop_icon.imageset/video_stop@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/common/white_right_img.imageset/white_right@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/emptyView.imageset/Frame 1020@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/Contents.json b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/Contents.json similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/Contents.json rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/Contents.json diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@2x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@2x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@2x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@2x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@3x.png b/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@3x.png similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@3x.png rename to NEKitCommonUI/NEKitCommonUI/Assets/NECommonUI.xcassets/placeholder/user_empty.imageset/user_empty@3x.png diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/en.lproj/Localizable.strings b/NEKitCommonUI/NEKitCommonUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/en.lproj/Localizable.strings rename to NEKitCommonUI/NEKitCommonUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitCommonUI/NEKitCommonUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitCommonUI/NEKitCommonUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/.gitkeep b/NEKitCommonUI/NEKitCommonUI/Classes/.gitkeep similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/.gitkeep rename to NEKitCommonUI/NEKitCommonUI/Classes/.gitkeep diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/Constant.swift b/NEKitCommonUI/NEKitCommonUI/Classes/Constant.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/Constant.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/Constant.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/ExpandButton.swift b/NEKitCommonUI/NEKitCommonUI/Classes/ExpandButton.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/ExpandButton.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/ExpandButton.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEBrokenNetworkView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/NEBrokenNetworkView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEBrokenNetworkView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/NEBrokenNetworkView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEButtonExtension.swift b/NEKitCommonUI/NEKitCommonUI/Classes/NEButtonExtension.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEButtonExtension.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/NEButtonExtension.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEEmptyDataView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/NEEmptyDataView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEEmptyDataView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/NEEmptyDataView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEUserHeaderView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/NEUserHeaderView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/NEUserHeaderView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/NEUserHeaderView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserBigImgBackView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserBigImgBackView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserBigImgBackView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserBigImgBackView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserCell.swift b/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserCell.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserCell.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserCell.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserController.swift b/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserController.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserController.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserController.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserFlowLayout.swift b/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserFlowLayout.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserFlowLayout.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/PhotoBrowser/PhotoBrowserFlowLayout.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PopListViewController.swift b/NEKitCommonUI/NEKitCommonUI/Classes/PopListViewController.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/PopListViewController.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/PopListViewController.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/RedAngleLabel.swift b/NEKitCommonUI/NEKitCommonUI/Classes/RedAngleLabel.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/RedAngleLabel.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/RedAngleLabel.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/SearchTextField.swift b/NEKitCommonUI/NEKitCommonUI/Classes/SearchTextField.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/SearchTextField.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/SearchTextField.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/TabbarExtensionView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/TabbarExtensionView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/TabbarExtensionView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/TabbarExtensionView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/UIAlertController.swift b/NEKitCommonUI/NEKitCommonUI/Classes/UIAlertController.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/UIAlertController.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/UIAlertController.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/UIImageView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/UIImageView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/UIImageView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/UIImageView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoPlayerViewController.swift b/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoPlayerViewController.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoPlayerViewController.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoPlayerViewController.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoToolBar.swift b/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoToolBar.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoToolBar.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/VideoBrowser/VideoToolBar.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/BrowserToolsBar.swift b/NEKitCommonUI/NEKitCommonUI/Classes/View/BrowserToolsBar.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/BrowserToolsBar.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/View/BrowserToolsBar.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/CornerCell.swift b/NEKitCommonUI/NEKitCommonUI/Classes/View/CornerCell.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/CornerCell.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/View/CornerCell.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/TextBaseCell.swift b/NEKitCommonUI/NEKitCommonUI/Classes/View/TextBaseCell.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/TextBaseCell.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/View/TextBaseCell.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/ToastImageView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/View/ToastImageView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/ToastImageView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/View/ToastImageView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/VideoStateView.swift b/NEKitCommonUI/NEKitCommonUI/Classes/View/VideoStateView.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/View/VideoStateView.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/View/VideoStateView.swift diff --git a/NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/ViewControllerExtension.swift b/NEKitCommonUI/NEKitCommonUI/Classes/ViewControllerExtension.swift similarity index 100% rename from NEKitCommon/NEKitCommonUI/NEKitCommonUI/Classes/ViewControllerExtension.swift rename to NEKitCommonUI/NEKitCommonUI/Classes/ViewControllerExtension.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI.podspec b/NEKitContactUI/NEKitContactUI.podspec similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI.podspec rename to NEKitContactUI/NEKitContactUI.podspec diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/.gitkeep b/NEKitContactUI/NEKitContactUI/Assets/.gitkeep similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/.gitkeep rename to NEKitContactUI/NEKitContactUI/Assets/.gitkeep diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/add.imageset/add@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/addBlack.imageset/Group 367@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/arrowRight.imageset/Vector 87@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/backArrow.imageset/back@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/blackName.imageset/blackName@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/contact_search.imageset/contact_search@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/finishFlag.imageset/grayRight@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/group.imageset/group@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/myComputer.imageset/Frame@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/search.imageset/search@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/select.imageset/select@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_0.imageset/icon_1@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_1.imageset/icon_2@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_2.imageset/icon_3@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_3.imageset/icon_4@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/team/icon_4.imageset/icon_5@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unselect@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unselect@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unselect@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unselect@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unslect@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unslect@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unslect@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/unselect.imageset/unslect@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/user_empty.imageset/user_empty@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/Contents.json b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/Contents.json similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/Contents.json rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/Contents.json diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@2x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@2x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@2x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@2x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@3x.png b/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@3x.png similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@3x.png rename to NEKitContactUI/NEKitContactUI/Assets/NEKitContact.xcassets/valid.imageset/valid@3x.png diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/en.lproj/Localizable.strings b/NEKitContactUI/NEKitContactUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/en.lproj/Localizable.strings rename to NEKitContactUI/NEKitContactUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitContactUI/NEKitContactUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitContactUI/NEKitContactUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/.gitkeep b/NEKitContactUI/NEKitContactUI/Classes/.gitkeep similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/.gitkeep rename to NEKitContactUI/NEKitContactUI/Classes/.gitkeep diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Base/ContactBaseViewCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Base/ContactBaseViewCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Base/ContactBaseViewCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Base/ContactBaseViewCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewController/BlackListViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewController/BlackListViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewController/BlackListViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewController/BlackListViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/BlackList/ViewModel/BlackListViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/Views/BlackListCell.swift b/NEKitContactUI/NEKitContactUI/Classes/BlackList/Views/BlackListCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/BlackList/Views/BlackListCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/BlackList/Views/BlackListCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactCellDataProtrol.swift b/NEKitContactUI/NEKitContactUI/Classes/Common/ContactCellDataProtrol.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactCellDataProtrol.swift rename to NEKitContactUI/NEKitContactUI/Classes/Common/ContactCellDataProtrol.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactConst.swift b/NEKitContactUI/NEKitContactUI/Classes/Common/ContactConst.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactConst.swift rename to NEKitContactUI/NEKitContactUI/Classes/Common/ContactConst.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactDataProtrol.swift b/NEKitContactUI/NEKitContactUI/Classes/Common/ContactDataProtrol.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactDataProtrol.swift rename to NEKitContactUI/NEKitContactUI/Classes/Common/ContactDataProtrol.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift b/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift rename to NEKitContactUI/NEKitContactUI/Classes/Common/ContactRouter.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift b/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift rename to NEKitContactUI/NEKitContactUI/Classes/Common/ContactsConfig.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift b/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift rename to NEKitContactUI/NEKitContactUI/Classes/ContactConfig/ContactUIConfig.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift b/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift rename to NEKitContactUI/NEKitContactUI/Classes/ContactConfig/NEKitContactConfig.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/ContactUI.swift b/NEKitContactUI/NEKitContactUI/Classes/Extension/ContactUI.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/ContactUI.swift rename to NEKitContactUI/NEKitContactUI/Classes/Extension/ContactUI.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/ImageExtension.swift b/NEKitContactUI/NEKitContactUI/Classes/Extension/ImageExtension.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/ImageExtension.swift rename to NEKitContactUI/NEKitContactUI/Classes/Extension/ImageExtension.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/UIViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Extension/UIViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Extension/UIViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Extension/UIViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift b/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift rename to NEKitContactUI/NEKitContactUI/Classes/Model/ContactInfo.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactSection.swift b/NEKitContactUI/NEKitContactUI/Classes/Model/ContactSection.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Model/ContactSection.swift rename to NEKitContactUI/NEKitContactUI/Classes/Model/ContactSection.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Team/ViewController/TeamListViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewModel/TeamListViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/Team/ViewModel/TeamListViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/ViewModel/TeamListViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/Team/ViewModel/TeamListViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/Views/TeamTableViewCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Team/Views/TeamTableViewCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Team/Views/TeamTableViewCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Team/Views/TeamTableViewCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Models/UserItem.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Models/UserItem.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Models/UserItem.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Models/UserItem.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/UserInfoHeaderView.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/UserInfoHeaderView.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/UserInfoHeaderView.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/UserInfoHeaderView.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactRemakNameViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactRemakNameViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactRemakNameViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactRemakNameViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/ViewController/ContactUserViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/CenterTextCell.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/CenterTextCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/CenterTextCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/CenterTextCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextBaseCell.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextBaseCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextBaseCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextBaseCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithDetailTextCell.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithDetailTextCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithDetailTextCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithDetailTextCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithRightArrowCell.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithRightArrowCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithRightArrowCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithRightArrowCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithSwitchCell.swift b/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithSwitchCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithSwitchCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/UserInfo/Views/TextWithSwitchCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewController/ValidationMessageViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewController/ValidationMessageViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewController/ValidationMessageViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Validation/ViewController/ValidationMessageViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/Validation/ViewModel/ValidationMessageViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/BaseValidationCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/BaseValidationCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/BaseValidationCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Validation/Views/BaseValidationCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/SystemNotificationCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/SystemNotificationCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Validation/Views/SystemNotificationCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Validation/Views/SystemNotificationCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactGroup.swift b/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactGroup.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactGroup.swift rename to NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactGroup.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactUserViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/ViewModel/ContactViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift b/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift rename to NEKitContactUI/NEKitContactUI/Classes/ViewModel/FindFriendViewModel.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactSelectedCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactSelectedCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactSelectedCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactSelectedCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/Cell/ContactUnCheckCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactBaseViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactHeadItem.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactHeadItem.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactHeadItem.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactHeadItem.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactSectionView.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactTableViewCell.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactsSelectedViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/ContactsViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/FindFriendViewController.swift b/NEKitContactUI/NEKitContactUI/Classes/Views/FindFriendViewController.swift similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/Classes/Views/FindFriendViewController.swift rename to NEKitContactUI/NEKitContactUI/Classes/Views/FindFriendViewController.swift diff --git a/NEKitContact/NEKitContactUI/NEKitContactUI/NEKitContactUI.h b/NEKitContactUI/NEKitContactUI/NEKitContactUI.h similarity index 100% rename from NEKitContact/NEKitContactUI/NEKitContactUI/NEKitContactUI.h rename to NEKitContactUI/NEKitContactUI/NEKitContactUI.h diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI.podspec b/NEKitConversationUI/NEKitConversationUI.podspec similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI.podspec rename to NEKitConversationUI/NEKitConversationUI.podspec diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/.gitkeep b/NEKitConversationUI/NEKitConversationUI/Assets/.gitkeep similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/.gitkeep rename to NEKitConversationUI/NEKitConversationUI/Assets/.gitkeep diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/add_friend.imageset/Group 139@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/brand_yunxin.imageset/brand_yunxin@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_add.imageset/chat_add@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/chat_search.imageset/chat_search@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/conversation_search_icon.imageset/conversation_search_icon@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_discussion.imageset/Group 140@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/create_group.imageset/Frame 53@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/Contents.json b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/Contents.json similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/Contents.json rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/Contents.json diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@2x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@2x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@2x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@2x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@3x.png b/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@3x.png similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@3x.png rename to NEKitConversationUI/NEKitConversationUI/Assets/NEKitConversationUI.xcassets/conversation/noNeed_notify.imageset/noNeed_notify@3x.png diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/en.lproj/Localizable.strings b/NEKitConversationUI/NEKitConversationUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/en.lproj/Localizable.strings rename to NEKitConversationUI/NEKitConversationUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitConversationUI/NEKitConversationUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitConversationUI/NEKitConversationUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/.gitkeep b/NEKitConversationUI/NEKitConversationUI/Classes/.gitkeep similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/.gitkeep rename to NEKitConversationUI/NEKitConversationUI/Classes/.gitkeep diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ColorExtension.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Common/ColorExtension.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ColorExtension.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Common/ColorExtension.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationConstant.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationConstant.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationConstant.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationConstant.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationUI.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationUI.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationUI.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Common/ConversationUI.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ImageExtension.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Common/ImageExtension.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Common/ImageExtension.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Common/ImageExtension.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationController.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationListViewController.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/Controller/ConversationSearchController.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ConversationRouter/ConversationRouter.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ConversationRouter/ConversationRouter.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ConversationRouter/ConversationRouter.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ConversationRouter/ConversationRouter.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationListCell.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationNavView.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationSearchCell.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationSearchCell.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationSearchCell.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/View/ConversationSearchCell.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationSearchViewModel.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Conversation/ViewModel/ConversationViewModel.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift b/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/ConversationUIConfig.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift b/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/ConversationConfig/NEKitConversationConfig.swift diff --git a/NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Util/NEMessageUtil.swift b/NEKitConversationUI/NEKitConversationUI/Classes/Util/NEMessageUtil.swift similarity index 100% rename from NEKitConversation/NEKitConversationUI/NEKitConversationUI/Classes/Util/NEMessageUtil.swift rename to NEKitConversationUI/NEKitConversationUI/Classes/Util/NEMessageUtil.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI.podspec b/NEKitQChatUI/NEKitQChatUI.podspec similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI.podspec rename to NEKitQChatUI/NEKitQChatUI.podspec diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/.gitkeep b/NEKitQChatUI/NEKitQChatUI/Assets/.gitkeep similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/.gitkeep rename to NEKitQChatUI/NEKitQChatUI/Assets/.gitkeep diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@2x-4.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/add.imageset/Frame@3x-4.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@2x-1.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/emoji.imageset/Frame@3x-1.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@2x-3.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/file.imageset/Frame@3x-3.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/mic.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@2x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/photo.imageset/Frame@3x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Chat/sendMessage_failed.imageset/sendMessage_failed.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowDown.imageset/Frame 214@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowRight.imageset/Vector 87@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/arrowUp.imageset/Frame 214@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/backArrow.imageset/back@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/delete.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/memberPlaceholder.imageset/Frame 1016@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/rolePlaceholder.imageset/Frame 1018@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/search.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/select.imageset/select@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/Contents.json diff --git "a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" "b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" similarity index 100% rename from "NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" rename to "NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@2x.png" diff --git "a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" "b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" similarity index 100% rename from "NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" rename to "NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/sign_add.imageset/\346\267\273\345\212\240@3x.png" diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unselect@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Commom/unselect.imageset/unslect@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addOther_icon.imageset/addOther_icon@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/addService_icon.imageset/addService_icon@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/cell_arrow_icon.imageset/cell_arrow_icon@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_receive.imageset/chat_message_receive@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/chat_message_send.imageset/chat_message_send@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_addChannel.imageset/home_addChannel@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/home_setupServer.imageset/home_setupServer@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/mine_create.imageset/mine_create@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/otherService_search_icon.imageset/otherService_search_icon@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/uploadPic_bg_icon.imageset/uploadPic_bg_icon@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Home/upload_camera.imageset/upload_camera@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/camera.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/count_header.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/dot_image_disable.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_header.imageset/Group 389@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/id_group_sort.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/invitemember_success.imageset/invitemember_success@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/lock.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/member_header.imageset/Group 390@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/searchServer_noMoreData.imageset/channel_noMore@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/Server/servers_noMore.imageset/servers_noMore@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Selection.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/Setting.imageset/Vector@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@2x-1.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@2x-1.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@2x-1.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@2x-1.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@3x-1.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@3x-1.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@3x-1.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allow.imageset/Frame@3x-1.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/allowSeleted.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/bgImage.imageset/image 86@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_member.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/channel_noMoreData.imageset/channel_noMoreData@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/deny.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/denySelected.imageset/Frame@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@2x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@2x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@2x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@2x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@3x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@3x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@3x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extend.imageset/Frame@3x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@2x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@2x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@2x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@2x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@3x-2.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@3x-2.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@3x-2.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/extendSelected.imageset/Frame@3x-2.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server.imageset/Frame 245@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Contents.json b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Contents.json similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Contents.json rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Contents.json diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@2x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@2x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@2x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@2x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@3x.png b/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@3x.png similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@3x.png rename to NEKitQChatUI/NEKitQChatUI/Assets/NEKitQChatUI.xcassets/channel/server_menu.imageset/Group 329@3x.png diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/en.lproj/Localizable.strings b/NEKitQChatUI/NEKitQChatUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/en.lproj/Localizable.strings rename to NEKitQChatUI/NEKitQChatUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitQChatUI/NEKitQChatUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitQChatUI/NEKitQChatUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/.gitkeep b/NEKitQChatUI/NEKitQChatUI/Classes/.gitkeep similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/.gitkeep rename to NEKitQChatUI/NEKitQChatUI/Classes/.gitkeep diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCollectionViewCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCollectionViewCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCollectionViewCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatBaseCollectionViewCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCenterTextCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCenterTextCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCenterTextCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCenterTextCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCornerCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCornerCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCornerCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatCornerCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatHeaderView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatHeaderView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatHeaderView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatHeaderView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatImageTextCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatImageTextCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatImageTextCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatImageTextCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatSectionView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatSectionView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatSectionView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatSectionView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatStateCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatStateCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatStateCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatStateCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextArrowCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextArrowCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextArrowCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextArrowCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatTextCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatUnfoldCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatUnfoldCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatUnfoldCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseView/QChatUnfoldCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatBaseViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatBaseViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatBaseViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatBaseViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatNavigationController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatNavigationController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatNavigationController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatNavigationController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatTableViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatTableViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatTableViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Base/BaseViewController/QChatTableViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/QChatRoles.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/QChatRoles.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/QChatRoles.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/QChatRoles.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/RoleStatusInfoExt.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/RoleStatusInfoExt.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/RoleStatusInfoExt.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/Model/RoleStatusInfoExt.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/ChannelHeaderView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/ChannelHeaderView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/ChannelHeaderView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/ChannelHeaderView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/CornerButton.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/CornerButton.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/CornerButton.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/CornerButton.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatImageTextOnlineCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatImageTextOnlineCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatImageTextOnlineCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatImageTextOnlineCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatMemberInfoView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatMemberInfoView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatMemberInfoView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatMemberInfoView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatPermissionSettingCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatPermissionSettingCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatPermissionSettingCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatPermissionSettingCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextEditCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextEditCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextEditCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextEditCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextSelectionCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextSelectionCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextSelectionCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/View/QChatTextSelectionCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddMemberVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddMemberVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddMemberVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddMemberVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddRoleGroupVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddRoleGroupVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddRoleGroupVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatAddRoleGroupVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelAuthoritySettingVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelAuthoritySettingVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelAuthoritySettingVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelAuthoritySettingVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelMembersVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelSettingVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelSettingVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelSettingVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelSettingVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelTypeVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelTypeVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelTypeVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelTypeVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatChannelViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatGroupPermissionSettingVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatGroupPermissionSettingVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatGroupPermissionSettingVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatGroupPermissionSettingVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatMemberPermissionSettingVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatMemberPermissionSettingVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatMemberPermissionSettingVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatMemberPermissionSettingVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatSearchVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatSearchVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatSearchVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatSearchVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewController/QChatWhiteBlackListVC.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatAuthoritySettingViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatAuthoritySettingViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatAuthoritySettingViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatAuthoritySettingViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatChannelViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatChannelViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatChannelViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatChannelViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatUpdateChannelViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatUpdateChannelViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatUpdateChannelViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Channel/ViewModel/QChatUpdateChannelViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/Controller/QChatViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Helper/QChatMessageHelper.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Helper/QChatMessageHelper.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Helper/QChatMessageHelper.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/Helper/QChatMessageHelper.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Model/QChatMessageFrame.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Model/QChatMessageFrame.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/Model/QChatMessageFrame.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/Model/QChatMessageFrame.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatBaseTableViewCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatBaseTableViewCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatBaseTableViewCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatBaseTableViewCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatImageTableViewCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatImageTableViewCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatImageTableViewCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatImageTableViewCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTextTableViewCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTextTableViewCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTextTableViewCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTextTableViewCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTimeTableViewCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTimeTableViewCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTimeTableViewCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/Cell/QChatTimeTableViewCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatActivityIndicatorView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatActivityIndicatorView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatActivityIndicatorView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatActivityIndicatorView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatInputView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatInputView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatInputView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/View/QChatInputView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Chat/ViewModel/QChatViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/Constants.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Common/Constants.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/Constants.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Common/Constants.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/NEAuthManager.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Common/NEAuthManager.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/NEAuthManager.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Common/NEAuthManager.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/QChatConstantValue.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Common/QChatConstantValue.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Common/QChatConstantValue.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Common/QChatConstantValue.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/AlertVCExtention.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Extension/AlertVCExtention.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/AlertVCExtention.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Extension/AlertVCExtention.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ColorExtension.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ColorExtension.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ColorExtension.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Extension/ColorExtension.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ImageExtension.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ImageExtension.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/ImageExtension.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Extension/ImageExtension.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/NEErrorExtension.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Extension/NEErrorExtension.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/NEErrorExtension.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Extension/NEErrorExtension.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/QChatStringExtension.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Extension/QChatStringExtension.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Extension/QChatStringExtension.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Extension/QChatStringExtension.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/CreateServerViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/CreateServerViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/CreateServerViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/CreateServerViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/JoinOtherServiceController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/JoinOtherServiceController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/JoinOtherServiceController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/JoinOtherServiceController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MemberListViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/MineCreateServerController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Controller/QChatHomeViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/AllChannelData.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/AllChannelData.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/AllChannelData.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/AllChannelData.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/ServerMemberModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/ServerMemberModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/ServerMemberModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/Model/ServerMemberModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/EmptyDataView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/EmptyDataView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/EmptyDataView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/EmptyDataView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/InviteMemberView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/InviteMemberView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/InviteMemberView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/InviteMemberView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NECreateServerCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NECreateServerCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NECreateServerCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NECreateServerCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEGroupIdentityMemberCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEGroupIdentityMemberCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEGroupIdentityMemberCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEGroupIdentityMemberCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeChannelView.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeServerCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeServerCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeServerCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEHomeServerCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEMemberListCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEMemberListCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEMemberListCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NEMemberListCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/View/NESearchServerCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/CreateServerViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/CreateServerViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/CreateServerViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/CreateServerViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/MemberListViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/MemberListViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/MemberListViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatHomePage/ViewModel/MemberListViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatRouter/QChatRouter.swift b/NEKitQChatUI/NEKitQChatUI/Classes/QChatRouter/QChatRouter.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/QChatRouter/QChatRouter.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/QChatRouter/QChatRouter.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/IdGroupModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/IdGroupModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/IdGroupModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/IdGroupModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionCellModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionCellModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionCellModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionCellModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/PermissionModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/SettingModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/SettingModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/SettingModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/SettingModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/UserInfo.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/UserInfo.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/UserInfo.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/Model/UserInfo.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatDestructiveCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatDestructiveCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatDestructiveCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatDestructiveCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatHeaderCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatHeaderCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatHeaderCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatHeaderCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupMemberCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupMemberCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupMemberCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupMemberCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSelectCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSelectCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSelectCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSelectCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSortButtonCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSortButtonCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSortButtonCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupSortButtonCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupTopCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupTopCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupTopCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatIdGroupTopCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatMemberManagerCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatMemberManagerCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatMemberManagerCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatMemberManagerCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatPlainTextArrowCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatPlainTextArrowCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatPlainTextArrowCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatPlainTextArrowCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSelectedCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSelectedCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSelectedCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSelectedCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSortCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSortCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSortCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSortCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSwitchCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSwitchCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSwitchCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatSwitchCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatUserUnCheckCell.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatUserUnCheckCell.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatUserUnCheckCell.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/View/QChatUserUnCheckCell.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatCreateGroupViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatCreateGroupViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatCreateGroupViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatCreateGroupViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatEditMemberViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupSortController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupSortController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupSortController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupSortController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatIdGroupViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberManagerController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberManagerController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberManagerController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberManagerController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberSelectController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberSelectController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberSelectController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatMemberSelectController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatPermissionViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatPermissionViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatPermissionViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatPermissionViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewController/QChatServerSettingViewController.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/CreateGroupViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/CreateGroupViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/CreateGroupViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/CreateGroupViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/EditMemberViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/EditMemberViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/EditMemberViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/EditMemberViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupSortViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupSortViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupSortViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupSortViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/IdGroupViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberManagerViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberManagerViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberManagerViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberManagerViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberSelectViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberSelectViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberSelectViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/MemberSelectViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/PermissionViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/PermissionViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/PermissionViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/PermissionViewModel.swift diff --git a/NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/SettingViewModel.swift b/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/SettingViewModel.swift similarity index 100% rename from NEKitQChat/NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/SettingViewModel.swift rename to NEKitQChatUI/NEKitQChatUI/Classes/Server/ViewModel/SettingViewModel.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI.podspec b/NEKitTeamUI/NEKitTeamUI.podspec similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI.podspec rename to NEKitTeamUI/NEKitTeamUI.podspec diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/.gitkeep b/NEKitTeamUI/NEKitTeamUI/Assets/.gitkeep similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/.gitkeep rename to NEKitTeamUI/NEKitTeamUI/Assets/.gitkeep diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/add.imageset/add@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/arrowRight.imageset/Vector 87@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/contact_search.imageset/contact_search@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/copy_icon.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/copy_icon.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/copy_icon.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/copy_icon.imageset/copy_icon.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_0.imageset/icon_1@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_1.imageset/icon_2@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_2.imageset/icon_3@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_3.imageset/icon_4@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/icon_4.imageset/icon_5@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/photo.imageset/team_photo@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/Contents.json b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/Contents.json similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/Contents.json rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/Contents.json diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@2x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@2x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@2x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@2x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@3x.png b/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@3x.png similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@3x.png rename to NEKitTeamUI/NEKitTeamUI/Assets/NEKitTeam.xcassets/common/search_icon.imageset/search_icon@3x.png diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/en.lproj/Localizable.strings b/NEKitTeamUI/NEKitTeamUI/Assets/en.lproj/Localizable.strings similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/en.lproj/Localizable.strings rename to NEKitTeamUI/NEKitTeamUI/Assets/en.lproj/Localizable.strings diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/zh-Hans.lproj/Localizable.strings b/NEKitTeamUI/NEKitTeamUI/Assets/zh-Hans.lproj/Localizable.strings similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Assets/zh-Hans.lproj/Localizable.strings rename to NEKitTeamUI/NEKitTeamUI/Assets/zh-Hans.lproj/Localizable.strings diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/.gitkeep b/NEKitTeamUI/NEKitTeamUI/Classes/.gitkeep similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/.gitkeep rename to NEKitTeamUI/NEKitTeamUI/Classes/.gitkeep diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingCellModel.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingCellModel.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingCellModel.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingCellModel.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingSectionModel.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingSectionModel.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingSectionModel.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/Model/SettingSectionModel.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamAvatarViewController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamHistoryMessageController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamInfoViewController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamInfoViewController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamInfoViewController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamInfoViewController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamIntroduceViewController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamMembersController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamNameViewController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/TeamSettingViewController.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/BaseTeamSettingCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/BaseTeamSettingCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/BaseTeamSettingCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/BaseTeamSettingCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/HistoryMessageCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/HistoryMessageCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/HistoryMessageCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/HistoryMessageCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamArrowSettingCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamArrowSettingCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamArrowSettingCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamArrowSettingCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamDefaultIconCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamDefaultIconCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamDefaultIconCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamDefaultIconCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamMemberCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamMemberCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamMemberCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamMemberCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingHeaderCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingHeaderCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingHeaderCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingHeaderCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingRightCustomCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingRightCustomCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingRightCustomCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingRightCustomCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSelectCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSelectCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSelectCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSelectCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSubtitleCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSwitchCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSwitchCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSwitchCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamSettingSwitchCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamUserCell.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamUserCell.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamUserCell.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/View/TeamUserCell.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamInfoViewModel.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamInfoViewModel.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamInfoViewModel.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamInfoViewModel.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift b/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/Setting/ViewModel/TeamSettingViewModel.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamConstant.swift b/NEKitTeamUI/NEKitTeamUI/Classes/TeamConstant.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamConstant.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/TeamConstant.swift diff --git a/NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift b/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift rename to NEKitTeamUI/NEKitTeamUI/Classes/TeamRouter.swift diff --git a/NEKitTeam/NEKitTeamUI/TeamSettingConfig.swift b/NEKitTeamUI/TeamSettingConfig.swift similarity index 100% rename from NEKitTeam/NEKitTeamUI/TeamSettingConfig.swift rename to NEKitTeamUI/TeamSettingConfig.swift diff --git a/Podfile b/Podfile index 4ad65b4e..1834d162 100644 --- a/Podfile +++ b/Podfile @@ -7,22 +7,24 @@ target 'app' do pod 'YXLogin', '1.0.0' - pod 'NEContactUIKit', '9.2.0' - pod 'NEQChatUIKit', '9.2.0' - pod 'NEConversationUIKit', '9.2.0' - pod 'NEChatUIKit', '9.2.0' - pod 'NETeamUIKit', '9.2.0' +# pod 'NEContactUIKit', '9.2.2' +# pod 'NEQChatUIKit', '9.2.2' +# pod 'NEConversationUIKit', '9.2.2' +# pod 'NEChatUIKit', '9.2.2' +# pod 'NETeamUIKit', '9.2.2' # 如果需要查看UI部分源码请注释掉以上在线依赖,打开下面的本地依赖 -# pod 'NEChatKit', '9.2.0' -# pod 'NEConversationKit', '9.2.0' -# pod 'NEContactKit', '9.2.0' -# pod 'NETeamKit', '9.2.0' -# pod 'NEKitQChatUI', :path => 'NEKitQChat/NEKitQChatUI/NEKitQChatUI.podspec' -# pod 'NEKitContactUI', :path => 'NEKitContact/NEKitContactUI/NEKitContactUI.podspec' -# pod 'NEKitConversationUI', :path => 'NEKitConversation/NEKitConversationUI/NEKitConversationUI.podspec' -# pod 'NEKitCommonUI', :path => 'NEKitCommon/NEKitCommonUI/NEKitCommonUI.podspec' -# pod 'NEKitTeamUI', :path => 'NEKitTeam/NEKitTeamUI/NEKitTeamUI.podspec' -# pod 'NEKitChatUI', :path => 'NEKitChat/NEKitChatUI/NEKitChatUI.podspec' + pod 'NEChatKit', '9.2.2' + pod 'NEConversationKit', '9.2.2' + pod 'NEContactKit', '9.2.2' + pod 'NETeamKit', '9.2.2' + + + pod 'NEKitQChatUI', :path => 'NEKitQChatUI/NEKitQChatUI.podspec' + pod 'NEKitContactUI', :path => 'NEKitContactUI/NEKitContactUI.podspec' + pod 'NEKitConversationUI', :path => 'NEKitConversationUI/NEKitConversationUI.podspec' + pod 'NEKitCommonUI', :path => 'NEKitCommonUI/NEKitCommonUI.podspec' + pod 'NEKitTeamUI', :path => 'NEKitTeamUI/NEKitTeamUI.podspec' + pod 'NEKitChatUI', :path => 'NEKitChatUI/NEKitChatUI.podspec' end diff --git a/app/AppDelegate.swift b/app/AppDelegate.swift index 50fcfe52..f0f9cf95 100644 --- a/app/AppDelegate.swift +++ b/app/AppDelegate.swift @@ -38,7 +38,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterD IQKeyboardManager.shared.shouldResignOnTouchOutside = true //login action - startLogin(account:"279476370047232", token:"22b4fb5a-9696-4ce6-95b5-39be56bf5980") + startLogin(account: <#imaccid#>, token: <#imToken#>) + } @objc func refreshRoot(){